从加快软件物料清单建设浅谈软件供应链安全
2023-8-16 09:56:0 Author: mp.weixin.qq.com(查看原文) 阅读量:6 收藏

开源技术应用广泛 软件供应链风险增加

开源技术应用全球范围内持续增长,覆盖当前主流技术领域。开源技术与数字化转型呈现出相互促进的特点,全面渗透到制造、交通、能源等近二十个国民经济重点行业,已成为行业发展重要基石,因此开源技术的安全对于企业、行业、国家至关重要。

开源软件的自由性导致攻击路径和手段的多样化和定制化,开源技术面临严峻的安全风险问题,主要包括安全漏洞、开源许可违规使用、知识产权非法使用、恶意篡改、软件后门、供应中断或降级、供应链劫持等。

历年统计数据显示,开源漏洞呈现高增长率、高覆盖率、高危害性的态势,并且由于源代码开放,开源软件的安全漏洞更容易被利用。同时,开源模式下开源组件传播快、应用广,组件大量复用客观上加剧了安全漏洞传播的速度和范围,造成传染性传播的局面,导致漏洞影响范围迅速扩大。

与之形成鲜明对比的是,开源漏洞修复的效率在持续下降。根据Snyk 和 Linux 基金会2022 年发布的开源安全调查报告显示,2018年修复安全漏洞平均需要 4 天,而 2021 年修复一个补丁大约需要 110 天。2022年中国信通院发布的《全球开源生态研究报告》指出,以 Apache Log4j漏洞为例,Apache Log4j 高危漏洞披露 6个月后,60%的开源组件仍包含该漏洞,近40%易受攻击的Log4j2组件仍被下载,许多易受漏洞影响的应用程序未更新修复,可见开源漏洞呈现出难以根除、持续伴随的特点。

除了老生常谈的漏洞问题,令软件使用者最为头疼的是供应链投毒问题。近几年层出不穷的投毒方式成为供应链攻击的重要手段之一,例如利用软件开发环境和工具的脆弱性进行篡改或植入后门,在开源社区投放具有恶意代码的组件,利用更新服务器下发恶意代码,等等。

另一个值得关注的问题是开源许可和知识产权的违规使用。由于研发技术人员一般缺乏相关安全意识和专业知识,许可证和专利的违规使用现象十分普遍,而近几年关于开源许可的法律案件也为软件供需双方敲响警钟。此外,还需要关注中断和降级风险,例如更新维护的中断、停止销售、开源社区账号封禁等,一旦供应中断,将对软件的生产和维护造成阻碍。

摸清软件组成成分和软件供应链资产分布迫在眉睫

要实现开源和软件供应链风险的管理,必须摸清软件组成成分,对软件供应链相关资产进行识别。然而,少有CISO能够说清楚软件系统使用了哪些组件、接口、服务,用的什么开发工具,使用了哪些开源协议,而这些资产的风险有哪些,其中有多少是已经收敛的,多少是有加固方案的,又有多少是组织能够接受并且核算了应急成本的。

软件对于企业来说是一个黑匣子,软件的不透明,直接导致“攻击者在暗处、运营者在明处”的不利局面。攻击者不需要知道到底有哪些软件组件,只需要通过开源社区源代码里的一个0day漏洞或者投放一段恶意代码,就能够轻松拿下一批软件,而安全管理者并不知道自己有哪些开源资产,因此并不清楚自己究竟是否受到影响。

自2018年以来,美国商务部下属的国家电信和信息管理局(NTIA)就通过社区开展了软件物料清单(SBOM)的研究工作,在SBOM的标准建设、交换方式、实践应用等方面取得成果,形成了完善的SBOM知识和标准体系,在能源、医疗、制造等行业进行应用并形成实践经验,证明了SBOM是披露软件成分和相关供应链资产的有效工具,增加了软件供应链的透明度,可帮助企业用户管理软件相关的风险。Linux基金会2022年针对全球412家企业进行的一项调查研究显示,SBOM已成为企业用户统一管理软件依赖风险的重要工具,比如许可风险、漏洞风险、报废风险等。SBOM提供的软件透明度非常重要,越来越多的私营企业要求其合作伙伴维护SBOM。

因此,企业亟需加快推行软件物料清单建设,加快软件供应链和开源安全风险管理的推进工作,基于实践进一步探索体系化的开源安全治理框架,以应对日益严峻的安全态势。

关于软件物料清单建设的几点思考

从落地的角度看,软件物料清单建设有以下几个要点:

01 根据场景选择合适的检测技术

