2016年10月20日

Google Playに潜む400本のトロイの木馬

脅威

「アプリは公式ストアからダウンロードしましょう」 – これは、Android利用者への定番のアドバイスです。Google Playに掲載されているアプリは何段階にも及ぶ厳しいチェックや承認を経て公開されたものなので、ここでアプリを探した方が、非公式のアプリストアで探すよりもずっと安全です。

しかし、時として悪質なアプリがGoogle Playに忍び込んできます。先日、Google Playにある400本を超えるアプリ(他のアプリストアでは約3,000本)がトロイの木馬DressCodeに感染していることが判明するという、大規模な事件がありました。

dresscode-trojan-featured

「DressCode」という名前は、このトロイの木馬が初めて確認されたゲームの種類に由来します。最初にDressCodeが検知されたのは2016年8月(英語記事)。女の子向けのゲームアプリの1種である、着せ替えアプリの中に潜んでいるのをリサーチャーグループが発見しました。

トロイの木馬入り着せ替えアプリの中には、Google Playで10万~50万回もダウンロードされたものもありました。また、同じトロイの木馬に感染しているアプリが他にも存在することがわかりました。その時点で感染が確認されたアプリは400本を超えていましたが、うち約40本がGoogle Playで見つかりました。リサーチャーグループから警告を受けたGoogleは、これらの悪質アプリをGoogle Playから削除しました。ところが、これは氷山の一角にすぎませんでした。

その頃、別のリサーチャーグループがDressCodeに興味を持ち、さらに調査の手を広げて、さまざまなアプリストアを調べて回っていました。そして先ごろ、DressCodeに感染したアプリを一挙に約3,000本も発見したのです。このうち、Google Playで見つかったアプリは400本を超えていました。

感染していたのは、ゲームアプリまたはゲーム関連アプリ(ゲームの攻略アプリや改造アプリなど)がほとんどでした。また、悪質アプリの中には、パフォーマンス向上や最適化などの便利さを装ったツールも数多く含まれていました。

DressCodeの最大の問題は、検知しにくいことです。DressCodeのコードはDressCodeの「運び屋」を担うプログラムのコードよりもはるかに小さく、そのため大量の感染アプリがGoogleの承認プロセスを潜り抜けて、Google Playに侵入したのでしょう。

DressCodeの役割

DressCodeの目的は基本的にただ1つ、指揮統制(C&C)サーバーとの接続を確立することです。接続が確立されると、サーバーからコマンドが送られてトロイの木馬はスリープ状態になるため、すぐに検知するのはほぼ不可能です。犯罪者は、感染デバイスを使用することにした時点でトロイの木馬を起動し、スマートフォンやタブレットをプロキシサーバーに仕立て上げ、インターネットトラフィックのリダイレクトに使用します。

この仕組みはサイバー犯罪者にとって、どんなメリットがあるのでしょう?

まず、感染デバイスをボットネットの一部として使い、特定のIPアドレスへのリクエストを水面下で中継することができます。この手法では、トラフィックを増やす、バナーや有料URLのクリックを生成する、標的とするWebサイトをDDoS攻撃でダウンさせるなどが可能です。

また、感染デバイス(たとえば法人契約のスマートフォン)がローカルネットワークのリソースにアクセス可能であれば、攻撃者はそのリソースにアクセスできるようになるほか、感染デバイス経由で機密データを盗むこともできます。

ボットネットに加担しないようにするには

今回は非常に珍しいケースで、当社が日頃からお伝えしているアドバイス「アプリは必ず公式ストアからダウンロードする」では対処しきれません。実際、Google Playは他のAndroidストアに比べ、悪意あるアプリが含まれている割合が極めて低いのですが、400本ものアプリが一挙に感染というのはかなりのことです。しかも、感染アプリには、50万回以上もダウンロードされた『マインクラフト』の「GTA 5」モード(そういうものが本当に存在します)のような大ヒットアプリも含まれています。

そこで、いつものアドバイスを今回は2つに絞り込みました。

  1. アプリをダウンロードするときは、くれぐれも気を付けましょう。知らないアプリをインストールするときは、まずそのアプリのレビューをじっくりチェックし、アクセス許可リストを確認して、よく検討してからにしましょう。残念ながら、Google Playのレビューは、必ずしも信用できるわけではありません。しかし、少なくとも、そのアプリがどのくらい信用できるのか、多少なりともヒントにはなります。

  1. モバイルデバイスにセキュリティ製品をインストールしましょう。カスペルスキー インターネット セキュリティ for Androidは、DressCodeを検知名「HEUR:Backdoor.AndroidOS.Sobot.a」として検知します。この製品の有料版は、新しくインストールするアプリを自動的にスキャンするので、DressCodeに感染したアプリはブロックされます。無料版をご利用の場合は、必ず定期的にデバイスを手動スキャンしてください。