安全开发过程法律规范一、SDL 简介SDL security development lifecycle(安全开发生命周期),是微软提出的从安全角度指导软件开发过程的管理模式.SDL 是一个安全保证的过程,起重点是软件开发,它在开发的所有阶段都引入了安全和隐私的原则。自 2024 年起,SDL 一直都是微软在全公司实施的强制性策略.二、SDL 步骤图SDL 中的方法,试图从安全漏洞产生的根源上解决问题,通过对软件工程的控制,保证产品的安全性。美国国家标准与技术讨论所(NIST)估量,假如是在项目发布后在执行漏洞修复计划,其修复成本相当于在设计阶段执行修复的 30 倍三、SDL 的步骤包括:阶段 1:培训开发团队的所有成员都必须接受适当的安全培训,了解相关的安全知识,培训对象包括开发人员、测试人员、项目经理、产品经理等。阶段 2:安全要求在项目确立之前,需要提前与项目经理或者产品 owner 进行沟通,确定安全的要求和需要做的事情.确认项目计划和里程碑,尽量避开因为安全问题而导致项目延期发布。阶段 3:质量门/bug 栏质量门和 bug 栏用于确定安全和隐私质量的最低可接受级别.Bug 栏是应用于整个开发项目的质量门,用于定义安全漏洞的严重性阈值。例如,应用程序在发布时不得包含具有“关键"或“重要"评级的已知漏洞。Bug 栏一经设定,便绝不能放松.阶段 4:安全和隐私风险评估安全风险评估(SRA)和隐私风险评估(PRA)是一个必需的过程,必须包括以下信息:1、(安全)项目的哪些部分在发布前需要威胁模型?2、(安全)项目的哪些部分在发布前需要进行安全设计评析?3、(安全)项目的哪些部分需要并不食欲项目团队且双方认可的小组进行渗透测试?4、(安全)是否存在安全顾问认为有必要增加的测试或分析要求已缓解安全风险?5、(安全)模糊测试要求的具体范围是什么?6、(安全)隐私影响评级如何?阶段 5:设计要求在设计阶段应认真考虑安全和隐私问题,在项目初期确定好安全需求,尽可能避开安全引起的需求变更。阶段 6:减小攻击面减小攻击面与威胁建模紧密相关,不过它解决安全问题的角度稍有不同。减小攻击面通过减小攻击者利用潜在弱点或漏洞的机会来降低风险,减小攻击面包括:关闭或限制对系统服务的访问,应用“最小权限原则”,以及尽可能进行分层防备。阶段 7:威胁建模为项目或产品面临的威胁建立模型,明确可能来自的攻击有哪些方面。阶段 8:使用指定的工具开发团队使用的编辑器、链接器等相关工具,可能会涉及一些安全相关的环节,因此...