又是pip汙染!Python 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汙染!Python 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汙染!Python pip ssh-decorate被發現存在後門代碼

圖2

又是pip汙染!Python pip ssh-decorate被發現存在後門代碼

圖3

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


通過對這個真實的供應鏈安全問題的分享,希望提高大家對這類安全問題的感知。供應鏈安全是個複雜而龐大的問題。需要不斷地去重視,思考,一步一步地去解決。出於對近幾年來供應鏈安全問題的重視,為了促進安全行業內相關方向的發展以及對此類攻擊解法的探索,阿里巴巴安全部在今年專門舉辦了一屆“軟件供應鏈安全大賽”,賽事目前正在緊張進行中,測試賽即將打響,有興趣的同學請移步官方網站(https://softsec.security.alibaba.com)瞭解更多信息,現在加入PK還來得及!


分享到:


相關文章: