CRYLOGGER 工具檢測出 306 個未修補 Android 應用程序加密漏洞
哥倫比亞大學的一個學術團隊開發了一種自定義工具,可以動態分析Android應用程序,并查看它們是否以不安全的方式使用密碼。
該工具名為CRYLOGGER,于2019年9月和10月用于測試1,780個Android應用程序,這些應用程序代表33個不同Play商店類別中最受歡迎的應用程序。
研究人員說,該工具檢查了26種基本加密規則(請參見下表),發現306個Android應用程序中存在錯誤。有些應用違反了一條規則,而另一些則違反了多條規則。
最壞的三個規則是:
- Rule #18 - 1,775 apps - Don’t use an unsafe PRNG (pseudorandom number generator)
- Rule #1 - 1,764 apps - Don’t use broken hash functions (SHA1, MD2, MD5, etc.)
- Rule #4 - 1,076 apps - Don’t use the operation mode CBC (client/server scenarios)
這些是任何密碼學家都非常了解的基本規則,但是某些應用程序開發人員在進入應用程序開發空間之前,如果沒有研究應用程序安全性(AppSec)或高級加密技術,可能不會意識到這些規則。

圖片:Piccolboni等。
306個應用開發人員中只有18個回復了研究團隊
哥倫比亞大學的學者表示,在測試了這些應用程序之后,他們還聯系了所有發現有漏洞的306個Android應用程序的開發者。
研究小組說:“所有的應用程序都很流行:它們的下載量從數十萬增加到超過1億。” “不幸的是,只有18位開發者回復了我們的第一封郵件,只有8位開發者多次回復了我們,并對我們的發現提供了有用的反饋。”
雖然在應用程序的代碼中存在一些加密錯誤,但在作為應用程序一部分使用的Java庫中也引入了一些常見的錯誤。
研究人員說,他們還與6個流行的Android庫的開發人員聯系,但就像以前一樣,他們僅從其中2個中獲得了答案。
由于沒有開發人員固定其應用程序和庫,因此研究人員避免發布易受攻擊的應用程序和庫的名稱,理由是可能會對應用程序的用戶進行利用。
CRYPTOGUARD的補充工具
總而言之,研究團隊相信他們已經構建了一個強大的工具,Android開發者可以可靠地使用它作為CryptoGuard的補充工具。
這兩個工具是互補的,因為CryptoGuard是靜態分析器(在執行之前分析源代碼),而CRYLOGGER是動態分析工具(在執行過程中分析代碼)。由于兩者的工作水平不同,因此學者認為這兩種方法都可以用于在應用程序代碼擊中用戶設備之前檢測Android應用程序中與密碼學有關的總線。
就像CryptoGuard一樣,CRYLOGGER的代碼也可以在GitHub上獲得。