正如我们在之前的内容中所讨论的那样 software supply chain security中,我们探讨了供应链攻击的概念及其对组织的潜在影响。这些攻击通常会利用整个软件开发生命周期中的漏洞(SDLC),在每个阶段都存在重大风险。今天,我们将深入探讨最常见的 software supply chain security 源阶段出现的威胁。
首先,定义供应链攻击以及具体攻击方式至关重要 Software Supply Chain Security 源阶段出现的威胁。
软件供应链攻击的定义
美国国家研究所 Standard和技术 (NIST) 定义软件供应链攻击 “当网络威胁行为者渗透到软件供应商的网络并在供应商将软件发送给客户之前使用恶意代码破坏软件时,就会发生攻击。被破坏的软件会破坏客户的数据或系统。新购买的软件可能从一开始就受到破坏,或者通过补丁或修补程序等其他方式受到破坏。在这些情况下,破坏仍然发生在补丁或修补程序进入客户网络之前。这些类型的攻击会影响被破坏软件的所有用户,并可能对政府、关键基础设施和私营部门的软件客户产生广泛影响。=
源阶段 Software Supply Chain Security 威胁
软件供应链生命周期的源阶段涵盖软件开发的初始阶段,从构思到源代码创建。此阶段涉及工具、库和组件的选择,以及软件核心功能的开发和实施。
Software supply chain security 源代码阶段的威胁是指可被利用来对源代码引入未经授权或恶意更改的安全漏洞。这包括未经授权的个人和授权个人引入未经授权更改的威胁。
源威胁示例
提交错误代码
提交不良代码是指 commit将代码引入到包含缺陷、错误或漏洞的源存储库。这包括故意引入的恶意代码,以损害软件的完整性或安全性,以及由于编码实践不佳或缺乏测试而引入错误或漏洞的无意代码。这种矢量攻击的一个例子是 NPM攻击. 2022 年,一名黑客入侵了名为 npm 的流行开源软件库的源代码存储库。黑客将恶意代码插入库的代码中,使他们能够未经授权访问安装该库的组织的系统。恶意代码使黑客能够从受影响的系统中窃取数据、安装恶意软件并破坏操作。这次攻击影响了广泛的组织,包括政府机构、企业和个人。
入侵源代码仓库
攻击者未经授权访问源代码存储库(SCM) 并引入恶意更改或删除合法代码。这可以通过各种方法实现,例如利用 SCM,泄露有权访问存储库的开发人员的凭据,或获取托管该存储库的底层基础设施的访问权限 SCM。此类攻击的一个例子是 PHP 攻击。 攻击者入侵了 PHP 的自托管 Git 服务器,该服务器是用于存储和管理 PHP 编程语言源代码的安全存储库。攻击者能够注入两个恶意 commits 进入 PHP 的主代码库。这些 commit添加了后门,允许攻击者未经授权访问 PHP 安装。后门允许攻击者在任何 PHP 安装上执行任意代码,这些代码可用于窃取数据、安装恶意软件或破坏操作。这次攻击还给 PHP 造成了巨大的声誉损害,因为它引发了人们对该编程语言安全性的担忧。
从修改后的源代码构建
攻击者从官方源代码存储库以外的来源获取源代码副本,并使用它来构建和部署软件。修改后的源代码可能包含恶意代码、后门或其他有害更改,可能会损害软件的完整性、功能或安全性。这种矢量攻击的一个例子是 Webmin的 攻击. 攻击者未经授权访问了 Webmin 的构建基础结构,该基础结构负责编译和打包 Webmin 软件。攻击者修改了构建基础结构以使用官方 Webmin 源代码存储库中不存在的源文件。
编写不安全的代码
不安全的编码实践,无论是有意还是无意的,都可能给软件带来漏洞。攻击者可以利用这些漏洞进行未经授权的访问、修改或窃取数据,或破坏操作。这种矢量攻击的一个例子是 Apache Struts 攻击。2003 年,一名黑客入侵了名为 Apache Struts 的开源软件库的源代码存储库。该黑客在该库中引入了一个漏洞,使他们能够未经授权访问安装该库的组织的系统。 该漏洞允许黑客在受影响的系统上执行任意代码,从而窃取数据、安装恶意软件和破坏操作。此次攻击影响了广泛的组织,包括政府机构、企业和个人。
篡改关键文件
在软件开发生命周期中更改或修改关键文件可能会产生严重后果,包括引入恶意代码、泄露敏感数据以及中断软件操作。这种篡改载体攻击的一个例子是 Maven 攻击. 2020 年,黑客入侵了流行开源软件库 Maven 的源代码存储库。黑客将恶意代码插入库的 pom.xml 文件中,该文件用于配置构建过程。恶意代码允许黑客将其依赖项注入构建过程,然后将其包含在编译后的软件中。这些依赖项包含后门,允许黑客未经授权访问安装该软件的组织的系统。
扫清道路:以清晰的视图简化操作
超越安全领域,您会发现可视化供应链的作用不仅仅是保护——它就像在黑暗的房间里打开一盏灯,揭示出最快、最有效的运营路径。它让团队可以鸟瞰开发生态系统,使他们能够识别冗余资产和未维护的元素。这种清晰度在多个单元和组件交织在一起的大型项目中尤其有益。
最后的评论
通过了解不同类型的源阶段 software supply chain security 威胁并实施适当的安全措施,组织可以帮助保护自己免受这些毁灭性的攻击。
- 软件供应链攻击可以在开发生命周期的任何阶段将恶意代码引入软件中,包括源阶段。
- 源阶段威胁包括提交恶意代码、破坏源代码存储库、从修改后的源构建、编写不安全代码以及篡改关键文件。
- 组织需要在整个软件开发生命周期中实施全面的安全措施,以减轻供应链攻击的风险。
想要保持领先地位 software supply chain security?
请继续关注我们的 即将推出的博客系列,我们将深入探讨整个软件开发生命周期中最常见的攻击。从 构建阶段 从部署到部署之后,我们将为您提供知识和策略,以保护您的组织免受这些阴险的威胁。
千万不要错过! 立即订阅我们的博客 并第一时间了解我们的最新见解 software supply chain security.
我们可以共同为所有人构建一个更具弹性、更安全的软件生态系统。
观看我们的视频演示





