目录 一、概述........................................................................................1 1、软件供应链安全攻击手段依然花样百出.................................12、国内企业软件供应链安全状况有所改善.................................4 二、国内企业自主开发源代码安全状况..........................................6 1、编程语言分布情况.................................................................62、典型安全缺陷检出情况..........................................................7 三、开源软件生态发展与安全状况.................................................8 1、开源软件生态发展状况分析...................................................9 (1)编程语言分布情况.........................................................11(2)典型安全缺陷检出情况..................................................12 3、开源软件公开报告漏洞状况分析..........................................13 (1)大型开源项目漏洞总数及年度增长TOP20....................13(2)主流开源软件包生态系统漏洞总数及年度增长TOP20..16 4、开源软件活跃度状况分析.....................................................19 (1)68.7%的开源软件项目处于不活跃状态,比例下降........19 (2)版本频繁更新的项目较去年增长21.6%........................20 5、关键基础开源软件分析........................................................21 (1)主流开源生态关键基础开源软件TOP50.......................21(2)关键基础开源软件的漏洞披露情况未见改善..................24(3)关键基础开源软件的整体运维风险有所改观..................25 6、NPM生态中恶意开源软件分析............................................26 (1)超95%的恶意开源组件以窃取敏感信息为目标.............26(2)典型恶意开源组件及恶意行为剖析................................27 四、国内企业软件开发中开源软件应用状况.................................29 1、开源软件总体使用情况分析.................................................30 (1)平均每个软件项目使用166个开源软件,再创新高......30(2)最流行的开源软件被37.2%的软件项目使用.................31 (1)存在容易利用的开源软件漏洞的项目占比大幅下降.......32(2)平均每个项目包含的已知开源软件漏洞数明显回落.......33(3)影响最广的开源软件漏洞的影响范围有所减小..............35(4)20多年前的开源软件漏洞仍然存在于多个软件项目中..36 3、开源软件许可协议风险分析.................................................37 (1)最流行的开源许可协议在46.9%的项目中使用..............37 (2)超1/5的项目使用了含有超、高危许可协议的开源软件.38 4、开源软件运维风险分析........................................................40 (1)多个二三十年前的老旧开源软件版本仍在使用..............40(2)开源软件各版本使用依然混乱.......................................41 五、典型软件供应链安全风险实例分析........................................42 1、多款主流操作系统供应链攻击实例分析...............................42 六、总结及建议...........................................................................47 附录:奇安信代码安全实验室简介...............................................51 一、概述 当前,软件供应链安全依然是网络安全中备受关注的方向,基于自研产品的技术能力和第一手实测数据,奇安信代码安全实验室继续推出《2024中国软件供应链安全分析报告》,即本系列年度分析报告的第四期。 软件由自主开发的代码与开源代码等第三方代码集成后,形成混源代码,然后通过编译、连接等构建过程形成软件产品,交付给用户使用。在这一软件供应链模型中,每个阶段中的代码或工件都可能引入安全问题,从而导致最终软件供应链安全事件的爆发。 本期报告仍以此模型为基础,分析各阶段的代码安全问题对软件供应链安全性的潜在威胁,分析内容分别在后续的国内企业自主开发的源代码安全状况、开源软件生态发展与安全状况、国内企业软件开发中开源软件应用状况、典型软件供应链安全风险实例分析等章节中呈现。在此基础上,本报告还总结了趋势和变化。与往年报告相比,本期报告在开源软件生态发展与安全部分新增了对NPM生态中恶意开源软件分析的内容;在典型软件供应链安全风险实例部分,通过实例再次验证了因软件供应链的复杂性,“外来”组件的“老漏洞”发挥“0day漏洞”攻击作用的状况。感兴趣的读者可重点关注。 1、软件供应链安全攻击手段依然花样百出 过去的一年中,软件供应链安全攻击事件没有丝毫减少的趋势, 攻击手段依然花样百出。 2023年10月,安全人员分析发现了一种新型供应链攻击。整个9月,某黑客组织都在使用域名仿冒(Typosquatting)和星标劫持(Starjacking)技术向开源包管理器PyPi植入一系列恶意包,并引诱开发人员使用,而这些恶意包与Telegram、AWS和阿里云等热门通信和电子商务平台所使用的流行软件包高度对应,被认为是故意攻击这些平台的特定用户。攻击者可以攻陷平台用户设备,窃取金融和个人信息、登录凭据等敏感数据,可能影响数百万人。 2023年12月,AI安全公司LassoSecurity的研究人员,在GitHub和HuggingFace平台上发现了1500多个不安全的API访问令牌,可用来访问772个组织机构的仓库,包括谷歌、微软、VMware等公司。其中部分令牌可帮助攻击者获得Meta公司Bloom、Meta-Liama、Pythia等大语言模型(LLM)仓库的完全读写权限,攻击者可利用该漏洞实施LLM训练数据投毒、模型和数据集窃取等恶意行为,从而将使用这些仓库把LLM能力集成到应用和运营中的组织置于供应链风险中,危及数百万下游用户的安全。 2024年2月,Cycode研究团队披露了谷歌重要的开源构建和测试工具Bazel的一个供应链安全漏洞的详细信息。Bazel所依赖的CI\CD平台GitHubActions的工作流程中存在命令注入漏洞,可导致攻击者将恶意代码植入Bazel代码库、创建后门并影响Bazel用户的生产环境。该漏洞可能影响数百万个依赖于Bazel的项目和平台,包括Kubernetes、Angular、Uber、LinkedIn、Dababricks、Dropbox、Nvidia 和谷歌自身等。 2024年3月初,安全研究人员发现,机器人平台Top.ggDiscord托管在GitHub上的源代码遭受到大规模严重供应链投毒攻击,该平台拥有超17万成员。分析发现,攻击者劫持了Top.gg的GitHub账户,上传了至少14个伪造的恶意Python流行软件包,并通过这些恶意软件窃取用户Chrome、Edge等浏览器中的敏感数据,包括浏览历史记录、信用卡详细信息等,并通过出售信息实现盈利。攻击者还试图窃取Telegram会话数据以侵犯用户隐私。这些攻击同时也影响到了大量与平台相关的开发人员。 2024年3月底,某开发人员在调查SSH性能问题时发现了涉及XZUtilѕ工具库的供应链攻击,溯源发现SSH使用的上游liblzma库被植入了恶意后门漏洞(CVE-2024-3094),满足一定条件时会解密流量里的C2命令并执行,从而使攻击者能够破坏SSHD身份验证并远程获得对整个系统的未经授权访问。XZ是一种由Tukaani项目开发的高压缩比数据压缩格式,几乎应用于每个Linux发行版中,包括社区项目和商业产品发行版,liblzma是一个用于处理XZ压缩格式的开源软件库。庆幸的是,该漏洞主要影响的XZ5.6.0和5.6.1版本尚未被Linux发行版广泛集成,而且大部分是在预发行版本中。 2024年5月,攻击者通过与英国国防部核心网络链接的一个外部系统,即由英国国防部的一家提供薪资处理服务的外部承包商维护的薪资处理系统,访问了部分军队支付网络,造成严重的信息泄露。据统计,攻击者访问了超过22.5万名英国陆军、海军和皇家空军现 役军人、退役军人和预备役军人的姓名、银行账号详情等个人信息。第三方承包商未能充分的保护系统是这次事件的主要诱因,而这一事件是在不到一年的时间内发生的第二起因外部承包商而导致的英国军队数据遭泄露事件。 OpenSSH可以在CS架构中提供网络安全信道,被众多企业用于远程服务器管理和数据安全通信。2024年7月初,网络安全公司Qualys发 现 ,OpenSSH服 务 器 进 程 存 在“regreSSHion”漏 洞(CVE-2024-6387),攻击者可利用其以root权限在基于glibc的Linux系统上实现未认证的远程代码执行,从而实施系统完全接管、恶意程序安装和后门创建等攻击行为,严重程度堪比Log4Shell。具不完全统计,互联网上有1400多万台易受攻击的OpenSSH实例,仅Qualys公司自身的客户中就有约70万个暴露在互联网上的系统可能易受攻击。 2、国内企业软件供应链安全状况有所改善 奇安信代码安全实验室通过数据分析发现,与以往历年相比,2023年,国内企业自主开发软件的源代码高危缺陷密度明显下降,并且因使用开源软件而引入安全风险的状况有所改善。尽管如此,软件供应链安全风险的管控依然值得持续关注,需要更多的投入。 1)国内企业自主开发软件的源代码高危缺陷密度明显下降 通过对2023年国内企业自主开发源代码的分析发现,虽然整体缺陷密度达到12.76个/千行,高于以往各年,但高危缺陷的密度为 0.52个/千行,比之前三年有明显的下降;此外,NULL引用类缺陷的检出率为25.7%,较往年也有较大降低。上述趋势的出现,应该在很大程度上得益于以下措施的采取:软件开发过程中,研发企业对重点缺陷逐渐重视,针对重点问题的安全编码规范进一步普及,并且代码审计工具的使用持续推广。 2)国内企业因使用开源软件而引入安全风险的状况