What is the NIST Secure Software Development Framework (SSDF)?
The NIST Secure Software Development Framework (SSDF), published as NIST SP 800-218, is a set of recommended practices for secure software development. Specifically, it aims to reduce vulnerabilities in released software, minimize the impact of unaddressed vulnerabilities, and prevent recurring security issues. Moreover, it applies a risk-based approach, so organizations prioritize practices based on their threat model and available resources.
In practice, organizations use the NIST SSDF in three ways. First, they integrate its practices into existing software development lifecycles (SDLCs). Second, they use it to communicate security requirements to software vendors and suppliers. Third, they compare their current practices against the SSDF to identify and close security gaps.
What does “secure by design” mean under the SSDF?
Secure by design means building security into software from the initial design phase. In fact, this is the opposite of the traditional approach, where security gets added after development as an afterthought. As a result, teams catch vulnerabilities earlier, when fixing them costs far less.
Specifically, the SSDF promotes three secure-by-design principles:
- Proactive threat modeling: identifying potential threats and implementing mitigations during design, before a single line of code is written
- Secure coding practices: following established standards to minimize vulnerabilities introduced during development
- Secure default settings: configuring software so a basic security level is maintained even without user intervention
How does the SSDF address software supply chain and SBOM requirements?
The SSDF places strong emphasis on software supply chain transparency. Specifically, it recommends that software producers collect, maintain, and share provenance data for every software release. Moreover, Software Bills of Materials (SBOMs) are a core part of this approach, because they document every component in a software product and make vulnerabilities easier to identify and track.
In practice, the SSDF also connects to federal requirements. Specifically, the Repository for Software Attestation and Artifacts (RSAA) fulfills the requirements of OMB memorandums M-22-18 and M-23-16. As a result, software producers selling to the U.S. federal government must submit attestations confirming their adherence to secure development practices.
How can organizations verify the integrity of software releases?
Software producers must give customers the tools to verify that a release is legitimate and has not been tampered with. In fact, this verification step is essential in a threat landscape where supply chain attacks target software distribution channels directly. As a result, the SSDF recommends three complementary controls:
- Cryptographic hashes: publishing file hashes on a secure website so users can confirm a download matches the original release
- Code signing: using established certificate authorities so operating systems and tools can validate software signatures automatically
- SBOM sharing: providing detailed component information so customers can assess supply chain risk independently
What should organizations consider when acquiring software under the SSDF?
The SSDF treats software acquisition as a security decision, not just a procurement exercise. Specifically, it encourages organizations to evaluate vendor security posture before signing any contract. Moreover, including security criteria in procurement documents creates direct incentives for vendors to prioritize secure development practices.
In practice, three actions matter most during acquisition:
- Evaluate vendor security posture: assess security controls, policies, vulnerability disclosure programs, and incident response capabilities before selecting a vendor
- Review SBOMs: request and analyze SBOMs to understand the components inside the software and the supply chain risks they carry
- Incorporate security requirements into contracts: define a core set of security requirements and include them in acquisition documents and third-party agreements