为了达到开发高安全性产品的目的,软件开发生命周期所涉及到的流程必须包含安全性方面的行为。在 2013 年 SEPG 欧洲大会上,西门子的 Winfried Russwurm 以及 Limes Security 公司的 Peter Panholzer 高呼:“我们必须从最初阶段就将软件的安全性考虑进去,我们必须基于软件设计开发产品”。在会上,他们举办了一个关于探索软件安全性的研讨会,同时还提出了关于开发高安全性产品改进流程的指导手册。(译注:SEPG 为软件工程流程组织的缩写,Software Engineering Process Group)
Winfried 和 Peter 向与会者呼吁,针对软件的安全性我们必须有专门的软件开发活动以创造出更安全的软件产品。他们将与会者提出的意见归纳为以下几个方面:
组织架构方面: - 安排专职的安全专家
- 增进软件安全意识并且打造安全性的企业文化
- 提供关于安全方面的培训
- 建立并实行安全性的策略
需求方面: - 在项目利益相关者中引入“黑客”
- 进行安全风险分析
- 定义安全性需求,比如:关于安全性的用户用例或场景
架构方面: - 在接口设计方面注重考虑安全风险
- 落实关于安全性的架构规则及纲领
- 对于软件安全性寻找并应用行之有效的架构
实施方面: - 为软件安全性应用编程准则
- 使用工具来检验代码安全性
测试方面: - 计划并进行软件安全性测试
- 使用工具来进行自动化的软件安全性测试
开发生命周期: - 进行软件安全性评审及验证
- 辨别风险来源、分类并进行风险评估
- 学习其他公司及社区做得好的方面
- 建立关于如何处理安全性问题的社会媒体政策
今年早些时候,CMMI Institute 发布了关于开发高安全性产品改进流程的指导手册。这份指导手册对软件安全性的3 个方面给出了更详细的流程说明。这3 个方面包括:软件工程的安全性方面、软件项目的安全性管理以及组织中的安全性话题。我们可以运用这份指导手册以及能力成熟度CMMI-DEV 模型为我们的客户提供更可靠的软件安全保障。
指导手册的作者们以及 CMMI Institute 都期望能够听到来自读者的声音、获得来自运用这份指导手册的机构的反馈。
查看英文原文: Applying Security by Design with the CMMI for Development
评论