安全動(dòng)態(tài)

數(shù)以萬(wàn)計(jì)開(kāi)源項(xiàng)目開(kāi)發(fā)賬戶遭大規(guī)模泄露

來(lái)源:聚銘網(wǎng)絡(luò)    發(fā)布時(shí)間:2022-06-15    瀏覽次數(shù):
 

信息來(lái)源:安全內(nèi)參


本周二,安全研究人員發(fā)現(xiàn)流行的持續(xù)集成開(kāi)發(fā)工具Travis CI發(fā)生大規(guī)模賬戶泄露,超過(guò)7.7億條Travis CI免費(fèi)版用戶日志數(shù)據(jù)以明文方式泄露,其中包含大量敏感機(jī)密信息(開(kāi)發(fā)令牌、云服務(wù)憑證等),包括Github、Docker的數(shù)以萬(wàn)計(jì)的開(kāi)源項(xiàng)目開(kāi)發(fā)賬戶受到影響。

Aqua Security公司Nautilus團(tuán)隊(duì)的研究人員報(bào)告稱,一個(gè)幫助開(kāi)源開(kāi)發(fā)人員開(kāi)發(fā)和測(cè)試軟件的服務(wù)——Travis CI(持續(xù)集成開(kāi)發(fā)工具)的API正在泄露數(shù)以萬(wàn)計(jì)的身份令牌和其他安全敏感機(jī)密。安全專家在一份新報(bào)告中表示,其中許多泄露信息允許黑客訪問(wèn)Github、Docker、AWS和其他代碼存儲(chǔ)庫(kù)上開(kāi)發(fā)人員的私人賬戶。

Travis CI是一種被稱為持續(xù)集成的越來(lái)越流行的敏捷開(kāi)發(fā)工具,通??s寫為CI,它使開(kāi)發(fā)和測(cè)試代碼變更的過(guò)程自動(dòng)化,已經(jīng)成為現(xiàn)代開(kāi)發(fā)和云原生應(yīng)用程序管道的重要組成部分。

CI對(duì)于每次代碼更改,都會(huì)定期構(gòu)建、測(cè)試代碼并將其合并到共享存儲(chǔ)庫(kù)中。CI環(huán)境通常存儲(chǔ)許多敏感信息,例如訪問(wèn)令牌,以自動(dòng)訪問(wèn)云或管道中的其他組件。在某些情況下,這些訪問(wèn)令牌被設(shè)置為具有讀取、寫入、管理等的高權(quán)限。此類訪問(wèn)令牌如果失竊,可能導(dǎo)致數(shù)據(jù)泄露、帳戶接管,甚至跨多個(gè)云帳戶橫向移動(dòng)。

大規(guī)模供應(yīng)鏈攻擊的潘多拉盒子被打開(kāi)

至少自2015年以來(lái),Travis CI就持續(xù)曝出第三方開(kāi)發(fā)人員憑據(jù)的可用性問(wèn)題。當(dāng)時(shí),安全漏洞服務(wù)平臺(tái)HackerOne報(bào)告說(shuō),Travis CI暴露了其開(kāi)發(fā)人員的一個(gè)訪問(wèn)令牌時(shí),導(dǎo)致HackerOne的一個(gè)Github帳戶被入侵。類似的數(shù)據(jù)泄露事件在2019年和2021年再次出現(xiàn)。

泄露的開(kāi)發(fā)人員訪問(wèn)令牌可被用來(lái)(未授權(quán))讀取或修改存儲(chǔ)在存儲(chǔ)庫(kù)中的代碼,而這些Github存儲(chǔ)庫(kù)負(fù)責(zé)分發(fā)大量正在進(jìn)行的軟件應(yīng)用程序和代碼庫(kù)。未經(jīng)授權(quán)訪問(wèn)此類項(xiàng)目的能力為攻擊者打開(kāi)了大規(guī)模供應(yīng)鏈攻擊的大門,攻擊者可以通過(guò)篡改存儲(chǔ)庫(kù)中的應(yīng)用程序來(lái)從上游對(duì)大量依賴生產(chǎn)服務(wù)器中的應(yīng)用程序的項(xiàng)目發(fā)動(dòng)攻擊。

