《 手機病毒》防止被移除 、收集Google帳號  、點擊FB廣告….. 覆蓋攻擊(Toast Overlay)再進化

趨勢科技發現有新的Android惡意軟體會利用Toast 覆蓋攻擊在行動設備上偷偷安裝惡意軟體:TOASTAMIGO,趨勢科技將其偵測為ANDROIDOS_TOASTAMIGO。其中一個惡意應用程式到2017年11月6日為止已經被安裝了10萬到50萬次,利用Android輔助功能讓它們至少能夠做到廣告點擊、安裝應用程式和自我保護/持久性功能。

覆蓋攻擊意指在其他執行中的應用程式、視窗或程序上疊加Android視圖(即圖像或按鈕)。一個典型的Toast覆蓋攻擊範例是用它來誘騙使用者點擊攻擊者所指定的視窗或按鈕。這種技巧在今年初被證實,利用的是Toast的一個漏洞(CVE-2017-0752,在去年九月修補),Toast是Android用來在其他應用程式之上顯示通知的功能。

TOASTAMIGO是我們第一次看到將這概念用來實際攻擊的案例。而就像之前的許多例子一樣,我們一定會看到此類威脅(以及它所下載/安裝的其它惡意軟體)的再進化(因為這次惡意軟體的能力相對較低調)或被其它網路犯罪份子所模仿。Android除了最新8.0(Oreo)以外的所有版本都會受到影響,所以使用早期版本的使用者也必須更新和修補自己的設備。

圖1:Toast覆蓋攻擊如何運作的範例:一個正常圖像(左)被疊加了惡意軟體所觸發的實際動作,比如請求輔助權限

圖2:Google Play上的惡意應用程式

 

感染鏈

這惡意軟體很諷刺地偽裝成合法的安全應用程式,應該會透過安全碼來保護設備上的應用程式。在安裝時,這些應用程式會通知使用者需要輔助功能權限來讓它運作。這是因應Android需要使用者明確授與權限的作法。授予權限後,應用程式會啟動一個看似“分析”應用程式的視窗。但在背後這應用程式會執行動作或命令,包括安裝其他的惡意軟體(因為它已經擁有權限)。

圖3:惡意軟體執行截圖

技術分析

惡意應用程式在放上Google Play前已經被封裝,如下圖所示。注意封裝結構內的字串:“amigo”和“goami”在“com”底下,表示這兩個應用程式來自同一個開發者。

圖4:惡意軟件的封裝結構

 

Toast覆蓋攻擊是在應用程式聲稱“分析未受保護的應用程式”時進行。下圖顯示出這功能的程式碼。這其實是個TOAST類型視窗,在惡意軟體內設定為全螢幕:

  • type值2005 是TYPE_TOAST
  • SystemUiVisibility值1280代表SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE
  • flags值代表FLAG_FULLSCREEN和FLAG_NOT_FOCUSABLE

圖5:顯示應用程式如何利用Toast覆蓋的程式碼片段

 

要發動覆蓋攻擊,惡意應用程式通常需要“draw on top”的權限;Android一直到6.0(Marshmallow)都是這樣,如果從Google Play安裝才不用。但我們發現Toast覆蓋攻擊會影響Android除了8.0(Oreo)以外的所有版本,因為惡意軟體所利用的這項技術不需要特定權限或條件。

 

執行惡意任務

趨勢科技在分析應用程式程式碼時更名了部分關鍵功能以增進可讀性。功能 doBackgroudTask.getInstance((Context)this).doTask協助某些任務在背景執行,並被用來在不同的Android版本上跳過各種警告對話框。

圖6:惡意軟體背景任務的程式碼片段(反白處)

 

這惡意軟體在Toast視窗背後會執行多種功能,包括不讓自己從設備被移除:

  • photos.android.helper:下載指定的Android應用程式套件(APK)
  • force_stop_MC:強行停止行動安全應用程式
  • bgAsprotectDialog:準備應對對話框提示,如“未知來源”
  • bgAutoInstallPage_4:經由輔助功能安裝APK
  • Accessibility:替其他APK開啟輔助功能權限

 

這些功能維護惡意軟體的核心服務:

  • bgGpAutoProtect:保持自己不被移除
  • bgAsprotectDialogbgAsprotectPage_4:維持輔助功能權限

 

