有報導指出Google從Play商店上移除了三個應用程式(Google removed three apps) ,因為發現它們是由廣告軟體所偽裝。根據應用程式商店的資料,這些應用程式在發現時已經被下載到數百萬台的設備上。然而,這些並非唯一擁有類似行為的應用程式。在三月初的調查時,趨勢科技的研究人員認為Google Play上有超過2,000個應用程式有類似的行為。不過,這個數字已經減少到數百或以下。
廣告軟體 MDash
這個廣告軟體被偵測為ANDROIDOS_ADMDASH.HRX,是整合到那些應用程式的SDK(軟體開發套件)。雖然它有時也被稱為「MobiDash」,不過我們在本文中將此廣告軟體稱為「MDash」。令人費解的是,我們的研究沒有真正發現關於此SDK的可用資訊。極有可能此SDK是在私底下發表,這跟知名廣告軟體商有著鮮明的對比,後者經常會公開發布並促使應用程式整合其SDK以賺取更多錢。
如果SDK是在私底下發表,那它是如何到達應用程式開發者手上?很有可能是因為它是發表在地下論壇。
檢視MDash程式碼
為了分析MDash,我們選擇一個應用程式,套件為com.zigzag.tvojdekor。這是一個俄羅斯的應用程式,已經從Google Play的生活時尚類別移除。趨勢科技檢查此應用程式後發現,廣告軟體SDK MDash被精心開發和良好地維護著。
圖1、有MDash SDK的應用程式範例
圖2、MDash SDK原始碼結構
當應用程式被啟動,一個偽裝成PNG格式的設定檔會被解析:
圖3、解析本地設定檔(反白區),其偽裝成PNG格式
當我們用文字編輯器打開該檔案,我們發現還有另外一個遠端設定檔,其所位於的網域是註冊在聖彼得堡的俄羅斯組織。
圖4、打開偽裝的設定檔後發現一個網址
圖5、位在私人主機的遠端設定檔
該應用程式會在滿足兩個條件時啟動廣告軟體SDK:1)遠端設定檔具備關鍵字Pl3Sdk,和2)其值為「true(真)」
圖6、MDash SDK的條件設定
圖7、位在遠端私人主機上的預設設定檔顯示條件總是符合
在螢幕解鎖後顯示廣告
在安裝過程中,此應用程式會設定所謂的「Overapp」廣告,可能是安裝廣告捷徑和首頁。根據遠端設定內容,Overapp服務會在288,000秒(三天)後啟動。這段延遲可能是為了不讓應用程式在安裝後就引起懷疑。
圖8、啟動MDash SDK
檢視程式碼中的廣告服務DisplayCheckService,我們看到一個廣播接收器註冊接收「SCREEN_OFF」事件。在「SCREEN_OFF」時,該服務會將請求發送到遠端網站以取得廣告。一旦使用者解鎖手機,廣告就會彈出。
圖9、程式碼顯示取得廣告的請求
該服務還會設定時間,每隔15分鐘就會檢查和啟動自己。
顯示廣告
此SDK支援許多類型的廣告。但和其他廣告商相比,這個SDK有四個不同的廣告類型值得注意:
- 警告 – 在警告對話框顯示廣告
- 推薦 – 顯示成來自通訊錄中某人的推薦
- 連結 – 顯示彈跳訊息,一旦點入會打開瀏覽器來顯示廣告
- SDK – 載入其他常見廣告SDK來顯示廣告
圖10、「連結」廣告樣本
監視所顯示的廣告後,趨勢科技發現它們會帶來使用者不想要的應用程式,詐騙,甚至是惡意軟體。我們發現一個「更新程式」其實是廣告軟體,偵測為ADW_ADGAZELLE。值得注意的是,這惡意軟體會影響一般電腦而非行動設備。
圖11、其他廣告樣本
持續更新、改進
在檢查其他應用程式時,我們發現MDash SDK會經常更新,也不停地開發新功能。
比方說,應用程式「Winter Bunny – Joyfull DressUp」所包含的SDK MDash版本內有可以在背景未經使用者同意下偷打電話的程式碼。它所打的號碼是動態地來自遠端伺服器。該SDK包含程式碼去刪除設備的通話記錄以隱藏可疑活動。
圖12、這個應用程式可以在未經使用者許可下打電話
圖13、會在背景打電話的MDash SDK的程式碼片段
然而,應用程式沒有要求提供打電話所需的權限。這代表著可能的詐騙電話不會發生。
趨勢科技也看到其他版本的MDash SDK會搜索和建立受感染設備上所有安裝的應用程式列表。接著將這資訊發送到遠端伺服器,好用來派送廣告與推銷類似的應用程式。
圖14、收集有關已安裝應用程式的資訊
當廣告變成了廣告軟體
分析SDK的實作時,我們發現此SDK的行為可以從遠端設定伺服器來加以啟用或關閉。在分析時,大部分應用程式的行為都是預設開啟。但重新檢查剩下的應用程式,我們發現後端廣告伺服器目前不會派送廣告。
圖15、廣告派送被關閉
雖然這對使用者來說似乎是件好事,但也並非就高枕無憂了。即使廣告行為被暫時關閉,也不能保證開發者不會突然再次啟動這行為。無論如何,只要SDK還存在於應用程式中,使用者就還處在危險中。
當然,還有其他檢查可以防止應用程式的惡意或可疑行為。比方說,除非它具備必要的權限(由使用者授予),不然應用程式不能打電話。但是,此SDK顯示它可以輕易的從展示廣告到成為廣告軟體,只要變更其資源配置文件。
檢視開發者
趨勢科技提取了簽章這些應用程式的超過1,300份不重複憑證。基於憑證的內容,大約有一千個來自俄羅斯的開發者。此外,約有1,100分憑證似乎用的是相似的敘述。組織「TrueAndroid」似乎是主要的憑證來源。但我們無法保證從這些憑證中所找到資訊的準確性。開發者可以隨自己喜歡來填寫憑證資訊。
當然,我們也不能肯定地說這些應用程式開發者跟MDash SDK的開發有關。但我們知道他們的確取得和整合了上述SDK到他們的應用程式,將數百萬使用者置於廣告軟體和其他威脅的風險中。
這類型的SDK也是為什麼開發者在整合SDK進自己的應用程式前要先好好檢查的原因。本意良善的應用程式開發者可能會發現自己招來了眾怒,只因為自己在不知不覺下將像MDash這樣的SDK包入自己的應用程式。
我們建議使用者只從已知和值得信賴的開發者網站下載應用程式。應用程式商店並不總會負起責任去主動的檢查惡意或可疑的應用程式,因此使用者應當要主動地保護自己的設備。花時間去閱讀應用程式的評論以確保它們具備預期的效果。閱讀評論也有助於過濾掉在安全檢查被漏掉的應用程式。最後,使用者應該安裝像趨勢科技安全達人免費 App這樣的安全方案在行動設備上以偵測和封鎖潛在威脅。
趨勢科技已經通知 Google關於這些受影響的應用程式。截至本文撰寫時,大部分應用程式,包括俄羅斯和「Winter Bunny – Joyfull DressUp」應用程式都已經從Google Play上移除。
受影響應用程式的雜湊值可以在此文件中找到。
@原文出處:The Fine Line Between Ad and Adware: A Closer Look at the MDash SDK
作者:Seven Shen(行動威脅分析師)
《提醒》在粉絲頁橫幅,讚的右邊三角形選擇接收通知和新增到興趣主題清單,重要通知與好康不漏接