請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

科技

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

T客邦

更新於 2019年02月25日08:02 • 發布於 2019年01月18日07:00 • 國寶大師 李文恩

Google在資安部落格分享了防範Android作業系統上潛在有害App(Potentially Harmful Applications,以下簡稱PHA)的經驗,以會在設備上取得Root權限的Zen家族PHA為例說明,也提到Google Play Protect會透過靜態分析、動態分析和機器學習等多種方式檢測PHA,以保障使用者的安全。

解析以廣告為主的PHA

要在茫茫App海中揪出PHA不是個簡單的工作,而要找出PHA與其他App的關連性就更難了,更遑論PHA的作者多半會隱藏惡意程式碼與相關跡象,讓追查難度雪上加霜。

而在2013年4月,Google的研究人員發現了第1起使用動態程式碼的案例(在App安裝好後,才從遠端來源下載執行程式碼),這讓界定PHA變得更加艱難,當初這個案例僅會顯示來自不同來源的廣告,而現今的變種PHA則更聚焦於點擊欺詐(Click Fraud,透過程式對廣告進行惡意點擊,以詐領廣告費)甚至是具有Root能力。不過幸好危險性高的Root攻擊不是那麼有利可圖,所以反而點擊欺詐的PHA比較多。

隱藏於App中的廣告SDK可以歸類為最簡單的PHA,它可以讓作者將第三方廣告植入App,甚至可以直接銷售廣告、收集顯示與點擊次數等統計資料,以獲取利潤。

研究人員表示這類PHA主要可以分成2種形式,第1是濫竽充數的遊戲,這類PHA大多模仿、抄襲熱門遊戲,但遊戲品質非常低,其真正功能在於顯示廣告。第2種則是直接盜用熱門遊戲,將原始檔案植入額外廣告後重新封裝,基本上遊戲內容與原版相同,但遊戲中會出現更多廣告。

點擊欺詐則是等級高一點的PHA,它會模擬使用者點擊廣告的動作,而不是單純顯示廣告並等待使用者點擊,這讓作者可以取得更高的利潤(通常點擊廣告的收益高於顯示廣告),但卻會對廣告商、投放者與使用者產生負面影響,因為投入的預算並沒有讓廣告真正被人看到,更別提顯示廣告所需消耗的網路流量與費用。

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置
分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

▲ 植入廣告SDK的PHA會透過自有C&C伺服器(可理解為攻擊者的遙控中心)作為中介並連結至廣告網路,以達到銷售廣告獲利的目的。(圖片來源:Google,下方無標示圖片亦同)

藏入系統的感染途徑

Zen家族是一系列PHA的總稱,Zen會在裝置上利用Root木馬程式取得Root權限,並透過輔助功能服務(Accessibility Service)以建立假冒的Google帳號。

Zen作者利用公開的Root工具框架製作Root木馬程式,試圖將裝置Root,並重新將自己安裝至系統分割區,讓使用者難以一般方式移除惡意程式。

值得慶幸的是,Zen的Root木馬程式只會感染特定型號的裝置中非常少數的系統版本,而且Android 4.4與更高版本的系統會透過開機驗證(Verified Boot)功能保護系統,所以這種攻擊手法只對Android 4.3以前的系統有效。

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置
分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

▲ 代號為Jelly Bean的Android 4.1~4.3.1與更早的版本會受到Zen影響。 (圖片來源:Flickr,本圖採用創用CC姓名標示分享,作者為Travis Wise)

下頁還有Zen如何建立假帳號的說明

自動建立假帳號

當裝置被感染之後,Zen就能取得系統中最高的Root權限,並會試著替換系統分割區中App的framework.jar檔案,以攔截和修改Android標準API的行為。這些惡意程式大多會在「Activity」分類中插入「statistics()」指令,以達到連接至C&C伺服器的目的。

當木馬程式永久進駐系統「落地生根」之後,就會透過網路下載額外程式酬載,其中就包括需要Root權限才能開啟輔助功能服務並正常運作的Zen惡意程式。

值得注意的是,Zen並不會檢查是否擁有Root權限,運作時只是假設擁有,並會依據不同的Android版本啟動3種不同Android API等級的輔助功能服務,並自動點擊對應按鈕,在不需使用者操作的情況下註冊新的Google帳號。當遇到CAPTCHA驗證時,惡意程式會將圖像擷取並回傳至遠端伺服器處理(研究人員尚無法推測會由伺服器中的程式或以人力方式進行驗證),如此一來就能在裝置上建立新帳號。

此外Zen還會透過Root權限在system_server處理程序中植入程式碼,試圖將自己隱藏起來,讓掃毒程式或無法掃描system_server的程式無法揪出,並會透過掛鈎(Hook) 以及稱為「Lmt_INJECT」的惡意程式碼防止裝置重新啟動、進入睡眠狀態,以及使用者在自動建立帳號的過程中按下實體按鍵。

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置
分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

▲ Zen可以在無人操作的情況下,自動建立Google帳號。

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置
分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

▲ Zen會透過「Lmt_INJECT」惡意程式碼感染裝置。

Zen流行期已過

PHA的作者的目標不外乎就是透過各種手段來賺取利潤(無論手法為何,最終的目的就是要賺錢),Zen家族的作者展示了從簡單地插入廣告SDK,到複雜的木馬程式等等不同的技術,其中最氾濫的就是點擊欺詐的PHA,在2018年2月最高峰時,安裝次數突破170,000次,以地理分布來看,受影響最嚴重的國家是印度、巴西和印尼,現在這些PHA已經全數被Google Play Protect偵測,並從Google Play網路商店中移除。

有趣的是,雖然Google Play Protect在偵測到PHA時會主動提出警告,但這類PHA大多是被使用者主動刪除,研究人員推測其原因可能是PHA本身的功能與品質太糟糕,所以使用者安裝、看看後就將它刪除了。

分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置
分析Android惡意App,瞭解Zen家族成員如何入侵你的裝置

▲ 在Google Play網路商店取得App,而不要安裝來路不明的App,至少可以做到第一線的防護,避免PHA入侵。

Google表示他們一直在防止新的威脅,並擴大保護範圍,已安裝Google Play的設備都包含整合於其中的Google Play Protect,Google官方也會定期掃描Google Play上的所有App,以確保使用者的安全。

想看小編精選的3C科技情報&實用評測文,快來加入《T客邦》LINE@

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0