安全廠商Aqua Security發(fā)現(xiàn),持續(xù)集成服務(wù)平臺Travis CI免費(fèi)版的防護(hù)缺失,致用戶Log資料曝光,并危及訪問GitHub、AWS和Docker Hub等云計算服務(wù)的登錄憑證。而這已是該企業(yè)近年來第三次安全事件。
Aqua Security下的Team Nautilus近日測試發(fā)現(xiàn),Travis CI API可使攻擊者訪問免費(fèi)版本用戶的log,超過7.7億筆log因此曝光,從中可以很輕易取得用戶訪問其他云計算服務(wù)如GitHub、AWS、Docker Hub、PostgreSQL的權(quán)限(user token)、密碼或其他登錄憑證。這些機(jī)密資料可讓攻擊者發(fā)動大規(guī)模攻擊,或是在云計算橫向移動。
這至少是Travis CI近年來第三次見報的安全疏漏。前兩次分別在2015年及2019年。2015年該公司公告其公開API遭分布式攻擊,泄露GitHub驗(yàn)證權(quán)限。2019年一群研究人員則展示可取得Travis CI在內(nèi)云計算服務(wù)企業(yè)的用戶憑證。但這些漏洞似乎從未修補(bǔ)。
Aqua Security的研究中,研究人員發(fā)現(xiàn)2個API call讓他們得以取得明碼的log,再搭配枚舉指令,取得大量log。他們一共取得7.74億筆log,時間從2013年1月到今年5月。研究人員以其中1%、約800萬個log進(jìn)行測試,成功找到7.3萬筆權(quán)限、密碼或其他憑證,包括知名云計算服務(wù)如GitHub訪問權(quán)限、AWS密鑰、MySQL、PostgreSQL憑證、Docker Hub密碼等資訊。
研究人員也利用從中找到的GitHub OAuth權(quán)限、AWS S3 bucket密鑰,模擬出在云計算橫向移動,完成目標(biāo)AWS S3 bucket泄密的攻擊。其他可能攻擊還包括竊取源碼、黑入程序代碼存儲庫完成軟件供應(yīng)鏈。
或許有些資料已被用于其他攻擊中。4月間GitHub對用戶警告,由于Heroku及Travis-CI的OAuth用戶權(quán)限外泄,導(dǎo)致平臺上某些npm私有存儲庫被黑客訪問。
研究人員指出,Travis CI的確有采取混淆手法(obfuscation)包括憑證資訊,也提供防資料外泄的建議,但他們結(jié)合API、訪問特定受限制的log及防堵不周的缺失,而得以取得用戶資料。研究人員很快向Travis CI通報,但得到的回應(yīng)是,這不是漏洞,而是設(shè)計初衷如此(by design)。
研究人員同時也將發(fā)現(xiàn)告知上述相關(guān)云計算企業(yè),幾乎所有企業(yè)都立即回應(yīng),一些廠商啟動密鑰的輪換(rotate)、另一些則證實(shí)至少一半曝光的用戶憑證是有效的。還有企業(yè)提供了漏洞挖掘獎金。
針對開發(fā)人員,安全廠商建議采用安全防護(hù)措施,包括創(chuàng)建密鑰、權(quán)限等憑證的輪換政策、密鑰及權(quán)限皆使用最小權(quán)限、定期掃描CI/CD環(huán)境的安全設(shè)置、也不要將密碼或權(quán)限、密鑰資料明文存儲在log中。