Google Playプロテクトでは検出されない――Google Playでアプリを配布し、マルウェアをタイマーで作動させる攻撃が発生Google Playからは削除済み

Google Playの自動検査をかいくぐるため、自身は不正コードを含まないアプリがマルウェアをダウンロードし、タイマーで作動させる攻撃手法が見つかった。

» 2017年11月27日 11時00分 公開
[@IT]

 悪意あるアプリをGoogle Playで配布する攻撃は後を絶たない。その中、2017年秋には、Google Playの自動検査をかいくぐるため、「不正コードを含まないアプリがマルウェアをダウンロードし、そのマルウェアがタイマーに従って悪意ある挙動をする」攻撃手法が見つかった。スロバキアのセキュリティ企業ESETは同業のAvastおよびSfyLabsと共同でこの手口の攻撃を調査し、2017年11月21日(現地時間)、調査結果の概要を自社の公式ブログで報告した。

 以下、内容を抄訳する。


 2017年10月と11月に、Google Playストアで配布された「ドロッパー」による新たな攻撃が見つかった。ドロッパーはトロイの木馬の一種であり、内部に忍ばせている不正コードが、インターネットから不正コードを「投下」(ドロップ)する。10月と11月に見つかった攻撃は、いずれもバンキングマルウェアを投下しようとするもので、10月に見つかった攻撃では、「Tornado FlashLight」などのドロッパーが使われた。11月に見つかった攻撃は、最近のブログ記事で解説したので、以下では前者の攻撃について説明する。

Tornado FlashLight(出典:ESET)

 Tornado FlashLightがドロッパーとして機能するには、ユーザーがAndroidのセキュリティ設定で、「提供元不明のアプリ」(提供元がPlayストアではないアプリ)のインストールを許可している必要がある。許可していなければ、Tornado FlashLightはバンキングマルウェアをインストールすることができず、脅威はない。

 提供元不明のアプリのインストールを許可している場合、ユーザーはマルウェア「BankBot」のインストールを促される。

 Tornado FlashLightは、現在Google Playから削除されている。しかし、興味深いことにTornado FlashLightとBankBotは「Google Playプロテクト」では検出されないので、デバイスで適切なセキュリティソフトウェアが実行されていなければ、Google Play以外の場所からインストールできてしまう。そして、すんなりマルウェアを実行されてしまう恐れがあるという。

(出典:ESET)

詳細分析

 Tornado FlashLightをはじめとするドロッパーは、最初に起動されると、インストールされているアプリケーションを、ハードコードされた160のアプリのリストと照合する。このリストのアプリは、マルウェアの標的となるバンキングアプリだ。1つまたは複数の標的アプリがインストールされている場合、ドロッパーが閉じられるタイミングで、ドロッパー機能のサービスが開始される。またドロッパーは、デバイスの起動時にも同じ照合を行い、1つまたは複数の標的アプリがインストールされている場合、同様にドロッパー機能のサービスを開始する。

 このサービスは、まずユーザーに管理者権限を要求し、管理者権限を取得すると、ダウンロードルーティンを継続する。どのドロッパーの場合も、「BankBot APK」ファイルが「hxxp://138.201.166.31/kjsdf」からダウンロードされる。このダウンロードは、ドロッパーに管理者権限が与えられた時刻の2時間後に開始される。

BankBot APKのダウンロードはドロッパーに管理者権限が与えられた時刻の2時間後に開始される(出典:ESET)

 ダウンロードが完了すると、ドロッパーはBankBot APKをインストールしようとする。インストールは、Google Play以外からアプリをインストールする場合のAndroidの標準メカニズムを使って行われる。このメカニズムでインストールを行うには、「提供元がPlayストアではないアプリのインストール」が有効になっているだけでなく、ユーザーがインストールの続行を指示するボタンを押す必要がある。

 インストールされるパッケージの名前とアイコンから、攻撃者はユーザーに、このインストールプロセスをGoogle Playの更新と思い込ませようとしていると考えられる。インストールが終了すると、新しいAPKがデバイスの管理者権限を要求し、攻撃が続行される。

マルウェアのダウンロード(出典:ESET)

 「提供元がPlayストアではないアプリのインストール」が有効になっていない場合、Androidはエラーメッセージを表示し、インストールは失敗する。

「提供元がPlayストアではないアプリのインストール」が有効になっていない場合、Androidはエラーメッセージを表示する(出典:ESET)

攻撃を防ぐには

 攻撃を防ぐための基本的な対策は、アプリを常にGoogle Playストアからインストールすること。そして、自分が何を行っているかを明確に理解している場合以外は、「提供元がPlayストアではないアプリのインストール」を無効にすることだ。

 だが、Google Playから、正規アプリを装ったドロッパーやマルウェアが配布されることもある。そこで、Googleがまだブロックしていない既知のマルウェアをキャッチするセキュリティソリューションを使うことをお勧めする。また、以下の点に注意すれば、リスクの軽減につながる。

  • アプリのインストール前に、アプリのユーザーが多く、レビューが好評かどうか確認する
  • アプリのインストール後にアプリから、デバイス管理者権限や、アクセシビリティーサービスの許可を要求された場合、そのアプリはマルウェアである可能性がある
  • アプリを初めて実行した後に、アプリ一覧からそのアプリのアイコンが消えた場合、感染している危険が高い。データをバックアップし、工場出荷状態にリセットするのがよいだろう

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。