據(jù)外媒報道,谷歌上周修補了四十多個安全漏洞,其中一個高危漏洞允許黑客繞過簽名驗證機(jī)制向Android應(yīng)用程序注入惡意代碼,以便惡意版本能夠覆蓋智能手機(jī)上的合法應(yīng)用程序。目前,有數(shù)以百萬計的Android設(shè)備面臨著漏洞造成的嚴(yán)重風(fēng)險。
這個被稱為Janus 的漏洞由 GuardSquare 公司首席技術(shù)官Eric Lafortune在今年夏季發(fā)現(xiàn),他于7月份向谷歌報告了這個漏洞 ( cve -2017- 13156 ),谷歌12月初發(fā)布的Android安全公告中顯示,該漏洞在上周四已被修補。
Android Janus 漏洞工作方式研究顯示,這個漏洞駐留在 Android 系統(tǒng)為一些應(yīng)用程序處理APK安裝的方式中,使得開發(fā)者可在APK文件中添加額外的字節(jié)代碼而不影響應(yīng)用程序的簽名。通過研究發(fā)現(xiàn),由于缺少文件完整性檢查,這種添加額外字節(jié)的代碼的情況將允許黑客以DEX格式編譯的惡意代碼添加到包含具備有效簽名的合法APK中,以便在目標(biāo)設(shè)備上執(zhí)行惡意代碼而不被發(fā)現(xiàn),便于欺騙程序安裝過程。換句話說,黑客并不需要修改合法應(yīng)用程序本身的代碼(使簽名無效),而是利用這個漏洞向原始應(yīng)用程序添加一些額外的惡意代碼行即可。
當(dāng)用戶下載應(yīng)用程序的更新時,Android 會在運行時將其簽名與原始版本的簽名進(jìn)行比較。如果簽名匹配,Android系統(tǒng)將繼續(xù)安裝更新程序,更新后的應(yīng)用程序繼承原始應(yīng)用程序的權(quán)限。因此,一旦安裝了受感染的應(yīng)用程序,黑客將擁有與原應(yīng)用程序相同的系統(tǒng)權(quán)限。這意味著黑客可能竊取銀行證書、讀取消息或進(jìn)一步感染目標(biāo)設(shè)備。
攻擊場景黑客可以使用各種媒介(如垃圾郵件、提供虛假應(yīng)用程序和更新的第三方應(yīng)用程序商店、社會工程,甚至是中間人攻擊)傳播包含惡意代碼的“合法的應(yīng)用程序”。GuardSquare公司表示,從銀行應(yīng)用程序、游戲到Google地圖等都可能成為 Janus 漏洞利用者的目標(biāo)。此外,從第三方應(yīng)用程序商店下載的 Android APKs,比如社交媒體或者系統(tǒng)應(yīng)用程序等也可能成為攻擊目標(biāo)。
修補方式雖然目前谷歌已經(jīng)修補了Janus漏洞,但在設(shè)備制造商(OEM)為其發(fā)布自定義更新之前,大多數(shù)Android用戶的系統(tǒng)漏洞都將無法獲得修復(fù),顯然大量智能手機(jī)用戶還是很容易受到黑客的攻擊。
GuardSquare稱,受影響的是運行比Nougat(7.0)更早的Android操作系統(tǒng)版本以及任何支持APK簽名方案v1的Android設(shè)備。由于此漏洞不會影響支持APK簽名方案版本2的Android 7( Nougat )和最新版本,因此強烈建議運行較舊Android版本的用戶升級其設(shè)備操作系統(tǒng)。但如果你的設(shè)備制造商既沒有提供安全補丁,也沒有最新的Android版本,那么你就應(yīng)該時刻保持警惕,盡量不要在谷歌的Play Store之外安裝應(yīng)用程序和更新,以最大限度地降低被黑客攻擊的風(fēng)險。
此外,GuardSquare 還建議,為了安全起見 Android 開發(fā)人員需要應(yīng)用簽名方案 v2,以確保他們的應(yīng)用程序不能被篡改。