SDL Secure Software Development Practices 5 — Questions and Answers
Question 1: Which SDL practice requires developers to identify the minimum set of user accounts, protocols, and features needed and disable everything else?
- Attack surface reduction (Correct answer)
- Penetration testing
- Threat classification
- Security incident response
Correct answer: Attack surface reduction
Attack surface reduction removes or disables unnecessary features, accounts, and protocols so attackers have fewer vectors to target.
Question 2: In SDL, what is the purpose of 'security training' for developers?
- Teaching developers to perform penetration tests on competing products
- Ensuring developers understand secure coding techniques and can apply SDL requirements in their daily work (Correct answer)
- Training developers to write security policies for end users
- Providing developers with access to vulnerability databases
Correct answer: Ensuring developers understand secure coding techniques and can apply SDL requirements in their daily work
SDL security training ensures developers have foundational knowledge of common vulnerabilities, secure coding patterns, and SDL processes before they begin development.
Question 3: What risk does 'repudiation' represent in the STRIDE threat model?
- An attacker intercepting network traffic
- A user or attacker denying they performed an action due to insufficient audit logging (Correct answer)
- Unauthorized elevation of access privileges
- Sensitive data being leaked through side channels
Correct answer: A user or attacker denying they performed an action due to insufficient audit logging
Repudiation threats occur when a system lacks sufficient logging or audit trails, allowing malicious actors to deny performing harmful actions.
Question 4: When performing SDL threat modeling, what is a 'trust boundary'?
- A firewall rule permitting only authenticated traffic
- A point in the system where data or control passes between components with different privilege levels or trust levels (Correct answer)
- The encrypted channel between client and server
- A list of approved third-party vendors
Correct answer: A point in the system where data or control passes between components with different privilege levels or trust levels
Trust boundaries mark where data transitions between components with differing trust levels, and SDL requires validating all data that crosses these boundaries.
Question 5: Which SDL requirement ensures that in the event of an error or attack, a system denies access rather than inadvertently granting it?
- Fail-safe defaults (Correct answer)
- Cryptographic agility
- Input validation
- Secure deployment
Correct answer: Fail-safe defaults
Fail-safe defaults ensure that any system failure or unexpected condition results in a denial of access rather than an accidental grant of permissions.
Question 6: What does SDL's 'privacy impact assessment' evaluate?
- How encryption algorithms affect system performance
- The risks to personal data collected, stored, or processed by the software (Correct answer)
- The cost of implementing privacy features
- Whether the product complies with export control regulations
Correct answer: The risks to personal data collected, stored, or processed by the software
A privacy impact assessment identifies what personal data the software handles, how it is protected, and whether collection and processing comply with privacy requirements.
Question 7: In SDL, which practice involves reviewing a product's security posture after deployment to capture lessons learned and improve future SDL execution?
- Pre-release penetration testing
- Post-release security response retrospective (Correct answer)
- Training phase evaluation
- Design phase sign-off
Correct answer: Post-release security response retrospective
Post-release retrospectives analyze incidents, near-misses, and response effectiveness to refine SDL processes and prevent similar vulnerabilities in future products.
Which SDL practice requires developers to identify the minimum set of user accounts, protocols, and features needed and disable everything else?