Development Process, Standards, and Tools
LOW ✓ MODERATE ✓ HIGHRequirements NIST SOURCE
- 1.Explicitly addresses security and privacy requirements;
- 2.Identifies the standards and tools used in the development process;
- 3.Documents the specific tool options and tool configurations used in the development process; and
- 4.Documents, manages, and ensures the integrity of changes to the process and/or tools used in development; and
Requirement Context
This element is part of SA-15 — Development Process, Standards, and Tools. See the Assessment section below for the related SP 800-53A examine/interview/test procedures. No engineering interpretation has been authored for this control yet.
Requirement Context
This element is part of SA-15 — Development Process, Standards, and Tools. See the Assessment section below for the related SP 800-53A examine/interview/test procedures. No engineering interpretation has been authored for this control yet.
Discussion (NIST Supplemental Guidance)
Development tools include programming languages and computer-aided design systems. Reviews of development processes include the use of maturity models to determine the potential effectiveness of such processes. Maintaining the integrity of changes to tools and processes facilitates effective supply chain risk assessment and mitigation. Such integrity requires configuration control throughout the system development life cycle to track authorized changes and prevent unauthorized changes.
Enhancements NIST SOURCE
SA-15(1) Quality Metrics LOW MODERATE HIGH
Require the developer of the system, system component, or system service to:
- (a) Define quality metrics at the beginning of the development process; and
- (b) Provide evidence of meeting the quality metrics [one of: ; ; upon delivery].
Discussion
Organizations use quality metrics to establish acceptable levels of system quality. Metrics can include quality gates, which are collections of completion criteria or sufficiency standards that represent the satisfactory execution of specific phases of the system development project. For example, a quality gate may require the elimination of all compiler warnings or a determination that such warnings have no impact on the effectiveness of required security or privacy capabilities. During the execution phases of development projects, quality gates provide clear, unambiguous indications of progress. Other metrics apply to the entire development project. Metrics can include defining the severity thresholds of vulnerabilities in accordance with organizational risk tolerance, such as requiring no known vulnerabilities in the delivered system with a Common Vulnerability Scoring System (CVSS) severity of medium or high.
SA-15(2) Security and Privacy Tracking Tools LOW MODERATE HIGH
Require the developer of the system, system component, or system service to select and employ security and privacy tracking tools for use during the development process.
Discussion
System development teams select and deploy security and privacy tracking tools, including vulnerability or work item tracking systems that facilitate assignment, sorting, filtering, and tracking of completed work items or tasks associated with development processes.
SA-15(3) Criticality Analysis LOW ✓ MODERATE ✓ HIGH
Require the developer of the system, system component, or system service to perform a criticality analysis:
- (a) At the following decision points in the system development life cycle: [decision points] ; and
- (b) At the following level of rigor: [organization-defined breadth and depth of criticality analysis].
Discussion
Criticality analysis performed by the developer provides input to the criticality analysis performed by organizations. Developer input is essential to organizational criticality analysis because organizations may not have access to detailed design documentation for system components that are developed as commercial off-the-shelf products. Such design documentation includes functional specifications, high-level designs, low-level designs, source code, and hardware schematics. Criticality analysis is important for organizational systems that are designated as high value assets. High value assets can be moderate- or high-impact systems due to heightened adversarial interest or potential adverse effects on the federal enterprise. Developer input is especially important when organizations conduct supply chain criticality analyses.
SA-15(4) Threat Modeling and Vulnerability Analysis WITHDRAWN
Withdrawn. Incorporated into SA-11(2).
SA-15(5) Attack Surface Reduction LOW MODERATE HIGH
Require the developer of the system, system component, or system service to reduce attack surfaces to [thresholds].
Discussion
Attack surface reduction is closely aligned with threat and vulnerability analyses and system architecture and design. Attack surface reduction is a means of reducing risk to organizations by giving attackers less opportunity to exploit weaknesses or deficiencies (i.e., potential vulnerabilities) within systems, system components, and system services. Attack surface reduction includes implementing the concept of layered defenses, applying the principles of least privilege and least functionality, applying secure software development practices, deprecating unsafe functions, reducing entry points available to unauthorized users, reducing the amount of code that executes, and eliminating application programming interfaces (APIs) that are vulnerable to attacks.
SA-15(6) Continuous Improvement LOW MODERATE HIGH
Require the developer of the system, system component, or system service to implement an explicit process to continuously improve the development process.
Discussion
Developers of systems, system components, and system services consider the effectiveness and efficiency of their development processes for meeting quality objectives and addressing the security and privacy capabilities in current threat environments.
SA-15(7) Automated Vulnerability Analysis LOW MODERATE HIGH
Require the developer of the system, system component, or system service [frequency] to:
- (a) Perform an automated vulnerability analysis using [tools];
- (b) Determine the exploitation potential for discovered vulnerabilities;
- (c) Determine potential risk mitigations for delivered vulnerabilities; and
- (d) Deliver the outputs of the tools and results of the analysis to [personnel or roles].
Discussion
Automated tools can be more effective at analyzing exploitable weaknesses or deficiencies in large and complex systems, prioritizing vulnerabilities by severity, and providing recommendations for risk mitigations.
SA-15(8) Reuse of Threat and Vulnerability Information LOW MODERATE HIGH
Require the developer of the system, system component, or system service to use threat modeling and vulnerability analyses from similar systems, components, or services to inform the current development process.
Discussion
Analysis of vulnerabilities found in similar software applications can inform potential design and implementation issues for systems under development. Similar systems or system components may exist within developer organizations. Vulnerability information is available from a variety of public and private sector sources, including the NIST National Vulnerability Database.
SA-15(9) Use of Live Data WITHDRAWN
Withdrawn. Incorporated into SA-3(2).
SA-15(10) Incident Response Plan LOW MODERATE HIGH
Require the developer of the system, system component, or system service to provide, implement, and test an incident response plan.
Discussion
The incident response plan provided by developers may provide information not readily available to organizations and be incorporated into organizational incident response plans. Developer information may also be extremely helpful, such as when organizations respond to vulnerabilities in commercial off-the-shelf products.
SA-15(11) Archive System or Component LOW MODERATE HIGH
Require the developer of the system or system component to archive the system or component to be released or delivered together with the corresponding evidence supporting the final security and privacy review.
Discussion
Archiving system or system components requires the developer to retain key development artifacts, including hardware specifications, source code, object code, and relevant documentation from the development process that can provide a readily available configuration baseline for system and component upgrades or modifications.
SA-15(12) Minimize Personally Identifiable Information LOW MODERATE HIGH
Require the developer of the system or system component to minimize the use of personally identifiable information in development and test environments.
Discussion
Organizations can minimize the risk to an individual’s privacy by using techniques such as de-identification or synthetic data. Limiting the use of personally identifiable information in development and test environments helps reduce the level of privacy risk created by a system.
SA-15(13) Logging Syntax LOW MODERATE HIGH
Require the developer of the system or system component to minimize the use of personally identifiable information in development and test environments.
Discussion
In support of better incident response and the ability to more quickly reconstruct security-related actions, identifying specific requirements for secure logging facilitates the ability to connect application-produced audit event logs with operational data. Event types are consistent with the event types defined in AU-02.
Implementation Guidance
Original engineering commentary written for this explorer — not NIST source text and not authoritative guidance.
No engineering interpretation has been authored for SA-15 yet. This section is architected to receive it — see the Requirements and Assessment sections above for the authoritative NIST source content in the meantime.
Assessment
Assessment Objectives
- frequency at which to review the development process, standards, tools, tool options, and tool configurations is defined;
- security requirements to be satisfied by the process, standards, tools, tool options, and tool configurations are defined;
- privacy requirements to be satisfied by the process, standards, tools, tool options, and tool configurations are defined;
- the developer of the system, system component, or system service is required to follow a documented development process that explicitly addresses security requirements;
- the developer of the system, system component, or system service is required to follow a documented development process that explicitly addresses privacy requirements;
- the developer of the system, system component, or system service is required to follow a documented development process that identifies the standards used in the development process;
- the developer of the system, system component, or system service is required to follow a documented development process that identifies the tools used in the development process;
- the developer of the system, system component, or system service is required to follow a documented development process that documents the specific tool used in the development process;
- the developer of the system, system component, or system service is required to follow a documented development process that documents the specific tool configurations used in the development process;
- the developer of the system, system component, or system service is required to follow a documented development process that documents, manages, and ensures the integrity of changes to the process and/or tools used in development;
- the developer of the system, system component, or system service is required to follow a documented development process in which the development process, standards, tools, tool options, and tool configurations are reviewed <SA-15_ODP[01] frequency> to determine that the process, standards, tools, tool options, and tool configurations selected and employed satisfy <SA-15_ODP[02] security requirements>;
- the developer of the system, system component, or system service is required to follow a documented development process in which the development process, standards, tools, tool options, and tool configurations are reviewed <SA-15_ODP[01] frequency> to determine that the process, standards, tools, tool options, and tool configurations selected and employed satisfy <SA-15_ODP[03] privacy requirements>.
Examine
[SELECT FROM: System and services acquisition policy; system and services acquisition procedures; procedures addressing development process, standards, and tools; procedures addressing the integration of security and privacy requirements during the development process; solicitation documentation; acquisition documentation; critical component inventory documentation; service level agreements; acquisition contracts for the system, system component, or system service; system developer documentation listing tool options/configuration guides; configuration management policy; configuration management records; documentation of development process reviews using maturity models; change control records; configuration control records; documented reviews of the development process, standards, tools, and tool options/configurations; system security plan; privacy plan; privacy impact assessment; privacy risk assessment documentation; other relevant documents or records].
Interview
[SELECT FROM: Organizational personnel with system and service acquisition responsibilities; organizational personnel with information security and privacy responsibilities; system developer].
Overlays
STIGs & CCIs
No STIG checks or CCI mappings are currently loaded for SA-15. This section is architected to display, per product: STIG ID, Finding ID, Severity, Title, Description, Check, Fix, CCI, and NIST control mapping — but nothing is populated here until a real DISA STIG/CCI dataset is ingested.
Learn more about STIG/CCI integration →Evidence
Categorized from the SP 800-53A "Examine"/"Test" artifact list above by keyword — not an authoritative NIST evidence list.
Policy
- System and services acquisition policy
- system security plan
- privacy plan
Configuration
- critical component inventory documentation
- system developer documentation listing tool options/configuration guides
- configuration management policy
- configuration management records
- configuration control records
Other Records
- system and services acquisition procedures
- procedures addressing development process, standards, and tools
- procedures addressing the integration of security and privacy requirements during the development process
- solicitation documentation
- acquisition documentation
- service level agreements
- acquisition contracts for the system, system component, or system service
- documentation of development process reviews using maturity models
- change control records
- documented reviews of the development process, standards, tools, and tool options/configurations
- privacy impact assessment
- privacy risk assessment documentation
- other relevant documents or records