2.3.12-5-1 Ensure security mechanisms are designed into specific software functions |
Phase A |
Phase B |
Phase C |
Phase D1 |
|
Ensure each requirement is realized in the design as specific mechanisms. Assess the proposed implementation for suitability for intended purpose and effectiveness. Ensure system decompositions allocate requirements completely and accurately. Perform tracing of proposed implementations (i.e., mechanisms) to system-level requirements.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-2 Ensure input passing through from external interfaces is properly validated |
Phase A |
Phase B |
Phase C |
|
Ensure all external interfaces are identified and specified. Ensure that interface specifications define, as appropriate, any limitations that apply to communications across the interface (e.g., allowed values, ranges, packet size, formatting). Ensure that design enforces defined limitations to communications, and validates inputs where needed.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-3 Ensure external interfaces are adequately defended |
Phase A |
Phase B |
Phase C |
Phase D1 |
|
Ensure boundary protection and network defense mechanisms, as called for by the architecture and system requirements, are identified in the design. Ensure that firewall and intrusion detection policies and settings correctly reflect that system requirements and the CONOPS. Ensure that communications with external systems is authenticated and authorized and cryptographically protected.
|
AFMAN 63-119 A9.1.2
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development; AFMAN 63-119 or equivalent
|
2.3.12-5-4 Ensure correctness and completeness of the Cybersecurity design and implementation of the security mechanisms specified by systems engineers and security mechanism developers |
Phase B |
Phase C |
Phase D1 |
|
Ensure all security mechanisms are traceable to defined requirements. Ensure that all requirements are implemented by one or more mechanisms. Assess the adequacy of the defined mechanisms to satisfy the requirements. Ensure that the mechanisms are defined with sufficient specificity and detail to allow for an implementation that satisfies the defined requirements.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-5 Ensure security mechanisms specified by contractor systems engineers or Cybersecurity mechanism developers are clearly and completely specified, contain all information needed to be implemented in Security, and are documented and controlled |
Phase B |
Phase C |
Phase D1 |
|
Ensure the definition of the security mechanisms is unambiguous. Ensure that each mechanisms is defined with sufficient specificity and detail to allow for an implementation that satisfies the defined requirements. Ensure that the system documentation correctly and accurately describes each security mechanism.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-6 Ensure correctness and completeness of the Cybersecurity design and implementation of Cybersecurity mechanisms specified by the Cybersecurity engineers Ensure that testing and/or analysis is performed to verify that each mechanism functions as defined by its specification |
Phase B |
Phase C |
Phase D1 |
|
Ensure testing and/or analysis is performed to verify that each mechanism functions as defined by its specification. Ensure that the testing is sufficient in depth and breadth to provide compelling evidence that all the defined security functionality is tested and that the mechanisms function as specified. Ensure that test cases include negative conditions as appropriate (i.e., the function fails when it should, such as a login error or an invalid value is encountered). Ensure that all interfaces are tested to determine whether they function as specified.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-7 Ensure security mechanisms specified by contractor systems engineers or Information Assurance & Cybersecurity mechanism developers are clearly and completely specified, contain all information needed to be implemented in Cybersecurity, and are documented and controlled |
Phase B |
Phase C |
Phase D1 |
|
Ensure the security mechanisms specified by systems engineers and algorithm developers for implementation in Cybersecurity are: a) clearly and completely specified, b) documented in an algorithm design document (or similar), and c) controlled by configuration management. Ensure the security mechanisms address both nominal and off-nominal conditions, reflect a thorough understanding of the required functionality, and are consistent with the system behavior and performance requirements. Ensure that the algorithm documentation contains all information needed in order to be implemented in Security. Ensure the algorithm documentation includes criteria for determining the correctness of the Cybersecurity implementation (e.g., truth values for specific scenarios with acceptable limits on deviation from truth).
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-8 Ensure an independent assessment of the Information Assurance & Cybersecurity mechanism design and implementation is performed |
Phase B |
Phase C |
Phase D1 |
Phase D3 |
|
Ensure an independent assessment of the Cybersecurity design and implementation of the security mechanisms is performed. This may involve assessing the design and code, performing modeling or simulation of the security mechanisms, independent testing of the algorithm code, or similar analyses. The independent assessment should focus on critical security mechanisms, security mechanisms involving immature technology, and security mechanisms essential to mission success.
|
NA
|
NA
|
Security Considerations in the System Development Life Cycle, NIST SP-800-64; OWASP Software Assurance Maturity Model - A Guide to Building Security into Software Development
|
2.3.12-5-9 Ensure the Cybersecurity Plan documents the implementation of the security controls |
Phase B |
Phase C |
Phase D1 |
|
Ensure the security control implementation is documented, as appropriate, in the security plan, providing a functional description of the control implementation (including planned inputs, expected behavior, and expected outputs). Security control documentation describes how system-specific, hybrid, and common controls are implemented. The documentation formalizes plans and expectations regarding the overall functionality of the information system. The functional description of the security control implementation includes planned inputs, expected behavior, and expected outputs where appropriate, typically for those technical controls that are employed in the hardware, software, or firmware components of the information system. Documentation of security control implementation allows for traceability of decisions prior to and after deployment of the information system. The documentation also addresses platform dependencies and includes any additional information necessary to describe how the security capability required by the security control is achieved at the level of detail sufficient to support control assessment. Documentation for security control implementation follows best practices for hardware and software development as well as for system/security engineering disciplines and is consistent with established organizational policies and procedures for documenting system development life cycle activities. See Supplemental Guidance to NIST SP 800-37 Task 3-2.
|
NA
|
NA
|
Guide for Applying the Risk Management Framework to Federal Information Systems, NIST SP 800-37
|