天天看點

【技術幹貨】剖析pip ssh-decorate供應鍊攻擊文/圖 阿裡安全獵戶座實驗室

文/圖 阿裡安全獵戶座實驗室

近日,國外媒體有安全人員爆出Python pip ssh-decorate被發現存在後門代碼!對,又是pip污染。

pip是python的開源包資源庫。然而,這個開源庫的管理是十分松散的。尤其在安全方面并沒有嚴格的稽核機制。一個使用者隻需要一個email即可注冊賬戶,然後即可上傳其源檔案到pip資源中。而這個pip資源是被世界上所有python使用者使用下載下傳的。如果有人夾雜惡意代碼上傳了某個包,并以常見程式的名字命名,比如zip,ssh,smb,ftp。那麼當有使用者嘗試搜尋并下載下傳使用這個名字的包時,這個使用者就會中招,可謂神不知鬼不覺。這就是存在于pip中的供應鍊安全問題。回頭看,針對pip的攻擊已經并不新鮮,早在幾年前就有國外研究者進行過類似實驗。而真正讓大家重視起來是在2017年,國内白帽子也針對pip源進行了投毒測試,結果令人震驚,各大廠商主機紛紛被感染。但是無論如何,之前我們看到的全部都是以滲透測試為目的的pip污染事件,而這次,我們看到的真正的backdoor!我們看一下其具體技術相關的内容。

ssh-decorate是一個github開源項目,其位址:

https://github.com/urigoren/ssh_decorate

。其功能應該是實作類似ssh client一樣的功能,python實作,提供一些更友好的接口。現在這個工程已經被原作者删除幹淨,隻有google cache中的可以看一下其之前的内容。在pypi上的ssh_decorate的位址是:

https://pypi.org/project/ssh-decorate

。目前的惡意包也已經被pypi移除,目前頁面也無法找到了。

這個backdoor的事件最早被爆出是reddit上的使用者發帖,并且貼出了惡意代碼片段,如圖1所示。從圖中可以看出,惡意代碼的實作是比較直接的,沒有代碼加密、混淆之類的對抗手段。主要的動作就是發送ssh伺服器的使用者名,密碼,ip位址,端口,私鑰資訊到遠端伺服器。伺服器位址:

http://ssh-decorate.cf/index.php

。這其中的很重要一點就是其收集了密碼和私鑰資訊。有了這些資訊,相當于盜取了ssh伺服器的賬戶。再看這個攻擊者的伺服器網址,可見域名還是有很大迷惑性的,使用ssh-decorate字元串。另外,有安全研究人員通過其DNS Record系統發現這個域名注冊時間是2018-05-08。也就是這次攻擊這個域名的存活期,其實還比較短。

【技術幹貨】剖析pip ssh-decorate供應鍊攻擊文/圖 阿裡安全獵戶座實驗室

圖1

那麼,一個很重要的問題:這個pip的惡意包到底是怎麼來的呢?實際上ssh-decorate這個開源包存在github和pypi都已經很久了,作者是urigoren。那麼,為什麼這個pypi上的包被插入了惡意代碼了呢?原作者沒必要這麼做。終于,通過github的一個issue我們發現了原因。這個issue是一個發現惡意代碼的使用者質問開發者urigoren,為什麼其pypi源中包含有惡意代碼。這個issue已經被删除,但是可以從cache連結

https://webcache.googleusercontent.com/search?q=cache:vjUIkPX1-0EJ:https://github.com/urigoren/ssh_decorator/issues/11+&cd=6&hl=zh-CN&ct=clnk

檢視,同時,圖2,圖3是也是來源于這個issue的讨論的截圖。

【技術幹貨】剖析pip ssh-decorate供應鍊攻擊文/圖 阿裡安全獵戶座實驗室

圖2

【技術幹貨】剖析pip ssh-decorate供應鍊攻擊文/圖 阿裡安全獵戶座實驗室

圖3

通過對話,我們得出推測:urigoren的pypi賬号很可能被黑了。這樣導緻,攻擊者利用他的賬号就可以push更新包到pypi,這就造成了github是好的代碼,但是pypi的包已經被污染。經過這個事情,urigoren一氣之下(也許是驚吓)删除了github和pypi的所有相關repo。對于這個情況,Pypi之前已經我們提過,其安全很脆弱,其賬戶體系也是一樣的。當然,到底是原作者使用弱密碼還是pypi有其他弱點來讓攻擊者達到最後盜取其賬戶,這個我們暫時不得而知。但是,這是一種巧妙的攻擊方式。黑掉一個缺乏安全意識的開發者的賬戶并不那麼複雜,而這個開發者的背後可能掌管着世界級的開源應用的代碼更新權限。這又是一個相對低成本的攻擊。

通過對這個真實的供應鍊安全問題的分享,希望提高大家對這類安全問題的感覺。供應鍊安全是個複雜而龐大的問題。需要不斷地去重視,思考,一步一步地去解決。出于對近幾年來供應鍊安全問題的重視,為了促進安全行業内相關方向的發展以及對此類攻擊解法的探索,阿裡巴巴安全部在今年專門舉辦了一屆“軟體供應鍊安全大賽”,賽事目前正在緊張進行中,測試賽即将打響,有興趣的同學請移步官方網站(

https://softsec.security.alibaba.com

)了解更多資訊,現在加入PK還來得及!