3.1.6 BSI成熟模型
BSI成熟模型(Building SecurityIn Maturity Model,简称BSIMM)是用来帮助组织理解和设计软件安全管理方法的模型。该模型是由三个软件安全专家Gary McGraw、Brian Chess和Sammy Migues提出,其最新版本BSIMMV是在分析了来自软件厂商、技术公司和金融服务业界的67个顶尖软件安全项目的基础上完成的[3]。
该模型使用了软件安全框架SSF来组织软件安全任务,列举了企业可采取的100多项安全活动,包括培训、代码审查、渗透测试以及标准和要求等,并根据使用频率对这些活动进行了排名。根据BSIMM团队的研究,企业安全管理成功的两个先决条件,一是有一位管理操作的高级管理人员,二是一个规模相当大的软件安全小组(Software Se-curity Group,简称SSG),包括高级管理层、系统架构师、开发人员和管理员。
BSIMM不同于其他模型,因为它未提出指导建议,但BSIMM对每一个安全活动都有一个生命的目标、一个描述和一个简单的距离来说明其他公司是如何做的。例如,在培训实践中有一个任务是要求SSG有一个公开的实验室阶段。在此阶段中,开发人员可以参与讨论安全开发、安全编码等问题。
Gary McGraw根据多年解读和实施BSIMM的经验总结出软件安全十诫如下[32]:
1)应该通过软件安全小组(SSG)来建立软件安全计划(SSI)。
2)应该依赖采用BSIMM的风险管理和客观测量来定义SSI的成功,而不是“前十名列表”和漏洞数量。
3)应该与企业高管沟通,直接将SSI的成功与业务价值联系,并与公司的竞争对手作比较。
4)应该创建和采用SSDL方法,如微软SDL或者Cigital Touchpoints。这些方法整合了安全控制(包括架构风险分析、代码审查和渗透测试)以及比他们自己运行的工具还更了解软件安全的人员。
5)不应该将软件安全活动仅限于与技术SDLC活动,尤其是渗透测试。
6)应该为你的SSG发展培养软件安全专家(因为周围没有足够的合格专家)。
7)应该关注来自业务、运营和事件响应人员的情报信息,并相应地调整SSI控制。
8)应该仔细追踪你的数据,并知道数据的位置,无论你的架构多么云计算化。
9)不能单独依靠安全特性与功能来构建安全的软件,因为安全是整个系统的新兴资产,它依赖于正确的建立和整合所有部分。
10)应该修复已识别的软件问题:漏洞和缺陷。[32]