首页 >>  正文

检测pytorch安装成功

来源:baiyundou.net   日期:2024-09-21

Alex 羿阁 发自 凹非寺

量子位 | 公众号 QbitAI

“所有在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官方还未做出回应。

对这次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

— 完 —

量子位 QbitAI · 头条号签约

","force_purephv":"0","gnid":"9e08c6adcd3611556","img_data":[{"flag":2,"img":[{"desc":"","height":"1054","title":"","url":"https://p0.ssl.img.360kuai.com/t0122a1be0d467be82c.jpg","width":"932"},{"desc":"","height":"900","title":"","url":"https://p0.ssl.img.360kuai.com/t013896e02a6b9ef4d6.jpg","width":"1080"},{"desc":"","height":"330","title":"","url":"https://p0.ssl.img.360kuai.com/t014271665c13002bfc.jpg","width":"1060"},{"desc":"","height":"192","title":"","url":"https://p0.ssl.img.360kuai.com/t0159ecded47ef4f143.jpg","width":"1080"},{"desc":"","height":"386","title":"","url":"https://p0.ssl.img.360kuai.com/t018810d65d286d68ae.jpg","width":"1080"},{"desc":"","height":"256","title":"","url":"https://p0.ssl.img.360kuai.com/t01dc69a78ba0c06123.jpg","width":"256"}]}],"original":0,"pat":"pdc,art_src_3,fts0,sts0","powerby":"hbase","pub_time":1672720260000,"pure":"","rawurl":"http://zm.news.so.com/fb82c12f53005e5416051ab2fa995023","redirect":0,"rptid":"0cf822fe43866110","s":"t","src":"量子位","tag":[{"clk":"ktechnology_1:linux","k":"linux","u":""}],"title":"PyTorch安装包出问题,官方警告:这些用户请立即卸载!

於凯孟1440怎么检测mysql是否安装成功 -
慎居娄19234454742 ______ 使用快捷键win+R打开 进入MySQL的安装目录下的\bin(本人安装路劲为E:\mysql) 登陆mysql(密码为安装时设置的密码,本人设置为root) 查看mysql版本信息

於凯孟1440pytorch动态计算图有什么好处 -
慎居娄19234454742 ______ pytorch动态计算图有什么好处1.数据计算 Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 CPU 中加速运算.Torch和Numpy之间可以进行自由...

於凯孟1440为什么在pycharm汉化版中运行后生成测试报告打开显示空白 -
慎居娄19234454742 ______ 可能是程序问题.建议重新下载安装看看. 1、首先运行pycharm 2017破解版的安装程序安装原版软件. 2、选择安装路径. 3、选择在桌面创建的快捷方式,一个32位,一个64位,小编是64位自然就选64位,然后下面两个分别是关联.py格式文件和下载安装java运行环境jre,小编已经有了就不安装了,如果没有的用户可以选择勾选. 4、然后一直点击next,等待安装完毕. 5、安装完成. pycharm 2017:http://www.3322.cc/soft/16093.html

於凯孟1440如何测试TOMCAT安装是否成功?
慎居娄19234454742 ______ 启动tomcat服务之后 打开浏览器,在地址栏里写上http://localhost:8080

於凯孟1440如何能知道自己更换主板驱动是否成功了呢? -
慎居娄19234454742 ______ 首先,升级BIOS与更新驱动程序是两码事.升级BIOS是否成功很容易看,只要你升级以后电脑还能正常使用就是成功了,因为,一般情况下升级BIOS如果不成功电脑就启动不起来了.当然,如果想确切的知道,就需要你在升级BIOS之前,把当前的BIOS版本号记下来,然后再与升级后的BIOS版本号比较一下,数字变大了就表示已经是新版本的了,没变就表示没有升级.

於凯孟1440python2.7 ocr 文本识别 应该怎么弄 -
慎居娄19234454742 ______ Python图片文本识别使用的工具是PIL和pytesser.因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxy pytesser是OCR开源项目的一个模块,在Python中导入这个模块即可将图片中的文字转换成文本.pytesser...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024