“所有在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事件,你怎么看?
審核編輯 :李倩
-
二進制
+關注
關注
2文章
795瀏覽量
41671 -
框架
+關注
關注
0文章
403瀏覽量
17504 -
pytorch
+關注
關注
2文章
808瀏覽量
13238
原文標題:PyTorch安裝包出問題,官方警告:這些Linux用戶請立即卸載,否則會遭數據泄漏
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論