-
-
PyPI封堵1800个失效域名电子邮件以防止供应链攻击
-
发表于: 2025-8-20 11:45 463
-

随着网络安全形势的日益严峻,针对软件包管理系统的攻击手段也在不断进化。最近,Python软件包索引(PyPI)采取了一项重要安全措施,以有效抵御“域名重生攻击”——这一恶意攻击方式利用失效域名对用户账户进行妥协。根据2025年8月18日发布的消息,自2025年6月以来,PyPI已主动注销超过1800个与进入失效阶段域名相关的电子邮件地址,以保护Python生态系统的安全性。
域名重生攻击涉及到注册者未能及时续费域名,导致恶意行为者可以购买这些失效的域名并设置电子邮件服务器,截取密码重置请求。这种攻击利用了PyPI的电子邮件验证系统,因为该系统将经过验证的电子邮件地址视为账户所有权的强有力指示,使攻击者能够轻易篡改用户账户。
在PyPI的注册过程中,用户被要求通过点击发送到所提供的电子邮件地址的链接进行验证,这一过程旨在证明电子邮件地址的有效性以及用户对该地址的接入权。然而,当域名所有权转移给恶意实体时,这种信任关系便会被打破,攻击者便可以利用该关系进行恶意操作。
攻击时间线遵循可预测的域名过期阶段,包括:续约宽限期(0-45天)、赎回期(30天)和待删除期(5天),最终导致域名被释放。PyPI实施此防护措施时,利用了Domainr的状态API每30天监控域名状态变化。若发现域名进入赎回期,即意味着该域名的所有权可能已经改变,PyPI将自动取消该电子邮件地址的验证,切断潜在的恶意访问通道。
自2025年6月初实施此方案以来,PyPI已注销了超过1800个电子邮件地址,形成一套有效的自动化监控系统。这一措施不仅适用于新注册账户,同时也涵盖了早期未启用双因素身份验证(2FA)的旧账户,这些账户仍然面临电子邮件基础的账户接管风险。因此,为了防止账号被劫持,PyPI的该措施显得尤为重要。
此外,对于2024年1月1日之后有活动的账户,PyPI已要求启用双因素身份验证,进而加强了安全性,即便在电子邮件域名失效的情况下,攻击者仍需突破第二身份验证因素才能实现恶性操作。然而,对于早于这一日期的旧账户,失效邮箱域名仍可能导致账号被非法获取,这就是PyPI所尝试遏制的现象。
当然,这一防御机制并不是万无一失,它无法检测合法的域名转让以及可能错过一些快速的域名状态变化,但无疑,PyPI的此项安全增强措施大大减少了域名重生攻击的潜在攻击面。这个主动防御的思路为软件包生态管理提供了重要的启示,有效应对了过往曾经影响PyPI项目的真实攻击案例。
PyPI此次调整得到了Alpha-Omega基金的支持,并在OpenSSF安全软件仓库工作组的协作指导下展开,旨在全球范围内保护数以百万计的Python开发者及其软件包的安全。随着这一措施的实施,PyPI不仅提升了自身平台的安全防护能力,也为用户的安全使用打下了坚实的基础。
在用户管理邮件地址时,建议尽可能添加来自其他著名域名(如Gmail)的第二个验证电子邮件地址,以便在需要恢复PyPI账户时能够提供额外的证明。为了提高安全性,用户还应确保在这些其他服务上启用双因素身份验证,以进一步防止潜在的账户接管。
综上所述,PyPI实施的措施虽然无法消除所有威胁,但它有效降低了域名重生攻击发生的概率。这一举措不仅标志着对网络安全的重视,也为软件包管理平台在面对不断演变的网络攻击时提供了深入思考与解决方案。