【渗透测试-web安全】SDL -软件安全开发周期

SDL

SDL即Security Development Lifecycle (SDL),是微软提出的从安全角度指导软件开发过程的管理模式。SDL不是一个空想的理论模型。它是微软为了面对现实世界中安全挑战,在实践中的一步步发展起来的模式。

SDL的核心理念就是将软件安全的考虑集成在软件开发的每一个阶段 需求分析、设计、编码、测试和维护。

基本内容块

培训:核心安全培训,对相关开发、测试、运营人员的培训
需求:
	安全需求分析:应用认证方式、权限控制、审计方式等
	质量要求/BUG数量要求:确保安全和隐私的重要标准
	安全和隐私风险评估:对身份证、银行卡、手机等信息进行风险控制
设计:
	设计需求分析:避免安全问题引起的需求变更等
	减少攻击面:从应用本身的漏洞和弱点出发尽可能的减少漏洞,最小权限原则等
实施:
	使用指定工具:配置、使用、设置等相关工具
	弃用不安全的函数:伪随机函数、级别较低的加密算法等
	静态代码分析:工具扫描和人工分析等
验证:
	动态分析:测试环节验证程序的安全性
	模糊测试:发送大量的数据查看对应的输出是否存在安全漏洞
	威胁模型和攻击面评析:修正需求变更引起的内容等安全问题
发布:
	事件响应计划:类比火灾演练
	最终安全评析:发布之前对安全问题作做种的安全评估检查
	发布存档:为应急响应和产品评估提供相应的支持
	
响应:最终的响应处置

未来发展

经验分享 程序员 微信小程序 职场和发展