SPECIAL CONTENTS

特集 | ビジネスやITの最新動向/技術についてセキュリティ観点からレポート

Androidにアドウェアを仕込んだ開発者を追跡する

この記事をシェア

Google Play上で1年近く継続している、あるアドウェアによる攻撃。ESETの研究員はその犯人を見つけ出すに至った。この開発者によって開発されたアプリは800万回以上ダウンロードされ、ステルス性(秘匿性)かつレジリエンス(回復力)を備えたさまざまな手口で攻撃を仕掛けてくる。今回はこの追跡のプロセスについて報告していく。

この記事は、ESETが運営するマルウェアやセキュリティに関する情報サイト「Welivesecurity」の記事を翻訳したものである。

Androidにアドウェアを仕込んだ開発者を追跡する

アドウェアによる大規模な攻撃が約1年続いている。ESETはその犯人がGoogle Play経由で800万回以上ダウンロードされたアプリであることを突き止めた。

ESETがGoogle Playで調べたところ、2018年7月以降に攻撃に関わったアプリは42種類にも上る。そのうちの21種類は、発見時点でもダウンロード可能だった。Googleセキュリティチームは私たちの報告を受けて、すぐに問題のアプリを削除したが、サードパーティーのアプリストアではまだダウンロードすることが可能となっている。ESETではこのアドウェアを、「Android/AdDisplay.Ashas」として検出する。

図1  ESETがGoogleに報告した「Android/AdDisplay.Ashas」ファミリーのアプリ

図1 ESETがGoogleに報告した「Android/AdDisplay.Ashas」ファミリーのアプリ

図2  Google Playで配信されている 「Android/AdDisplay.Ashas」ファミリーの中で最も人気があり、500万回以上ダウンロードされたアプリ「Video downloader master」

図2 Google Playで配信されている 「Android/AdDisplay.Ashas」ファミリーの中で最も人気があり、500万回以上ダウンロードされたアプリ「Video downloader master」

Ashasの機能

こういったアプリはすべて、保証された機能を提供するだけでなく、アドウェアとしても機能する。ESETが分析した限りではアプリ内のアドウェアの機能に大差がないことがわかっている。 [注: 以下は、1種類のアプリの機能を分析したものであるが、「Android/AdDisplay.Ashas」ファミリーの全アプリに適用される]

これらのアプリを起動すると、まずC&Cサーバー(アプリ上ではそのIPアドレスは 「Base64」でエンコードされている)と通信をはじめる。このサーバーは、感染したデバイスに関する主要データ(デバイスの種類、OSのバージョン、言語、インストールされたアプリの数、ストレージの空き容量、バッテリーの状態、デバイスがルート化されているか、「開発者モード」が有効になっているか、FacebookとFacebookメッセンジャーがインストールされているか)を送信する。

図3 感染したデバイスに関する送信情報

図3 感染したデバイスに関する送信情報

図4 C&Cサーバーから受信した構成ファイル

図4 C&Cサーバーから受信した構成ファイル

図3と図4を見るとわかるが、アプリは、広告の表示やステルス性とレジリエンスに必要な構成データをC&Cサーバーから受信する。攻撃者は、以下に示すように、ステルス性とレジリエンスを備えたさまざまな手口を使っている。

これらのアプリはGoogle Playのセキュリティメカニズムによってテストを受けるかどうか確認を行う。このプロセスを進めるために、アプリはC&Cサーバーから「isGoogleIp」フラグを受信する。このフラグは、感染したデバイスのIPアドレスがGoogleサーバーに保存されている既知のIPアドレスの範囲内にあるかどうかを示している。サーバーがこのフラグを正常と送信する場合、このアプリはアドウェアのペイロード(悪意ある動作を行うコード)を実行しないようになっている。

次に、アプリは広告を遅滞して表示する設定も可能となっている。ESETが調べたサンプルでは、デバイスのロックを解除してから24分後に最初の広告が表示されるように構成設定(図5を参照)されていた。つまり、アプリのテストの所要時間が24分未満であれば、この広告表示を検出できないということだ。これ以上長く時間を設定してしまうと、特定のアプリで表示される広告がユーザーの目に留まる可能性が低減してしまうため、このような設定時間になっているものと思われる。

もうひとつ、サーバーからの応答に基づいて、アプリはアイコンを隠し、その代わりにショートカットを作成するという機能も備えている。もし一般ユーザーがこれらのアプリを削除しようとしても、ショートカットが削除されるだけで、ユーザーが気付かないうちにバックグラウンドでアプリが実行し続ける可能性もある。Google Playが配信しているアドウェアによる手口の中でも、ステルス性を備えたこの手法が増加している。

