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