DevSecOps敏捷安全
上QQ阅读APP看书,第一时间看更新

1.3.2 国内外开发安全研究现状

数字化业务安全保障本身是一个庞大而复杂的课题,而软件开发安全的实现与落地也才刚刚开始。目前,国内外开发安全既有理论研究,也有分析总结的企业成功实践。下面将对国内外开发安全现状情况做简要介绍。

1.国外开发安全研究现状

欧美国家的开发安全行业发展较早,美国是该领域的佼佼者。在理论和规范方面,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)发布的SP800系列标准就是一套关于信息安全的系统性文件,其中大量篇幅涉及软件开发安全。虽然SP800系列标准只是NIST的特殊出版物,并非正式法定标准,在强制性上类似于我国的推荐性标准,但是在软件安全管理实践中,SP800系列标准不仅已经成为美国软件安全行业的事实标准和权威指南,其影响甚至外溢到国际范围,被包括我国在内的软件安全行业从业者广泛借鉴。SP800系列标准中涉及的软件开发安全内容覆盖了软件生命周期中的各个阶段,并为每一阶段提供了相应的安全实践指导,可用于指导软件开发过程中安全与数字化业务的融合。

在企业级实践方面,国际上也有不少典型的案例。

1)微软SDL:微软公司提出的一种软件安全开发模型。2002年,微软在瀑布式模型基础上结合软件工程发展出安全开发生命周期模型,即微软SDL。事实上,微软SDL本质上就是开发安全软件(即能够抵御恶意攻击的软件)时采用的一套流程。它在软件开发的所有阶段都引入了安全和隐私保护原则,添加了一系列安全活动,例如威胁建模、静态代码分析、模糊测试等。自2004年起,微软在全公司内就将SDL作为强制性策略进行实施。

2)CSDL:思科公司提出的一种软件安全开发模型。CSDL也是在整个软件开发过程中引入安全和隐私保护机制,进而有助于跟踪、发现安全缺陷并及时修复处理以降低危害,推动组织持续评估、检测和改进软件供应链安全。

3)BSI模型:Gary McGraw提出的一种软件安全开发模型。2006年,Gary McGraw在SDL基础之上聚焦于整个软件开发过程中每个阶段的风险,提出了BSI模型。BSI,即Building Security In,主张将安全管理能力内建在软件开发过程中,而非游离于软件生命周期。BSI以工程化方法来保障软件安全。其中,安全触点被认为是一种轻量级工程化方法,能够从不同角度对软件生命周期中的各个阶段提供安全保障。

4)CLASP模型:由Secure Software公司提出,并由OWASP(Open Web Application Security Project,开放式Web应用程序安全项目)完善、维护和推广的一种综合性轻量应用安全过程模型。CLASP模型本质上是一种用于构建安全软件的轻量级过程模型,主要通过一系列安全活动提升整个开发团队的安全意识。

2.国内开发安全研究现状

国内对开发安全工作非常重视,开展时间并不比国外晚,但在理论研究深度和实践强度上,和发达国家还有一定距离。在理论和规范方面,2015年5月15日我国正式发布了国家标准GB/T 18336—2015《信息技术 安全技术 信息技术安全评估准则》。该标准对软件生命周期中的各个阶段提出了安全要求,以验证软件产品的保密性、完整性、可用性、可控性等。此外,无论供应商、用户还是第三方评估机构,都能够依据规定的标准化规程和方法体系开展软件产品的安全测试和评估实践。

国内开展开发安全活动的企业也有不少,这里列举几个代表性企业。

1)搜狐SDL:搜狐公司期望通过SDL解决自身在信息安全中面临的诸如项目开发周期短、迭代快、安全设计缺位、安全编程意识缺乏、使用中的老旧代码难以维护、业务线代码风格混杂多变等问题。它的核心安全活动包括安全测试、安全培训、需求分析、系统设计、编码实现、发布和运营。结合企业自身特点设计安全活动中的具体事项是搜狐SDL建设的特点。

2)华为SDL:2019年年初,华为公司开始加强对安全和隐私保护的重视,并加大在SDL建设上的投入。当时,任正非在《全面提升软件工程能力与实践,打造可信的高质量产品——致全体员工的一封信》中明确提出了“把网络安全和隐私保护作为公司的最高纲领”,确保每个产品和解决方案都融入信任和构建高质量,确保安全性、韧性、隐私性、可靠性和可用性,充分展示了华为扎实的安全工程认知。回到实践层面,华为的国际化脚步意味着多产品安全交付已经成为常态,同时面向全球市场成为刚需。因此,在建设SDL时,企业除了要关注单个产品的漏洞外,还要关注相关产品间的安全依赖关系;通过建立制度和采用新技术进行规范和管理,应对引入组件等时潜藏的漏洞。