软件安全开发模型
我最初做应用安全,参照的就是微软的软件安全开发生命周期(SDL)。当时DevSecOps的概念刚刚被提出没多久,记得有一次希望向一个在应用安全方向做了挺长时间的小伙伴请教DevSecOps,得到的回答是“不知道什么是DevSecOps”,也让我感受到了DevSecOps只是在概念阶段。直至今日,感觉DevSecOps的概念似乎已经盖过了当初的SDL,被各个企业参考建设。不过我认为SDL的经典依然是存在。
除了SDL、DevSecOps,其实还有一些知名的软件安全开发方法在被配合着SDL、DevSecOps应用,如内建安全(BSI)、综合的轻量应用安全过程(CLASP)、软件安全保障成熟度模型(SAMM)。下面将对我了解的一些软件安全开发方法进行简单介绍。
1.软件安全开发生命周期(SDL)
微软的SDL想必大家已经都非常熟悉了,我就不做过多的介绍。下面介绍下SDL的发展历程: 2002年,微软提出推行可信计算计划,期望提高微软软件产品的安全性,SDL是其中的关键部分。2004年微软内部提出SDL2.0,并在全公司强制执行;2007年发布SDL3.2,也是第一个公开发布的版本。经过多个版本的完善,2012年发布了SDL5.2。近十年虽然有一些材料的更新,但官网的版本目前还是5.2版,这也说明了SDL的强大,能适应各种复杂多变的开发环境。
另外,