図5 アドウェアによる広告の遅延表示

図5 アドウェアによる広告の遅延表示

これらのアプリがその構成データを受信すると、感染したデバイスは攻撃者が選択する全画面広告が表示されるようになってしまう。多くのユーザーは広告表示の原因となるアプリを確認する場合、「最近利用したアプリ」をチェックする。攻撃者はそうしたユーザーの行動の傾向を見抜き、対策を用意している。図6のように、アプリのアイコンをFacebookやGoogleに偽装するのだ。アドウェアはこの2つの正規のアプリに似せて、不審に思われないようにしているため、感染したデバイスにできる限り長くとどまることができる。

図6 Facebook (左) になりすましアドウェア機能を持ったアプリ。ユーザーがアイコンを長押しすると、そのアプリ名が表示される (右)。

図6 Facebook (左) になりすましアドウェア機能を持ったアプリ。ユーザーがアイコンを長押しすると、そのアプリ名が表示される (右)。

そして、このAshasアドウェアファミリーのコードは、パッケージ名「com.google.xxx」の下に潜んでいる。テストにおける一部の検出メカニズムやサンドボックスでは、リソースの省力化のためにこうしたパッケージ名をホワイトリストに登録してしまうことがある。そのため、正規のGoogleサービスを装ったこの手口は、テスト通過の可能性を高めることに貢献している。

図7 パッケージ名「com.google」に隠れている悪意のあるコード

図7 パッケージ名「com.google」に隠れている悪意のあるコード

開発者の追跡

ESETはオープンソース情報を使って追跡を行った。その結果、アドウェアの開発者が攻撃者そのものであり、C&Cサーバーの所有者でもあることが判明した。以下、この開発者が手がけた他のアプリケーションをESETが見つけ出した経緯とユーザーを保護する取り組みについて説明していく。

まず、登録されたC&Cドメインの関連情報(図8を参照)をもとに、国やメールアドレスなどの詳細データとともに登録者名の特定に至った。

図8 Ashasアドウェアで使用されたC&Cドメインの情報

図8 Ashasアドウェアで使用されたC&Cドメインの情報

ドメインレジストラに提供された情報が偽りのものである可能性も否定せず、検索を進めていった。その結果、メールアドレスや国といった情報からベトナムの大学生のリスト(図9を参照)を入手することができた。このリストにより、ドメイン登録者が実在することを裏付けることができた。

図9 大学生のリスト(C&Cドメイン登録者を含む)

図9 大学生のリスト(C&Cドメイン登録者を含む)

攻撃者が通学する大学のプライバシー管理が十分ではないこともあり、彼の生年月日(Gmailアドレスの一部に、自身の生年月日を使用していた模様)や大学名が判明。さらに、ドメインレジストラに提供された電話番号が実際に使われている番号ということも確認できた。加えて、大学のIDをGoogleで検索すると、試験の評価まで表示されてしまった(もちろん、彼が大学で何を研究しているのかは私たちの調査外なのでこれ以上の詮索はしていない)。

攻撃者のメールアドレスに紐付くGitHubレポジトリーも発見でき、彼が本当にAndroid開発者であることも証明された。しかし本稿執筆時点では、公開されたAshasアドウェアのコードはそこに含まれていなかった。 しかし、アドウェアのパッケージ名でGoogle検索して見つかった「TestDelete」プロジェクトがレポジトリーで利用されていたことが明らかになった。

この攻撃者のアプリは、アップル社のAppStoreでも配信(図10を参照)されている。それらの中にはGoogle Playから削除されたアプリのiOS版もあるが、いずれもアドウェア機能は含まれていない。

図10 アプリストアで配信されている彼のアプリ。Ashasアドウェアは含まれていない

図10 アプリストアで配信されている彼のアプリ。Ashasアドウェアは含まれていない

この攻撃者のアプリをさらに調べていくと、Ashasアドウェアや他のプロジェクトを拡散するためのYouTubeチャンネル(図11を参照)も発見した。Ashasファミリーについては、関連するプロモーションビデオ「Head Soccer World Champion 2018 – Android, iOS(2018年サッカーワールドチャンピオン - Android版、iOS版)」 の視聴回数は約300万回、他の2つの視聴回数は数十万回に達していた。

図11 攻撃者のYouTubeチャンネル

図11 攻撃者のYouTubeチャンネル

このYouTubeチャンネルから、別の貴重な情報を得ることができた。彼自身が他のプロジェクト用の動画チュートリアルに出演していたのである。そのプロジェクトのおかげで、彼の大学での研究内容を記載したFacebookプロフィール(図12を参照)を入手することができた。

