文 / 成方金融科技有限公司测试部总经理 杨建旭
近年来,随着全球网络安全形势日益严峻,数据安全和供应链安全无疑成为了公众关注和产业研究的两大热点领域,本文将对两个领域的当前形势进行分析,探讨所面临的行业共性问题,介绍成方金科提出并倡导的应用安全质量评价模型,以期为应用研发过程中的安全防护提供有益参考。
2023年,在全球公开报道的246起重大数据安全事件中,数据泄露事件高达166起,合计泄露数据超过51.8TB,约103.8亿条。数据泄露往往与勒索软件攻击相伴而生,勒索组织能够成功实施勒索的关键手段之一,即是针对供应链中的安全漏洞进行利用。
在探讨供应链安全问题时,我们必须关注应用系统从开发到上线所涉及的各个环节。应用系统在编码阶段所引用的组件以及在运行时依赖的系统软件,包括开源组件和开源软件,共同构成了该系统的供应链。当前,IT行业的新建应用软件中有高达80%的代码源自开源,一旦供应链中的任一组件出现安全漏洞,整个系统将面临安全风险,全球范围内所有使用该组件的系统均可能遭受攻击。
根据美国国家漏洞库的公开数据,2023年新增了30947个公开漏洞,其中高危和超高危漏洞占比达到54%。有调查显示,勒索软件团队利用的漏洞当中,有76%是在两年之前发现的。这表明,受害者未能及时更新软件补丁以修复已知漏洞,勒索组织正是利用了这一修复前的空档期发起攻击。
因此,当面对每年超过3万个新增漏洞时,我们能否针对每一个漏洞迅速排查出受影响的应用系统范围,评估其安全性受影响的程度,以及决定我们的修复策略和投入的资源。
应用安全质量标准探索
为了判断每个漏洞对应用软件的影响程度,势必需要首先量化定义应用软件的安全质量。目前,测试领域、质量领域仅有工业产品具有质量评价标准,而软件产品在业界一直缺乏统一的质量标准,安全领域的等保测评也未对应用软件进行评级,因此,我们提出了一套应用安全质量评价模型,以相对的评分标准比较同一应用软件不同历史阶段的安全性水平以及不同应用软件之间的安全性水平。
应用研发安全性评价体系
1.设计思路
成方金科的应用研发安全性评价基于两点考虑:评价的相对性和动态性。评价的相对性意味着评分是基于组织内其他系统的比较,而非绝对的分值判断。动态性则体现在当面对个体新漏洞的威胁时以及整体应用安全性水平发生变化时,评价结果动态变化。一方面,一旦出现与我方系统相关的新漏洞,系统的安全性评分将随之降低;另一方面,鉴于安全防护与攻击手段之间“道高一尺,魔高一丈”的持续较量,如果系统长时间没有进行相应的安全提升,安全性评价结果将会不断走低。
2.评价体系
为实现上述设计思路的具体落地,我们构建了一套应用研发安全性评价体系(见图1)。该体系融合了指标体系、数据体系、评价模型、工具体系以及管理与服务的支撑,协同作业以完成评价数据的采集、评价模型的计算以及评价结果的应用。
在指标体系设计中,我们对评价指标进行了分类,并确定了各指标的权重。工具体系则主要负责安全缺陷的检测,即评价数据的采集工作。评价模型则根据采集到的数据,计算该应用软件的安全性评价结果。
3.指标体系
应用研发的安全性评价涵盖了静态安全、动态安全以及合规安全三个领域(见图2)。每一类安全的评分均是基于安全缺陷的数量和严重等级来确定的。
研发人员容易忽视但却非常值得着重讨论的是静态安全。静态安全是应用软件在未运行状态下应具备的安全属性,包括源代码安全、应用所引用的第三方组件安全以及主机安全。组件安全关乎软件“内部”的供应链安全,而主机安全则涉及软件运行环境的安全状态,属于软件“外部”的供应链安全。组件安全与主机安全的结合,构成了较完整的软件供应链安全体系。
将主机安全纳入应用安全的范畴是成方金科指标体系与其他指标体系的显著区别点。主机安全不仅是运行部门的保障职责,也是研发人员需要关注的安全指标。设想一个场景,某操作系统出现一个高危漏洞,运行部门虽然掌握到漏洞信息并计划通过升级操作系统版本来修复该漏洞,但运行部门并不会直接执行升级操作,而是需要研发测试团队先行验证应用程序在操作系统升级后的兼容性表现,这正是勒索组织能够进行攻击的时间窗口。因此,主机层面的漏洞不仅影响了主机层安全,并且应用软件因适配新的系统软件版本而进行的重新测试和开发也构成了应用层风险。
指标体系面临的最大问题是不同类型和不同严重等级的缺陷如何进行比较和权重分配。由于业界缺乏统一标准,成方金科采用了层次分析法(AHP)进行精准设计(见图3)。通过安全专家组对各项指标进行两两评价并确保每一对“两两评价”的结果在全局汇总后保持一致性。例如,通过在渗透测试与等保测评之间设置游标尺,量化比较渗透测试与等保测评的重要性差异;通过在等保测评与组件安全之间设置游标尺,量化比较等保测评与组件安全的重要性差异,以此类推,确保所有指标之间均进行了两两对比并得出“大小关系”,量化后每个指标的权重必须在全局中自洽。通过这种方式,在没有业界统一标准的情况下,指标体系中各项指标得到了相对合理的分数权重。
4.数据体系
目前市场中有多种安全检测工具,这些工具对漏洞的等级划分标准各不相同,等级数量不一而足。此外,国际上的公开漏洞通常采用CVSS(通用漏洞评分系统)标准进行评分,我国的等保测评采用《信息安全技术—网络安全等级保护基本要求》(GB/T 22239-2019)和《信息安全技术—网络安全等级保护测评要求》(GB/T 28448-2019)进行评分。
在进行软件质量评价时,必须将这些不同的定级标准进行统一,以确保不同体系能够在企业自身的评价体系中使用相同的语言进行交流。首先,成方金科制定了兼容各类安全问题的应用安全缺陷定级标准,将各种安全问题的定级统一到企业内部标准上来。其次,依据定级标准,将不同安全工具的问题级别投射到企业内部的缺陷管理工具中。
5.评价模型
评价模型针对每个应用软件进行评价,首先根据所有指标项下的数据计算出每个单项指标的单项风险值,根据单项风险值与单项标定值的比较,得出应用软件的5个单项安全性评价结果(源码安全性、组件安全性、主机安全性、渗透安全性、等保合规性);进一步,根据综合风险值与综合标定值的比较,得出应用软件的综合安全性评价结果。我们根据整体网络安全态势和公司内整体应用安全性水平的变化不定期调整标定值,使评价结果动态反映安全质量的变化。
以综合指标为例,综合标定值是自定义的总体质量标准,某应用软件的综合风险值高于综合标定值意味着该应用软件的总体安全质量低于预设定的安全质量标准。如果某应用的综合风险值超过了预设的标定值,其最高得分将被限制,具体得分将根据缺陷的数量和严重程度,按照既定公式计算。
通过不定期调高标定值,即提升安全质量标准的方式,安全团队携手研发团队不断追求更高的安全质量标准,确保应用安全始终在路上。
6.工具体系
各类安全检测工具和安全检测手段是安全性评价体系的主要数据来源,而DevSecOps流水线检测机制将赋能评价体系成为真正的动态评价体系。成方金科DevSecOps流水线一是涵盖了应用软件编译之前的源代码安全检测、第三方组件成分分析等插件;二是涵盖了编译过程中的移动应用安全加固;三是涵盖了编译之后的渗透测试、主机漏洞扫描、交互式安全测试、容器安全检测等插件。安全工具采集的结果将直接传送到统一的缺陷管理工具,评价系统从缺陷管理工具读取各项指标下的漏洞数据,随时更新评价结果。
通过外部情报获取的1Day漏洞(刚刚被公开披露的、可被攻击者利用的漏洞)信息时,企业需要判断它对系统的安全性影响程度,并决定是否立即进行修复。成方金科采用数字供应链安全服务在所有应用软件中排查漏洞的影响范围,自动筛选出受影响的应用软件并动态调整应用软件的安全性评价分数,为漏洞修复提供决策参考。
通过DevSecOps流水线检测机制、数字供应链安全服务、安全检测工具以及安全管理手段的有机结合,成方金科基本实现了应用软件安全风险的自动检测、半自动定级和自动评价。
应用效果
本评价体系应用后,不论是国内的还是国外的,不论是工具发现的还是人工发现的,每个离散的安全问题都在统一的安全体系内被映射到具有量化权重的子类,研发人员在面对每年3万余个新增的公开安全漏洞时能够清晰地掌握哪些缺陷的修复能够显著提升应用软件的安全性水平。管理层可观测到不同系统之间的安全性差异并实施针对性的纠正。体系应用两年后,应用软件整体的量化安全风险降低79%。
结束语
应用研发安全性评价体系的建设是保障研发安全的重要手段,通过制定科学合理的评估指标、积极修复具有较大影响的安全漏洞、引导研发人员追求更高的安全目标,大大提升了应用研发的整体安全性。未来,随着安全漏洞的持续出现和技术的不断发展,应用研发安全性评价体系仍需不断优化和完善以适应新的安全挑战。
(此文刊发于《金融电子化》2024年10月上半月刊)
热门跟贴