跳转到主要内容

供应链入侵

本文约需 2 分钟阅读

供应链攻击是指攻击者介入软件开发、构建或分发的某一环节,将恶意代码注入正规软件的攻击手法。由于它滥用了受信任软件的更新通道,传统的安全措施极难检测。 2024 年的 xz Utils 后门事件凸显了开源维护体系的脆弱性,使人们重新认识到 SBOM (Software Bill of Materials) 的重要性。

现场使用案例

“在依赖库的定期审计中,我们检测到某个 npm 包因维护者账户被劫持而更新到了包含恶意代码的版本。我们通过 lockfile 的哈希校验发现了不一致,并通过版本锁定 (pinning) 规避了受影响的版本。”

供应链攻击流程

攻击者入侵构建环境、代码仓库或维护者
将恶意代码注入正规软件
通过正规更新渠道分发被污染的版本
用户出于信任而安装或更新
攻击者通过后门访问内部网络

历史背景

供应链攻击引起全球关注,始于 2020 年的 SolarWinds 事件。 IT 管理工具 Orion 的构建流程中被植入了后门,影响了包括美国政府机构在内的 18,000 多个组织。 2021 年的 Kaseya VSA 事件、 2024 年的 xz Utils 后门事件等,针对供应链的攻击逐年高度化。在 CVE 数据库中,与供应链相关的漏洞报告也在急剧增加。供应链安全入门书 (Amazon)可供系统性学习。

防御措施

创建和管理 SBOM (Software Bill of Materials) 是防御的基础。掌握所使用的开源库及其版本,并持续监控漏洞信息。提交依赖关系的锁文件 (package-lock.json 、 Gemfile.lock) ,防止意外的版本变更。在构建流水线中,应引入通过签名验证和哈希校验来检测产物被篡改的机制。在代码审查中重点确认依赖关系的新增与变更也很重要。用强随机密码保护 CI/CD 系统和包注册表的账户,防止对构建流程的非法访问。DevSecOps 书籍 (Amazon)也可作为参考。

相关术语

这篇文章对您有帮助吗?

XHatena