12.11. 供应链安全

12.11.1. 简介

供应链安全是指确保软件开发和交付过程中的所有环节都是安全的,以防止恶意攻击者在软件开发和交付过程中植入恶意代码或漏洞,从而保护最终用户的安全和隐私。

供应链安全包括从软件开发、测试、部署、维护到更新等整个生命周期的安全性保障,以确保软件的完整性、可靠性和安全性。在当前数字化时代,供应链安全已经成为一个非常重要的话题,因为恶意攻击者可以通过供应链攻击来入侵企业和个人的计算机系统,窃取敏感信息或者破坏系统。因此,供应链安全已经成为企业和组织必须重视的安全问题之一。

可以绕过传统的安全防御措施,例如防火墙、入侵检测系统等。此外,由于供应链中的环节非常复杂,攻击者可以选择攻击其中的任何一个环节,从而使得防御变得更加困难。

12.11.2. 供应链安全问题

12.11.2.1. 供应链失陷

供应链失陷是指恶意攻击者通过攻击供应商,通过供应商的链路从而进入用户的计算机系统或网络。

12.11.2.2. 供应链后门

供应链后门是指供应商提供的系统存在预置的后门、默认口令或者预留的调试接口。

12.11.2.3. 供应链漏洞

供应链漏洞是指供应链软件中存在的安全漏洞,可被攻击者利用这些漏洞来入侵最终用户的计算机系统。

供应链漏洞通常是由于软件开发、测试、部署、维护等环节中的缺陷或错误而导致的。

12.11.2.4. 供应链污染

供应链污染是指恶意攻击者通过攻击软件供应链中的一个或多个环节,将恶意代码或漏洞植入到软件中,从而使得最终用户的计算机系统或网络受到攻击。

与供应链后门不同的是,供应链污染通常是指攻击者在软件供应链中植入的恶意代码或漏洞,并不一定是一个特殊的后门。

12.11.2.5. 供应链数据安全

供应链数据安全是指隐私、敏感数据在供应链中泄露的情况。

12.11.3. 常见攻击方式

  • 创建名称类似的软件包
    • Combosquatting
    • Typosquatting
    • 修改词序
    • 修改分割符
  • 注入依赖
    • 命名为内部包
  • 影响构建
    • 利用 CI/CD 漏洞
  • 提交后门代码
    • 劫持开发者账号
    • 提交逻辑隐蔽的后门
    • 利用渲染问题隐藏提交逻辑
      • Homoglyph
      • Unicode Bidirectional
      • 其它控制字符
      • 混淆 / minified