业内公认的检测工具是SCA,但是复杂的场景下,通过识别pom.xml文件中的组件名称版本这种单一的做法,并不能完全实现软件物料清单的收集和管理工作。比如对于存量的没有源代码的C语言编写的软件,需要使用二进制分析技术;对于修改过的组件需要使用同源检测技术;对于后门的检测需要使用沙箱、威胁情报和漏洞挖掘技术;对于组件依赖的识别需要使用依赖分析技术;对于软件物料清单的统一管理,需要一个管理软件记录清单的标识、提交的时间和账号,以及进行清单的阅读和检索等。

02 重点关注重要软件和核心组件

软件开源资产管理有很多难点,一方面是开源资产数量庞大,一个大央企里的管理系统数量能达到上百个,金融企业每天的软件测试项目数能达到上千个,一个软件包含的组件数量也能达到几十至上百,开源资产规模庞大,因此开源安全管理要有范围和重点,比如关基运营者要先梳理关基系统的软件物料清单,管理中断风险时优先考虑核心组件的供应商风险评估和替代方案制定,做情报收集的时候要以软件物料清单里面的组件为对象。

03 依据规范建设软件物料清单

软件物料清单的建设需要有规范统一的格式才能更好地进行管理和交换。目前常用的是SPDX、SWID、CycloneDX,国内并没有标准规范指导,因此需要快速制定国内的标准规范,而行业也应该在此基础之上探索适用于本行业的清单扩展项。在清单的传递、交换、存储方面,也需要有标准化的规定,是需要供方通过邮件传输,还是通过平台,是需要供方直接提供清单需方做校验,还是供方提供源代码需方做检验,清单或源码传递的过程中如何保证完整性和保密性,等等。软件物料清单的生成、交换、存储全生命周期管理也需要有规范指导。

04 行业监管应加快推进清单建设 夯实开源安全管理

供方出于成本考虑往往缺乏安全管理的主观能动性,开源风险问题显著,解决方案众多,但是除了金融、运营商、能源等少数安全建设走在前列并且具备经济实力的企业已经着手管理以外,大多数企业尤其是传统制造业都处于观望状态。因此行业监管需要加快政策驱动才能推动更多的企业,尤其是关基单位需要尽快开展软件物料清单的建设,并且基于清单开展开源安全风险管理和应急工作,才能掌握行业开源安全现状,开展行业内的开源安全的监测和应急机制的建设,促进行业内的情报共享,整体提升行业开源安全风险的控制能力。

默安科技作为软件供应链安全先行者,积极参与软件供应链安全标准、指南、报告等的编制,在体系建设、风险评估、工具平台、行业解决方案等方面有深入研究。基于合规要求,研制的软件供应链安全检查工具箱,依托软件供应链安全监管检查的具体场景开发,能够检测发现软件使用的组件、三方服务、基础服务、API,并且输出CycloneDX等标准格式的软件物料清单;能够识别组件漏洞、GPL等传染性协议、协议兼容性风险、组件后门、未知三方服务,能够对源代码、制品、二进制进行组件识别和依赖分析,对源代码片段进行同源分析和自主率检测;内置评估平台,可以自定义评估规则,开展软件供应链和开源安全风险评估,自带供应商风险评估模型;能够对供应商的持续供应、安全交付等能力进行量化评价,在软件物料清单建设、风险识别、风险评估等方面提供技术支持,从而帮助企业快速建立软件供应链和开源安全的风险管理能力。

在软件供应链安全领域,默安科技基于漏洞管理平台的软件供应链安全治理体系获“中国信通院2022安全守卫者计划优秀案例”;供应链安全治理方案获“中国信通院研运质效典范标杆案例”;软件供应链安全治理方案获“中国网络安全产业联盟(CCIA)2022网络安全创新成果大赛入围奖”;作为首批成员单位加入中国信通院软件供应链安全实验室(3S-Lab)和信息通信软件供应链安全社区。

目前,默安科技软件供应链安全检查工具箱已经成功应用于多个行业,未来将继续参与软件供应链安全标准、治理等相关研究并探索更多落地实践,为广大政企、关基单位的开源治理、软件供应链安全工作贡献力量。

微信改版,错过最新资讯和粉丝福利?

快将“默安科技”设为星标

可以第一时间接收安小默的推送哦

第1步:点击关注【默安科技】
第2步:点击【···】
第3步:点击【设为星标】


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzODQxMjM2NQ==&mid=2247496830&idx=1&sn=8454176d028a4c57c08ad03f8e5f3134&chksm=e93b035cde4c8a4a8c77f5574d8c2369967c0d0f067c9ccb61c1fee50043cff464bace98b712&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh