来自软件供应链的风险丝毫没有减弱的迹象。2023 年,此类攻击的数量是 2019 年至 2022 年观察到的攻击总数的两倍。
众所周知,保护供应链是一个棘手的问题,但具体原因是什么呢?根据 Sonatype 的年度软件供应链状况报告,96% 的攻击都与已有可用补丁的开源软件 (OSS) 漏洞有关,而只有 4% 的攻击被视为“不可避免”。考虑到 OSS 漏洞带来的诸多后果,例如凭据收集和财务数据丢失,为什么如此多“可避免”的攻击仍然能够得逞?
通常,真正的问题是可见性,即:拥有一个能够妥善保护 OSS 软件包的系统,并首先了解哪些软件包容易受到攻击。随着此类攻击数量的持续飙升,这个更广泛的问题变得比以往任何时候都更加重要。继续阅读以了解:
是什么原因让 OSS 软件包容易受到攻击
为什么企业经常忽视受感染的软件,并将自己置于风险之中
4 项最佳实践,避免常见的 OSS 漏洞并降低遭受攻击的可能性
对于企业来说,防范开源软件 (OSS) 攻击可能是一项艰巨的挑战。据估计,2023 年,每 8 个开源组件下载中就有 1 个包含已知的安全风险;除此之外,同一年检测 的恶意程序包数量超过 2 亿个。
以下是此类攻击普遍存在(且难以避免)的几个原因:
随着 OSS 攻击的不断演变,它们经常能够绕过常见的安全措施。例如,某次 OSS 攻击 同时使用了预安装脚本和员工假冒策略,以一家银行作为攻击目标并在目标系统中安装恶意软件。然后,攻击者使用合法子域传输第二阶段的有效负载,该子域包含目标银行的名称,因此,更有可能避免被安全系统标记。
攻击者不仅使用复杂的方法来逃避检测,而且还将注意力从孤立的系统和应用转移到 DevOps 工具、平台、开源存储库以及软件组件中的薄弱环节。一个示例就是瞄准在客户端运行的开源脚本,因为大多数 OSS 安全工具都专注于服务器端代码。在采用这种策略的一个实例中,安全研究人员发现,使用“通过 Facebook 登录”的网站中嵌入的第三方 JavaScript 跟踪器,可用于收集 Facebook 登录数据。
可以通过多种方法发起 OSS 攻击,例如诱骗受害者下载恶意软件包、破坏软件更新等。而且,考虑到这些攻击通常潜伏期很长,有时长达数周甚至数月,尽快修补漏洞至关重要。
然而,如果企业使用过时或缺乏维护的软件,执行软件的关键升级将会是一个费力且耗时的过程,这可能会增加遭受入侵和攻击的风险。
可以在多大程度上避免这个问题?根据 Sonatype 2023 年的报告,企业每次进行高风险升级时,大约都有“10 个 [软件组件] 的更优版本可用”。
在更隐蔽的情况下,攻击者会破坏自动化软件更新,导致毫无戒心的用户无意中触发恶意操作。在某次攻击中,估计 300 万用户遭受了 Python 和 PHP 软件包恶意更新攻击,攻击者企图收集用户的 AWS 凭据。
其他恶意更新可能需要数月甚至数年才能执行,一旦用户已审核并信任了某些软件包,就会诱使用户产生一种虚假的安全感,例如某个处于休眠状态的 npm 软件包,在闲置了 8 个月后企图窃取 Ethereum 私钥。
鉴于 OSS 攻击的普遍性和多管齐下特点,企业几乎不可能修补每个程序、跟踪每个软件组件,以及记录其环境中的每个潜在漏洞。但是,企业仍然可以采取一些措施来缓解最大的威胁,包括:
糟糕的审核做法往往为开源软件风险和攻击大开方便之门。在评估开源软件和项目时,企业应采取措施确保其不仅部署了最新的软件版本,而且还应花时间评估是否正在积极审核软件的漏洞并进行相应的更新。
2023 年,超过 20 亿次开源软件 (OSS) 下载存在已知漏洞和可用的修复程序。虽然并非所有漏洞都可能被攻击者利用,但企业应该采取措施,通过评估其环境中的 OSS 软件包并尽可能应用补丁程序,以改善安全状况。