安全开发生命周期(SDL)的现在与未来:微软的实践与行业标准

本文探讨了微软安全开发生命周期(SDL)的十年实践,分析了当前开发者在安全开发中面临的挑战,并介绍了ISO/IEC 27034-1国际标准如何帮助组织建立更安全的软件开发流程,同时提供了实用的工具和成本效益分析。

本文章翻译自Trustworthy Computing的博客“The time is now. Security Development Must be a Priority for Everyone”(2013年5月14日发布)。 投稿:微软Trustworthy Computing(可信计算)部门,软件安全合作伙伴总监,Steve Lipner(史蒂夫·利普纳)

微软实施安全开发生命周期(SDL)已约十年。在此期间,发生了许多变化。过去十年中,互联网用户从约3.5亿增长到24亿以上。如今,开发者面临着前所未有的机会。Windows 8仍然相对较新,云计算处于早期采用阶段,新的移动设备和平台正在激增。互联网创造了众多新机会和商业模式,同时也催生了在线犯罪的数字地下世界。在今天的计算环境中,安全漏洞已成为现实,可能导致财务影响、知识产权损失、网站篡改和间谍活动。

与我交谈过的许多开发者通常都认识到安全开发的重要性。然而,有证据表明,大多数组织尚未将安全开发作为基本专业领域引入。微软最近对全球2200多名IT专业人员和490名开发者进行了一项调查。该调查显示,仅37%的IT专业人员表示他们的组织在开发产品和服务时考虑了安全性。此外,61%的开发者未利用现有的缓解技术,如ASLR、SEHOP和DEP。这些缓解技术已在IT行业免费提供多年,且通常可以轻松添加到现有开发实践中,但只有少数开发者利用它们。我对此感到担忧,这应该是所有互联网用户的关切点。

此外,该调查揭示了组织引入安全开发流程的最大障碍是:1) 缺乏管理批准,2) 缺乏培训和支持,3) 成本。最近,在安全开发会议上,微软和其他公司采取了措施来消除这些障碍,并填补引入安全开发时的差距。

管理批准 - 通过标准化和合规性,可以克服许多与管理批准相关的障碍。国际标准化组织(ISO)和国际电工委员会(IEC)认识到需要安全开发流程的标准,并发布了ISO/IEC 27034-1。这一新的国际标准是首个专注于构建全面软件安全程序所需流程和框架的标准。ISO/IEC 27034-1是安全方向的重要一步,为组织带来许多可能性。微软认识到安全开发的这一重要里程碑,并通过符合性声明宣布微软的SDL符合ISO 27034-1。通过公开符合这一标准,微软希望成为其他致力于安全开发的公司的榜样。

对于开发或销售软件的公司,这一标准提供了安全开发实践的共同评估语言,展示了引入安全开发框架的简明概述,并成为市场竞争中的差异化因素。 对于从供应商购买软件或服务的客户,这一标准提供了跨行业、平台和地区要求安全开发的单一“语言”。

有关ISO 27034-1的更多信息,请参阅最近发布的标题为“软件安全标准的出现:ISO/IEC 27034-1:2011与您的组织”的白皮书。这是微软委托Reavis Consulting Group, LLC发布的白皮书。 许多行业在保护基础设施或符合行业法规方面面临挑战。医疗保健行业是应对这一挑战的一个例子。最近,微软还发布了标题为“医疗保健行业中的安全软件趋势”的白皮书。该白皮书描述了医疗保健行业的挑战,并证明了SDL带来的积极影响。

培训和支持 - 微软在SDL网站上提供可下载的免费工具和指南,如SDL for Agile、威胁建模工具和Attack Surface Analyzer,以帮助自动化SDL流程并提高效率,使SDL更易于实施。为了帮助客户实施,微软的合作伙伴网络中有许多成员公司协助基于SDL的安全开发实践的引入。除了这些资源外,Software Assurance Forum for Excellence in Code(SAFECode)最近宣布了关于安全开发的免费新在线培训课程。

成本 - 最后,IT专业人员和开发者将成本列为引入安全开发框架的主要障碍。但实际上,实施这一流程导向的安全代码带来的好处不仅仅是安全产品。它还导致实质性的成本节约。Aberdeen Group的研究表明,采用“Secure at the Source”(类似于微软的SDL)策略的公司实现了应用程序安全年投资4倍的强劲回报率。Forrester通过陈述实践SDL的公司报告了明显更好的投资回报率,支持了这一发现。

今天,应用程序的数量在增加,开发者的工作从不短缺。 而且,开发者之间的竞争也在加剧。所有新的软件产品和应用都必须与竞争对手竞争。这种情况以前也发生过,商业压力要求产品作为市场首发或通过惊人功能脱颖而出,往往导致安全性被忽视。但这次,我希望不会如此。网络犯罪不幸地成为常见的现实威胁,其对个人和组织的影响已得到充分理解。因此,使用软件的组织必须要求更安全的软件产品,而开发者需要实施安全开发来满足这一需求并保持竞争力。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计