安全开发生命周期(SDL)即 Security Development Lifecycle,是一个帮助开发人员构建 更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程。 自 2004 年起, 微软将 SDL 作为全公司的计划和强制政策,SDL 的核心理念就是将安全考虑集成在软件开 发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个 阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。 安全开发生命周期 (SDL)是侧重于软件开发的安全保证过程,旨在开发出安全的软件应用。
SDL 安全设计核心原则:
- Attack Surface Reduction:攻击面最小化
- Basic Privacy: 基本隐私
- Least Privilege: 权限最小化
- Secure Defaults: 默认安全
- Defense in Depth:纵深防御
- Threat Modeling:威胁建模
SDL 流程简图