详解六种最常见的软件供应链攻击

最近软件供应链事件屡屡成为头条新闻 。尽管这些安全事件有相似之处 , 但并非所有的供应链攻击都是一样的 。
软件供应链攻击的定义“软件供应链攻击”这个统称涵盖了攻击者干扰或劫持软件制造过程(软件开发生命周期)的任何情况 , 从而使最终的产品或服务的多个消费者受到不利影响 。当软件构建中使用的代码库或单个组件被污染、软件更新二进制文件被植入木马、代码签名证书被窃取 , 甚至托管软件即服务(SaaS)的服务器被闯入时,都可能会发生供应链攻击 。
对于任何软件供应链攻击,攻击者潜伏于供应链上游或中游,导致其恶意活动及后续影响波及下游的许多用户 。因此,与孤立的安全攻击相比,成功的供应链攻击规模大得大,影响也深远得多 。
软件供应链的风险有多大?任何代码存储库或库都可能含有恶意代码,尽管我们努力监视并删除可疑的软件包 。虽然像Github这样的代码存储库正在采取积极的措施,防止恶意软件进入其网站,但攻击者正在想方设法,将其代码成功地分发给毫无戒备的开发人员 。
这个问题越来越严重 。Phylum公司的《2023年第三季度软件供应链安全演变报告》显示,大多数类别的可疑软件包都有所增加 。在扫描的300万个软件包中,1万多个文件引用了已知的恶意URL 。近86000个软件包含有预编译的二进制文件,这使得它们很难扫描出恶意软件 。另有5500个软件包企图混淆其代码,还有5000个软件包是作者用一次性电子邮件帐户注册的 。
更重要的是,报告显示了攻击手法上的转变,更多的恶意软件编写者瞄准特定的公司 , 而不是采取更广泛的方法 。近1000个恶意软件包针对特定组织或企业,比2023年第二季度猛增47.4% 。这些针对性攻击的目标包括收集凭据、窃取源代码或知识产权 。
开发人员似乎并没有通过安全实践提高软件供应链的安全性 。Phylum特别指出,开发人员每周从JAVAScript软件包注册中心npm下载大约240亿个软件包 , 但几乎没有人验证所下载代码的完整性 。报告称 , 攻击者知道这一点,这可能会鼓励他们在未来发起更广泛的活动,比如大规模勒索软件攻击或僵尸网络 。
软件供应链攻击的例子下面我们分析最近实际的成功软件供应链攻击中使用的六种不同技术 。
1. 入侵上游服务器:Codecov攻击就大多数软件供应链攻击而言,攻击者入侵上游服务器或代码仓库,并注入恶意载荷(比如一行恶意代码或被植入木马的更新版),然后载荷被分发到下游的许多用户 。然而从技术的角度来看,实际情况并非始终如此 。
Codecov供应链攻击就是这样一个例子 。虽然这起事件与SolarWinds事件相似,但两种攻击还是存在显著的差异 。SolarWinds供应链攻击是复杂攻击者的杰作 , 他们篡改了合法的更新二进制文件:SolarWinds.Orion.BusinessLayer.dll,这是SolarWinds IT性能监控产品Orion的一部分 。
正如FireEye之前所分析,这个假冒DLL的RefreshInternal()方法中所含的恶意代码如下所示 。当Orion加载Inventory Manager插件时,这种方法调用基于HTTP的后门 。

详解六种最常见的软件供应链攻击

文章插图
图1. 被植入后门的DLL的版本2019.4.5200.9083 , 附有恶意的RefreshInter
然而 , 只有当被篡改的二进制文件一路进入到下游的18000多个SolarWinds Orion客户(包括政府部门) , SolarWinds上游攻击才完全发威 。
然而以Codecov为例,没有恶意代码向下游分发,但攻击的余波却向下游波及 。按照官方的安全公告,Codecov攻击者从有缺陷的Docker镜像创建过程获得了凭据,可以用来篡改Codecov Bash Uploader 。攻击者随后篡改托管在其Codecov服务器上的Codecov Bash Uploader本身,以收集从客户的持续集成/持续交付(CI/CD)环境上传的环境变量:
详解六种最常见的软件供应链攻击

文章插图
图2. 被篡改的一行Codecov Bash Uploader,它收集环境变量,并将它们发送给攻击者的IP地址 。
虽然Codecov Bash Uploader 脚本在Codecov服务器(位于Codecov[.]io/bash)上存在时间很短(并继续存在) , 但数千个代码存储库已经指向该链接 , 将信息从其 CI/CD 环境向上游发送到该Bash Uploader 。因此,恶意代码仅存在于(受攻击的)上游服务器上 , 并没有出现向下游分发任何代码的情况,因为所谓的下游代码存储库已经指向托管 Bash Uploader 脚本的 Codecov 服务器 。然而,这些下游代码存储库受到了这次攻击的影响,因为它们被配置成将数据上传到Codecov的Bash Uploader:


推荐阅读