原文标题:《PyTorch 安装包出问题,官方警告:这些 Linux 用户请立即卸载,否则会遭数据泄漏》
“所有在 2022 年 12 月 25 日至 12 月 30 日期间,在 Linux 系统安装了 PyTorch-nightly(每日更新版)的用户,请立即卸载!”
上述消息来自 PyTorch 官方的一则最新声明。
据官方透露,他们刚刚识别出一个与框架的“torchtriton”库同名的恶意依赖项,该依赖项在 PyPI 代码库上被破坏,并运行恶意二进制文件。
攻击者试图窃取用户 IP 地址、当前工作目录等敏感数据并上传到指定地址,相关恶意代码在从 PyPI 删除之前已被下载 2300 + 次。
不过就在事情一面倒时,攻击者却自己发表了声明,坚称并无恶意,一切只是为了道德研究。
那么 ——
到底发生了什么?
具体事情是这样的:
攻击者在 Python 的官方索引库:PyPI (Python Package Index),创建了一个叫“torchtriton”的 Python 软件包。
为何取这个名字?
当然是故意的。
这样就能和 PyTorch 本身有的一个包名字相匹配,好比玩起了 Cosplay。
然后,由于名字相同,“假 torchtriton”就被跟着上传到了 PyPI 中。
又因为 PyPI 索引具有优先权,所以假 torchtriton 就被默认安装到用户的设备上了,而真正的官方版本却被搁置到一旁。
这就是所谓的供应链攻击,在公共软件包索引上,被托管的软件包之间的的依赖关系都受到了直接影响。
不出所料,这个假 torchtriton 自带一肚子坏水:
它比官方版多了上传敏感数据的代码,还包含一个恶意的 triton 二进制文件。
一旦被安装在用户设备上,它就可以入侵系统,窃取用户的重要数据,比如:主机名、用户名、系统中的已知用户,以及 SSH 密钥等。
据悉用户的列表是从 / etc / passwd 中提取的,幸运的是,它实际上并不包含任何密码或密码哈希值。
至于 SSH 密钥,这是安全外壳 (SSH)协议中使用的安全访问凭证,也是 Linux 服务器运维的关键。
有网友指出:
关于 SSH 密钥,Linux 存在一些漏洞,而 iOS 和 Android 的安全模型就不会允许 Python 软件包窃取 SSH 密钥。
不过,最好的解决方案是实施最小权限原则,不要给程序授予任何不必要的权限。
另外,或许也可以考虑请雇人检查软件包。
用户这边,如果你记不清自己下载的是哪个版本,官方给出了一个检查的办法:
输入以下命令,在 torchtriton 包(PYTHON_SITE_PACKAGES / triton / runtime / triton)中搜索恶意二进制文件,然后就能看到在当前的 Python 环境是否受到影响。
事件后续
在官方声明中,PyTorch 也提出了他们的解决策略。
PyTorch 将“ torchtriton”依赖项重命名为“ PyTorch- triton”,并在 PyPI 上保留了一个虚拟包,以防止类似的攻击。
同时,官方也发推呼吁在 2022 年 12 月 25 日至 12 月 30 日期间下载了恶意版本的用户立即卸载,并使用最新版本。
事情进一步发酵后,有媒体顺藤摸瓜,根据被盗数据传输到的域名,找到了该域名背后的所有者。
公共记录显示,该域名于 12 月 21 日刚刚注册,就在 Pytorch 事件发生的几天前。
据 Bleeping Computer 消息,这位所有者坚称自己的做法“不是恶意的”,只是为了道德研究,而且所有数据都已删除。
我为此承担责任并道歉。与此同时,我想向你们保证,我无意窃取别人的秘密。
我已经在 12 月 29 日 (几乎是官方宣布的三天前) 在确认漏洞存在后向 Facebook 报告了这个问题。
我还通过 HackerOne 向其他可能受到影响的公司提交了报告。
如果我是恶意的,我将永远不会填写任何漏洞赏金报告,而是只把数据出售给出价最高的人。
对于发送许多用户敏感数据的原因,他进一步解释:
在过去调查依赖混淆攻击时,大多数情况下不可能根据受害者的主机名、用户名和 CWD 来识别他们。
这就是我这次决定发送更多数据的原因,但是回顾过去,这是一个错误的决定,我应该更加谨慎。
对于攻击者的这一说法,目前 PyTorch 官方还未做出回应。
参考链接:
[1] https://twitter.com/pytorch/status/1609334425384517633
[2] https://www.bleepingcomputer.com/news/security/pytorch-discloses-malicious-dependency-chain-compromise-over-holidays/
[3] https://thehackernews.com/2023/01/pytorch-machine-learning-framework.html
[4]https://news.ycombinator.com/item?id=34202662
本文来自微信公众号:量子位 (ID:QbitAI),作者:Alex 羿阁
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。