“如何结合CMMI和ISO27001的要求,来建设软件安全开发流程,并提升相应的软件工程能力。”
我想根据个人经验从质量流程的视角和大家探讨下:针对国内和国际上对于 络信息安全方面的要求,如何结合CMMI和ISO27001的要求,来建设软件安全开发流程,并提升相应的软件工程能力?
首先,我们需要先了解下CMMI和ISO27001对于软件安全开发的要求。
最近发布的CMMI2.2里,最重要的security内容是两个实践域:Enabling Security(ESEC)、Managing Security Threats & Vulnerabilities(MST), 它们都属于ManagingSecurity and Safety能力域。几个实践域的核心内容,包括PA的价值、意图、实践可以参考丛博在“老丛讲桌”的文章“揭开CMMI2.0模型中 Safety和Security的面纱”。
而ISO/IEC 27001,则从组织的整体业务风险的角度,基于PDCA持续改进的框架,为建立、实施、运行、监视、评审、保持和改进文件化的ISMS规定了要求。与软件系统安全开发相关的主要涉及A14信息系统获取、开发和维护,A10 密码学,A9 访问控制,A16 信息安全事件管理,A17等多个控制域,同时,如果存在系统外包开发,还会涉及A15供应商管理。
了解了两大体系要求后,我们再看看如何搭建流程框架并开展工作。
如果一个组织已经通过CMMI认证,现在要过ISO27001,一定重建一份体系制度文档吗?答案是否定的。
我非常认可丛博CMMI改进、评估的观点,“价值驱动”,“do more with less”。质量体系建设要围绕业务价值,更多投入有价值的活动,起到切实改进的作用, 而不是单纯的套体系套框架拿证书。
基于这个共识,根据内外部客户对于信息安全的需求以及企业的安全方针,结合公司的实际情况,完全可以将其对软件开发要求自然融入到现有的CMMI体系框架中。
“安全是质量属性的一部分”,将安全融入到质量管理是构建软件安全开发流程的基本条件。需要Security Built In的整体解决方案:通过在软件开发生命周期各阶段采取必要的、相适应的安全措施来避免绝大多数的安全漏洞,以交付符合安全要求的系统。
要求目标和方向框架确定,并取得高层领导支持,就该开始撸起袖子加油干了。通过现状调查和差距分析,并针对性选用安全专项活动和对应的工具方法,逐步融入并优化已有开发流程。
几点体会:
1. 流程制定不要做成两张皮:说到做到,知行合一
2. 注重对全员的安全意识培训
3. 流程和先进工具的有机集合,能有效提升工程能力。
4. 在整个软件开发生命周期中要确保将安全作为软件的一个有机组成部分,贯穿产品定义、需求、设计、开发、测试、发布、运维全过程。
5. 软件安全是以风险管理为基础:安全不必是完美无缺,但风险必须是能够管理的。
6. 最适宜的软件安全策略就是最优的风险管理对策。这是一个在有限资源前提下的最优选择问题。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!