安全芝士局高阶版栏目《芝士官来了》第一期已于近日播出,默安科技资深安全咨询顾问徐航平围绕“企业如何自评开发安全建设成果”的主题,为大家分享了企业在开发安全建设过程中的痛点、开发安全体系建设思路、常用评估模型,以及如何做好开发安全建设效果评估。
扫码关注默安科技视频号
即可查看直播回放
↓ ↓ ↓
01
企业开发安全建设面临哪些痛点
针对如何评估开发安全建设效果,不同建设阶段的企业会面临不同的痛点和需求,大致可以分为以下几个阶段:
开发安全建设初期企业
开发安全建设初期的企业遇到最头疼的问题是开发安全该如何从0开始,现阶段如何引入安全工具,先建设什么带来的收益最可观,开发安全建设三到五年规划怎么做等。
开发安全建设中期企业
经过1-2年开发安全建设的企业,有了一些基本的安全工具和较简单的安全卡点,比如白盒检测、组件扫描、灰盒检测等,此时通常会考虑现有的安全活动执行情况如何,如何形成一套更有效的漏洞治理闭环流程,产品、开发、测试人员的安全能力怎样进一步提升等。
开发安全建设后期企业
开发安全建设较为完善的企业,基本的开发安全检测工具都已经有了,安全活动也能够平稳运行。但除此以外,开发安全体系应如何优化,下一步该往哪个方向发力,还有就是到了年底,领导问起来今年投入了多少资源在开发安全,给公司带来的价值有多少等。
02
企业开发安全体系建设思路及常用评估模型
整体上,企业开发安全体系建设也需要遵循PDCA(Plan-Do-Check-Act)循环思路,在规划阶段,考虑的是要做什么事情,包括现状分析、方案规划和方案论证;在建设阶段,需要考虑通过什么平台落地,引入什么检测能力,建立什么流程制度;在检查阶段,包括对于安全活动的评价和对于检测数据的分析;在完善阶段,则是不断优化规则和流程。
图 PDCA循环思路
那到底如何做好开发安全建设效果评估呢?在具体实践上,通常会用到几个开发安全成熟度评估模型,早些年用SAMM和BSIMM模型较多,近些年,中国信通院发布了可信研发运营安全能力成熟度模型。下面对这几个常用模型以及各自的优缺点进行介绍。
SAMM模型
SAMM模型(软件保证成熟度模型)是OWASP(开放式Web应用程序安全项目)推出的一个标准化模型,包括5个纬度和15个评估项,每个评估项都设置了问题,以及对应解答能得多少分,官方出的excel可以直接打分出结果,里面的评估项其实就是企业需要建设的各类安全活动。默安之前也通过这个模型给客户做了一些数据分析,比如项目建设前和建设后的雷达图对比,这也是成熟度模型的一大用途。当然,这个模型也有缺点,因为它偏标准化,所以在使用期间会发现很多要求项并不符合企业开发安全实际情况,或者有些项不好评估,缺少标准的实施指引。
图 SAMM模型评估项展示
BSIMM模型
BSIMM模型(BSI成熟度模型)是新思科技推出的,相比于SAMM模型,BSIMM模型基于实践,每年都会更新一版评估指南,目前已经更新到了第14版。机构每年会对100多家已经实施开发安全的企业进行调研,评估各个安全活动项的完成情况,然后通过完成度高低进行排序,排序前面的,一般都是企业认为较容易实施,且效果相对好的安全活动,那就可以根据活动项排名去规划建设方案,考虑自身企业应该先开展哪些安全活动,走大企业走过的方向,总不会有大错误。
它的缺点在于,所参考的企业并不是国内的,大家知道国内外企业开发环境和习惯还是有区别的,所以对于一些活动的优先级可能会有差异,不过这也只是一个成熟度模型,我们用作参考即可。
信通院的可信研发运营安全能力成熟度模型
这个模型吸收了前面讲的BSIMM模型的优点,试点的时候找了国内的很多大厂进行评估,这也是默安近些年在为企业做开发安全体系建设时参考的主要模型,它能满足基本的建设路径和方向选择的需求。该模型的缺点在于,它是针对项目级别的成熟度评价体系,对于一个企业而言,研发项目很多,但每个研发团队的安全活动执行情况并不完全一样,那要评估整体的情况就比较难,当然这也是开发安全建设的痛点之一,就是要做好开发安全,必须先做好研发流程环境的管理。
03
不同阶段的企业,如何评估要做哪些安全活动?
针对开发安全建设初期的客户,一般通过咨询服务先介入,帮助客户梳理建设规划,另外还会做一些详细的活动建设方案设计,比如IAST在传统和DevOps模式下怎么使用,如何制定开发安全规范等等。当然也有直接引入安全检测工具的方法,需要根据客户具体实际情况进行选择。
针对开发安全建设中期的客户,一般是帮助客户建设自己的度量体系,建立一些关键指标,比如工具的检出率、误报率分析等,另外还会进行成熟度模型评估,看看历年的得分有没有进步,并给出后续的规划建议。
处于开发安全建设后期的企业,由于安全活动已经比较完善,这类企业主要考虑的是如何做得更好的问题。比如银行,开发安全管理规范都有,那规范的好坏如何评估?安全检测工具同样都有,工具执行的好坏又怎么评估呢?碰到类似问题,BSIMM、可信研发运营安全能力成熟度模型其实就没办法给出结果了,需要企业制定自己内部的度量标准。
默安在这个领域也做了一些创新,根据客户实际业务场景,通过类似模型研究拓展出一些更定制化的评价方法。比如,基于CMM的模型去做开发安全的度量体系,像CMM的模型,它把每个活动分成了初始级、基础级、全面级、优秀级、卓越级5个级别。
举个例子,对于第三方组件安全检测这个活动,初始级的要求是有工具,可以没有规范的流程与管理制度的约束;基础级的要求是有工具,且根据管理策略的要求制定了管理流程,并指定了相关人员进行初步管理,具备简单的规范及工具化实现方式;全面级的要求是有工具,且通过技术手段执行,如DevOps自动化检测卡点;优秀级的要求是对于SCA的检测结果,可通过各项指标进行效率分析和监控;卓越级的要求是对于数据分析的结果,有相应的优化措施和方法。
此外,针对工具,还可以设置关键指标,比如误报率、检出率等,当关键指标不符合时,整个要求项就不符合。这种方法的好处在于可以通过度量结果,明确知道每个活动项待提升的能力是什么,这些正是企业下一步需要进行规划提升的地方。当然做度量体系还需要考虑指标的一些要求,比如具体的、可度量的、可实现的、可重复的、和时间相关等等,总之是一项比较庞大的工程。
赶快扫描下方二维码,预约直播吧!
芝士官来了
《芝士官来了》是由默安科技全新出品的安全芝士局高阶版栏目,节目将定期邀请一线资深安全专家,围绕企业在安全建设中遇到的问题,展开实践干货和经验分享,欢迎各位小伙伴扫描下方二维码,加入安全芝士局交流群畅所欲言,与从业人员共同交流进步~
扫码进群