56 款惡意 Google Play App 引爆 170 多萬台 Android 裝置中毒風險

作者 | 發布日期 2020 年 03 月 25 日 13:57 | 分類 Android , Android 手機 , app follow us in feedly


Google 旗下官方 Android  應用程式庫 Google Play 再次被發現代管許多詐騙與潛在性惡意 App,經調查發現超過 56 款 App(有許多 App 適用兒童)安裝在近 170 萬台裝置。

Tekya 是有一系列家族的惡意軟體,會在 Google AdMob、AppLovin、Facebook和 Unity 等機構發出的廣告及橫幅式廣告產生詐騙式點擊(Fraudulent Click)。為了使這些點擊給人真實合法的感受,經最佳模糊化的程式碼會促使感染的裝置透過 Android「MotionEvent」事件處理機制,模擬合法的使用者行為。

安全公司 Check Point 研究人員發現這些惡意 App 時,VirusTotal 和 Google Play Protect 並未偵測到。其中 24 款專門給兒童用的 App 發現內含 Tekya 病毒。Google 接獲 Check Point 通報後刪除了所有 56 款 App。

這發現「再次突顯 Google Play 商店仍不時上架許多惡意 App」。Check Point 研究人員 Israel Wernik、Danil Golubenko 和 Aviran Hazum 在 24 日發表的貼文寫道:「Google Play 提供近 300 萬款 App,光每天就有數百款全新 App 上架,這使檢查每款 App 是否安全的例行性工作更困難。因此,使用者絕對不能只靠 Google Play 的安全措施確定裝置受保護。」

透過原生碼編寫規避偵測

為了讓惡意行為更難偵測,這些惡意 App 會使用原生 Android 碼編寫(通常使用 C 和 C ++ 程式語言編寫)。Android App 通常使用 Java 執行邏輯。語言介面提供開發人員存取多層抽象化的便利性,相反的,原生碼會在更低階層執行。儘管 Java 很容易反編譯(將二進制碼轉換回人類可讀之原始碼的程序),但透過原生碼很難做到這點。

一旦安裝 Tekya App,App 會註冊廣播接收器(Broadcast Receiver),並執行以下多種操作:

  • BOOT_COMPLETED:允許程式碼在裝置啟動(「冷」啟動)時運行。
  • USER_PRESENT:偵測使用者何時重度使用裝置。
  • QUICKBOOT_POWERON:允許裝置重啟後運行程式碼。

此廣播接收器的唯一目的是為了將原生函式庫「libtekya.so」載入每款 App .apk 檔內的「libraries」檔案夾。Check Point 貼文提供有關此程式碼運作方式的更多技術細節。Google 官方代表確認此 App 已從 Play 商店移除。

惡意軟體的 App 下載 70 多萬次

再者,防毒方案供應商 Dr.Web 於 24 日安全報告指出,發現數量不詳的 Google Play App 潛藏名為 Android.Circle.1 的惡意軟體,這些 App 下載超過 70 萬次。此惡意軟體使用基於 BeanShell 腳本語言的程式碼,並結合廣告軟體和點擊詐騙(Click-Fraud)功能。這款經過 18 次變種修改的惡意軟體可用來發動網路釣魚攻擊(Phishing Attack)。

Dr.Web 貼文並未列出所有內含 Android.Circle.1 病毒的 App 名稱。少數確認的 App 包括 Wallpaper Black(Dark Background)、Horoscope 2020(Zodiac Horoscope)、Sweet Meet、Cartoon Camera 與 Bubble Shooter。Google 已將 Dr.Web 通報的所有 App 刪除。同時 Check Point 發現的 56 款 App 也清楚詳列於 Check Point 貼文。

Android 裝置通常會在發現 App 感染惡意軟體後解除安裝,但機制並非始終按預期運行。讀者可能需要檢查自己的裝置,以查看是否感染病毒。一如既往,讀者應該能對安裝的 App 擁有高度選擇性。雖然毫無疑問,Google 掃描機制可偵測到大量已提交 Play 商店的惡意 App,但仍有大量用戶持續遭避開這些檢查機制的惡意軟體感染。

(首圖來源:Google Play