在五月初的時候,發生數個來自GitHub、GitLab及Bitbucket的Git程式碼託管平臺的用戶,遭清空程式碼儲存庫並勒索的事件,現在這三個服務業者聯合發表聲明,提到所有平臺都未遭到入侵,用戶是因為無意間洩漏憑證才導致被勒索,因此他們也在這個聲明說明了用戶管理帳戶的最佳安全實踐。

GitHub、GitLab及Bitbucke已經通知並幫助受影響的用戶恢復其程式碼儲存庫,而且為了Git社群的生態系安全,也共同合作調查事件的原委。他們收到用戶的回報後便立即展開調查,發現所有受到勒索的用戶帳號,都是遭使用合法憑證包括密碼、應用程式密碼、API金鑰以及個人存取令牌(Token)進行存取,駭客在取得憑證後,接著疑似採取自動化的方法,用極快的速度執行Git命令存取這些帳戶,並以贖金支付資訊覆蓋原本儲存庫的內容,最後刪除遠端提交的歷史紀錄。

這些Git服務供應商立即暫停了這些用戶活動,撤銷或重置憑證,以防止進一步惡意行為發生。在調查的過程中,他們發現有一個第三方憑證轉儲託管服務供應商,洩露了三分之一受影響的帳戶憑證。另外的敏感資料憑證洩漏,則是因為在公開的網頁伺服器或是儲存庫暴露了.git/config所致,聲明提到,這並不是新出現的問題,用戶不應該在公共儲存庫或網頁伺服器上,公開憑證與包含令牌的.git/config檔案。

聲明中建議用戶啟用多因素驗證以保護帳戶,並且為每一個服務都設置強健且唯一的密碼,避免當第三方洩漏敏感資料的時候,用戶的其他服務也受到影響,聲明中也提到,在組織許可的情況下,用戶應該使用密碼管理工具。

另外,聲明也警告個人存取令牌有其風險,由於透過Git或是API使用個人存取令牌會繞過多因素驗證程序,且依照令牌權限設定不同,可能具有讀取和寫入的儲存庫的能力,應該要被當作密碼管理,否則使用上可能存在安全性風險。而且當使用者在Clone URL中輸入令牌,則Git會以明文的方式將令牌寫到.git/config檔案中,因此當.git/config公開就可能會被惡意使用。聲明也提醒用戶,在使用API時,應切記將令牌作為環境變數方式,而不是寫死到程式碼裡。


Advertisement

更多 iThome相關內容