很多人可能并不知道,Synopsys这家公司不仅在EDA领域很知名,在信息安全领域也是占据一席之地的。这家公司的几个主要业务包括EDA、IP and System Integration,以及Software Integrity和其他。
前两项应该是众所周知的,其中第三项Software Integrity业务(SIG),Synopsys将其译作“软件质量与安全”,包含针对软件开发生命周期的安全、质量与合规测试。具体产品包括安全与质量测试、托管服务、计划与专业服务、培训等。举一些比较典型的例子,比如Synopsys旗下的Polaris软件完整性平台、Coverity静态分析工具(分析软件代码,来发现bug、漏洞等)、Seeker IAST交互式应用安全测试工具、Defensics模糊测试工具等。
对应用安全测试(AST)有涉足的,对这类工具应该都不会陌生。值得一提的是,对信息安全领域的企业而言有个重要指标,就是Garnter每年都在评的魔力象限。针对不同的安全产品,Gartner会针对参评企业做对应的能力评估,AST也属于Gartner明确在评估的一个领域。
Synopsys在Gartner的AST魔力象限中,多年位处第一象限——也就是Gartner认为在横轴和纵轴皆表现出色的leader。上面这张图就是去年4月份,Gartner发布的AST魔力象限,Synopsys在最右上角的位置,也算是对Gartner在AST领域的肯定了。
不过Synopsys的Software Integrity业务也不只有面向软件本身的测试工具与服务,还包括“计划与专业服务”,比如像BSIMM(Building Security in Maturity Mode,软件安全构建成熟度模型)的服务——BSIMM是通过对比行业基准,来评估软件安全实施过程的效果。另外还有培训服务,面向开发者和安全专家,包括将安全与质量构建到软件开发流程、修复发现的漏洞等。
虽说Software Integrity业务在Synopsys的营收占比还是远少于EDA业务的,不过一方面信息安全行业的天花板原本就比较低,另一方面这些年Synopsys也比较积极地通过并购的方式来进一步补全这方面的能力,比如去年年初Synopsys收购Tinfoil Security,将其DAST和API安全产品加入到了自家的产品组合中。
前不久,新思科技软件质量与安全部门高级安全架构师杨国梁向我们专门介绍了BSIMM,并且分享了中兴通讯采用BSIMM的案例。这也是部分从中理解Synopsys在AST领域市场布局的组成部分。
BSIMM是个描述模型
杨国梁表示,“BSIMM是软件质量与安全事业部里面的一个环节,它位于一个比较高的战略规划和策略的角度,评估整个开发、运维的过程中,软件构建、运维在安全层面的流程是否足够安全。”从BSIMM这种服务形态来看, Synopsys目前在这一领域已经走在了高级阶段。
我们所知更多设计软件自身安全的测试、分析工具位于不同层级和类别,如上图所示。BSIMM本身更多不是面向软件本身的工具,“它是一个观察、评估和描述企业SSI(软件安全方案)真实状态的工具。”上面这张图概括了Synopsys目前软件质量与安全业务正在做的事,以及BSIMM所处的位置。
BSIMM早在2008年就诞生了,“那个时候我们通过跟几家比较领先的科技企业对话,归纳出一个原始的框架,我们称其为软件安全框架。”杨国梁介绍说,模型是评估了数百家企业的安全状况后确立的,是“基于科学观测的结果”。Synopsys每年都会对框架做更新,包括对200多家企业开展过大约500多次BSIMM评估,作为BSIMM本身的更新数据来源。
去年10月份的最新版本是BSIMM 11,预计今年第四季度将发布BSIMM 12。值得一提的是,由于BSIMM模型在持续调整,长期未参与评估的企业会从数据池中移除。另外,BSIMM是个免费开放的模型,“任何人都可以拿来做自评。”
如上图所示,这套方案包含了12项实践。从不同象限的角度来分,大方向包括4部分:高层级的战略指标、合规政策、培训、流程等;具体情报收集、功能设计、标准制定;安全测试、渗透测试、代码审查等;以及运维部署过程中,对环境、漏洞管理的考量等。 “通过这样的评估或数据的解读和分析,能够对企业提供软件安全方面的参考和指导。”
评估安全或指导安全建设的模型中,比较具有代表性的如微软SDL、OpenSAML等,“它们与BSIMM最大的区别在于,其他模型都是指导性模型,是基于专家经验的汇总。而BSIMM不是基于专家经验的模型,而是基于真实观测结果,统计分析之后的描述性模型。BSIMM每年还会做调整。”“它不是指导性的,而是在收集完数据后,我们告诉你大家都在做什么,你看大家在做的事对你有没有借鉴意义。”
比如说,BSIMM 11版本中有121个安全活动,这些安全活动就分布到了上述12项实践中。评估过程里,每个实践分成了不同的level。杨国梁介绍道:“一个活动被归为level 1,是因为在统计学意义上,这个活动被观察到的次数最多最频繁。相对少开展则放到level 2,最少开展就放在level 3。这里面没有倾向性,并非level 1就更好,而只是level 1被更多的开展。”
“可能是因为level 1的活动开展起来方便,投入产出比更好;而level 2/3的活动开展难度大。并不是说一定要按照level 1、2、3的顺序来开展活动,也可以直接就做level 3的活动,只是可能收益不会那么好。”
随着模型本身的调整,当某个活动“出现的频率更高时,我们可能会把它往下调整。比如9、10、11三个版本的BSIMM,我们观察到大量与云、自动化相关的安全活动,那么它就可能从level 3变为level 2的活动。”“我们仅评估某项活动是否开展,粒度到此为止。这与传统的量化体系,比如质量或流程管控是不同的。”
在接受采访时,杨国梁提到BSIMM本身不是通过工具或软件去采集数据,评估过程会有评估专家前往企业组织访谈、流程审核,以及做真实内容与数据的呈现。
而在评估完成后,还可以配套Synopsys的成熟度提升计划(SSI),提供更详细的安全建议以及更进一步的安全业务。这也体现出BSIMM本身是Synopsys软件质量与安全业务的其中一环。
BSIMM的价值包括(1)对企业高层而言,藉由评估图能够清楚掌握,企业的软件安全方案处在何种状态,对于衡量现状、制定计划会有帮助;(2)可向客户呈现评估结果,证明软件生产过程足够安全。“你也可以要求上游供应商来做相应评估,确保产品足够安全。所以对整个产业链、供应链都是有帮助的。” 杨国梁说。
中兴应用BSIMM的例子
国内面向中兴通讯的BSIMM评估,大概是Synopsys宣传这套方案最好的例证之一了。中兴在软件开发方面与Synopsys应该算是长期合作关系了,不只是BSIMM,中兴此前就长期采用前文提到的Coverity白盒测试、Defensics模糊测试、Black Duck软件组成分析等工具。而且这些年还在深入。
从杨国梁的介绍来看,由于5G的安全需求在提升,中兴通讯从很早以前就开始关注软件开发流程的改进——大致上是指“将安全融入到开发中去”这个信息安全行业在反复宣传的思路,这在当代信息技术领域显得越来越重要。
2016年中兴通讯成立5G产品线,并在次年借鉴BSIMM模型的安全活动,将BSIMM定义的软件安全活动嵌入到自己的HPPD研发流程(高性能可靠研发流程)中。“中兴无线部门希望寻求一种系统的安全评估方案,来判断我们5G产品安全研发和交付能力是否已经进入业界第一梯队,力证公司有实力帮助客户应对网络安全挑战。” 中兴通讯无线经营产品安全总监杨铁建说。这种需求与前文提到Synopsys为BSIMM定位的价值还是相当契合的。
Synopsys先后给中兴通讯提供过两次BSIMM评估服务,分别是2019年和2021年。2019年针对的是中兴通讯B8200与8210D两款5G平台设备做BSIMM评估。除此之外,还包括“一个月的代码安全性评估和文档评估,提供实用的改进建议。”
今年则是对5G RAN和5GC做BSIMM评估。相比2019年“中兴通讯在安全能力的系统性方面得到了很好的改进。这次他们也高分完成了评估,在绝大多数领域高于平均水平,总体进入第一梯队。”杨国梁说,“所谓的第一梯队,是我们根据BSIMM得分一个自然的划分,罗列出来的几档。”
“在安全培训、需求、设计、编码、测试、交付领域,这次中兴相比2019年有了长足的进步。此次BSIMM评估,能够明显感觉到中兴通讯在很多领域的安全方面都花了比较大的功夫,也就得到了很好的结果。”“我们也帮中兴制定了一些提升的方案,对于中兴继续维持第一梯队,以及更进一步都有指导借鉴意义。”
新思科技软件质量与安全部门高级安全架构师 杨国梁
杨国梁总结说,“不同行业做安全的方法可能在趋同,根本原因大概在于他们面临的风险本身就在趋同。”“以前我们认为不大会发生的一些底层安全攻击,现在越来越多。因为被连接的系统越来越多,攻击变得趋同或越来越多的时候,采用的安全手段、方法也可能会变得越来越偏向DevSecOps这样的模式。”
“这是BSIMM模型里面观察到的结果。”“从BSIMM 9版本开始,我们就发现一些与云相关的活动,和与DevOps相关的活动。另外我们也看到,过去一些被认为不相关的行业,软件供应商、零售商管、设备厂商,他们的安全活动逐渐开始趋同。”
“大家做软件安全这件事,可能会越来越倾向于采用同样高效的手段。这也可能和我们开展评估的范围有关,一些新的行业也进来了。除了我们之前做的最多的金融业,现在会有物联网、零售、云等各种各样的行业,都会加入到这样的评估中来。”这么看来,像BSIMM这类评估服务未来大概会有更好的前景和普适性。
责编:Amy Guan