(資料圖)
一項新的研究顯示,許多企業(yè)在重命名項目時,不知不覺地將其代碼庫的用戶暴露在重載劫持之下。
GitHub上數(shù)以百萬計的企業(yè)軟件存儲庫容易受到劫持,這是一種相對簡單的軟件供應(yīng)鏈攻擊,攻擊者會將某個特定存儲庫的項目重定向到一個惡意的存儲庫。
Aqua Security的研究人員在本周的一份報告中說,這個問題與GitHub如何處理依賴關(guān)系有關(guān),當GitHub用戶或組織更改項目名稱或?qū)⑵渌袡?quán)轉(zhuǎn)讓給另一個實體時,容易受到重新劫持。
改名的風(fēng)險為了避免破壞代碼的依賴性,GitHub在原 repo 名稱和新名稱之間建立了一個鏈接,因此所有依賴原 repo 的項目都會自動重定向到新更名的項目。然而,如果一個組織未能充分保護舊的用戶名,攻擊者可以簡單地重新使用它來創(chuàng)建一個原始倉庫的木馬版本,這樣任何依賴該存儲庫的項目將重新開始從該存儲庫下載。
Aqua公司的研究人員在本周的博客中說:當版本庫所有者改變他們的用戶名時,對于任何從舊版本庫下載依賴項的人來說,在舊名稱和新名稱之間會產(chǎn)生一個鏈接。然而,任何人都有可能創(chuàng)建舊的用戶名并破壞這個鏈接。
普遍性問題Aqua發(fā)現(xiàn)了兩個問題:一是,GitHub上有數(shù)百萬個這樣的軟件庫,包括屬于谷歌和Lyft等公司的軟件庫;二是,攻擊者很容易找到這些軟件庫以及劫持它們的工具。其中一個工具是GHTorrent,這個工具對GitHub上的所有公共事件(如提交和請求)進行了幾乎完整的記錄。攻擊者可以使用GHTorrent來獲取組織之前使用的GitHub倉庫的名稱。然后他們可以用這個舊用戶名注冊存儲庫,并向任何使用該存儲庫的項目傳輸惡意軟件。
任何直接引用GitHub存儲庫的項目,如果存儲庫的所有者改變或刪除了他們存儲庫的用戶名,就會受到攻擊。
因此,組織不應(yīng)假定他們的舊名稱不會被披露,而是要在GitHub上認領(lǐng)并保留他們的舊用戶名。同時企業(yè)可以通過掃描他們的代碼、存儲庫和關(guān)聯(lián)性的GitHub鏈接來減輕他們面臨的劫持威脅。
標簽: