行動裝置熱門遊戲要塞英雄(Fortnite)近日被Google安全團隊揭露,其安裝器存在嚴重漏洞,極易被駭客利用來入侵用戶手機。Google點名三星裝置因為其專有的API,讓駭客有機可乘利用設計不良的要塞英雄安裝器,進行磁碟人(Man-in-the-disk,MITD)攻擊,讓用戶在不知不覺中安裝惡意程式。8月15日遊戲公司Epic Games獲Google通知後,已經完成漏洞修補,但Epic Games執行長隨後也向媒體抱怨,認為Google太快揭露漏洞細節,可能影響未更新的用戶端。

Android玩家在Google Play上下載的要塞英雄應用程式並非遊戲本體,而是遊戲的下載器,想要遊玩要塞英雄的玩家,都必須先到Google Play下載遊戲安裝應用程式,接著透過瀏覽器到Epic Games下載遊戲本體並進行安裝。這樣的Android應用程式發布方式並非典型的作法,而且存在風險,玩家必須要自己確認是從Epic Games網站下載應用程式,而非一個可能是偽造的遊戲網站,才同意未知來源APK的安裝。

手機上的應用程式會依造請求從網路上下載內容,駭客只要攔截該請求,就能用來下載任意的惡意程式,而且原本發出請求的應用程式並不會知道下載的內容遭到置換,甚至會主動啟動惡意程式。Google的安全團隊發現,駭客要攔截要塞英雄安裝器發出的遊戲下載請求並不難,而且安裝器也不知道下載回來的檔案是否安全。

駭客能夠藉此發動磁碟人攻擊,這種攻擊方法就像是駭客躲藏在儲存空間中一樣,遊戲安裝器下載回來的APK檔案,可能會被第三方應用程式置換成惡意軟體。不過,這個漏洞目前僅發生在三星裝置上,根據Google的安全報告,在三星手機上,要塞英雄安裝器使用了三星專有的應用程式API,三星的API會將下載的檔案存在Android的外部貯存器(External Storage)中,而由於外部貯存器輔助空間是供眾多應用程式共享的硬體資源,因此只要WRITE_EXTERNAL_STORAGE屬性設為允許,則應用程式便能將資料放進外部貯存器中,但這也是問題所在。

三星的API僅檢查正在安裝的APK是否與套件名稱com.epicgames.fortnite相符,而在Android上套件名稱安全性並不高,輕易就可以創建一個通過這項檢查的應用程式,因此惡意的應用程式可以等待Fortnite安裝程式下載更新完成後,在安裝開始之前,換掉com.epicgames.fortnite這個APK,要塞英雄安裝器便會不疑有他的安裝惡意的應用程式,而且當APK的targetSdkVersion為22,也就是Android 5.1 Lollipop或更低版本,將被授權安裝過程需要的任何權限,甚至不需要用戶同意。

Google於8月15日私下知會了Epic Games該漏洞,Epic Games也在第二天釋出漏洞更新啟動器2.1.0版,而正如Google建議的,Epic Games修補該漏洞的方法,就是把原本預設儲存從公共外部儲存移動到內部儲存。

這個漏洞也曝露了兩間企業的微妙關係,Epic Games為了規避Google Play商店程式內購買30%的抽成,僅在商店中發布安裝器,遊戲本體則由自家發布,這無疑是影響了Google的營收,同時也讓Android用戶面臨安全威脅。Google在確定Epic Games完成漏洞修部後,隨即公開了漏洞細節,而這個動作引來Epic執行長Tim Sweeney的批評。

Tim Sweeney向外國媒體Mashable抱怨,雖然他們很感謝Google在要塞英雄發布Android版本後,隨即進行安全審核,並且也向他們報告了漏洞細節,幫助他們更新修復應用程式,但是Google揭露漏洞的技術細節過程並不負責任,有許多裝置尚未更新到要塞英雄最新版本,仍然容易受到攻擊,Epic Games曾要求Google延遲90天公開漏洞,但受到Google的拒絕。Tim Sweeney認為,Google不能因為Epic Games在Google Play商店外發布遊戲,就把使用者的安全拿來作為反擊的武器。


Advertisement

更多 iThome相關內容