openskills.info
Course Preview

Secure Software Development Lifecycle

A secure software development lifecycle adds security work to the way you plan, design, build, verify, release, and maintain software. It turns security requirements, reviews, tests, and vulnerability response into routine development work instead of a final check.

itOffensive security and application security

Secure Software Development Lifecycle

A secure software development lifecycle, or secure SDLC, integrates security practices into an existing software development lifecycle. You keep your delivery method. You add security requirements, responsibilities, evidence, and feedback wherever they change a decision.

This matters because a final penetration test sees only part of the system. It arrives after teams have made architecture choices, selected dependencies, built delivery infrastructure, and written most of the code. Some findings can still be fixed. Others require expensive redesign or remain as accepted risk.

A secure SDLC moves relevant work closer to the decisions it can influence:

prepare → require → design → implement → verify → release → respond
    ↑                                                        ↓
    └──────────── lessons, defects, and new threats ──────────┘

The path is a loop, not a one-time checklist. Released software still changes. Its dependencies, environment, users, and threats change too. Vulnerability reports and incidents should update requirements, designs, tests, and development practices.

Start with outcomes

NIST's Secure Software Development Framework, or SSDF, groups its practices into four outcome areas:

  • Prepare the Organization: Define requirements, roles, training, tools, and development environments.
  • Protect the Software: Protect code and releases from unauthorized access or change.
  • Produce Well-Secured Software: Apply secure design, implementation, review, testing, and component practices.
  • Respond to Vulnerabilities: Receive reports, remediate vulnerabilities, and address root causes.

These areas do not prescribe a waterfall process. NIST designed the SSDF practices for integration into any software development lifecycle. An agile team can add security criteria to backlog items and automated checks to each change. A team with formal stage gates can require specific evidence before a phase closes.

The framework gives you a common vocabulary. Your program must still translate each outcome into work, ownership, and evidence.

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Sources

  • https://csrc.nist.gov/pubs/sp/800/218/final
  • https://doi.org/10.6028/NIST.SP.800-218
  • https://owaspsamm.org/about/
  • https://owaspsamm.org/model/
  • https://owasp.org/www-project-application-security-verification-standard/
  • https://learn.microsoft.com/en-us/compliance/assurance/assurance-microsoft-security-development-lifecycle
  • https://www.microsoft.com/en-us/securityengineering/sdl/practices
  • https://github.com/sindresorhus/awesome
  • https://github.com/jakob-pennington/awesome-devsecops
  • https://owasp.org/www-project-threat-dragon/
  • https://www.threatdragon.com/docs/
  • https://docs.semgrep.dev/
  • https://owasp.org/www-project-dependency-check/
  • https://www.zaproxy.org/docs/
  • https://owasp.org/www-project-juice-shop/
  • https://owasp-juice.shop/