圖片來源: 

Jason Pofahl on unsplash

安全廠商Aqua Security發現,持續整合服務平臺Travis CI免費版的防護缺失,致用戶Log資料曝光,並危及存取GitHub、AWS和Docker Hub等雲端服務的登入憑證。而這已是該業者近年來第三次安全事件。

Aqua Security下的Team Nautilus近日測試發現,Travis CI API可使攻擊者存取免費版本用戶的log,超過7.7億筆log因此曝光,從中可以很輕易取得用戶存取其他雲端服務如GitHub、AWS、Docker Hub、PostgreSQL的權杖(user token)、密碼或其他登入憑證。這些機密資料可讓攻擊者發動大規模攻擊,或是在雲端橫向移動。

這至少是Travis CI近年來第三次見報的安全疏漏。前兩次分別在2015年及2019年。2015年該公司公告其公開API遭分散式攻擊,洩露GitHub驗證權杖。2019年一群研究人員則展示可取得Travis CI在內雲端服務業者的用戶憑證。但這些漏洞似乎從未修補。

Aqua Security的研究中,研究人員發現2個API call讓他們得以取得明碼的log ,再搭配列舉指令,取得大量log。他們一共取得7.74億筆log,時間從2013年1月到今年5月。研究人員以其中1%、約800萬個log進行測試,成功找到7.3萬筆權杖、密碼或其他憑證,包括知名雲端服務如GitHub存取權杖、AWS金鑰、MySQL、PostgreSQL憑證、Docker Hub密碼等資訊。

研究人員也利用從中找到的GitHub OAuth權杖、AWS S3 bucket金鑰,模擬出在雲端橫向移動,完成目標AWS S3 bucket洩密的攻擊。其他可能攻擊還包括竊取原始碼、駭入程式碼儲存庫完成軟體供應鏈。

或許有些資料已被用於其他攻擊中。4月間GitHub對用戶警告,由於Heroku及Travis-CI的OAuth使用者權杖外洩,導致平臺上某些npm私有儲存庫被駭客存取。

研究人員指出,Travis CI的確有採取混淆手法(obfuscation)包括憑證資訊,也提供防資料外洩的建議,但他們結合API、存取特定受限制的log及防堵不周的缺失,而得以取得用戶資料。研究人員很快向Travis CI通報,但得到的回應是,這不是漏洞,而是設計原意如此(by design)。

研究人員同時也將發現告知上述相關雲端業者,幾乎所有業者都立即回應,一些廠商啟動金鑰的輪換(rotate)、另一些則證實至少一半曝光的用戶憑證是有效的。還有業者提供了抓漏獎金。

針對開發人員,安全廠商建議採用安全防護措施,包括建立金鑰、權杖等憑證的輪換政策、金鑰及權杖皆使用最小權限、定期掃瞄CI/CD環境的安全設定、也不要將密碼或權杖、金鑰資料明文儲存在log中。

熱門新聞

Advertisement