Google Play函式庫漏洞可使Android App被惡意程式注入

Google已在今年4月修補此漏洞,但按照SandBlast Mobile的研究,9月間Google Play Store上App所使用的函式庫版本,僅13%使用新版本,8%用的是有漏洞的版本

Check Point研究人員調查,許多知名App都會使用到的Google Play Store,存在一項函式庫本機程式碼執行漏洞 ,可能讓Android App被注入惡意程式碼,造成網銀密碼或個資被竊取。

Google Core for Android函式庫是受歡迎的App函式庫,允許將App元件,如語言資源、功能模組或更新透過Google API下載到手機自動執行,而不需要用戶動作,它也可以下載為特定手機和設定最佳化的資源(如圖片大小、處理器架構、動態模組)以縮減apk的檔案大小。許多知名App包括臉書、Chrome、WhatsApp等都使用Google Play Core函式庫。

另一個關鍵在於Android沙箱的設計。為了確保Android手機不會任意執行惡意程式,每個Android應用程式的沙箱中都有2個資料夾,一個接收來自Google Play Store的「經驗證」檔案,另一個則接收其他資料源的「未驗證」檔案。由Play Store而來的檔案寫入經驗證資料夾後,就會和Google Play Core函式庫互動,而自動執行。其他來源的檔案送到App沙箱,就會寫入未驗證資料夾中,且不會由Core函式庫自動執行。

Check Point研究單位OverSecured解釋,編號CVE-2020-8913的漏洞即出在Core函式庫未能分辨合法或非法檔案,讓攻擊者運用跨路徑穿越(path traversal)手法進行攻擊。當檔案來源網站欲將檔案推送到手機中某個App時,需要提供寫入的檔案路徑,這時如果攻擊者提供../verified_splits/my_evil_payload.apk進行跨路徑穿越,就能將惡意執行檔模組(my_evil_Payload.apk)透過Core 函式庫寫入到驗證資料夾,然後注入到App中並自動執行。

研究人員指出,結果即是讓合法App變成本機攻擊武器,可能引發的攻擊包括在網銀App注入程式碼以竊取帳密,利用簡訊存取權竊取雙因素驗證碼、藉企業App存取公司資源、利用社交App以監看用戶行為、追蹤裝置所在、或是在訊息App注入程式碼,以竊取資訊或冒充用戶發訊息等。

Google已在今年4月6日修補Google Play Core函式庫漏洞。問題是,修補程式必須由開發商推送到用戶手機上的App,而不像伺服器或雲端App那麼容易修補。對用戶端App而言,每一家開發商都必須要拿到最新版函式庫,再插入到App中。

根據SandBlast Mobile的分析,9月間Google Play Store上App所使用的函式庫版本,僅13%使用新版本,8%用的是有漏洞的版本。

Check Point上周公布,多款App受CVE-2020-8913漏洞影響,包括Viber、Booking、Cisco Teams、Microsoft Edge瀏覽器、OkCupid、Grindr、Xrecorder及威力導演PowerDirector等。不過Viber、Booking、Cisco及Grindr已在周末前解決漏洞。

向上滑動