Microsoft Security Development Lifecycle Process

Seven phases of the traditional software development lifecycle define Security Development Lifecycle (SDL) process. Click on a phase to view the security practice details preformed during each phase or download the whitepaper Simplified Implementation of the SDL.
  • Core Security Training
  • Establish Security Requirements
  • Create Quality Gates/Bug Bars
  • Perform Security and Privacy Risk Assessments
  • Establish Design Requirements
  • Perform Attack Surface Analysis/ Reduction
  • Use Threat Modeling
  • Use Approved Tools
  • Deprecate Unsafe Functions
  • Perform Static Analysis
  • Perform Dynamic Analysis
  • Perform Fuzz Testing
  • Conduct Attack Surface Review
  • Create an Incident Response Plan
  • Conduct Final Security Review
  • Certify Release and Archive
  • Execute Incident Response Plan

What Is the Microsoft Security Development Lifecycle (SDL)?

The SDL is a software development security assurance process consisting of security practices grouped by seven phases of the traditional software development life cycle. Experiences at Microsoft has shown security practices executed in chronological order helped result in greater security gains and cost benefits than from ad hoc implementation. The SDL process is not specific to Microsoft or the Windows platform and can be applied to different operating systems, platforms, development methodologies, and to projects of any size.

What Types of Software Benefit from the SDL?

 If your organization builds software with one or more of the following characteristics, you should consider adopting the SDL:

  • The software will be deployed in a business or enterprise environment
  • The software must meet regulatory requirements for how data is transmitted, stored, and displayed
  • The software communicates regularly over the Internet or other networks