APP下载

开源漏洞检测技术在中台能力标准化治理的实践研究

2024-05-16牟艳琳顾佳林罗君裴明煜李燕

中国新通信 2024年4期

牟艳琳 顾佳林 罗君 裴明煜 李燕

摘要:随着中台建设愈发完善,能力标准化治理工作也受到更多地重视。中台安全作为能力标准化的强大保障,应成为中台能力标准化治理工作的首要任务。同时,随着开源组件使用率的飙升,开源风险管理也成为一个不容忽视的课题。本文将重点研究开源漏洞检测技术在能力标准化治理工作中的实践应用成效。

关键词:能力标准化;中台安全;开源安全;静态测试分析;漏洞检测

中台作为一个灵活快速的成本中心,通过统一的标准将后端技术能力整合为可以随需调用的“中间件”。相较于传统的“前台+后台”模式,中台能够减少相同能力的重复开发,提高效率的同时节省大量重复造轮子的成本。

在2021年10月,中央发布了《国家标准化发展纲要》,指出“标准是经济活动和社会发展的技术支撑,也是国家基础性制度的重要方面”。为积极响应这项标准化工作要求,中台需要在能力治理等方面持续开展标准化工作,为中台的价值应用和价值开放提供规范和流程指引。安全作为中台标准化的坚实基础,是技术研发的长期课题。

随着中台能力规模的扩大和使用覆盖率的提高,能力本身的安全愈加重要。同时,开源组件作为当前主流开发元素,其漏洞风险、合规风险等安全問题也变得更加突出。因此,需要针对开源安全制定标准,并不断研究和优化安全应用技术,提升能力安全管理水平。

一、SAST漏洞检测技术在能力标准化治理中的应用研究

此次研究的主要工作流程包含能力安全标准的制定、开源漏洞检测技术的学习研究、技术应用实践工作的实施、应用成效结果分析及结论输出,详细内容如下。

(一)开源安全标准制定

能力安全管理贯穿了能力设计、研发、测试、发布、运营所有阶段。作为研发安全方面的重点工作,对开源组件的使用应符合以下标准:

①规范开源组件引入流程,要做好开源组件漏洞检测、漏洞修复及风险管理。

②对开源组件许可证及协议进行安全审查。

③对开源组件可传染性、兼容性和安全性进行审计。

其中标准1中“做好开源组件漏洞检测”的要求可以通过开源漏洞检测技术来完成。

(二)漏洞检测技术介绍

1.开源漏洞检测技术类型

漏洞作为开源组件当前面临的最大风险,已经成为各大厂商优先解决的开源风险问题。漏洞的识别、处理等技术是目前的重要研究方向,目前有三类开源较成熟的漏洞风险检测工具,详情如下:

(1)SAST(静态分析测试)

SAST是一种白盒测试技术,在开发阶段对源代码进行安全测试,发现安全漏洞。SAST通过分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码中存在的安全漏洞。

(2)DAST(动态分析测试)

DAST是目前应用最广泛、使用最简单的一种Web应用安全测试方法,是一种黑盒测试技术。DAST通过从外部查看应用,检查其运行状态,并观察其对工具模拟攻击的响应来判断应用是否容易受到攻击,以及是否容易受到真正的恶意攻击。DAST的典型工具包括AMVS和AppScan。

(3)IAST(交互式应用安全测试)

IAST (Interactive Application Security Testing)是灰盒测试技术,在整个开发生命周期中可以不间断地监测应用中的漏洞。它能够通过在开发和测试过程中使用工具实时提供报警[1]。

2.静态分析关键技术说明

静态分析方法在处理中台安全业务场景复杂且参与方众多的情况下具有灵活分配分析资源和信息采集较为完整的优点。与动态分析相比,静态分析的最大优势在于不对软件系统进行任何侵入性操作,不带来额外的风险和资源占用,并且不会影响系统的正常运行,对各个厂商和软件系统更加友好。以下是静态测试分析(SAST)的关键技术介绍:

①外部组件信息转换为软件物料清单:需获取组件的类型、发布组织、所属包、组件名字、版本信息等。

②从NVD、CNVD网站获取漏洞信息,并对漏洞数据进行清洗、保存。主要对CPE信息进行提取,与组件信息进行比对,从而获取相应的漏洞信息。

