新型PyPI攻击技术可能导致超2.2万软件包被劫持

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

Revival Hijack是一种新型供应链攻击技术,利用PyPI注册表劫持已删除的软件包并下载恶意软件包。攻击者通过上传恶意版本感染开发者环境,建议企业和开发人员保护自己免受此类攻击。JFrog采取措施创建安全账户替代易受攻击的软件包。

🔎

延伸解读

攻击原理与政策漏洞

Revival Hijack利用PyPI允许重新注册已删除软件包名称的政策漏洞。当原开发者删除软件包后,攻击者可以注册相同名称并上传恶意版本。与传统的域名抢注不同,这种攻击不依赖拼写错误,而是直接利用已删除的合法软件包名称,使得攻击更为隐蔽和有效。

实际攻击案例与潜在风险

2024年3月30日,威胁行为者Jinnis在软件包pingdomv3被原所有者删除后,立即注册并发布了良性版本,随后在4月12日更新了包含Base64编码有效载荷的恶意版本。该载荷会检查JENKINS_URL环境变量,并执行远程下一阶段模块。这表明攻击者可能推迟攻击或针对特定IP范围,以增强隐蔽性。

JFrog的缓解措施与局限

JFrog创建了名为security_holding的PyPI账户,用于安全地劫持易受攻击的软件包,并用空占位符替代,版本号设为0.0.0.1,以避免被pip升级命令调用。然而,这仅能保护部分软件包,用户仍需保持警觉,检查DevOps管道,确保未安装已删除的软件包。

❓

Q&A

什么是Revival Hijack攻击技术?

Revival Hijack是一种新型供应链攻击技术,利用PyPI注册表劫持已删除的软件包并上传恶意版本。

Revival Hijack攻击如何影响开发者?

攻击者可以上传恶意软件包,导致开发者在不知情的情况下下载并安装这些软件,从而感染其开发环境。

JFrog采取了哪些措施来应对Revival Hijack?

JFrog创建了名为“security_holding”的新PyPI用户账户,以安全地劫持易受攻击的软件包,并用空的占位符取代它们。

Revival Hijack与传统域名抢注有什么不同?

Revival Hijack利用用户拼写错误的软件包名称进行攻击,而传统域名抢注则利用热门软件包的删除和重新注册。

开发者如何保护自己免受Revival Hijack攻击?

开发者应检查DevOps管道,确保没有安装已删除的软件包,并保持警觉,采取必要的预防措施。

Revival Hijack攻击的潜在后果是什么?

攻击可能导致开发者环境被感染,造成软件供应链风险,影响项目的安全性和稳定性。

🏷️

标签

➡️

继续阅读