Google Play Store を利用したAndroidクリック詐欺: Just Push Play

イタリアのIT企業、TG Softの先日の記事で、公式のGoogle Play Storeで提供されているAndroidマルウェアの存在が明らかになりました。Google Playの統計によると、このアプリケーションは10,000~50,000台の端末にインストールされています。

このマルウェアは公式のGoogle Play Storeで「Real Basketball」という名前のアプリケーションを装っています。

しかし、このマルウェアは見た目でユーザーを惑わすよう設計されています。メインメニュー上では「Google Play Store」アプリケーションそのものとして表示されるのです。


図: マルウェアをインストールした後の電話のメインメニュー

画像内のPlay Storeアイコンの1つが不正アプリケーションです。疑いを持っていないユーザーであれば本物であると簡単に勘違いしてしまうでしょう。

アプリケーションを起動すると、下のようなブランク スクリーンが表示されます。


図: アプリケーションのメイン画面

しかし、その裏ではアプリケーションがひそかに稼働し、電話のデータ接続容量の多くを消耗しています。

コードに使われている関数名や文字列を見ると、トルコ人デベロッパーが書いたマルウェアであるように思えますが、アプリケーションの詳細欄はイタリア語で書かれており、標的とするウェブサイトの多くがイタリアのものです。

マルウェアとしての機能:

まず、このマルウェアは「http://www.mobilefilmizle.com/ipzaman.php」に接続することで端末のIPを登録します。アプリケーションが起動するたびにこの値が参照され、端末がインターネットに接続しているか、そしてIPアドレスが変更されているかを確認します。これは主にアプリケーションの不正機能を実行すべきかどうかを決定するためです。

次に、検索語とキーワードのリストを返送するウェブサイトに接続します。

このマルウェアはそのリストを使ってイテレーションを行い、下の不正活動を実行します。

  1. 検索語が1つずつ検索項目として入力され、google検索が行われます。
  2. 各検索結果ページが開かれます。このマルウェアはこれらのページ上にある特定フォーマットのリンクを探し、Javascriptのマウスイベントを使用してそれらのリンクをクリックします。これにより、クリック報酬型の広告キャンペーンを介してアタッカーに収益をもたらす可能性のある広告リンクを数多くクリックすることになるのです。クリック詐欺と呼ばれるこうしたテクニックは、これまでにもPCマルウェアで使用されてきました。

興味深いのは、上記のブラウザ機能のすべてがJavascriptを使用してエミュレートされており、ユーザーのインタラクションに関係なくマルウェアを機能させることができるという仕組みです。


図: Javascriptのクリック機能

すべての検索語で作業が終了すると、このアプリケーションは正規のFacebookアプリケーションのダウンロードページを表示します。これもまた、正規の機能であるとエンドユーザーに信じ込ませる罠です。

TG Softが不正性を指摘してから1週間経過したにもかかわらず、このブログ記事を執筆している時点で、このアプリケーションはまだ公式のPlay Storeで提供されています。アプリケーションが接続するURLも現時点では稼働しています。

推奨される措置:

  • Javascriptの制限: 元のページ以外の場所から提供されるJavascriptはそのページで実行できないようにします。この制限は最近のモバイルブラウザではSame-Originポリシーとして実行されます。しかし、このマルウェアはURLのロードにAndroidのWebviewクラスを使用しているため、これを迂回することができてしまいます。ですから当然、(何らかの方法で)Webviewのトランザクションにもこのポリシーを実行するように修正しなければなりません。
  • Googleはデベロッパーのウェブサイトなど、デベロッパーの入力するクレデンシャル情報が正しいかどうか検証すべきでしょう。今回のケースでは登録すらされていないhttp://www.olmayanadam.comというドメインが入力されています。
  • いつものことですが、インターネット上で安全を確保するための第一歩は常識を働かせることです。メインメニューにGoogle Playのアイコンが2つ表示されるということが感染を示す1つ目のヒントです。「Google Play Store」アプリケーションの起動後に動作が重くなるようでしたら、それが2つ目のヒントです。

フォーティネットではこのマルウェアをAndroid/FakePlay.B!trとして検出しています。