供应链攻击是一种面向软件开发人员和供应商的新兴威胁,目标是通过感染合法应用分发恶意软件来访问源代码、构建过程或更新机制。
供应链攻击是威胁行为者通过利用软件供应链中的漏洞进入组织网络的一种网络攻击,供应链攻击的目标可以是软件开发过程中的源代码、编译器、软件库、第三方组件等,也可以是硬件设备、网络设备、供应商提供的服务等。攻击者可以通过篡改软件代码或插入恶意代码来实现数据窃取、远程控制、拒绝服务等攻击行为。
供应链攻击源自各种来源,大致可分为三大类。
商业软件供应商和外部业务合作伙伴是无法渗透到具有安全意识的公司的对手的潜在目标,通过将恶意代码安装到第三方软件中,攻击者可以轻松访问客户的网络并访问内部数据。例如,组织依靠安全解决方案提供商的渗透测试工具进行安全测试,而这些工具本身可以用作恶意软件的载体来破坏组织的安全性。由于第三方软件在供应链攻击中占主导地位,这些攻击也被称为第三方攻击。
并非所有软件都是从头开始编写的,大多数企业依靠开源软件来开发其专有代码,一些开源社区为所有用户(包括潜在的对手)提供免费访问。这为威胁行为者提供了在现有开源软件中引入恶意脚本和创建漏洞的轻松访问。当合法用户在其脚本中部署此类被篡改的源代码时,感染会传播到他们的软件并破坏其网络中易受攻击的资源。
一些国家/地区批准将恶意组件部署到其他国家/地区购买的合法供应商软件中,这种类型的供应链攻击是一种手段网络恐怖主义,会造成巨大威胁。
跳岛攻击是第三方攻击的一种形式,即对手通过迂回路线攻击具有复杂网络安全的高端目标。由于攻击者无法克服目标严密的安全防御,他们就会利用其软件供应链中的薄弱环节。他们伤害目标供应链中脆弱的供应商和第三方,以获得对目标网络的初始访问权限并破坏资源。在某种程度上,对手从一个组织跳到另一个组织,所以这种攻击被称为跳岛攻击。
在这种类型的攻击中,威胁参与者通过利用其软件产品中的漏洞直接针对受害组织,通过在软件的构建周期中引入恶意软件,攻击者在下游供应链中打开后门,并且所有下载该产品的目标组织的客户都成为攻击者的牺牲品。
这也是一种第三方攻击,攻击者在第三方的网络设备或其他电子设备上安装恶意软件,对目标组织造成困扰,受害的第三方和目标都不知道这种渗透,直到恶意软件慢慢地悄悄地接管了目标的网络。
代码注入是一种针对开源代码存储库和库的开源攻击形式,通过将恶意代码注入代码库和存储库,攻击者将访问此类存储库的所有合法用户作为目标。在用户设备上自动执行代码的 JavaScript 库是攻击者的主要目标之一。
Magecart攻击,也称为表单劫持,是一种代码注入攻击,主要针对处理支付方式的第三方。在这种攻击中,黑客将恶意代码注入 JavaScript 代码以接管网站并从用户填写的结帐表单中略过敏感的财务详细信息。
代码签名证书用于评估软件产品的真实性和完整性,威胁行为者通过破坏合法所有者的私钥来窃取此类证书,然后,攻击者分发带有恶意软件的软件以及被盗的代码签名证书,以引诱用户下载恶意软件。
流量大的网站是这类供应链攻击的主要目标,网站是供应链的最后一个窗口,是安装和下载软件产品的媒介。通过识别网站架构中的漏洞并嵌入恶意链接,攻击者引诱最终用户打开后门进行恶意执行。这种攻击的命名参考了隐藏在水坑(网站漏洞)附近的捕食者(攻击者),以便在适当的时候扑向猎物(受害者)。
加密劫持是另一种形式的供应链攻击,攻击者利用用户的计算资源来挖掘加密货币,大多数加密劫持攻击都是使用受感染的网站进行的,攻击者通过在网站架构的HTML代码中注入恶意命令来破坏网站。每当用户打开这样的网站,挖矿程序就会自动执行,用户的资源就会在用户不知情的情况下耗尽。
精心规划的产品开发流程,也可以称为软件开发生命周期(SDLC),是保护供应链的首要步骤。让我们深入了解 SDLC 的不同阶段,并揭示在每个阶段检测和防止供应链攻击的不同技术。
这是 SDLC 的第一阶段,是建立用于开发软件的基础设施的阶段。在这个阶段,组织主要关注资源的可用性、采购和分配。在此阶段防御供应链攻击的一些最佳实践包括:
设计是产品开始成形的阶段,它涉及开发原型的一套单独的程序。阶段产品所需的软件依赖关系也在此阶段确定。简单地说,这是挑选和集成能够满足最终产品目的的合适第三方解决方案的阶段。一些值得注意的实践可以捍卫这一阶段的SDLC:
实施阶段是执行阶段,DevOps团队由软件开发人员和IT操作员组成,在此过程中发挥着至关重要的作用。在此阶段,软件使用代码进行编程,此代码可以是专有的,也可以是开源的。此外,此过程还可以依赖于第三方编码平台来运行和执行代码。因此,这个阶段涉及大量的内部和外部合作。在 SDLC 的这一阶段,防御供应链攻击的最佳实践包括:
测试阶段确保了所开发软件的质量,在这里,代码被执行并检查是否存在错误、故障和漏洞,此阶段还涉及渗透测试和沙盒的第三方协作。在此阶段防止供应链攻击的一些最佳实践包括:
部署是使用代码签名证书对测试的软件进行验证和证明的阶段,并通过网站将其作为软件包或服务提供给最终用户。此阶段对于保护至关重要,因为攻击者可能会窃取代码签名证书以创建虚假身份并引诱用户下载恶意软件,或者他们可能会利用网站 JavaScript 中的漏洞嵌入恶意代码。在此阶段防御供应链攻击的一些值得注意的步骤是:
这是 SDLC 的最后阶段,其重点是产品在部署后的无缝和高效运行,这是产品不断改进以满足最终用户要求的阶段。它涉及频繁的错误修复、软件更新和漏洞补丁。虽然此阶段标志着 SDLC 的结束,但如果不定期使用更新和修复,它也可能标志着重大安全漏洞的开始。在 SDLC 的这一阶段,保护供应链的一些做法包括:
Log360 是统一 SIEM 解决方案,由不同的模块组成,可帮助您保护网络。尽管网络安全很复杂,但供应链攻击仍能够对您的网络造成有害影响,它残酷地利用了各种依赖关系之间的相互信任,而这些依赖关系在 SDLC 中是必不可少的。因此,通过在 SDLC 的每个阶段实施上述最佳实践来防范供应链攻击。