Google 2017年12月的Android安全公告中提到了一個漏洞,該漏洞能讓攻擊者繞過應用程序簽名驗證并將惡意代碼注入Android應用程序。
移動安全公司GuardSquare的研究團隊發現,該漏洞存在于Android操作系統讀取應用程序簽名的機制中。
漏洞編號
CVE-2017-13156
漏洞等級
高危(High)
影響范圍
5.1.1
6.0
6.0.1
7.0
7.1.1
7.1.2
8.0
漏洞詳情
來自GuardSquare公司的研究人員表示,Android操作系統會在各個位置檢查字節,以驗證文件的完整性。
對于APK和DEX文件,這些字節的位置是不同的,研究人員發現他們可以在APK中注入DEX文件,Android操作系統仍然會認為它正在讀取原始的APK文件。
這是因為DEX的插入過程不會改變Android檢查完整性的字節,而且文件的簽名也不會改變。研究人員把這個漏洞稱為Janus。
此外,由于更新后的應用程序會繼承原來應用程序的權限,所以通過這種方法,惡意軟件可以通過替換應用來獲取敏感權限。
Janus攻擊的唯一不足之處在于,它不能通過在官方Play商店中推送惡意更新,攻擊者必須讓用戶到第三方應用商店安裝更新。
根據GuardSquare的報告,Janus漏洞只影響使用v1簽名方案簽名的應用程序。使用簽名方案v2簽署的應用不受影響。
另外,Janus僅影響運行Android 5.0及更高版本的設備。
漏洞補丁
Google已經推送更新,其他廠商應該也會陸續推送。(由于Android系統眾所周知、飽受詬病的碎片化問題,手機廠商的推送往往要等候多時,我們也會持續跟進進展。)