36個假資安之名廣告程式,藏身 Google Play,蒐集個資、追蹤位置,大賺廣告財

2017 年 12 月初,趨勢科技在 Google Play 官方應用程式商店上總共發現了 36 個會出現不當行為的應用程式。這些應用程式皆有著貌似安全軟體/資安工具的應用程式名字,例如:Security Defender、Security Keeper、Smart Security、Advanced Boost 等等。此外更宣稱具備各種實用功能:掃瞄、清理系統、節省電力、幫 CPU 降溫、鎖住應用程式,以及提供訊息安全、WiFi 安全等等。

應用程式一旦執行之後,使用者就會看到一大堆安全警告、電量過低等通知及緊緊相隨的廣告訊息。例如,當使用者在安裝其它應用程式時,它會立即警告使用者該程式疑似惡意程式。或者,使用者可能會看到系統浪費了 10.0 GB 的空間,提醒使用者採取某種行動。在核對過原始程式碼之後,我們發現這些安全警告的其實都是假的,其目的是背後暗中蒐集使用者的資料、追蹤使用者的定位資訊,並大賺廣告財。

惡意應用程式會將使用者個人資料、已安裝的應用程式,以及附件檔案、使用者操作資訊、觸發的事件等資訊傳送至遠端伺服器。除此之外,還會蒐集 Android ID、網路卡實體位址 (MAC)、IMSI (行動電信業者識別資料)、作業系統資訊、裝置品牌與型號、裝置詳細資訊 (螢幕大小和畫素密度)、語言、地理位置資訊以及裝置已安裝應用程式。

 

要確保行動裝置安全並保護珍貴資料,使用者可採取以下五個基本動作:

  1. 廠商通常會盡速修補自家應用程式和軟體的漏洞,所以使用者務必隨時更新到最新版本。更新是保持行動裝置安全、防範已知威脅的必要動作。
  2. 從可信賴的來源下載應用程式。下載前,使用者應先查看一下應用程式頁面上的評論或留言,確定應用程式不是詐騙,而且沒有不當行為。
  3. 妥善管理分享至網路的內容。務必善用所有應用程式和網站的隱私權設定。某些網站在預設情況下會將您的位置、電子郵件、電話、甚至其他資訊公開。
  4. 小心應用程式所要求的權限。有些應用程式會要求您提供超出基本預設權限之外的權限。請務必確認您安裝的應用程式只會用到絕對必要的功能。
  5. 除了上述幾點之外,使用者最好也應投資一套多層式的行動安全防護來保護裝置、防範網路威脅及惡意程式,甚至是資料外洩。 趨勢科技趨勢科技行動安全防護就是一套可同時保護企業及一般使用者的解決方案,提供了進階的防護功能來偵測已知威脅,避免威脅損害行動裝置或洩漏資料。

Figure 1. Malicious apps found on Google Play, detected by Trend Micro Mobile Security

圖 1:趨勢科技行動安全防護在 Google Play 上發現的不肖應用程式。

趨勢科技已將這些應用程式通報給 Google。在截稿之前,這些應用程式皆已從 Google Play 下架。

破綻連連:啟動後不會出現在程式清單 桌面上也不會出現捷徑

在第一次啟動之後,這些程式就會從裝置的應用程式清單當中消失,且桌面上的應用程式捷徑也會不見。使用者只會看到應用程式傳送的通知,卻看不到這些應用程式在哪裡。而它們傳送的訊息通常是一些安全警告,並使用彈出視窗來顯示。

Figure 2. Code snippet showing how icon is hidden

圖 2:用來隱藏應用程式圖示的程式碼。

根據我們研究之後發現,該動作發生是有條件的。隱藏惡意程式的行為在某些特定裝置上不會執行,例如以下這段程式碼所示:

Figure 3. The malware code showing how specific devices are excluded from the “hide” behavior

圖 3:隱藏應用程式的行為在某些裝置上不會執行。

避免被捉包,刻意避開某些裝置

這些裝置包括:Google Nexus 6P、Xiaomi MI 4LTE、ZTE N958St 以及 LGE LG-H525n。這有可能是駭客知道這一招在這些裝置上無效,也可能是為了避免在通過 Google Play 審查時被抓包。

應用程式一旦執行之後,使用者就會看到惡意程式發出的一大堆安全警告或其他訊息。在核對過原始程式碼之後,我們發現這些安全警告的其實都是假的。例如,當使用者在安裝其它應用程式時,它會立即警告使用者該程式疑似惡意程式。或者,使用者可能會看到系統浪費了 10.0 GB 的空間,提醒使用者採取某種行動。

但其實這些都是假的,只是用來讓應用程式看起來有在做事。

Figure 4. The many notifications with fake data being pushed by this app

圖 4:應用程式發出的許多通知訊息都是假的。

避免受害者起疑,還煞有介事的呈現處理過程動畫和處理結果

不僅如此,駭客還特地費了一番功夫來讓這些通知看起來煞有其事。譬如下圖的範例,當使用者點選「RESOLVE」(解決) 這個按鈕來解決這個「詐騙簡訊廣播漏洞」(Fraud SMS Broadcast Vulnerability) 時,該程式就會顯示一段正在解決問題的簡單動畫,讓使用者覺得應用程式真的有在動作,避免使用者起疑。

Figure 5. The detection result about System Vulnerability

圖 5:應用程式顯示的系統漏洞偵測結果。

 

 Figure 6. Code snippet for the RESOLVE button

圖 6:「RESOLVE」(解決) 按鈕對應的程式碼。

除了顯示這些通知之外,惡意程式還會蒐集使用者的私密資料 (如:定位資訊),並傳送至遠端伺服器。

 Figure 7. Code snippet showing how the app collects private data of user

圖 7:蒐集使用者私密資料的相關程式碼。

惡意程式發出的解鎖螢幕通知,或者電量過低通知,幾乎每做一個動作都會出現一則廣告

不僅如此,除了前述通知訊息之外,惡意程式還會顯示各種不同的廣告。它在許多不同情況下都會拼命顯示廣告,例如:當應用程式發出解鎖螢幕通知,或者電量過低必須連接充電器的通知。使用者幾乎每做一個動作就會看到一則廣告,顯然該程式的主要目標是顯示廣告以騙取點閱率。

其實,使用者在安裝程式時必須同意其終端使用者授權合約 (EULA),裡面就說明了應用程式會蒐集和使用的資訊。但儘管如此,應用程式仍涉及侵犯隱私權,因為它所蒐集和傳送的個人資訊與該應用程式的功能毫無關聯。

該應用程式會將使用者個人資料、已安裝的應用程式,以及附件檔案、使用者操作資訊、觸發的事件等資訊傳送至遠端伺服器。從「圖 7」我們可以看到使用者資訊和使用者操作事件的資料被上傳至遠端伺服器。

Figure 8. The leaked privacy data of user operation

圖 8:遭到外洩的使用者操作動作資料。

除此之外,該程式還會蒐集 Android ID、網路卡實體位址 (MAC)、IMSI (行動電信業者識別資料)、作業系統資訊、裝置品牌與型號、裝置詳細資訊 (螢幕大小和畫素密度)、語言、地理位置資訊 (裝置所在的經緯度) 以及裝置已安裝應用程式 (如:Google Play 和 Facebook)。此外,應用程式也會註明是否取得哪些權限,尤其是用量統計、輔助功能、讀取通知列權限等等。

如需相關入侵指標 (IoC) 資訊,請參閱這份附錄