黑客將後門放入Ruby密碼強度檢查庫中

A Backdoor in a Ruby Password Checking Library

密碼強度計是出於所有最佳原因而創建的。他們的想法是提醒人們注意弱密碼的危險,並鼓勵他們更好地保護他們的數據。不幸的是, 它們並不完美

本質上,密碼強度計是計算機代碼的集合,無論它多麼聰明,它都不能考慮決定密碼強度的每一個因素。密碼強度計由計算機命令組成的事實產生了另一個問題 - 如果代碼被篡改,儀表可能變得危險。上週,阿根廷開發商Tute Costa 向我們展示了這種情況的實際情況。

定期的安全審計揭示了一個被劫持的Ruby庫

作為一名勤奮的開發人員,Costa正在審核他正在研究的Ruby應用程序。他最近應用了不少更新,他想確認一切都按預期工作。

這意味著要經歷相當多的更改日誌並掃描數百行代碼。最後,他最終看到了strong_password--一個用於檢查用戶密碼強度的Ruby庫。他立刻被吸引了。

strong_password在RubyGems(Ruby庫的官方存儲庫)和GitHub上都可用,但版本不同。 GitHub建議超過六個月沒有更新,但RubyGems(0.0.7)上的版本不超過兩天。 Costa找不到任何更改日誌或其他官方文檔,這意味著唯一的方法是從GitHub下載代碼並將其與RubyGems託管的內容進行比較。

這兩個庫是相同的,只有幾行代碼從Pastebin中提取並執行了一些命令。科斯塔越來越懷疑,他決定與strong_password的開發人員Brian McManus取得聯繫,看看他會說些什麼。十五分鐘後回復了,這證實了哥斯達黎加最擔心的事情 - 麥克馬納斯不知何故失去了對圖書館的控制權,0.0.7版本是流氓。

後門使用cookie來啟用代碼執行

惡意的strong_password版本將首先檢查它正在運行的環境。如果應用程序仍處於測試階段,則無效。但是,如果它正在生產中,它將觸發最終允許遠程代碼執行的感染鏈。

後門庫檢查網站或Web應用程序的URL並將其發送到smiley.zzz.com [。] ua。然後,它等待以cookie文件形式出現的指令。惡意代碼旨在解壓縮並執行cookie中的任何內容,這意味著劫持strong_password庫的犯罪分子的大門是敞開的。謝天謝地,他們不再是。

惡意庫很快就被脫機了

後門的strong_password發佈於6月25日,Tute Costa於6月28日發現它。在得到確認更新是惡意的後不久,他接到了Ruby的安全協調員RafaelFrança,並在不到半小時的時間裡,圖書館被拉下線了. 布萊恩·麥克馬納斯似乎已經重新掌控, 版本0.0.8應該可以安全使用。啟動感染鏈的Pastebin存儲庫現在也已關閉,這意味著後門已完全關閉。

雖然惡意圖書館在網上停留的時間不超過幾天,但仍然設法下載了537的下載次數,這表明流氓軟件可以快速影響毫無戒心的用戶。

July 16, 2019

發表評論

重要!若要繼續到下一步,請完成以下簡單的數學問題。
Please leave these two fields as is:
6 + 3是什麼?