研究發(fā)現(xiàn),攻擊者利用偽造時(shí)間戳等方式在GitHub上傳播惡意代碼
當(dāng)開發(fā)人員在GitHub上尋找開源項(xiàng)目時(shí),會(huì)習(xí)慣對(duì)其元數(shù)據(jù)進(jìn)行檢查,但研究發(fā)現(xiàn),這些元數(shù)據(jù)很容易被偽造,并以此用來傳播惡意代碼。
Checkmarx 的研究人員在一份新報(bào)告中警告說,開發(fā)人員在查看元數(shù)據(jù)時(shí)應(yīng)當(dāng)盡力核實(shí)背后貢獻(xiàn)者的身份,而不應(yīng)僅停留于對(duì)元素?fù)?jù)表面的檢查。
通常,開發(fā)人員在GitHub上尋找開源項(xiàng)目時(shí),會(huì)傾向于選擇那些活躍的、有積極維護(hù)記錄的貢獻(xiàn)者所提供的項(xiàng)目,Git對(duì)每一次更改分配了一個(gè)唯一的 ID,該ID記錄了由誰(shuí)更新、具體的更新內(nèi)容以及時(shí)間戳,相對(duì)而言,擁有較多的更新反映了貢獻(xiàn)者對(duì)這個(gè)項(xiàng)目的重視,項(xiàng)目得到了較好的維護(hù)與優(yōu)化。
但根據(jù)Checkmarx的說法,攻擊者可以輕松偽造這些記錄。報(bào)告稱,衡量 GitHub 上用戶活動(dòng)的一個(gè)重要指標(biāo)是用戶個(gè)人資料頁(yè)面上的活躍熱圖,顯示用戶在一段時(shí)間內(nèi)的活躍程度,而攻擊者能在注冊(cè)的全新賬戶上通過偽造帶有時(shí)間戳的提交記錄,使之看起來已經(jīng)平臺(tái)上活躍了很長(zhǎng)時(shí)間。
利用git set更改本地兩個(gè)環(huán)境變量,從而在 GitHub 上顯示偽造的時(shí)間戳
類似的,攻擊者還可以“借用”一些知名的、信譽(yù)度良好的貢獻(xiàn)者身份上傳包含惡意代碼的項(xiàng)目,攻擊者只需要找到這些貢獻(xiàn)者的電子郵件地址,然后在 Git 命令行上設(shè)置用戶名和電子郵件地址并提交更改。報(bào)告稱,盡管 GitHub 提供了隱藏電子郵件地址的方法,但大多數(shù)人并沒有使用這些功能,從而讓攻擊者可以相對(duì)容易地獲取這些郵件地址。此外,被借用身份的貢獻(xiàn)者也不會(huì)收到任何關(guān)于他們的賬戶被添加為另一個(gè)項(xiàng)目的貢獻(xiàn)者的通知。
Checkmarx的供應(yīng)鏈安全主管Tzachi Zornstain強(qiáng)調(diào),開發(fā)人員在選擇開源項(xiàng)目時(shí),要重視這些項(xiàng)目貢獻(xiàn)者的身份是否已被驗(yàn)證,如果一個(gè)項(xiàng)目包含多個(gè)貢獻(xiàn)者提交的代碼,要確保這些貢獻(xiàn)者也是必須真實(shí)可靠。
他還建議這些項(xiàng)目貢獻(xiàn)者使用GitHub的數(shù)字簽名功能,對(duì)自己的代碼進(jìn)行簽名,這樣他們的貢獻(xiàn)就會(huì)被驗(yàn)證。該功能包括一個(gè) "警惕模式",顯示所有在其名下貢獻(xiàn)的代碼的狀態(tài),包括其他人可能在其名下提交的代碼。GitHub指出,如果所有貢獻(xiàn)者希望能夠這樣做,就需要在2023年前開啟雙因素認(rèn)證。
參考來源:https://www.darkreading.com/application-security/how-attackers-could-dupe-developers-into-downloading-malicious-code-from-github