网络钓鱼活动盯上PyPI用户,分发恶意代码
导语:前所未有的恶意活动威胁:如果开发人员不提交代码以接受“验证”流程,就删除代码包。
PyPI管理员近日警告,一起网络钓鱼活动盯上了Python代码包索引(PyPI)的用户,威胁如果用户不让代码接受虚假的验证流程,就删除代码包。
PyPI管理员提醒用户注意这个代码库(它使Python开发人员能够发布和查找用于构建软件的代码包),留意声称在实施“强制性‘验证’流程”的电子邮件。管理员发了一连串推文,概述这起骗局是如何运作的。
邮件邀请PyPI用户点击一个链接来执行验证,“否则代码包有可能从PyPI中删除”。管理员在帖子中向用户保证,他们永远不会从PyPI删除有效的项目,他们只会删除被发现是恶意项目或违反公司服务条款的项目。
管理员称,这起活动前所未有:它窃取用户凭据,将受感染的代码包加载到代码库中。管理员特别指出,这起网络钓鱼活动并不攻击代码存储库,以便通过软件供应链传播恶意软件。
据PyPI声称,实施这起骗局的攻击者已成功窃取了几个PyPI用户的凭据,并将恶意软件上传到了他们维护的项目中,充当这些项目的最新版本。
PyPI的推文显示:“这些版本已被人从PyPI中删除,维护者帐户已被暂时冻结。”
骗局如何运作?
据PyPI声称,最初的网络钓鱼邮件甩出了这个诱饵:谷歌支持新旧PyPI代码包的验证流程。具有讽刺意味的是,邮件声称新流程是由于“上传到PyPI.org域的恶意代码包数量激增”。
该链接将用户引到模仿PyPI登录页面的网络钓鱼站点,进而窃取通过网络钓鱼站点sites[dot]google[dot]com/view/pypivalidate输入的任何凭据。随后数据被发送到域linkedopports[dot]com上的URL。
PyPI管理员无法确定该网络钓鱼站点是否旨在中继转发基于TOTP的双因素代码,但特别指出受硬件安全密钥保护的帐户不易受到攻击。
代码库管理员正在积极审查报告的新恶意版本,确保将其删除,以便恢复被盗用的帐户,维护人员可以继续使用PyPI。
供应链成为焦点
当下的潮流是,威胁分子盯上公共代码库,以便将恶意软件分发到软件供应链,这起活动却一反常态。有缺陷的代码可能成为威胁分子眼里的金矿,在开发人员或用户不知情的情况下将中招代码做入到众多应用程序或网站中后,恶意活动的影响就大大扩大。
Log4J案就清楚地表明了这一点,一款广泛使用的Java日志工具中的一个缺陷影响了数百万个应用程序,其中许多应用程序仍然易受攻击,而威胁分子最近加大了攻击代码库的力度,以便通过供应链快速传播恶意代码。
本月早些时候,在一家安全供应商告知问题后,PyPI从注册中心删除了10个恶意代码包。威胁分子将恶意代码嵌入到代码包安装脚本中,进而攻击注册中心。
PyPI已意识到自己被盯上了,在过去这几年已推出了多个安全项目,以便更好地保护用户。
这些措施包括:添加双因素身份验证(2FA)作为登录选项,用于将软件上传到注册中心的API令牌,确保pip代码安装程序安装正确版本的代码包依赖项的依赖项解析器,以及创建数据库,列出PyPI项目中已知的Python漏洞。
挫败攻击
管理员表示,PyPI目前正努力使2FA在代码库上的项目当中更普遍,已经实施了2FA的PyPI用户如果认为帐户已泄密,应重置恢复代码。
为了完全避免被网络钓鱼活动盯上,PyPI用户应确认任何声称来自PyPI的电子邮件的地址栏中的URL是http://pypi.org,该站点的TLS证书颁发给了http://pypi.org。管理员发推文称,用户还应该考虑使用集成浏览器的密码管理器。
他们表示,通过使用硬件安全密钥或WebAuthn 2FA启用2FA,也可以帮助PyPI用户避免受到网络钓鱼活动的影响。事实上,为了帮助加强保护,代码库目前为排名前1%的项目的维护者提供免费硬件密钥。
PyPI建议任何认为自己已中招的用户联系security@pypi.org,提供有关发件人电子邮件地址和恶意站点URL的详细信息,帮助管理员应对该问题。
发表评论