Software Development Security (DEV) Flashcards
ACID test
set of best practices for programmers to seek in all application or database design: Atomicity, Consistency, Isolation, Durability
Active X
Authenticode, relies on digital signatures, annoying dialogs people click away
Application Programming Interface
a library of commands maintained by a system for other programs to use, provides consistency and integrity for the programs
Assembler
is the tool that converts a high level language into machine language
Assembler - DEV
Converts machine-code into binary machine instructions. Translate assembly language into machine language.
Assembly Code
low-level programming language with a few simple operations this code is harder to maintain, less readable, and has the potential to be substantially longer
Atomicity
indivisible, data field must contain only one value that either all transactions take place or none do
Backdoor
Program installed by an attacker to enable him to come back on a later date without going through the proper authorization channels, maintenance hook for developers sometimes
Behavior
Results exhibited by an object in response to a msg
Big Endian
Most significant byte is stored first. SPARC uses this architecture.
Blue Screen of Death
When a Windows system experiences a dangerous failure and enters a full secure state (reboot)
Boot sector
Moves or overwrites the boot sector with the virus code
boot sector infector
Attacks the MBR - the portion of bootable media that the computer uses to load the operating system during the boot process. MBR viruses store the majority of their code on another portion of the storage media
Botnet
organized group of compromised computers
Buffer
an area of memory allocated with a fixed size. It is commonly used as a temporary holding zone when data is transferred between two devices that are not operating at the same speed or workload.
Buffer Overflow
Occurs when an area that has been allocated a specific storage space has more data copied to it than it can handle. Two classes include heap and stack overflow.
Byte Code
program code that is in between the high level language code understood by humans and machine code read by computers.
Candidate Key
An attribute that is a unique identifier within a given table, one is chosen to be the primary and the others are alternate. Subset of attributes that can be used to uniquely identify any record in a table. No two records in the same table will ever contain the same values for all attributes. Each table may have one or more, which are chosen from column headings.
CASE
Tool for development, if concerned about security
Change Management Process
a business managers and software engineer’s process to protect the organization from development-related issues. Has three components: Request, Change, and Release Control
Checkpoint
part of a transaction control for a database which informs the database of the last recorded transaction
Class
OOP concept of a template that consist of attributes and behaviors
compiler
converts source code to an executable
Cleanroom
Write code correctly first time, quality thru design
Closed source
Is an opposing coding stance that keeps source code confidential. Can be reverse engineered or decompiled
Closed system
Is one that is proprietary with no third-party product support, does not define if it’s code can be viewed
Code Review
Peer-driven process that includes multiple developers, may be automated, may review several hundred lines an hour, done after it’s developed
Cohesion
Ability to perform without use of other programs, strength of the relationship between the purposes of methods within the same class
COM, Common Object Model
Support exchange of objects amongst programs. This used to be called OLE. DCOM is the network variant (distributed)
Companion virus
infected code is stored not in the host program, but in a separate files. Takes advantage of search order of an OS
Compiler
converts source code to an executable
Compiler - DEV
Translates higher level program into an executable file
Compression
Appended to executables
Configuration Audit
Periodic, should be conducted to ensure that the actual production environment is consistent with the accounting records and that no unauthorized changes have taken place.
Configuration Control
Ensures that changes to software versions are made in accordance with policies. Updates can be made only from authorized distributions in accordance with those policies.
Configuration Identification
Administrators document covered software products throughout the organization.
Configuration Management Process
Used to control the version( s) of software used throughout an organization and formally track and control changes
Consistency
property that data is represented in the same manner at all times
CORBA, Common object request
Broker architecture enables programs written in different languages and using different platforms and OS’s through IDL (Interface Definition Language)
Coupling
Effect on other modules. Level of interaction between objects
Covert channels
Is a way to receive information in an unauthorized manner, information flood that is not protected by a security mechanism
Covert Storage Channel
Processes communicate via storage space on the system; Writing to storage by one process and reading by another of lower security level.
Covert timing channel
One process relays to another by modulating its use of system resources. Typing rhythm of Morse Code is an example
Cross-site scripting
malware that uses the trust on a website to redirect users to untrusted websites which captures data or installs more malware
CSRF (XSRF)
Cross site request forgery: attacks exploit the trust that sites have in a user’s browser by attempting to force the submission of authenticated request to third-party sites.
Dangling Pointer
false memory reference
Data dictionary
a description of a database
Data Diddler
malware that makes small random changes to many data points
Data Hiding
a feature of object oriented programming languages. Classes and variables may be marked private, which restricts outside access to the internal workings of a class.
Data marts
small data warehouse
Data Type
specifies the way data will be stored in memory
Database Contamination
z-Mixing data with different classification levels and/ or need-to-know requirements and is a significant security challenge. Often, administrators will deploy a trusted front end to add multilevel security to a legacy or insecure DBMS
Database Partitioning
Process of splitting a single database into multiple parts, each with a unique and distinct security level or type of content
Data warehouse
a copy of transaction data, designed for querying and reporting
Databases
a collection of information designed to reduce duplication and increase integrity
DB main components
Schemas, blueprints; tables, views
DBMS
Refers to a suite of software programs that maintains and provides controlled access to data components stored in rows and columns of a table
DCL
Data Control Language: subset of SQL used to control access to data in a database, using GRANT and REVOKE statements
DDE
Dynamic Data Exchange: enables applications to work in a client/server model by providing the inter-process communications mechanism (IPC)
DDL
Data Definition Language: defines structure and schema
Deadlock
a condition in which neither party is willing to stop their activity for the other to complete
Delegation
Forwarding a request to another object
Denial of Service
an availability attack, to consume resources to the point of exhaustion
DevOps
a combination of Development and Operations, symbolizing that these functions must merge and cooperate to meet business requirements
Directory Traversal Attack
Attempt to force the web application to navigate up the file hierarchy and retrieve a file that should not normally be provided to a web user
Dirty Reads
When one transaction reads a value from a Db that was written by another transaction that did not commit, Db concurrency issue
Disassembler
software tool is used to convert compiled programs in machine code to assembly code
Distributed Denial of Service
an availability attack, to consume resources to the point of exhaustion from multiple vectors
DML
Data Manipulation Language: view, control and use the database via VIEW, ADD, MODIFY, SORT and DELETE commands
Durability
what is will remain, persistence
Dynamic Lifetime Objects
Created on the fly by software in an Object Oriented Programming environment. Preassembled code that is a self-contained module
Dynamic Link Library
a programming component that runs on Win32 systems and contains functionality that is used by many other programs
Encapsulation
a feature of object-oriented programming, provides a logical structure to a program and allows for easy methods of inheritance
Expert Systems
Seek to embody accumulated knowledge on a particular subject and apply it in a consistent fashion to future decisions. Has two main components: the knowledge base and the inference engine.
Exploit
causes a software vulnerability to be triggered and leveraged by the attacker
Fifth-Generation Languages (5GL)
Allow programmers to create code using visual interfaces
First-generation languages (1GL)
Include all machine languages
Foreign Key
Represents a reference to an entry in some other table that is a primary key there. Link between the foreign and primary keys represents the relationship between the tuples. Enforces referential integrity Main Components of a Db using Db - Schemas; blueprints - tables - views
Fourth-generation languages (4GL)
Attempt to approximate natural languages and include SQL, which is used by databases
Function
a miniature program
Functional Analysis and Planning
Define need, requirements, review proposed security controls
Gantt Chart
Bar type; shows the interrelationships over time between projects and schedules. Graphical illustration of a schedule that helps plan, coordinate, and track specific project tasks. WBS a subpart
Hardware segmentation
Is similar to process isolation in purpose. Difference is that hardware segmentation enforces these requirements through the use of physical hardware controls rather than the logical process isolation controls imposed by an operating system
Heap
an area of memory utilized by an application and is allocated dynamically at runtime. Static variables are stored on the stack along with data allocated using the malloc interface.
Heuristic ANTI-Virus
Behavioral can detect new malware
High coupling
Module largely affects many more modules
HOAXES
False warnings
Hotfix, update, Security fix
Single patch, patches provide updates to operating systems and applications
HTTP Response Splitting
uncheck data input which results in redirection
Incorrect Summaries
When one transaction is using an aggregate function to summarize data stored in a Db while a second transaction is making modifications to a Db, causing incorrect information
Inference
to jump to a conclusion
Inheritance
object-oriented organization and encapsulation allow programmers to easily reuse previously written code. It saves time since programmers do not have to recode previously implemented functionality.
Instance
OOP concept of an object at runtime
Integer Wrapping
in the case of unsigned values, this occurs when an overly large unsigned value is sent to an application that “passes” the integer back to zero or a small number
Interpreter
line by line translation from a high level language to machine code
Interpreter - DEV
Reads higher level code, one line at the time to produce machine instructions
Isolation
another subject cannot see an ongoing or pending update until it is complete
Java
modern, object oriented programming language. It combines a similar syntax to C and C++ with features such as platform independence and automatic garbage collection.
JavaScript
Interpreted language that does not make use of a complier to transform code into an executable state. Java, C, and C++ are all compiled languages
Kernel Mode
Used by processor to execute instructions from OS
Layering processes
Implement a structure similar to the ring model used for operating modes and apply it to each operating system process
Little Endian
the least significant byte is stored first
Logic bomb
a program that waits for a condition or time to occur that executes an inappropriate activity
Logic Bomb/Code Bomb
Executes when a certain event happens (like accessing a bank account or employee being fired) or a data/time occurs
LOKI
Tool used for covert channel that writes data directly after the ICMP header
Lost Updates
When one transaction writes a value to the Db that overwrites a value needed by transactions that have earlier precedence
MAC
the hardware address of a particular computer system
Machine language
program instructions based upon the CPU’s specific architecture
Macro Virus
Most common in office productivity documents .doc/.docx
Malformed input
inappropriate data
Malloc
a function call dynamically allocates n number of bytes on the heap. Many vulnerabilities are associated with the way this data is handled.
Man-made Threats
Bombing, strikes, toxin spills
MDM, Mobile device management
Software solution to manage the myriad mobile devices that employees use to access company resources. Goals are to improve security, provide monitoring, enable remote management, and support troubleshooting
Memset
a function call is used to fill a heap buffer with a specified number of bytes of a certain character
Message
Communication to object to perform an action
Metadata
information about data or records
Method
another name for a function in languages such as Java and C#. It may be thought of as a miniature program.
Multilevel Security
Essential to keep data with different requirements separate
Multipart virus
Infects both the boot sector and executable files; becomes resident first in memory and then infects the boot sector and finally the entire system, uses two or more propagation mechanisms
Multiple Inheritance
Class inherits characteristics from more than one parent class
Multistate systems
Capable of implementing a much higher level of security. These systems are certified to handle multiple security levels simultaneously by using specialized mechanisms
Natural Threats
Fires, explosions, water, storms
Nessus
A popular vulnerability scanner managed by Tenable Network Security, and it combines multiple techniques to detect a wide range of vulnerabilities. It uses port scans to detect open ports and identify the services and protocols that are likely running on these systems. Once Nessus discovers basic details about systems, it can then follow up with queries to test the systems for known vulnerabilities, such as if the system is up-to-date with current patches. Attacker can use to best identify vulnerabilities in a targeted system
Neural Networks
Use complex computations to replace partial functions of the human mind, Based on function of biologic neurons, Works with weighted inputs
Non-resident virus
Attached to .exe
NULL
a term used to describe a programming variable which has not had a value set, this value is not necessarily the same as a value of “” or 0.
Object Oriented Programming
design philosophy and a type of programming language, which breaks a program into smaller units. Each unit has it’s own function.
Object reuse
unclear buffers or media
Object-oriented
programs are organized into classes. Instances of classes contain data and methods which performs actions on that data.
ODBC
Open Database Connectivity: feature that allows applications to communicate with different types of databases without having to be directly programmed for interaction with each type. ODBC acts as a proxy
Off-by-one
a bug is present when a buffer is set up with size n and somewhere in the application a function attempts to write n+1 bytes to the buffer. This often occurs with static buffers.
OOD, Design
Objects are the basic units, and instances of classes
OOP, Programming
Employment of objects and methods
If class = airplane, objects like fighter plane, cargo plane, passenger plane can be created. Method would be what a plane would do with a message like: climb, dive, and roll
Open source
Is a coding stance that allows others to view the source code of a program, distributed free or for a fee
Open system
Is one with published APIs that allow third parties to develop products to interact with it
Operations and Maintenance
Release into production. Certification/accreditation
ORBs, Object Request Brokers
Middleware that acts as locators and distributors of the objects across networks
Patch Management
business and technical process of applying security software updates in a regulated periodic way
Patch Management system
Prevents outages from known attacks by ensuring systems are patched. Patches aren’t available for new attacks. However, the patch management system doesn’t provide the updates. Ensuring systems are patched reduces vulnerabilities but it does not eliminate them
Payload
final purpose or result
PERT
Program Evaluation Review Technique: project-scheduling tool used to judge the size of a software product in development and calculate the standard deviation (SD) for risk assessment. Relates the estimated lowest possible size, the most likely size, and the highest possible size of each component. Used to direct improvements in project management and software coding to produce more efficient software
Phlashing
Malicious variation of official BIOS or firmware is installed that introduces remote control or other malicious features into a device. UEFI – replacement for BIOS
Platform Independence
idea that program code can run on different systems without modification or recompilation
Polyinstantiation
Occurs when two or more rows in the same relational database table appear to have identical primary key elements but contain different data for use at differing classification levels. It is often used as a defense against inference attacks
Polymorphic virus
This is also a self-garbling where it changes the “garble” pattern each time it spreads. As a result, it is also difficult to detect
Polymorphism
objects or programming that looks different, but act the same. More accurately: Objects of many different classes that are related by some common super class. When different subclasses may have different methods using the same interfaces that respond differently
Primary Key
Provide the sole tuple-level addressing mechanism within the relational model. Cannot contain a null value and cannot change or become null during the life of each entity. When the primary key of one relation is used as an attribute in another relation, it is the foreign key in that relation. Uniquely identify a record in a database
Printf
LIBC function for outputting data to a command-line interface
Procedural Language Programs
may be viewed as a sequence of instructions, where data at certain memory locations are modified at each step
Program
collection of commands that are understood by a computer system and may be written in a high-level language, such as Java or C, or in a low-level assembly language
Project Initiation
Feasibility, cost, risk analysis, Management approval, basic security objectives
Protection domain
Execution and memory space assigned to each process
Protection Rings
(MIT’s MULTICS design)
Ring 0 - Operating system kernel. The OS’ core. The kernel manages the HW (for example, processor cycles and memory) and supplies fundamental services that the HW does not provide.
Ring 1 - Remaining parts of the operating system
Ring 2 - I/O drivers and utilities
Ring 3 - Applications and programs
Layers 1 and 2 contain device drivers but are not normally implemented in practice. Layer 3 contains user applications. Layer 4 does not exist
Race condition
a state where two subjects can access the same object without proper mediation
ransomeware
Extortion via the internet, typically encrypting victim’s data and files
RAT, Remote Access Trojan
Remote control programs that have the malicious code and allow for unauthorized remote access Back orifice, sub seven, net bus )
Referential Integrity
All foreign keys reference existing primary keys
Register
an area on the processor used to store information. Intel architecture: eax, ebx, ecx, edx, esi, and edi.
Release Control
Once the changes are finalized, they must be approved through procedure
Request Control
Provides an organized framework within which users can request modifications, managers can conduct cost/ benefit analysis, and developers can prioritize tasks
Resident virus
Loads when a program loads in memory
Revisions/Disposal
Remove. Sanitation and destruction of unneeded data
Rollback
transaction controls for a database, a return to a previous state
Rootkit
malware that subverts the detective controls of an operating system
Salami
malware that makes many small changes over time to a single data point or system
Sandbox
a construct used to control code execution. Code executed cannot affect outside systems. This is particularly useful for security when a user needs to run mobile code, such as Java applets.
Second-generation languages (2GL)
Include all assembly languages
Self-garbling virus
Attempts to hide by garbling its code; as it spreads, it changes the way its code is encoded
Semantic Integrity
Make sure that rules are enforced on all data types, logical values that could adversely affect the structure of the database
Separation of privilege
Builds on the principle of least privilege. Requires the use of granular access permissions; that is, different permissions for each type of privileged operation. This allows designers to assign some processes rights to perform certain supervisory functions without granting them unrestricted access to the system
Service Pack
Collection of unrelated patches released in a large collection
Service Provider Interface
used by devices to communicate with software. It is normally written by the manufacturer of a hardware device to communicate with the operating system.
Shellcode
byte code that executes a shell or the code that is executed when an exploit is successful
Signature based ANTI-Virus
Cannot detect new malware
Simplistic Model
Assumed each step could be completed and finalized without any effect from the later stages that may require rework
Slack space
unused storage capacity
Software Capability Maturity model (CMM)
Quality is a direct function of quality of development and maintenance.
Procedures, principles, and practices that underlie development process maturity. 5 Levels:
- initiating – competent people, informal processes, ad-hoc, absence of formal process
- repeatable – project management processes, basic life-cycle management processes
- defined – engineering processes, presence of basic life-cycle management processes and reuse of code, use of requirements management, software project planning, quality assurance, configuration management practices
- managed – product and process improvement, quantitatively controlled
- Optimizing – continuous process improvement Works with an IDEAL model
Software Development
Programmers create code. Unit testing Check modules. Prototyping, Verification, Validation
Spiral
a design methodology which addresses risks early and often
Spiral Model
Angular = progress made
Radial = cost
Lower left = development plans
Upper left = objectives of the plans, alternatives checked
Upper right = assessing alternatives, risk analysis
Lower right = final development
Left horizontal axis = includes the major review required to complete each full cycle
Spyware
program that inappropriately collects private data or activity
SQL injection
a type of malformed input that takes advantage of an appropriate true conditional logic statement adding a request for data that is against the security policy
Stack
an area of memory used to hold temporary data. It grows and shrinks throughout the duration of a program’s runtime.
Stack Overflow
occurs when a buffer has been overrun in the stack space. When this happens, the return address is overwritten, allowing for arbitrary code to be executed.
Stealth virus
Hides modifications to files or boot records and itself
strcpy
LIBC function call is more commonly misimplemented because it copies data from one buffer to another without any size limitation.
Strong Passwords
Social engineering best attack method to beat
Structured Query Language
Database systems commands used to create, access, and modify data
System Design Specifications
Develop detailed design specs, Review support documentation, Examine security controls
System infector
Contaminates BIOS command other system files. It is often a memory resident virus
System Life Cycle
project management process with following phases: design and development, production, distribution, operation, maintenance, retirement, and disposal
Third-generation languages (3GL)
include all compiled languages
Threat Modeling
Reduce the number of security-related design and coding flaws, reduce severity of non-security related files, not to reduce number of threat vectors
Time of Check/Time of Use
a race condition where the security changes during the object’s access
Trapdoors
(Backdoors) (maintenance hooks) a programming device used in development to circumvent controls.
Trojan horse
a program with an inappropriate second purpose
Trojans
Pretend to do one thing while performing another
Tuple
Row or record
Virtual Machine
a software simulation of a platform that can execute code. It allows code to execute without being tailored to the specific hardware processor.
Virus
independent malware that requires user interaction to execute
Vulnerability
an exposure that has the potential to be exploited. Most are specific software bugs or logic errors.
Waterfall including Validation and Verification (V&V)
Waterfall including Validation and Verification (V&V)
Reinterpretation where verification evaluates the product during development against specification and validation refers to the work product satisfying the real-world requirements and concepts.
Verification=doing the job right Validation:= doing the right job
Waterfall Model
a design methodology which executes in a linear one way fashion
Can be managed if developers are limited going back only one step. If rework may be done at any stage it’s not manageable. Problem: it assumes that a phase or stage ends at a specific time.
System Requirements-> Software Requirements -> Analysis ->
Program Design -> Coding -> Testing -> Operations & Maintenance
Worm
autonomous malware that requires a flaw in a service
x86
a family of computer architectures commonly associated with Intel
0day
meant to describe an exploit that has been released on or before the corresponding vulnerability has been publicly released
2-phase commit
a distributed system’s transaction control that requires updates to complete or rollback
Abstraction
a fundamental principle behind object-oriented programming, users of an object only need to know the proper syntax for using an object and the type of data that will be returned as a result
Acceptance Testing and Implementation
Separation of duties, security testing, data validation, bounds checking, certification, accreditation, part of release control
Adware
unsolicited advertising software
Aggregate
Summarize large amounts of data and provide only summary information as a result
Agile Software Development
Emphasis on customer needs for new functionality that quickly meets those needs in an iterative fashion.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Alternate Data Streams
a covert storage channel on the file attribute, also File system forks
API Keys
a unique identifier and a secret token for authentication, generally have a set of access rights on the API associated with it
800-64
Initiation
Development/Acquisition
Implementation/Assessment
Operations and Maintenance
Disposal
800-64 Initiation
I Plan and Set Projects to Complete Information Systems And Assess Engineering
Initiate Project - Security Planning
Categorize Information System
Assess Business Impact
Assess Privacy Impact
Ensure Secure System Development
Initiate Project - Security Planning
Outputs - Supporting Documents, Common Understanding of Security Expectations, Initial Schedule of Security Activities or Decisions
Categorize Information System
Outputs - Security Categorization, High-Level Security Requirements, Level of Effort or Rigor Estimates
Assess Business Impact
Outputs - Linkage to Business Drivers, Core System Components, Initial Recovery Time and Point Objectives
Assess Privacy Impact
Output - Privacy Impact Assessment
Ensure Secure System Development
Outputs - Security Training for Development Team, Quality Assurance Plans, Development and Coding Standards
800-64 Initiation Phase Control Gates
Doctor’s Assistant’S SCissoRs needed for Preparation of Surgery Room which is FAR from Rest Medical Room
Determine Acquisition Strategy
System Concept Review
Performance Specification Review
Financial Approval or Review
800-64 Development/Acquisition
ARchitect designS
inSpector Documents Silly Codes
interior Designer Selects Artwork
Environment is not Safe in DC
so Determine Security Domains
and ConTinue building
Assess Risk to System
Select and Document Security Controls
Design Security Architecture
Engineer in Security and Develop Controls
Develop Security Documentation
Conduct Testing
Assess Risk to System
Outputs - Risk Assessment
Select and Document Security Controls
Outputs - System Security Plan
Design Security Architecture
Outputs - List of Shared Services and Shared Risk, Schematic of Security Integration, Identification of Common Controls
Engineer in Security and Develop Controls
Outputs - Documented in Place Security Control Specification, List of Variations from Plan, Potential Test Scenarios
Develop Security Documentation
Output - Additional Security Documentation
Conduct Testing
Output - Test Results and Implications
800-64 Development/Acquisition Phase Control Gates
Agent of DTeam Reads Player’s Rating For TomoRrow Rowing Match Race
Architecture or Design Review
Performance Review
Functional Test Review
Risk Management Review
800-64 Implementation/Assessment
IS Enterprise or Starship ASSimilated
Integrate Security into Environments or Systems
Access System Security
Integrate Security into Environments or Systems
Outputs - Verified List of Operational Security Controls, Completed System Documentation
Access System Security
Outputs - Security Assessment Report, Input for POA&M
800-64 Implementation/Assessment Phase Control Gates
Some Tablets are Ready for Roaming like
anDRRoid
Finish Please Soon and Fund Riches so
I can Travel to Delaware or CAlifornia
System Test Readiness Review
Deployment Readiness Review
Final Project Status and Financial Review
IT Deployment or Connection Approval
800-64 Operations and Maintenance
Review OR Pass Change to Management Committee in CC Mail
Review Operational Readiness
Perform Configuration Management and Control
Conduct Continuous Monitoring
Review Operational Readiness
Output - Evaluation of Security Implications due to Changes
Perform Configuration Management and Control
Outputs - CCB Decisions, Updated Security Documentation, Security Evaluations
Conduct Continuous Monitoring
Outputs - POA&M Review, Documented Results of Continuous Monitoring, Revised Security Authorization Package, Security Reauthorization Decision
Operations/Maintenance Phase Control Gates
Operational Readiness Review for
Change Control Board to conduct
Plan Of Actions and Milestones Review to determine Authorization Decision
Operational Readiness Review
Change Control Board
POA&M Review
Authorization Decision
800-64 Disposal
BE Determined Troll
even though you are SMall
Ensure IP for DHS and CS
Build and Execute Disposal or Transition Plan
Sanitize Media
Ensure Information Preservation
Dispose of Hardware and Software
Close System
Build and Execute Disposal or Transition Plan
Output - Disposal/Transition Plan
Sanitize Media
Output - Media Sanitization Records
Ensure Information Preservation
Outputs - Index of Information, Location, Retention Attributes
Dispose of Hardware and Software
Disposition Records for Hardware and Software
Close System
Documentation Verifying System Closure
800-64 Disposal Phase Control Gates
Some Clean Rooms for
Clowns, CowBoys are
Sure to be Ready for their Coming
System Closure Review
Change Control Board
Security Review of Closure
800-160 SSE
System Security Engineering
System Life Cycle Processes
Agreement Processes
Organizational Project-Enabling Processes
Technical Management Processes
Technical Processes
Agreement Processes
Acquisition
Supply
Organizational Project-Enabling Processes
our prince Leaves Monarchy In Frustration.
Please May Harry Ride Quickly Maybe Kissing Meghan.
LM Life Cycle Model Management
IF Infrastructure Management
PM Portfolio Management
HR Human Resource Management
QM Quality Management
KM Knowledge Management
Technical Management Processes
Tech Managers Configure and PRIMP for Dairy Queen
CM Configuration Management
PL Project Planning
RM Risk Management
IM Information Management
MS Measurement
PA Project Assessment and Control
DM Decision Management
QA Quality Assurance
Technical Processes
BAss SNeaks SR ARound
DEan SAys IP INsults
VEry TRicky VAlues OPen MAd DShield
Business or mission analysis (BA)
Stakeholders needs and requirements (SN)
System requirements definition (SR)
Architecture definition (AR)
Design definition (DE)
System Analysis (SA)
Implementation (IP)
Integration (IN)
Verification (VE)
Transition (TR)
Validation (VA)
Operation (OP)
Maintenance (MA)
Disposal (DS)
Security Design Principles
Security Architecture and Design
Security Capability and Intrinsic Behavior
Life Cycle Security
Security Architecture and Design
Clear Abstractions
Hierarchical Trust
Least Common Mechanisms
Inverse Modification Threshold
Modularity and Layering
Hierarchical Protection
Partially Ordered Dependencies
Minimized Security Elements
Efficiently Mediated Access
Least Privilege
Minimized Sharing
Predicate Permission
Reduced Complexity
Self-Reliant Trustworthiness
Secure Evolvability
Secure Distributed Composition
Trusted Components
Trusted Communication Channels
Security Capability and Intrinsic Behavior
Continuous Protection
Secure Failure and Recovery
Secure Metadata Management
Economic Security
Self-Analysis
Performance Security
Accountability and Traceability
Human Factored Security
Secure Defaults
Acceptable Security
Life Cycle Security
Repeatable and Documented Procedures
Secure System Modification
Procedural Rigor
Sufficient Documentation
ARchitecture definition
Identify
Develop viewpoints
Harmonize models, views, and secure function
Relate views to design
Select
Manage
DEsign definition
Prepare
Establish characteristics for system element
Assess alternatives
System Analysis
Identify problem that requires analysis
Identify and validate assumptions of analysis
Record results of analysis
Implementation
Build or adapt system elements
Develop training materials
Record results and any anomalies
Maintain traceability
Transition
Identify training
Demonstrate achievement of security aspects
Commission for operation
Record security aspects of transition and anomalies encountered
MAintenance
Define maintenance strategy
Review incident reports to identify maintenance needs
Implement restoration after failure
Identify when maintenance is required
Perform logistics support
Manage maintenance and logistics
800-64 to 800-160 map
Initiation - Stakeholders Needs
Development/Acquisition - Architecture, Design
Implementation/Assessment - System Analysis, Implementation
Operations/Maintenance - Transition, Maintenance
Threat Injection
A1
Injection flaws, such as SQL, NoSQL, OS, and LDAP injection, occur when untrusted data is sent
to an interpreter as part of a command or query. The attacker’s hostile data can trick the
interpreter into executing unintended commands or accessing data without proper authorization.
Controls: Parameterize queries, Validate all inputs
Threat Broken Authentication
A2
Application functions related to authentication and session management are often implemented
incorrectly, allowing attackers to compromise passwords, keys, or session tokens, or to exploit
other implementation flaws to assume other users’ identities temporarily or permanently.
Controls: Implement identity and authentication controls
Threat Sensitive Data Exposure
A3
Many web applications and APIs do not properly protect sensitive data, such as financial,
healthcare, and PII. Attackers may steal or modify such weakly protected data to conduct credit
card fraud, identity theft, or other crimes. Sensitive data may be compromised without extra
protection, such as encryption at rest or in transit, and requires special precautions when
exchanged with the browser.
Controls: Implement appropriate access controls, Protect data, Encryption protection of sensitive data, Error and exception handling
Threat XML External Entities (XXE)
A4
Many older or poorly configured XML processors evaluate external entity references within XML
documents. External entities can be used to disclose internal files using the file URI handler,
internal file shares, internal port scanning, remote code execution, and denial of service attacks.
Controls: Validate all inputs
Threat Broken Access Control
A5
Restrictions on what authenticated users are allowed to do are often not properly enforced.
Attackers can exploit these flaws to access unauthorized functionality and/or data, such as access
other users’ accounts, view sensitive files, modify other users’ data, change access rights, etc.
Controls: Enforce access controls
Threat Security Misconfiguration
A6
Security misconfiguration is the most commonly seen issue. This is commonly a result of insecure
default configurations, incomplete or ad hoc configurations, open cloud storage, misconfigured
HTTP headers, and verbose error messages containing sensitive information. Not only must all
operating systems, frameworks, libraries, and applications be securely configured, but they must
be patched and upgraded in a timely fashion.
Controls: Web server configuration hardening
Threat Cross Site Scripting (XSS)
A7
XSS flaws occur whenever an application includes untrusted data in a new web page without
proper validation or escaping, or updates an existing web page with user-supplied data using a
browser API that can create HTML or JavaScript. XSS allows attackers to execute scripts in the
victim’s browser which can hijack user sessions, deface web sites, or redirect the user to
malicious sites.
Controls: Encode data
Threat Insecure Deserialization
A8
Insecure deserialization often leads to remote code execution. Even if deserialization flaws do not
result in remote code execution, they can be used to perform attacks, including replay attacks,
injection attacks, and privilege escalation attacks.
Controls: Verify for security early and often
Threat Using Components with Known Vulnerabilities
A9
Components, such as libraries, frameworks, and other software modules, run with the same
privileges as the application. If a vulnerable component is exploited, such an attack can facilitate
serious data loss or server takeover. Applications and APIs using components with known
vulnerabilities may undermine application defenses and enable various attacks and impacts.
Controls: Take advantage of security frameworks and libraries
Threat Insufficient Logging and Monitoring
A10
Insufficient logging and monitoring, coupled with missing or ineffective integration with incident
response, allows attackers to further attack systems, maintain persistence, pivot to more systems,
and tamper, extract, or destroy data. Most breach studies show time to detect a breach is over
200 days, typically detected by external parties rather than internal processes or monitoring.
Controls: Error and exception handling, Implement logging and intrusion detection
Software configuration management (SCM) should primarily address which of the following questions?
What constitutes a software product at any point in time?
The security-planning document developed in the development/acquisition phase of a system development life cycle contains what?
Configuration management plan
Contingency plan
Incident response plan
Plan of actions and milestones
System interconnection agreements
Security tests and evaluation results
Rules of behavior
Risk assessment
Security awareness and training plan
Boundary-value analysis is conducted in which of the following phases of a system development life cycle (SDLC)?
Implementation
Which of the following application settings used to prevent malware incidents will help stop phishing and spyware delivery?
Blocking Web browser pop-up windows
Filtering spam
Filtering website content
In a distributed computing environment, replicated servers could have negative impact on what?
Scalability
Which of the following security principle balances various variables such as cost, benefit, effort, value, time, tools, techniques, gain, loss, risks, and opportunities involved in a successful compromise of security features?
Work factor
Which of the following is similar to security certification and accreditation?
Quality control
What is true when dealing with security principles for securing an application environment?
Data-hiding techniques should be practiced during program testing and software maintenance.
Design for protection mechanisms should be simple and small in size.
Information security functions should be isolated from non-security functions.
Big bang software application testing approach
a testing approach where all the individual components or modules of a software application are tested together, often in a single, comprehensive testing phase. Unlike other testing methods that involve incremental integration and testing of components, Big Bang Testing focuses on evaluating the entire system’s functionality as a whole.
This approach is typically employed after the individual units or modules have undergone unit testing. Once these units are ready for integration, they are combined in a “big bang,” and testing is carried out on the complete system.
Finite State Machines are used in what phase?
Initiation