软件供应链攻击 - Part 2

3周前 (04-21) 0 点赞 0 收藏 0 评论 2 已阅读

供应链是一个复杂的环境,它深入到企业内部,涉及到企业的大部分基础设施、操作、人员和外部关系(供应商、合作伙伴和客户)。保护这个矩阵是极其困难的,因为安全团队必须照顾许多敏感节点、线和进程:软件和硬件资源、云、混合和本地环境、平台和web应用程序。

供应链的复杂性也是它们的弱点,也是它们对网络罪犯如此有吸引力的原因。最近我们已经经历了供应链攻击,统计数据显示,未来很可能会出现上升趋势。

供应链攻击基本原理

供应链攻击主要针对两个或两个以上的目标,中间目标和最终目标。网络犯罪分子在成功渗透一个中介目标(如小型供应商)的网络后,利用恶意代码(malicious code)破坏(compromise)供应商的软件,并将其作为他们最终目标(高价值供应商、客户和企业的软件)的门户(gateway)。

与物理系统不同的是,软件在离开制造商后会通过更新(updates)和补丁(patches)不断修改,容易(is prone to)出现许多无意的和恶意的缺陷(numerous unintentional and malevolent flaws)。由于供应链适合更大的信息和通信技术(ICT: information and communications technology)供应链框架,安全团队意识到网络犯罪可以潜伏(lurk)和攻击ICT供应链生命周期的每个阶段是至关重要的。

供应链生命周期

供应链生命周期覆盖Design, Development and Production, Distribution, Acquisition and Deployment, Maintenance, Disposal,它们各自对应的案例如下图所示:

ICT Supply Chain Lifecycle and Examples of Threats (cisa.gov)

供应链攻击是如何运作的

阶段1: 狩猎和感染(Hunt & Infect)
在供应链攻击的第一阶段,网络犯罪分子识别与存储或使用敏感数据的企业合作的供应商。这里的目标是打开一扇通向更多机会的门。

网络罪犯可以通过不同的方式攻击供应商,利用公司软件中缺乏电子邮件安全性和未知或未解决的漏洞等方面。一旦进入系统,他们可以在公司源代码中添加有缺陷的代码或插入恶意软件。通过这种方式,他们可以确保下次安装更新时,恶意代码就会被发送到该公司的所有合作伙伴和联系人。

The three stages of a supply chain attack

第二阶段: 展开并等待(Spread & Wait)
在下一阶段,一旦恶意软件被传播,恶意行为者只需等待。软件开发人员和供应商并不知道他们的应用程序已被感染,并将按计划发布更新。由于新代码来自可信的来源,业务合作伙伴和客户将承认并接受它。恶意行为者可以利用该代码作为后门,在受感染的网络上安装勒索软件,或者利用该代码收集信用卡号码或登录信息等敏感信息。

阶段3: 攻击&收集(Attack & Collect)
在受到国家支持的攻击的情况下,网络罪犯希望不让人知道他们的存在,以便收集情报。但是,如果攻击者的重点是赎金,他们将使用第三方供应商提供的后门渗透其他网络,并最终获得对电子邮件地址、登录凭据和其他形式的PII(个人身份信息personally identifiable information)的访问权限。一旦他们这样做了,他们通常会威胁受害者,他们可以获取并加密他们找到的敏感数据,或者他们可以泄露这些数据。在这两种情况下,对于没有可靠备份策略的公司来说,潜在的影响可能是毁灭性的。

供应链攻击的技术

大多数供应链攻击遵循以下技术之一的模式,这些技术可以同时执行:

劫持的更新(Hijacking updates)
破坏代码签名(Undermining code signing)
损害开源代码(Compromising open-source code)
App Store攻击

劫持的更新

如今,现代软件接收更新作为分发过程,作为从集中式服务器到客户的产品维护的一部分,以解决安全问题。有能力且技术高超的威胁行动者通过进入企业网络并在更新中插入恶意代码来劫持更新,以获得软件的功能控制。受感染的更新会进一步沿着硬件和网络传播。

这些复杂的攻击通常以加密数据、物理系统或提取敏感信息为目标。劫持更新技术的例子被证明是极其灾难性的,会导致关键行业的全球大混乱。

破坏代码签名

代码签名依赖于公钥加密;验证代码及其作者的完整性的数字签名。网络罪犯通过自签名证书、破坏签名系统或利用错误配置和保护不力的帐户访问控制来破坏这一过程。

这样做可以使他们通过冒充可信的第三方并在更新中注入恶意软件来利用软件更新。然后,他们进行一系列非法和无法无天的行动——从修改开源代码到间谍活动——的道路就畅通无阻了。

妥协的开源代码
当威胁行动者将恶意软件插入开源代码,然后由开发人员进一步添加到他们自己的第三方代码中时,就会出现这种简单易用的技术。在许多情况下,攻击者要么通过获得账户权限来修改软件包,要么以接近常规使用的名称发布软件包。恶意代码通常试图访问目标的数据和支付信息。

这种技术的一个例子涉及恶意Python库,这些库包含与它们模拟的(impersonated)库相同的代码和功能,但还包含使它们能够获得引导持久性并在远程工作站上打开反向shell的额外功能。

App Store攻击

这些攻击通过损害合法应用程序或设计恶意应用程序,利用web应用程序发布者感染移动设备。通常情况下,当安装和执行这些应用程序时,它们会试图访问和提取支付和其他敏感信息,这些信息会被发送回创建者。

参考

tripwire.com/state-of-security/keeping-threat-actors-away-your-supply-chain
xorlab.com/en/blog/how-to-protect-businesses-against-supply-chain-attacks


软件供应链攻击 - Part 2

本文收录在
0评论

登录

忘记密码 ?

切换登录

注册