マルウェア
モバイル広告詐欺を実行する偽クリーナーアプリ、累計47万ダウンロードを確認
トレンドマイクロは、クリーナーやブースターなどAndroid向けユーティリティアプリとしてGoogle Play上で配信されていた不正アプリ(AndroidOS_BadBooster.HRXとして検出)を多数確認しました。
トレンドマイクロは、クリーナーやブースターなどAndroid向けユーティリティアプリとしてGoogle Play上で配信されていた不正アプリ(AndroidOS_BadBooster.HRXとして検出)を多数確認しました。これらのアプリは、不正な目的のために、デバイスに表示させる広告の設定を管理するサーバへアクセスして、モバイル広告詐欺(Mobile Ad Fraud)を実行すると共に、感染デバイスへさらに別の不正アプリをダウンロードし感染させます。「ファイルの整理や削除によってデバイスのパフォーマンスを向上させるアプリ」に偽装したこれらの不正アプリは、合計で47万回以上ダウンロードされていました。弊社の調査から、同種の不正活動は2017年から開始されていたことが判明しています。なお、本記事執筆時点においてこれらの不正アプリはGoogle Playストアから削除されています。
解析によると、この不正活動によってユーザのデバイスにダウンロードされる可能性のある不正アプリと、それによってダウンロードされるペイロードは合計で3000種に及んでいたことが確認されています。また、システムアプリケーションのふりをして侵入するため、デバイスのホーム画面やアプリ画面にアプリアイコンが表示されません。さらに、感染させたデバイスから、不正アプリのために虚偽の高評価レビューを書き込み、ユーザのふりをしてポップアップ広告をクリックしモバイル広告詐欺を実行する機能を備えていました。
図2:不正広告の設定サーバ間の関係を図示
(無料オンラインスキャンサービス「VirusTotal」から取得したデータに基づく
注:赤で強調表示されたノードは、複数のセキュリティベンダーによって検出されたもの)
■不正アプリを解析
確認された不正アプリの1つである「Speed Clean」(「AndroidOS_BadBooster.HRX」として検出)は、外見はモバイルデバイスのパフォーマンスを向上させる機能を提供するアプリです。使用すると、アプリに広告がポップアップ表示されますが、これはモバイルアプリによくある無害な動作に見えます。
図3:Speed Cleanによって表示される広告
しかし、トレンドマイクロは、不正な活動が感染デバイス上でこっそり実行されていることを確認しました。 Speed Cleanは、不正な活動がユーザに見つからないようにするために、「TransparentActivity」(背景を透過させた透明アクティビティ)をバックグラウンドで起動することもできます。
図4: 不正アプリが「TransparentActivity」を感染デバイスのバックグラウンドを起動できるようにするコード
その後、Javaパッケージ「com.adsmoving」下の不正なサービス「com.adsmoving.MainService」が、不正広告の設定サーバとの接続を確立し、新しくインストールされたことを登録します。
登録が完了すると、Speed Cleanは感染デバイスで不正広告の表示を開始します。 例えば、不正な広告内容とマルウェアが、アプリの「Recommend Pages(おすすめページ)」に表示
図5:不正なサービス「com.adsmoving.MainService」を示すコード
図6:Androidアプリケーションパッケージ「alps-14065.apk」や「com.play.games.center_1.0.3.apk」(「AndroidOS_BoostClicker.HRX」として検出)などの不正アプリのトラフィック。不正広告の設定サーバから感染デバイスへ配信されている
「alps-14065.apk」がインストールされても、ホーム画面またはアプリ画面にアプリのアイコンは表示されませんでした。しかし、「Downloaded Apps(ダウンロード済み)」の中に「com.phone.sharedstorage」というアプリが追加されているのが確認されました。
2017年に検出されたAndroidマルウェアファミリの1つである「ANDROIDOS_TOASTAMIGO」のように、不正アプリ「Speed Clean」はさまざまなモバイル広告詐欺の手法を実行できるマルウェアをダウンロードします。実行される典型的なモバイル広告詐欺の手法を以下に説明します。
1.「AndroidOS_BadBooster.HRX」として検出される不正アプリによって表示される広告を、ユーザのふりをしてクリックする。これらの不正アプリは、Google AdMobやFacebook Audience Networkなど多くの正規のモバイル広告プラットフォームに統合されていた。
図8:「AndroidOS_BoostClicker.HRX」が「sendPointerSync」APIを使用し、ユーザのふりをして広告をクリックする(難読化を解除したコード)
2.ユーザに気づかれないように、お小遣い稼ぎアプリをモバイル広告プラットフォームから仮想環境にインストールする。
図9:「AndroidOS_BoostClicker.HRX」 が、アプリ内に仮想空間を作成する「VirtualApp」を使用してお小遣い稼ぎアプリをインストールする(難読化を解除したコード)
3.ユーザをだまして感染デバイスのアクセス許可を有効にさせ、Google Playプロテクトのセキュリティ保護機能を無効化する。 これによりユーザに気づかれることなく、さらに多くの不正アプリのダウンロードが可能になる。
図10:「AndroidOS_BoostClicker.HRX」がアクセス許可を悪用してGoogle Playプロテクトのセキュリティ保護機能を無効化する(難読化を解除したコード)
4.感染デバイスのユーザ補助機能を利用して、不正アプリの虚偽のレビューを書く
図11:「AndroidOS_BoostClicker.HRX」が、ユーザ補助機能を利用して不正アプリ「AndroidOS_BadBooster.HRX」の虚偽のレビューを書く(難読化を解除したコード)
5.ユーザ補助機能を使用し、新しくインストールされた不正アプリにユーザのGoogleアカウントおよびFacebookアカウントでログインする。
図12:「AndroidOS_BoostClicker.HRX」がユーザ補助機能を使用してユーザのGoogleアカウントまたはFacebookアカウントで不正アプリにログインする(難読化を解除したコード)
トレンドマイクロは、2017年に最初に確認されて以降配信されていた不正アプリについて調査しました。
年 | AndroidOS_BadBooster.HRXおよびAndroidOS_BoostClicker.HRXとして検出される不正アプリの種類 |
2017 | 6 |
2018 Q1 | 40 |
2018 Q2 | 37 |
2018 Q3 | 20 |
2018 Q4 | 72 |
2019 Q1 | 1076 |
2019 Q2 | 1090 |
2019 Q3 | 399 |
2019 Q4 | 23 |
2020 Q1 | 33 |
表1:2017年から2020年第1四半期までの間にダウンロードされた不正アプリの種類
また、この不正活動で最も影響を受けた国および地域は、日本、台湾、米国、インド、タイとなっています。
国/地域 | 感染確認数 |
日本 | 48,557 |
イスラエル | 1,954 |
台湾 | 5,722 |
米国 | 2,497 |
インド | 1,082 |
その他 | 5,602 |
表2:過去3カ月間の感染確認数(国地域別)
国コードの地理パラメータ値を任意の国コード、またはランダムな存在しない国コードに変更して試行したところ、リモートの不正広告の設定サーバは一定して不正なコンテンツを配信しました。しかし、地理パラメータ値をgeo = cn(中国)に変更したときのみ、不正なコンテンツは配信されませんでした。つまり、サイバー犯罪者が中国のユーザについては意図的に除外している可能性があることを示し、不正活動は中国のユーザを対象から外して実行していると考えられます。