下載和安裝的應用程式名為com.photos.android.helper,套件名稱com.vpn.free.migovpn。我們將其更名為AMIGOCLICKER(ANDROIDOS_AMIGOCLICKER):TOASTAMIGO具備廣告點擊行為的支脈。AMIGOCLICKER在啓動器(Launcher)內看不見,而是出現在系統的輔助應用程式列表。

圖7:AMIGOCLICKER出現在受感染設備的輔助應用程式列表

 

AMIGOCLICKER可以透過註冊的廣播接收器(broadcast receiver)來自動啟動。它也可以經由TOASTAMIGO呼叫AMIGOCLICKER的輸出服務執行,如下圖所示。

圖8:AMIGOCLICKER的輸出服務

圖9: AMIGOCLICKER服務被呼叫執行的程式碼截圖

強制停止行動安全應用程式 防止應用程式被移除 收集受害者的Google帳號  點擊載入的Facebook廣告

AMIGOCLICKER也被封裝過,我們分析研究了其輸出的核心服務。它首先存取一個遠端伺服器來取得最新的控制資訊。然後根據裝置現在的網路連線來提供代理伺服器,這有助於某些地區連上原本無法連上的地方如AdMob和Facebook。底下是AMIGOCLICKER的主要行為,這和TOASTAMIGO有些相似之處:

  • force_stop:強制停止行動安全應用程式
  • open_device_manager:開啟設備管理員來防止它被移除
  • bgDeviceDeactivate:防止設備管理員被關閉
  • bgGpAutoProtect:防止應用程式被移除
  • autoUninstall_setting:移除特定套件
  • bgAsprotectDialog:維持輔助功能權限
  • bgAsprotectPage_4:維持輔助功能權限
  • bgAutoCancelDialog:在系統警告對話框點擊取消按鈕
  • bgAutoUninstallOnDesktop:在系統警告對話框點擊移除按鈕
  • bgAutoSureDialog:接收特定系統對話框時點擊一個按鈕
  • collect_gp_account:收集受害者的Google帳號
  • bg_auto_click_fb:點擊載入的Facebook廣告
  • gp_search_input_aso動作一:在Google Play輸入和搜尋
  • gp_search_input_aso動作二:在Google Play給予自己五星評價

 

緩解措施

惡意軟體的這些惡意功能加上相對獨特的攻擊載體讓它們具備了相當程度的威脅。事實上,上述的功能可以被修改來做進一步的網路攻擊。因為TOASTAMIGO和AMIGOCLICKER可以利用Android的輔助功能來做到幾乎任何事情,這惡意軟體可以接收遠端伺服器命令來更新自己。

Google已經在九月Android安全通告中修補了進入點(Toast覆蓋)。建議使用者要修補自己的作業系統,更重要的是要養成良好的手機安全習慣,特別是當手機有參與公司自帶設備(BYOD)計劃的時候。除了Nexus和Pixel之外的Android設備更新仍然呈現碎片化,不過使用者可以聯繫設備廠商來詢問是否有更新。

我們已將將這些發現通知了Google,他們迅速地移除了Google Play上的惡意應用程式。同時也在附錄內提供了入侵指標(IoC)。

 

趨勢科技的解決方案

趨勢科技行動安全防護Android版(可從Google Play下載)可以封鎖利用此漏洞的惡意應用程式。一般用戶和企業也可以利用多層次安全防護功能來保護設備上的資料和隱私,免於勒索病毒、詐騙網站及身份竊盜等威脅。

對企業來說,趨勢科技的行動安全防護企業版提供設備、合規性和應用程式管理,資料保護和設定配置,還可以保護裝置來對抗漏洞攻擊,防止應用程式未經授權存取以及偵測和封鎖惡意軟體和詐騙網站。

趨勢科技的行動應用程式信譽評比服務(MARS)採用業界領先的沙箱和機器學習技術來涵蓋Android和iOS平台上的威脅。保護使用者來對抗惡意軟體、零時差和已知漏洞攻擊、隱私外洩和應用程式漏洞。

 

@原文出處:Toast Overlay Weaponized to Install Several Android Malware 作者:Lorin Wu(行動威脅分析師)

延伸閱讀:Android用戶,你以為按下的是“確定”嗎? 當心Toast 覆蓋攻擊的隱藏按鈕,默默接管手機權限!