図12 C&Cドメインレジストラに提供されたFacebookプロフィール(表紙とプロフィールの画像にはモザイクをかけている)

図12 C&Cドメインレジストラに提供されたFacebookプロフィール
(表紙とプロフィールの画像にはモザイクをかけている)

彼のFacebookプロフィールとリンクしたFacebookページ 「Minigameshouse」、これに関連するドメイン「minigameshouse[.]net」を発見した。このドメインは、このマルウェア作成者がアドウェアとC&Cとの通信に使用していたドメイン「minigameshouse[.]us」と類似している。

さらに、このページ「Minigameshouse」 の存在により、彼がドメイン「minigameshouse[.]us」のオーナーであることも判明した。このドメインで登録された電話番号がFacebookページに記載されていたものと同じものだったからだ。

図13 悪意のあるC&Cドメイン登録者のFacebookページ。Ashasアドウェアで使用され登録されたC&Cドメインと同じドメイン名(minigameshouse)と電話番号を使用

図13 悪意のあるC&Cドメイン登録者のFacebookページ。Ashasアドウェアで使用され登録されたC&Cドメインと同じドメイン名(minigameshouse)と電話番号を使用

興味深いのは、Facebookページ「Minigameshouse」 では、Ashasファミリー以外にGoogle PlayとAppStoreでダウンロードが可能なゲームを数多く宣伝しているのだ。これらゲームの中にはアドウェア機能が含まれていないものもあったが、現在はすべてGoogle Playから削除されている。

さらに、彼のYouTube動画の一つであるFacebook「インスタントゲーム」を開発するためのチュートリアルを見ると、運用上のセキュリティが完全に無視されていることがわかる。彼は最近、Google Playページにアクセスしたようだが、このページ上のアプリにはAshasアドウェアが含まれていたことが判明した。また、自身のメールアカウントを使って、動画のさまざまなサービスにログインしていた。そのため、彼は間違いなくアドウェアのドメインオーナーであると特定できた。

この動画のおかげで、Google Playで配信されているアドウェア機能が含まれたアプリをさらに3種類特定するに至った。

図14 彼のYouTube動画のスクリーンショットには、Google Play上でAshasアドウェアを確認した履歴が示されている

図14 彼のYouTube動画のスクリーンショットには、Google Play上でAshasアドウェアを確認した履歴が示されている

ESETのテレメトリデータ(遠隔的に取得したデータ)

図15 ESETがAndroidデバイスで検出した「Android/AdDisplay.Ashas」の国別の結果

図15 ESETがAndroidデバイスで検出した「Android/AdDisplay.Ashas」の国別の結果

アドウェアは有害か

アドウェアが含まれるアプリの本質は、ユーザーにはわからないことが多い。そのため、こういったアプリやその開発者を信用してはならない。アドウェアが含まれるアプリをデバイスにインストールする場合、特に以下の点に注意してほしい。

  • 押し付けがましい広告(詐欺広告を含む)でユーザーが困っていないか
  • デバイスのバッテリーを浪費していないか
  • ネットワークのトラフィックを増大させていないか
  • ユーザーの個人情報を収集していないか
  • 削除しても感染したデバイスに残っていることを隠していないか
  • ユーザーの知らぬ間に、攻撃者へ広告収入をもたらしていないか

結論

ESETはオープンソース・インテリジェンスのみに基づいて、Ashasアドウェアの開発者を突き止めて身元を明らかにし、さらにアドウェアに感染した別の関連アプリを発見することができた。この攻撃者が自らの身元を隠すような対策を取っていなかったことからも、当初は悪意があったわけではないと思われる。配信されているアプリすべてに広告が含まれているわけではないという事実がそれを裏付けている。

この攻撃者はGoogle Play上の経歴のある時点で、アプリのコードにアドウェア機能を取り入れて広告収入を上げようと考えたものと思われる。ステルス性とレジリエンスを備えたさまざまな手法をアドウェアに取り込んでいたことからも、追加した機能の悪質性を承知の上で隠ぺいしようとしたことも明らかである。

悪意を抱く開発者が、望ましくない、あるいは求められていない機能をアプリに忍び込ませることは一般的になりつつある。そのため、ESETはこのようなアプリを発見しようと全力で取り組んでいる。私たちはこのようなアプリを発見した時点でGoogleに報告し、攻撃を遮断するための措置を講じている。また、Androidユーザーが自らの身を守る手助けとなるように調査結果も公表しているので、参照していただきたい。

この記事をシェア

スマートフォンのセキュリティ対策に

マルウェア情報局の
最新情報をチェック!