Aqua Security公司Nautilus團(tuán)隊(duì)的研究人員報(bào)告稱,盡管這是一個(gè)已知的安全問(wèn)題,但泄漏仍在繼續(xù)。研究人員使用Travis CI API訪問(wèn)分兩批采集了從2013年到2022年5月的大量明文日志數(shù)據(jù),數(shù)量分別為4.28億和7.7億條。研究人員僅對(duì)其中一小部分?jǐn)?shù)據(jù)進(jìn)行采樣分析就發(fā)現(xiàn)了7.3萬(wàn)個(gè)令牌、機(jī)密信息、和各種證書。

“這些訪問(wèn)密鑰和憑證與流行的云服務(wù)提供商相關(guān)聯(lián),包括GitHub、AWS和Docker Hub,”Aqua Security說(shuō)?!肮粽呖梢允褂眠@些敏感數(shù)據(jù)發(fā)起大規(guī)模網(wǎng)絡(luò)攻擊并在云中橫向移動(dòng)。任何曾經(jīng)使用過(guò)Travis CI的人都有可能被暴露,因此我們建議立即輪換您的密鑰。”

暴露的訪問(wèn)令牌樣本(上圖)包括:

  • GitHub的訪問(wèn)令牌,可能允許對(duì)代碼存儲(chǔ)庫(kù)進(jìn)行特權(quán)訪問(wèn)

  • AWS訪問(wèn)密鑰

  • 一組憑據(jù),通常是電子郵件或用戶名和密碼,可訪問(wèn)MySQL和PostgreSQL等數(shù)據(jù)庫(kù)

  • Docker Hub密碼,如果未激活MFA(多因素身份驗(yàn)證),可能會(huì)導(dǎo)致帳戶被接管

下圖為開(kāi)源項(xiàng)目賬戶泄露的分布情況:

數(shù)千個(gè)GitHub令牌泄露

Aqua Security研究人員補(bǔ)充說(shuō):

我們發(fā)現(xiàn)了數(shù)千個(gè)GitHub OAuth令牌??梢钥隙ǖ丶僭O(shè)其中至少有10-20%是有效可用的,特別是那些在最近的日志中發(fā)現(xiàn)的。我們?cè)谠茖?shí)驗(yàn)室中模擬了一個(gè)橫向移動(dòng)場(chǎng)景,它基于這個(gè)初始訪問(wèn)場(chǎng)景:

1.通過(guò)公開(kāi)的Travis CI日志提取GitHub OAuth令牌。

2.使用公開(kāi)的令牌在私有代碼存儲(chǔ)庫(kù)中發(fā)現(xiàn)敏感數(shù)據(jù)(即AWS訪問(wèn)密鑰)。

3.使用AWS S3存儲(chǔ)桶服務(wù)中的AWS訪問(wèn)密鑰進(jìn)行橫向移動(dòng)嘗試。

4.通過(guò)枚舉發(fā)現(xiàn)云存儲(chǔ)對(duì)象。

5.數(shù)據(jù)從目標(biāo)的S3泄露到攻擊者的S3。

對(duì)于Aqua Security的安全報(bào)告,Travis CI目前沒(méi)有公開(kāi)回復(fù)。鑒于這種暴露的反復(fù)出現(xiàn),開(kāi)發(fā)人員應(yīng)定期主動(dòng)輪換訪問(wèn)令牌和其他憑據(jù)。此外,還應(yīng)該定期掃描代碼工件,以確保它們不包含憑據(jù)。


 
 

上一篇:2022年6月14日聚銘安全速遞

下一篇:國(guó)家網(wǎng)信辦修訂《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序信息服務(wù)管理規(guī)定》發(fā)布施行