查看原文
其他

《2021年软件供应链现状报告》攻击案例

常华Andy Andy730 2024-03-16

Source: Sonatype, 2021 State of the Software Supply Chain, October 2021


开源软件漏洞在热门项目中最为普遍

29%的热门项目包含至少一个已知的安全漏洞。相反,只有6.5%的非热门项目这样的问题。这种二分法表明,绝大多数安全研究(黑帽和白帽)都集中在查找和报告最常用的项目中的漏洞。


软件供应链攻击呈指数级增长

2021年,全球旨在利用上游开源生态系统的弱点的软件供应链攻击增加了650%。从这个角度来看,同样的统计数据在2020年版报告中为430%。


软件依赖关系管理的实践在团队之间差异很大

平均而言,企业 Java 应用程序利用了 Maven 中央仓库(Central Repository)中可供下载的组件的 10%。然而,商业工程团队只主动更新了25% 的组件。这方面的工作变数很大,而且往往不是最优的。较新版本的项目通常更好,但并不总是最好的。


主观调查反馈与客观数据之间存在脱节

人们认为他们在修复有缺陷的组件方面做得很好,并表示他们了解风险所在。客观地,研究表明,开发团队缺乏结构化的指导,经常在软件供应链管理方面做出次优决策。




软件供应链攻击案例


在过去的一年中,许多备受瞩目的攻击事件表明,供应链威胁不仅影响第三方应用程序级库和工具,还影响第一方源代码。欧盟网络安全局(ENISA)预测,到2021年,这些类型的供应链攻击预计将增加4倍。



SolarWinds — 2020年12月


2020年12月公布的大规模 SolarWinds Orion 攻击标志着过去一年中最引人注目的供应链攻击。攻击始于威胁施行者获得对 SolarWinds 内部开发工具的访问权限,以将恶意代码注入SolarWinds 的 Orion 更新二进制文件。这些特洛伊木马更新为运行 Orion平台版本的系统提供了一个名为 SUNBURST 和 Solorigate 的后门。影响如何?


粗略地说,18000 名客户自动获取了这些恶意更新,使得大公司和国家核安全局等政府实体的网络暴漏,并使黑客能够在数月的时间内随意搜索和利用他们的网络。


通过攻击 SolarWinds 软件供应链,并将其恶意代码与交付给客户的合法、可信代码混合在一起,攻击者能够在数以万计的 SolarWinds 客户的系统上植入后门。



命名空间混淆(Namespace Confusion) — 2021年2月


2021年2月,有消息称,研究人员亚历克斯·伯桑(Alex Birsan)在一次名为"依赖混乱"的新型供应链攻击中入侵了超过35家大型科技公司。此攻击的名称是指开发环境无法区分软件内部创建的私有依赖项和公共软件存储库中可用的同名包。


换句话说,如果攻击者在公共存储库(如 npmjs)上注册了您的私有内部使用的依赖项的名称,则您的软件开发工具可能会无意中引入攻击者的恶意依赖项,而不是您的合法依赖项。


在命名空间攻击的消息公开后的72小时内,自动恶意软件检测服务观察到来自其他有兴趣获得漏洞赏金的研究人员的300多个模仿者。一周后,模仿者攻击的数量增加到575次。接下来的一周,750个。截至2021年3月15日,Sonatype 的自动恶意软件检测服务已经观察到超过10000个依赖混淆模仿者已经渗透到npm和其他生态系统中。


并非所有的模仿者都是概念的良性证明。为了寻找漏洞赏金,恶意的不良行为者发布了数千个漏洞。一些模仿者甚至被定位为开源存储库上的"私刑破坏"。


"事实上,npm生态系统中的大部分都没有命名空间,这实际上创造了潜在的构建时恶意软件注入的可能性。如果我知道一家公司正在使用的软件包的名称,我可以使用完全相同的名称发布一个带有新版本号的恶意软件包,并且知道它很可能会被预期的内部开发的软件包引入",Sonatype 首席技术官Brian Fox在2017年表示。


不严格执行命名空间规则的公共存储库(包括 npm、PyPI、RubyGems 和 NuGet)容易受到命名空间混淆的影响。相比之下,Maven Central 和 Golang 的 pkg.go.dev 存储库强制实施严格的命名空间,并在发布工件之前验证命名空间所有权。



Codecov — 2021年4月


2021年4月公布的Codcov供应链攻击与SolarWinds攻击类似。在这种情况下,不良行为者破坏了Codecov服务器,将其恶意代码注入Bash Uploader脚本,然后由Codecov的客户在两个月的时间内下载该脚本。


使用 Codecov 客户使用的 Bash 上传器脚本,攻击者从这些客户的持续集成/持续交付 (CI/CD) 环境中泄露了敏感信息,包括密钥、令牌和凭据。据报道,Codecov攻击者使用这些收集的凭据破坏了数百个客户网络,包括HashiCorp,Twilio,Rapid7,Monday.com 和电子商务巨头Mercari。


根据Codecov的说法,尽管人们的注意力主要集中在受损的Bash Uploader脚本上,但用于修改脚本的凭据最初是由攻击者从有缺陷的Docker映像创建过程中获得的。总的来说,该事件强调了保护 CI/CD 管道的重要性,包括仔细检查在这些环境中提交的机密,以及加强容器安全性。



微软的 Winget — 2021年5月


2021年5月,微软发布了其Windows 10程序包管理器Winget的第一个稳定版本,该版本使用户能够通过命令行管理应用程序。用户可以在项目的GitHub存储库上向Winget提出或添加新包。但是,在推出后的周末,出现了大量Winget的软件注册表,在其中包含对重复或格式错误的应用程序的下载请求。此外,一些新添加的重复包已损坏(不完整),并最终覆盖了现有包。看到60多个这样的实例。这一事件引起了开发人员对Winget生态系统完整性的严重担忧。



Kaseya — 2021年7月


2021年7月,全球见证了另一种形式的上游软件供应链攻击。在这种情况下,REvil勒索软件组织(又名 Sodinokibi)发现并利用了Kaseya虚拟系统管理员(VSA)中的零日漏洞。VSA工具是一个远程监控和管理软件平台,由数十家托管安全服务提供商使用,这些服务提供商又为数千名下游客户提供服务。


没过多久,威胁行为者就跟进了7000万美元的赎金要求,为1500多名受害者解密文件。"这一事件代表了多年来观察到的长期趋势中的又一事件:为了扩大对下游受害者的剥削,不良行为者越来越多地瞄准技术资产和生活在数字价值流上游的提供商。这包括开源库,IDE,构建服务器,更新服务器,以及最近在Kaseya的情况下,托管服务提供商(MSP),"Sonatype的Matt Howard在事件发生后的一篇博客文章中说。


尽管有许多工具旨在保护下游技术资产的外围,但事实是:软件本身越来越成为数字风险的软肋。如果过去一年有任何迹象表明,我们预计攻击者将继续将上游软件供应链资产作为大规模利用下游受害者的首选途径。


这起Kaseya事件很快引起了美国执法部门的注意,包括联邦调查局和网络安全和基础设施安全局(CISA)。这提醒我们的行业和网络防御团队将安全转移到左边,并专注于保护数字供应链的上游部分,就像长期以来专注于下游部分一样。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存