GitLab釋出敏感資料搜尋工具Token-Hunter,是自家紅隊(Red Team)所開發的安全工具,讓使用者搜尋不小心在公開論壇洩漏的敏感資訊,這些敏感資訊可能是跟隨日誌或是程式碼片段,一起流出的API令牌、使用者帳號以及密碼等資訊。

由於GitLab想調查那些用戶無意共享,但是意外洩露的敏感資訊,會被以什麼樣的方式用在攻擊行動上,但是因為苦無可用的工具,於是GitLab的紅隊便自己打造了Token-Hunter。紅隊指得是組織為了要以敵對視角,改善自家服務或是安全性所成立的團隊,紅隊通常能夠有效地幫助組織克服偏見並增加解決問題的能力。

不少網際網路服務的企業,都以多種形式提供用於身份驗證的API令牌,讓用戶與其系統互動,這些令牌為封閉系統提供可配置的存取控制,無論是開發、DevOps或是基礎設施相關人員,都仰賴API令牌來完成工作。

而API令牌卻可能在不經意下洩漏,像是在共享環境中建置軟體,開發者常犯的錯誤便是提交API令牌到程式碼儲存庫中,目前已經有常見的工具,諸如gitrob、TruffleHog、gitleaks,甚至是GitLab自家對的SAST專案,都可用來尋找這類在程式碼中,無意洩露的敏感資訊。

還有另一種可能洩漏敏感資訊的管道,便是在公共論壇例如GitLab Snippets、Issues與相關討論區,開發者在討論過程因共享日誌或配置文件,不小心洩漏API令牌、帳號與密碼等敏感資料,而更糟的情況,是這些資訊可能被惡意使用。

Token-Hunter的目的便是要來解決這樣的問題,Token-Hunter會搜尋GitLab Issues與相關的討論來尋找敏感資料,由於GitLab Issues與評論是開發者共享訊息與解決問題的重要方法之一,開發者時常會張貼日誌資料、配置文件或是複製貼上程式碼,以便與GitLab員工或是客戶討論,而這些資料有可能包含敏感資料。

Token-Hunter也會搜尋GitLab Snippets尋找敏感資料,在GitLab Snippets中可以透過URL共享程式碼片段與文字,方便在GitLab用戶間直接分享程式碼,而這個功能最常被用來分享配置資料、JavaScript程式碼、任何語言的範例程式碼以及日誌資料,而這些資料都可能包含敏感資訊。

另外,Token-Hunter接受HTTP代理伺服器參數,和自簽章憑證以解密TLS流量,GitLab紅隊用這個功能為自家安全營運團隊紀錄流量模式樣本,幫助制定防禦政策。而且透過檢查工具產生的流量,也可以方便地用於應用程式除錯。

官方提到,Token-Hunter與其他工具相比,主要的優點是能夠搜尋可能共享敏感資料的討論區和常見頻道。GitLab仍持續改進這項工具,未來將調整輸出格式,使結果更容易使用,並加入即時搜尋報告功能,讓即便是需要較長時間的搜尋工作,用戶也能更快地看到結果。


Advertisement

更多 iThome相關內容