The Microsoft Security Development Lifecycle (SDL) is the approach Microsoft uses to integrate security into DevOps processes (sometimes called a DevSecOps approach). You can use this SDL guidance and documentation to adapt this approach and practices to your organization.
The practices outlined in the SDL approach are applicable to all types of software development and across all platforms, ranging from traditional waterfall methodologies to modern DevOps approaches. They can generally be applied to the following:
* Software – whether you are developing software code for firmware, AI applications, operating systems, drivers, IoT Devices, mobile device apps, web services, plug-ins or applets, hardware microcode, low-code/no-code apps, or other software formats. Note that most practices in the SDL are applicable to secure computer hardware development as well.
* Platforms – whether the software is running on a ‘serverless’ platform approach, on an on-premises server, a mobile device, a cloud hosted VM, a user endpoint, as part of a Software as a Service (SaaS) application, a cloud edge device, an IoT device, or anywhere else.
The SDL recommends 10 security practices to incorporate into your development workflows. Applying the 10 security practices of SDL is an ongoing process of improvement so a key recommendation is to begin from some point and keep enhancing as you proceed. This continuous process involves changes to culture, strategy, processes, and technical controls as you embed security skills and practices into DevOps workflows.
Th
10 SDL practicesare:
# Establish security standards, metrics, and governance
# Require use of proven security features, languages, and frameworks
# Perform security design review and threat modeling
# Define and use cryptography standards
# Secure the software supply chain
# Secure the engineering environment
# Perform security testing
# Ensure operational platform security
# Implement security monitoring and response
# Provide security training
Versions
See also
*
Trusted computing base
The trusted computing base (TCB) of a computer system is the set of all hardware, firmware, and/or software components that are critical to its security, in the sense that bugs or vulnerabilities occurring inside the TCB might jeopardize the ...
Further reading
# Establish culture, strategy and processes
Innovation security (CAF Secure)# Define Security Practices and Controls
DevSecOps controls# Assess your current workloads with the well architected security assessment
Well Architected Review
External links
*
Software development process
Microsoft initiatives
Data security
Security
Crime prevention
National security
Cryptography
Information governance
{{soft-eng-stub