通用平台枚举(CPE)是一种标准化方法,用于描述和识别企业计算资产中存在的应用程序、操作系统和硬件设备。通过使用CPE名称识别已安装产品的信息,可以帮助制定有关资产的完全或部分自动化决策。例如,通过识别XYZ Visualizer Enterprise Suite的存在,漏洞管理工具可以检查系统中是否存在已知软件漏洞,配置管理工具可以验证软件是否按照组织策略进行了安全配置。CPE名称用作标准化信息源,以便在不同工具之间实施和验证IT管理策略。

当前的CPE版本为2.3。 CPE 2.3通过基于堆栈的模型中的一组规范来定义,其中功能基于在堆栈中指定为较低级别、更简单、更窄的元素。这种设计为创新提供了机会,因为可以通过组合所需的元素来定义新功能,并且可以更好地划分和管理变更的影响。

CPE 2.3堆栈图:从下到上依次是命名、名称匹配、适用性和字典。

CPE的内容格式如下:

cpe:/

其中,part表示目标类型,允许的值有a(应用程序)、h(硬件平台)、o(操作系统);vendor表示供应商;product表示产品名称;version表示版本号;update表示更新包;edition表示版本;language表示语言项。

(三)技术应用实践流程

能力研发作为软件供应链的源头环节,是解决开源安全的重点环节,无疑是最高效的安全管理方式,从供应链源头把控开源安全风险。在研发过程中,定期上传已完成部分的代码包,并利用静态分析技术提取代码包中的组件信息,同时与爬取到的漏洞信息进行匹配,识别研发过程中所使用的开源组件的漏洞风险。通过了解所用组件的漏洞等级,避免使用存在高危漏洞的组件。同时,实时爬取最新的漏洞情报,更新组件漏洞信息,以掌握组件风险变化情况,并及时调整组件的使用。以下为静态漏洞检测的实施的详细步骤:

①厂商上传代码包,解析代码包以获取组件的名称、版本等信息;

②爬取公开的漏洞信息,并对漏洞信息进行存储和管理;

③将组件信息与漏洞库进行比对,以了解组件的风险程度;

④实时更新漏洞信息,并与组件进行比对,及时发现漏洞风险;

⑤将组件和漏洞信息实时更新到软件供应链的SBOM中,以进行统一管理。

(四)实践应用成效简析

1.提升能力标准化治理工作開展效率

相较于人工对各能力研发阶段的漏洞检测报告进行检核再进行检测以核对数据真实性的方式,各厂商使用同一工具进行检测,能力标准化治理运营管理人员可根据检测记录直接判断各厂商是否完成检测并可直接查看检测结果,不仅保证评估标准的一致性,还可提高检测效率。

据调研,单一漏洞检测报告收集沟通需要5—10分钟,查看需要5—10分钟,检测后核对数据需要1~2分钟;使用同一工具检测后,可节省报告收集时间5—10分钟、检测后数据核对时间1~2分钟,共计提效约55%。

2.降低系统资源消耗,节约人力成本

通过使用自动化开源漏洞检测工具获取开源组件漏洞检测结果,识别风险开源组件,并将安全开源组件纳入制品库。在能力研发阶段,统一使用制品库中的组件,并及时更新漏洞库并与制品库进行比对,以保证组件的安全性。

通过以上方式,可以直接免去各厂商在能力研发过程中的漏洞检测环节。根据实践结果,静态解析及漏洞比对一个代码包的时间为1~2分钟,每项能力的代码包数量在十几到几百个不等。以最少的代码包数量15个为例,每项能力的系统检测时间可节省约0.5小时。

同时,省去了厂商人工上传代码包、反复修改所使用的组件以及运营管理人员的检核过程,每个能力可节省约1—2人天的人力成本。

二、结束语

随着漏洞检测技术手段逐渐增多且日趋成熟,结合本次研究中静态分析技术的应用成果,可以持续研究其他漏洞检测技术在中台能力标准化治理中的可用性,提高业务场景的覆盖率。我们可以研究动静分析相结合的可行性,以提高漏洞检测的准确率,并降低误报率。还可以推动厂商的参与度,提升漏洞检测技术在能力标准化统一管理中的应用效果。同时,后续可针对每一能力标准研究半自动化及智能工具,整体提升能力标准化治理效率,降低能力治理成本。

作者单位:牟艳琳 顾佳林 罗君 裴明煜 中国移动通信集团有限公司信息安全管理与运行中心

参考文献

[1] 什么是软件供应链安全?鹏信科技,微信公众号, 2022-12-02 11:30.

李燕 卓望信息技术(北京)有限公司

牟艳琳(1988.02-),女,汉族,山东烟台,研究生,工程师,研究方向:网络与信息安全。