培训对象: 开发人员、安全工程师、测试人员、项目经理、产品经理。
培训目标:
理解安全开发生命周期(SDL)的各个阶段。
掌握需求阶段的安全需求和威胁建模方法。
能够在设计和编码阶段落实安全实践。
具备安全测试和上线前安全检查能力。
培训内容介绍:
二、 需求阶段-安全需求定义: 识别业务的安全需求(认证、授权、审计、加密),编写安全需求文档。
三、 需求阶段-威胁建模(STRIDE): 使用STRIDE模型(欺骗、篡改、否认、信息泄露、拒绝服务、权限提升)识别威胁,绘制数据流图(DFD)。
四、 设计阶段-安全架构设计: 遵循最小权限原则、纵深防御、默认安全等设计原则,进行安全架构评审。
五、 设计阶段-攻击面分析: 识别系统暴露的攻击面(API、端口、Web界面),采取措施减少攻击面。
六、 编码阶段-安全编码规范: 制定团队安全编码规范,避免常见漏洞(OWASP Top 10),使用IDE安全插件实时检查。
七、 编码阶段-静态代码扫描(SAST): 集成SonarQube、Fortify进行静态扫描,在CI/CD中设置质量门禁。
八、 测试阶段-动态安全测试(DAST): 使用AWVS、Burp Suite进行动态扫描,手动渗透测试验证漏洞。
九、 测试阶段-软件成分分析(SCA): 扫描第三方组件和依赖库,识别已知漏洞(CVE),更新或替换不安全组件。
十、 发布阶段-安全验收: 上线前安全检查清单(配置检查、漏洞修复确认、默认账号修改),发布安全公告。
十一、 运维阶段-漏洞应急响应: 建立漏洞应急响应流程,及时修复线上漏洞,更新安全补丁。
十二、 实战项目:SDL落地实践: 针对一个真实项目,从威胁建模开始到上线前检查,完整应用SDL流程。