P.2.1 Security design review
Control Details
Objective
Decrease the number of design flaws and security vulnerabilities introduced during the architecture and design phases.
Definition
Enumerate possible threat vectors. Conduct threat modeling and attack surface analysis to identify weaknesses in the software architecture and design such that the system is resistant to attack. Identify missing security features and requirements. Identify unused components in the design. Address the identified security risks through re-design, or develop and track a mitigation plan for exceptions.
Assessment Questions
- For all critical software components and external services that your team operates and owns, has a qualified person not involved in the design reviewed the design and conducted an attack surface analysis and threat model?
- What kind of approaches are you using to narrow attack vectors?
- What kind of tool or methodology (like STRIDE) do you use to structure your threat modeling?
- Do you perform analysis such that only required modules are included in the product and unused modules are uninstalled and removed, decreasing the attack surface?
- How are unused modules identified - such as 'debloating' a product for unused components and containers?
Reference sources
- EO 4e(iv) 4e(v) 4e(ix)
- OWASP-SCVS 3.20 3.21
- SSDF PW.1.1 PW.2.1
- SSDF-AI PW.1.1
- BSIMM AA1.1 AA1.2 AA2.1 AA3.1
- Self-attestation 4
- SAMM D-TA-2-A D-TA-1-B V-AA-1-B V-AA-2-A V-RT-2-A V-RT-2-B
- 800-161 SA-17
- OSPS OSPS-SA-03