研究人員入侵 35 家公司系統,蘋果、微軟、特斯拉無一幸免
一名羅馬尼亞威脅研究員 Alex Birsan 在一份報告中詳細說明了他是如何侵入世界上一些大公司的 IT 系統的。他成功地入侵了蘋果、微軟、特斯拉、貝寶、 Netflix 和其他 30 多家公司。
Alex Birsan 事先通知了這些公司,他將測試他們系統的安全性,但沒有事先向他們提供細節。
漏洞攻擊成功率驚人
Alex Birsan 通過啟動一個相對簡單的攻擊模式完成了這些任務: 他用公共代碼包定期地替換由服務器激活的私有代碼包。當搜索代碼包時,公司使用的自動化系統會進入公共存儲庫。如果執行某個特定功能需要 Javascript、 Ruby 或 Python 模塊,公司服務器將自動將一個公共模塊替換為自己的內部模塊,如果它檢測到一個名稱相同的包,它認為這是一個更新的版本。
Birsan 說,他的漏洞暴露了“自動構建或安裝工具中的漏洞或設計缺陷,這些漏洞或缺陷可能導致將公共依賴項誤認為是名稱完全相同的內部依賴項?!?/p>
Birsan 利用了這個漏洞,將代碼注入到存儲在 GitHub 等公共存儲庫中的包中。他把這種刻意的名稱重復和隨后的文件交換稱為“依賴性混淆”。
他首先必須確定代碼文件使用的公司名稱,這樣他就可以創建同名的偽造文件,但他發現這項任務相對容易。例如,Shopify 自動安裝了一個來自 Birsan 的偽造文件,他猜對了這個文件是“ Shopify-cloud”。
Birsan 對自己的戰績做了評估,他說:“成功率簡直令人吃驚,我們能夠自動掃描目標公司的數百萬個域名,并提取出數百個尚未在 npm 注冊中被認領的 javascript 包名稱?!?/p>
研究員靠入侵測試賺了 13 萬美元
這種由惡意參與者植入的信息可能會對整個公司的網絡造成嚴重破壞,擾亂公司運營,竊取數據或企圖敲詐錢財。
Birsan 的代碼并沒有惡意,他只檢索了每臺受代碼影響的計算機的基本信息,包括用戶名、主機名和每個唯一安裝的當前路徑。當目標公司激活 Birsan 代碼時,程序就會通知他。
除了外部 IP,這些數據足以幫助安全團隊根據這份報告識別可能存在漏洞的系統,同時避免 Birsan 的測試被誤認為是實際攻擊。
作為回報,Birsan 收到了這些公司支付給發現漏洞的研究人員的“漏洞賞金”,他收到的賞金總額超過了 13 萬美元。
此外,Birsan 的一位同事 Justin Gardner 檢查了一個內部 JavaScript 包管理文件,他想知道如果將一個名字相同的文件放在一個公共存儲庫中會發生什么。他們很快發現,無論哪個文件有最近的版本號,都會被公司的服務器點擊。
Birsan 表示大多數受影響的公司能夠在收到入侵通知后迅速修補他們的系統。但他認為對開源平臺依賴性的混淆仍然是一個問題。