85 款假冒拍照軟體與遊戲的App ,誘使Android用戶下載蓋版惡意廣告, 累計安裝超過 800 萬次

趨勢科技偵測到有 85款拍照與遊戲相關的 APP,在 Google Play的下載量已經超過了 800 萬次, 除了顯示難以關閉的全螢幕廣告以外,它還採用獨特的技術,躲避檢測 。 趨勢科技行動安全防護,多層式防護能守護裝置的資料與隱私,並且防範勒索病毒、詐騙網站以及身分盜用,有助於保障使用者的安全。

無所不在的行動裝置,現在已成為使用者線上交易、日常生活,甚至是工作職場上不可或缺的工具,這也無怪乎它會成為駭客與網路犯罪集團賺錢的工具。比方說,網路犯罪集團會散播廣告程式來感染行動裝置,讓這些看似無害的程式替他們賺錢。雖然廣告程式大多只是讓人覺得很煩,但去年行動廣告詐騙及廣告程式相關資安事件卻四處猖獗,許多企業都蒙受了巨大的財物損失。

最近,我們在 Google Play 商店上發現了一個可能影響使用者日常生活的廣告程式,趨勢科技將它命名為:AndroidOS_Hidenad.HRXH。它有別於一般常見的廣告程式家族,除了會彈出一些不易關閉的廣告之外,還會運用獨特的技巧來避開使用者的注意以躲避偵測。

這批暗藏廣告的手機應用程式總共假冒成 85 種拍照與遊戲程式在 Google Play 商店上架,全球共累積了超過 800 萬次下載。我們已將研究發現通報給 Google。

圖 1:暗藏廣告的應用程式。

前 20 大最多人下載的假 APP

  1. Super Selfie
  2. Cos Camera
  3. Pop Camera
  4. One Stroke
  5. Line Puzzle
  6. Background Eraser
  7. Pixel Blur
  8. One Line Stroke
  9. Beautiful House
  10. Blur Photo Editor
  11. Cos Camera
  12. Stylish Camera
  13. 360 Face Camera
  14. Beauty Camera
  15. Magic Camera
  16. Super Selfiecam
  17. Beauty Camera
  18. Magic Camera
  19. One Stroke Line
  20. Owl Camera

看完整清單

廣告程式如何偵測使用者的行為或使用者是否正在使用裝置?

這批應用程式啟動之後,會先記住兩個時間:當前系統時間 (也就是安裝時間「installTime」) 以及網路時間 (透過某公開合法的 RESTful API 取得的時間,也就是網路安裝時間「networkInstallTime」)。

圖 2:廣告程式透過 RESTful API 記錄當前時間 (上) 與網路時間 (下) 的程式碼。

接下來,它會註冊一個廣播事件接收器 (Android 系統上一種讓應用程式收發系統與應用程式事件的元件) 來動態接收android.intent.action.USER_PRESENT 事件。藉此監控使用者是否正在使用被感染的裝置。

圖 3:廣告程式註冊廣播事件接收器的程式碼。

每次當使用者解鎖裝置時,廣告程式都會先執行幾項檢查之後再開始工作。首先,它會比對當前時間 (裝置系統時間) 與之前儲存的安裝時間。接著再比對當前的網路時間 (透過 RESTful API 取得) 與之前記錄的網路安裝時間。比對過後,廣告程式就知道自己安裝到裝置的時間是否已超過某個預定的時間 (預設為 30 分鐘)。比對網路時間,在某種程度上可避開傳統沙盒模擬分析經常採用的時間操控偵測技巧或觸發機制,因為應用程式可使用網路安裝時間來設定應用程式的時間。

圖 4:廣告程式利用安裝時間與網路安裝時間來檢查時間。

當廣告程式發現自己安裝到裝置上的時間已超過 30 分鐘,就會隱藏自己的程式圖示,然後在裝置首頁畫面上建立一個捷徑。這樣的行為不太會被使用者察覺,除非使用者啟用了某項系統功能在系統建立捷徑之前先告知使用者。此功能可以避免應用程式圖示在主畫面上拖放到解除安裝區域時被解除安裝。廣告程式為了躲避偵測,特別運用了 Java 的 Reflection 機制 (一種可在應用程式執行時期檢查或修改其行為的方法),並且將 API 字串用 base64 方式編碼。

圖 5:在裝置首頁畫面建立的捷徑。

圖 6:利用 Java 的 Reflection 機制隱藏應用程式圖示的程式碼。

廣告程式如何顯示廣告?

該廣告程式還會註冊另一個廣播事件接收器來動態接收 android.intent.action.USER_PRESENT 事件,以便知道使用者是否解鎖了裝置。如果是,就在畫面上顯示廣告。不過,它在顯示廣告之前也會先執行前面在隱藏程式圖示時所做的時間檢查。同樣也是利用安裝時間和網路安裝時間來確認它在裝置上已安裝了多久。除此之外,還會檢查上次顯示的是哪個廣告,以免太常顯示同樣的廣告。

雖然,這批程式確實具備其假冒的應用程式功能,但所有廣告卻是以全螢幕的方式顯示。因此,使用者被迫必須等到廣告顯示時間結束之後,才能將廣告關閉或回到應用程式畫面。不但如此,歹徒還能從遠端設定廣告顯示的頻率 (預設為 5 分鐘一次),因此也不排除使用者被廣告疲勞轟炸的可能性。

圖 7:註冊廣播事件接收器來顯示廣告的程式碼 (上),以及先檢查時間再顯示廣告的程式碼 (中、下)。

圖 8:畫面顯示全螢幕廣告。

圖 9:暗藏廣告的程式在應用程式商店內的評價。

最佳實務原則與趨勢科技解決方案

解決廣告程式問題的方法有幾種,例如最新的 Samsung Android 裝置就內建一項功能可防止應用程式在裝置首頁建立捷徑,這樣就能讓使用者更容易將不肖程式移除。此外,Android 8.0 及更新的作業系統,也會在應用程式要建立捷徑之前先要求使用者確認同意。由於廣告程式在首頁畫面建立捷徑之前,會先隱藏自己的圖示,如果建立捷徑失敗,使用者就更容易注意到這類應用程式的異常行為。除了養成良好習慣保護行動裝置安全之外,使用者若能在安裝應用程式之前先檢查一下應用程式在商店內的評價,也會有所幫助,畢竟很可能會有人提到應用程式的一些可疑行為。

除此之外,採用一套可攔截廣告程式的資安產品也是不錯的選擇,如 :趨勢科技行動安全防護。其多層式防護能守護裝置的資料與隱私,並且防範勒索病毒、詐騙網站以及身分盜用,有助於保障使用者的安全。

針對企業機構,趨勢科技 Mobile Security for Enterprise 企業版行動安全防護提供了裝置、法規遵循與應用程式的管理,以及資料防護和組態配置,並可防止裝置遭到漏洞攻擊,避免存取未經授權的應用程式,還可偵測並攔截惡意程式和詐騙網站。趨勢科技的行動應用程式信譽評等服務 (MARS) 已經可以利用先進的沙盒模擬分析與機器學習(Machine learning,ML)技術來防範 Android 及 iOS 的威脅,防止使用者遭到惡意程式、零時差漏洞、已知漏洞、隱私外洩、應用程式漏洞等危害。

完整的入侵指標 (IoC) 清單(包含所有假 APP 列表)請參閱這份附錄

PC-cillin 同時保護更多行動裝置或電腦,即刻免費下載試用