信息來源:安全內(nèi)參
本周二,安全研究人員發(fā)現(xiàn)流行的持續(xù)集成開發(fā)工具Travis CI發(fā)生大規(guī)模賬戶泄露,超過7.7億條Travis CI免費版用戶日志數(shù)據(jù)以明文方式泄露,其中包含大量敏感機密信息(開發(fā)令牌、云服務(wù)憑證等),包括Github、Docker的數(shù)以萬計的開源項目開發(fā)賬戶受到影響。
Aqua Security公司Nautilus團隊的研究人員報告稱,一個幫助開源開發(fā)人員開發(fā)和測試軟件的服務(wù)——Travis CI(持續(xù)集成開發(fā)工具)的API正在泄露數(shù)以萬計的身份令牌和其他安全敏感機密。安全專家在一份新報告中表示,其中許多泄露信息允許黑客訪問Github、Docker、AWS和其他代碼存儲庫上開發(fā)人員的私人賬戶。
Travis CI是一種被稱為持續(xù)集成的越來越流行的敏捷開發(fā)工具,通??s寫為CI,它使開發(fā)和測試代碼變更的過程自動化,已經(jīng)成為現(xiàn)代開發(fā)和云原生應(yīng)用程序管道的重要組成部分。
CI對于每次代碼更改,都會定期構(gòu)建、測試代碼并將其合并到共享存儲庫中。CI環(huán)境通常存儲許多敏感信息,例如訪問令牌,以自動訪問云或管道中的其他組件。在某些情況下,這些訪問令牌被設(shè)置為具有讀取、寫入、管理等的高權(quán)限。此類訪問令牌如果失竊,可能導(dǎo)致數(shù)據(jù)泄露、帳戶接管,甚至跨多個云帳戶橫向移動。
大規(guī)模供應(yīng)鏈攻擊的潘多拉盒子被打開
至少自2015年以來,Travis CI就持續(xù)曝出第三方開發(fā)人員憑據(jù)的可用性問題。當(dāng)時,安全漏洞服務(wù)平臺HackerOne報告說,Travis CI暴露了其開發(fā)人員的一個訪問令牌時,導(dǎo)致HackerOne的一個Github帳戶被入侵。類似的數(shù)據(jù)泄露事件在2019年和2021年再次出現(xiàn)。
泄露的開發(fā)人員訪問令牌可被用來(未授權(quán))讀取或修改存儲在存儲庫中的代碼,而這些Github存儲庫負(fù)責(zé)分發(fā)大量正在進行的軟件應(yīng)用程序和代碼庫。未經(jīng)授權(quán)訪問此類項目的能力為攻擊者打開了大規(guī)模供應(yīng)鏈攻擊的大門,攻擊者可以通過篡改存儲庫中的應(yīng)用程序來從上游對大量依賴生產(chǎn)服務(wù)器中的應(yīng)用程序的項目發(fā)動攻擊。
Aqua Security公司Nautilus團隊的研究人員報告稱,盡管這是一個已知的安全問題,但泄漏仍在繼續(xù)。研究人員使用Travis CI API訪問分兩批采集了從2013年到2022年5月的大量明文日志數(shù)據(jù),數(shù)量分別為4.28億和7.7億條。研究人員僅對其中一小部分?jǐn)?shù)據(jù)進行采樣分析就發(fā)現(xiàn)了7.3萬個令牌、機密信息、和各種證書。
“這些訪問密鑰和憑證與流行的云服務(wù)提供商相關(guān)聯(lián),包括GitHub、AWS和Docker Hub,”Aqua Security說?!肮粽呖梢允褂眠@些敏感數(shù)據(jù)發(fā)起大規(guī)模網(wǎng)絡(luò)攻擊并在云中橫向移動。任何曾經(jīng)使用過Travis CI的人都有可能被暴露,因此我們建議立即輪換您的密鑰?!?
暴露的訪問令牌樣本(上圖)包括:
-
GitHub的訪問令牌,可能允許對代碼存儲庫進行特權(quán)訪問
-
AWS訪問密鑰
-
一組憑據(jù),通常是電子郵件或用戶名和密碼,可訪問MySQL和PostgreSQL等數(shù)據(jù)庫
-
Docker Hub密碼,如果未激活MFA(多因素身份驗證),可能會導(dǎo)致帳戶被接管
下圖為開源項目賬戶泄露的分布情況:
數(shù)千個GitHub令牌泄露
Aqua Security研究人員補充說:
我們發(fā)現(xiàn)了數(shù)千個GitHub OAuth令牌??梢钥隙ǖ丶僭O(shè)其中至少有10-20%是有效可用的,特別是那些在最近的日志中發(fā)現(xiàn)的。我們在云實驗室中模擬了一個橫向移動場景,它基于這個初始訪問場景:
1.通過公開的Travis CI日志提取GitHub OAuth令牌。
2.使用公開的令牌在私有代碼存儲庫中發(fā)現(xiàn)敏感數(shù)據(jù)(即AWS訪問密鑰)。
3.使用AWS S3存儲桶服務(wù)中的AWS訪問密鑰進行橫向移動嘗試。
4.通過枚舉發(fā)現(xiàn)云存儲對象。
5.數(shù)據(jù)從目標(biāo)的S3泄露到攻擊者的S3。
對于Aqua Security的安全報告,Travis CI目前沒有公開回復(fù)。鑒于這種暴露的反復(fù)出現(xiàn),開發(fā)人員應(yīng)定期主動輪換訪問令牌和其他憑據(jù)。此外,還應(yīng)該定期掃描代碼工件,以確保它們不包含憑據(jù)。