Truffle Hog可以在源代碼存儲庫內找到20個字符或以上的訪問令牌和密鑰
安全研究人員開發了一種新工具,這一工具可以自動檢測軟件項目中已被硬編碼的敏感訪問密鑰。
這種名為Truffle Hog( https://github.com/dxa4481/truffleHog )的工具由美國研究員迪倫·艾雷用Python語言開發。它可以通過掃描源代碼庫里包含20以上字符的高熵值的字符串來搜尋硬編碼的訪問密鑰。高香農熵,即我們通常所說的信息熵,得名于美國數學家克勞德·E·香農,它包含一定程度的隨機性,這使它適合用于類似“訪問令牌”等需要加密的信息。
軟件項目各類服務里的硬編碼訪問令牌是公認的安全風險,黑客不需費太多力氣便可獲取。而且這種情況很常見。
2014年,一名研究者發現GitHub的可公開訪問代碼中遺留有近萬的亞馬遜的網絡服務和彈性計算云的訪問密鑰。亞馬遜自此開始搜尋并清除GitHub中此類密鑰。
2015年,Detectify的研究人員在GitHub項目中發現了1500個開發人員硬編碼產生的Slack令牌,其中很多令牌泄露了團隊在Slack上的內部共享的聊天歷史、文件、私人信息等敏感數據。
2015年,位于德國達姆施塔特的工業大學和弗勞恩霍夫信息安全研究所主持了一項研究,研究發現了存儲在Android和iOS應用程序里的超過1000個后端即服務(BaaS)框架的訪問憑證。通過這些憑證可以獲得1850萬條記錄,其中包括存儲在Facebook Parse、CloudMine或亞馬遜網絡服務等BaaS提供商的5600萬數據項。
艾雷描述Truffle Hog時說,該工具將深入挖掘一個項目的提交歷史和分支。它會評估為每一個使用base64編碼和16進制所表示的大于20字符的字符串的香農熵。
該工具可在GitHub上下載,運行時需要加載GitPython庫。公司和獨立開發者可以趕在黑客之前,用它來檢查自己的軟件項目。