软件正在吞噬世界,安全防护,要从供应链角度考量。

1eb5fcbe18ac244a0e257b32014015c6.jpeg

8d5ce2924314ac6097698b22542f5f23.png

b5b9ffe9624f657f26aedb4bb7707d44.png

日前,开源软件 XZ 被植入“后门”事件,引发了网络安全界的轩然大波。研究人员发现,在包括 Red Hat 和 Debian 在内的多个流行 Linux 版本中,一款压缩工具被悄悄植入了恶意代码,这样攻击者即使没有有效账号,也可以通过 SSHD(一个负责 SSH 连接工作的关键二进制文件)访问系统了。

通过进一步的深入分析,研究人员认为本次爆出的“后门”事件是一次典型的软件供应链投毒事件。因为相关的恶意代码是由一位名为 Jia Tan(JiaT75)的项目维护人员,通过多次代码变更的方式,植入到了Tukaani项目中。在近三年的时间里, Jia Tan 一直为XZ项目贡献高质量代码,最终才获得了该项目的提交访问权和维护权。

无独有偶,2023年11月28号,悬镜供应链安全实验室在 Pypi 官方仓库(https://pypi.org)监测到两起伪装成 http 和 socks5 代理 SDK 的开源组件投毒事件。python 开发者一旦下载安装这些投毒 Py 包(libproxy、libsocks5),会触发执行Py包中的恶意代码,最终将导致开发者系统被投毒者植入恶意后门。

e1467d9da7b25162a652e1963792e340.png

01 中兴通讯云计算开源与标准总监 李响

开源投毒问题虽然比较罕见,但是其危害性是非常大的,是企业使用开源软件构建产品时必须重视和规避的风险。开源软件投毒主要分为几下几类情况:

1. 通过在 Github 等代码托管网站上 Fork 出一个私有的分支,并合入有问题的代码实现投毒。如果在获取开源软件代码时没有注意识别,以为这就是官方的分支,就有可能引入被投毒的代码。

2. 在官方版本中合入投毒代码后,制作成制品,放到通用的包管理库中或者非官方的下载地址中。如果在获取开源软件制品时没有注意识别,就会中招。

3. 在获取开源社区信任的情况下,通过正式的开源软件贡献流程将有毒代码合入到官方的分支中。这是隐蔽性最高,危害性最大,但是也难度最大的投毒方式。

针对上述这些问题,我认为企业需要从两个方面去防范:一是在开源软件选型和引入时严格控制,二是通过SBOM实现开源软件的清晰溯源,向客户证明产品中已经消除了开源软件投毒的风险。

在开源软件选型引入方面,引入人必须审查待引入开源软件是否是官方发布的正式版本,确认代码和制品的下载地址是否是官方地址或者通过通用的包管理工具(如maven, pip 等)进行下载。同时在引入后,需要将已引入开源软件的信息全部记录在企业内部数据库中,以便后续溯源。这种引入时的审查可以解决前两种投毒场景。对于第三类投毒场景,我们建议除非是必须解决安全漏洞问题,否则优先使用已经发布过一段时间的比较稳定的开源软件版本。这样可以给社区发现此类投毒操作的时间,尽量减少中招的可能。

2023年,中兴通讯联合中国电子技术标准化研究院制定了《信息技术 开源治理 第2部分:企业治理评估模型》团体标准。在此标准中明确定义了企业引入开源软件时所需遵守的选型和引入准则。企业可以据此制定自己的开源软件引入流程,最大程度上避免引入投毒软件。

企业在练好自身内功的同时,也需要对外证明在产品中已经消除了开源软件投毒风险,以打消客户的顾虑。这就需要向客户提供产品中使用的开源软件的基础信息,特别是来源信息。而这些信息正是 SBOM 所包含的主要内容。SBOM(Software Bill of Materials)是软件供应链的关键组成部分,它提供了一种结构化的方式来识别和跟踪软件组件及其相关元数据。在软件开发过程中,SBOM 可以帮助确保所有组件都被准确地识别和记录下来,从而提高整个软件供应链的透明度和可追溯性。SBOM 中与溯源相关的内容最关键的就是下载地址和哈希值。通过这两个参数可以唯一的确定开源软件版本代码和制品的来源。目前各企业都陆续开始在产品发布时携带相应的 SBOM 来明确开源软件供应链信息。为规范 SBOM 的格式与内容,电子标准院正在牵头制定《信息技术 开源 软件物料清单数据格式规范》标准,中兴通讯也积极参与其中并贡献了标准内容。此标准在发布后可以用于指导企业发布的 SBOM 的内容与格式,从而为确保国内软件业供应链的健康和安全提供坚实的基础和有力的保障。

02 悬镜安全 OpenSCA 技术总监 陈超

当前我们使用的绝大多数软件都依赖开源代码和第三方组件,这些依赖又会引用其他的开源代码或组件,导致依赖关系日益复杂。当软件供应链涉及的环节增多,参与的人数增加,攻击者可利用的环节也随之增加。例如,本期讨论的植入“后门”事件是一种典型的供应链投毒攻击,除了在代码仓库中进行投毒攻击外,攻击者还可能在开发人员的开发工具、CI/CD 流水线、上游制品仓库等环节进行攻击。攻击面覆盖了代码仓库、制品仓库、开发者账户、流水线平台等多个方面,使得防范难度加大。这也是为什么供应链安全问题成为企业乃至国家重点关注的原因。

供应链安全治理不仅是技术问题,还需要从人员、流程和知识库建设等多方面综合考虑。如果从技术角度,以目前市面上的产品或技术为基础提出一些看法和建议,为供应链安全治理建设提供一些思路,争取做到 “看得清”,“听得到”,“防的好”。

首先,“看得清”实际上是要建立一个台账。SBOM 是一个很好的工具,通过 SBOM记录软件在不同阶段的组成成分和运行依赖,方便我们在后续发现问题时迅速定位并进行应急响应。SBOM 可以通过商业或开源工具生成,目前 SBOM 格式主要以国外标准为准,为了解决卡脖子技术,悬镜安全于2023年正式发布了中国首个数字供应链 SBOM 格式-DSDX,详情查看:中国首个数字供应链 SBOM 格式,为何 DSDX 值得你的关注?”。

其次是“听得到”,指的是我们要有稳定、及时的供应链安全情报来源。在漏洞信息大范围传播之前获取消息,结合 SBOM 快速确定漏洞影响范围及修复优先级。除了漏洞情报外,供应链安全情报还应提供恶意投毒信息(如后门、木马、挖矿等)、许可证变更信息(如前段时间 Redis 许可证变更)和组件运营风险预警(如组件停止维护或维护风险等)。更进一步的,还需要对一些紧急且已验证的漏洞提供风险可达性分析情报,辅助企业根据自身情况调整风险定级。

最后是“防得好”,这个“好”不仅指防护有效,还需要尽可能简单直接,减少涉及人员,加快应急响应流程。RASP 在这方面是一种较好的技术,不仅可以通过类似 WAF 的流量特征对恶意请求进行过滤,还可以深入到代码内部,对风险函数进行增强,并且默认策略就可以抵御绝大多数的漏洞利用行为。

总结下来,就是通过 SCA + SBOM 梳理和记录软件资产台账,结合供应链安全情报和RASP进行风险应急响应。当然,这只是一个大致方向,供应链上的每一个环节都可能成为黑客攻击的入口,做好对软件供应链每一个链条的监控和防护是一个长期且艰苦的过程,这里一部分工作可以由安全厂商来代劳,但仍需要企业通过流程制度和培训,提高开发和运营团队的整体素养,让风险防范内部化。

8月8日,全国乘用车市场信息联席会发布月度数据显示,7月全国乘用车市场零售172.0万辆。其中,常规燃油车零售84万辆,同比下降26%;新能源乘用车零售87.8万辆,同比增长36.9%,市场渗透率51.1%。这也是国内新能源乘用车月度零售销量首次超过燃油乘用车。这一转变的背后,意味着新能源汽车正成为市场主流。十年磨一剑,我国新能源汽车产业终于从潺潺溪流成长为澎湃大河。

当前,新能源汽车的代码量可达到1亿行。‌这一数字反映了新能源汽车的软件复杂性和智能化水平,‌这些代码控制着车辆的刹车系统、‌动力系统、‌车身和底盘等所有与车辆相关的部分。为此,木兰开源社区联合汽车软件开源联盟 OpenSDV,对我国汽车行业软件供应链情况,进行了专项咨询和调研。

9abaf1c402bb8faf011a122749ea1fa2.png

01 长安汽车 硬件平台底软副总工程师 文洋,长安科技 技术规划工程师 谢星

当前车企均非常注重软件零部件的供应链体系建设,针对发生的软件供应链风险问题,长安科技一直非常关注。目前从汽车厂商的角度,通常会把风险考虑在上车的第一步,从座舱系统底层内核的 CVE 动态关注,到内部流程的优化,都有相应的主动防御过程。此外,从企业长远的技术发展来看,对于开源软件应用,长安科技也有一些特定的考虑,主要在几个方面:

首先,开源软件或组件的源头的授权使用、License 的合规应用;

其次,对于开源软件所属的主导权,也会考虑风险以及替代方案;

最后,在新增代码的功能安全、信息安全方面,会采用严格的代码扫描和审计,尽可能的降低整体风险。

除了高危漏洞涉及到的模块尽可能避免外,在整体产品的生命周期,动态化跟踪非常必要,从 SBOM/CVE 的建设到企业内的 CICD,都需要一切为安全服务,用技术手段敏锐监控和规范管理行政流程,是汽车相关科技企业一直努力的方向。

02 软安科技有限公司 副总经理 杨国梁

在软件供应链安全领域,最让人头疼的莫过于“投毒”或“后门”问题,尤其是类似 XZ 事件这类先建立信任关系再“暗中下手”的行为最为不容易被察觉,由于其本质就是一个“功能”,所以也无法通过高效的自动化检测技术加以分析和筛选。另一方面,花精力去研究这些隐藏在大量开源软件中的投毒风险对于任何企业使用方来说,似乎都是一个投入产出比极低的工作,然而我们又无法忽视其造成的恶劣影响。

面对这样的两难局面,比较切实可行的建议是企业在软件开发过程的多个节点,通过软件成分分析工具 SCA 缩短风险的暴露敞口期。SCA 工具能够帮助企业实时分析开发项目的软件成分,从分析出的、切实在用的开源组件中,结合威胁情报去定位已被“投毒”的开源组件便是不那么困难、可统一化、可自动化的过程。同时, SCA 针对威胁情报分析给出的缓解建议也是企业在解决安全风险(或应急响应)时不可或缺的“最后一公里”。

此外,我们建议成熟的开源项目管理与社区、或者开源项目管理者本身,能够尽可能基于“零信任”原则做好每次提交申请的代码审核,共同维护开源项目、社区和企业使用者之间的信任桥梁。

03 上海安势信息技术有限公司 技术市场总监 王峰

汽车行业有显著的体系供应链,从零部件厂商到 Tier 1,Tier 2 到 OEM 整车厂,所以进行软件供应链安全与合规的治理更为复杂。

从行业发展来看,新能源汽车厂商,尤其是对欧美日韩进出口较多的厂商,对软件供应链安全治理的诉求越来越强,逐步构建了从 SCA 工具到研发流程到 OSPO 的体系,也在加强对下游供应商的要求,输出格式化的 SBOM 并用二进制扫描的方式进行扫描。但是汽车行业在这方面的能力与互联网和高端制造业尚存一些差距,更多的是被动进行治理。汽车行业尚需强化开源安全与合规意识。随着海外监管的不断加强,我们汽车行业要实现“走出去”的大战略,需要尽快加强这方面的能力。随着 AIGC 的大规模应用,在汽车行业大量使用AI技术是大趋势,那么 AI BOM 是另一个我们亟需解决的技术与法律问题。

04 苏州棱镜七彩信息科技有限公司 解决方案专家 唐忱

据我们在汽车行业的治理经验,目前汽车行业针对开源治理、软件供应链安全的工作逐渐开展,处于探索阶段,相较科技、金融等领域起步较晚,主要需要集中在出口合规、信息安全要求两个方面,需要从人、体系、工具几个方面开展相关工作。

当前,汽车软件的代码量已经达到了一个惊人的数字——1亿行,而且这个数字还在快速增长。这不仅意味着软件的复杂性在增加,也意味着潜在的风险在上升。开源软件的引入方式多样,管理起来确实挺费劲的,风险追溯起来也不容易,一旦出了问题,应急响应的速度也得加快。

现在需要做的,就是从人、体系、工具这几个方面入手,建立起一套开源治理的体系。得让团队里的每个人都明白开源的重要性,建立起一套规范的流程,让开源组件的引入、使用、退出都有章可循。接着需要自动化工具落地体系的实施,帮助高效地识别安全漏洞、跟踪风险。

转载自丨木兰开源社区

编辑丨王军

相关阅读 | Related Reading

开源大模型Llama会失去技术优势吗?

小模型和开源正在成为AI发展的变数

outside_default.png

开源社简介

outside_default.png

开源社(英文名称为“ KAIYUANSHE ”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。

开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。

自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。

f4ddce8294ab00780103db217cb3ff5b.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值