左移开发安全智慧运营安全云原生安全解决方案安全服务默安智库技术支持MCDP培训

开发安全建设,如何避免眉毛胡子一把抓 | 芝士官来了

2024-04-25

安全芝士局高阶版栏目《芝士官来了》第一期已于近日播出,默安科技资深安全咨询顾问徐航平围绕“企业如何自评开发安全建设成果”的主题,为大家分享了企业在开发安全建设过程中的痛点、开发安全体系建设思路、常用评估模型,以及如何做好开发安全建设效果评估。

 


 

企业开发安全建设面临哪些痛点

 

针对如何评估开发安全建设效果,不同建设阶段的企业会面临不同的痛点和需求,大致可以分为以下几个阶段:

 

  • 开发安全建设初期企业

开发安全建设初期的企业遇到最头疼的问题是开发安全该如何从0开始,现阶段如何引入安全工具,先建设什么带来的收益最可观,开发安全建设三到五年规划怎么做等。

 

  • 开发安全建设中期企业

经过1-2年开发安全建设的企业,有了一些基本的安全工具和较简单的安全卡点,比如白盒检测、组件扫描、灰盒检测等,此时通常会考虑现有的安全活动执行情况如何,如何形成一套更有效的漏洞治理闭环流程,产品、开发、测试人员的安全能力怎样进一步提升等。

 

  • 开发安全建设后期企业

开发安全建设较为完善的企业,基本的开发安全检测工具都已经有了,安全活动也能够平稳运行。但除此以外,开发安全体系应如何优化,下一步该往哪个方向发力,还有就是到了年底,领导问起来今年投入了多少资源在开发安全,给公司带来的价值有多少等。

 

企业开发安全体系建设思路及常用评估模型

 

整体上,企业开发安全体系建设也需要遵循PDCA(Plan-Do-Check-Act)循环思路,在规划阶段,考虑的是要做什么事情,包括现状分析、方案规划和方案论证;在建设阶段,需要考虑通过什么平台落地,引入什么检测能力,建立什么流程制度;在检查阶段,包括对于安全活动的评价和对于检测数据的分析;在完善阶段,则是不断优化规则和流程。

 


图 PDCA循环思路

 

那到底如何做好开发安全建设效果评估呢?在具体实践上,通常会用到几个开发安全成熟度评估模型,早些年用BSIMM和SAMM模型较多,近些年,中国信通院发布了可信研发运营安全能力成熟度模型。下面对这几个常用模型以及各自的优缺点进行介绍。

 

  • SAMM模型

 

SAMM模型(软件保证成熟度模型)是OWASP(开放式Web应用程序安全项目)推出的一个标准化模型,包括5个纬度和15个评估项,每个评估项都设置了问题,以及对应解答能得多少分,官方出的excel可以直接打分出结果,里面的评估项其实就是企业需要建设的各类安全活动。默安之前也通过这个模型给客户做了一些数据分析,比如项目建设前和建设后的雷达图对比,这也是成熟度模型的一大用途。当然,这个模型也有缺点,因为它偏标准化,所以在使用期间会发现很多要求项并不符合企业开发安全实际情况,或者有些项不好评估,缺少标准的实施指引。

 


图 SAMM模型评估项展示

 

  • BSIMM模型

 

BSIMM模型(BSI成熟度模型)是新思科技推出的,相比于SAMM模型,BSIMM模型基于实践,每年都会更新一版评估指南,目前已经更新到了第14版。机构每年会对100多家已经实施开发安全的企业进行调研,评估各个安全活动项的完成情况,然后通过完成度高低进行排序,排序前面的,一般都是企业认为较容易实施,且效果相对好的安全活动,那就可以根据活动项排名去规划建设方案,考虑自身企业应该先开展哪些安全活动,走大企业走过的方向,总不会有大错误。

 

它的缺点在于,所参考的企业并不是国内的,大家知道国内外企业开发环境和习惯还是有区别的,所以对于一些活动的优先级可能会有差异,不过这也只是一个成熟度模型,我们用作参考即可。

 

  • 信通院的可信研发运营安全能力成熟度模型

 

这个模型吸收了前面讲的BSIMM模型的优点,试点的时候找了国内的很多大厂进行评估,这也是默安近些年在为企业做开发安全体系建设时参考的主要模型,它能满足基本的建设路径和方向选择的需求。该模型的缺点在于,它是针对项目级别的成熟度评价体系,对于一个企业而言,研发项目很多,但每个研发团队的安全活动执行情况并不完全一样,那要评估整体的情况就比较难,当然这也是开发安全建设的痛点之一,就是要做好开发安全,必须先做好研发流程环境的管理。

 

不同阶段的企业,如何评估要做哪些安全活动?

 

针对开发安全建设初期的客户,一般通过咨询服务先介入,帮助客户梳理建设规划,另外还会做一些详细的活动建设方案设计,比如IAST在传统和DevOps模式下怎么使用,如何制定开发安全规范等等。当然也有直接引入安全检测工具的方法,需要根据客户具体实际情况进行选择。

 

针对开发安全建设中期的客户,一般是帮助客户建设自己的度量体系,建立一些关键的指标,比如工具的检出率、误报率分析等,另外还会进行成熟度模型评估,看看历年的得分有没有进步,并给出后续的规划建议等。

 

处于开发安全建设后期的企业,由于安全活动已经比较完善,这类企业主要考虑的是如何做得更好的问题。比如银行,开发安全管理规范都有,那规范的好坏如何评估呢?安全检测工具同样都有,工具执行的好坏又怎么评估呢?碰到类似问题,BSIMM、可信研发运营安全能力成熟度模型其实就没办法给出结果了,需要企业制定自己内部的度量标准。

 

默安在这个领域也做了一些创新,根据客户实际业务场景,通过类似模型研究拓展出一些更定制化的评价方法。比如,基于CMM的模型去做开发安全的度量体系,像CMM的模型,它把每个活动划分成初始级、基础级、全面级、优秀级、卓越级5个级别。

 

举个例子,对于第三方组件安全检测这个活动,初始级的要求是有工具,可以没有规范的流程与管理制度的约束;基础级的要求是有工具,且根据管理策略的要求制定了管理流程,并指定了相关人员进行初步管理,具备简单的规范及工具化实现方式;全面级的要求是有工具,且通过技术手段执行,如DevOps自动化检测卡点;优秀级的要求是对于SCA的检测结果,可通过各项指标进行效率分析和监控;卓越级的要求是对于数据分析的结果,有相应的优化措施和方法。

 

此外,针对工具,还可以设置关键指标,比如误报率、检出率等,当关键指标不符合时,整个要求项就不符合。这种方法的好处在于可以通过度量结果,明确知道每个活动项待提升的能力是什么,这些正是企业下一步需要进行规划提升的地方。当然做度量体系还需要考虑指标的一些要求,比如具体的、可度量的、可实现的、可重复的、和时间相关等等,总之是一项比较庞大的工程。

咨询反馈
0571-57890068
market@moresec.cn