想像してみてください。いつも利用している銀行から Eメールが届き、モバイルアプリの更新版をインストールするよう依頼されます。アプリをダウンロードすると、管理者権限を要求されます。問題が発生したためと画面に表示され、あなたはその要求を許可します。アプリを動かしてみると正常に動作し、決済も問題なく行うことができました。
翌日、自分のスマートフォンがパスワードを認識しないことに気づきます。誰かにパスワードを変更されてしまったのでしょうか。しかし、スマートフォンは誰にも貸していないため、誰がどうやってパスワードを変更したのか見当もつきません。2回ほどパスワードを入力してみますが認識しません。あと数回のうちに正しいパスワードを入力できなければ、端末内の情報は自動的に消去されてしまいます。ロックを解除する方法を一日中考えている間に、銀行口座からお金が消えていました。
トレンドマイクロは、主にヨーロッパや日本のネットバンキングを狙ったサイバー攻撃キャンペーン「エメンタル作戦」を 2014年に確認しています。これは、不正アプリを利用して SMS のメッセージ(以下、テキストメッセージ)を傍受し、ユーザの取引データを乗っ取るサイバー攻撃です。弊社は、2016年に入ってから、再びこの「エメンタル作戦」で利用された不正アプリを確認しました。今回確認した不正アプリでは、攻撃者は、テキストメッセージを介してリアルタイムでコマンドを発行し、スマートフォンのパスワードを再設定するなどの不正活動を実行できます。この不正活動により、ユーザは一時的にスマートフォンのホーム画面から閉め出され、使用できなくなります。おそらくこれは、不正な取引が実行されていることをすぐに気づかせないための手法だと考えられます。
■偽のワンタイムパスワード生成機
「エメンタル作戦」で利用されたこれまでのアプリと同様に、今回の不正アプリもワンタイムパスワードを生成するバンキングアプリを装います。弊社が確認した最新の検体は、オーストリアの地方銀行のアプリを装っていました。
図1:偽のワンタイムパスワード生成アプリの画面例
しかしこの不正アプリでは、実際にはあらかじめ用意された文字列のリストからパスワードをランダムに選択します。
そして不正アプリは、ユーザに気付かれずに以下の不正活動を定期的に実行します。
- 環境設定ファイルのダウンロードおよび解析
- あらかじめ設定した C&Cサーバの URL が利用可能かどうかの確認
- Blowfishアルゴリズムを用いた感染端末と遠隔ユーザ間の通信回線の確立
- 保存されたテキストメッセージの送出
この不正アプリは、ユーザの認識や同意なしに特定の URL もしくは電話番号と通信します。また、リアルタイムでこれらの通信先にテキストメッセージを介してメッセージを送信するか、インターネット接続を通じて後でメッセージを送信することが可能で、攻撃者は好きな方を選ぶことができます。これらの URL や電話番号は、共有設定ファイル “MainPref.xml” に保存され、いつでも設定可能です。
図2:共有設定ファイル “MainPref.xml”
設定ファイル内には「USE_」から始まる以下の変数が定義されており、実行時に利用する URL が登録されています。
“USE_URL_MAIN” | 環境設定ファイルを取得するための発信元 |
“USE_URL_SMS” | インターネットを介したテキストメッセージの送信先 |
“USE_URL_LOG” | ログの送信先 |
“PHONE_NUMBER” | リアルタイムでのテキストメッセージ送信先電話番号 |
図3:環境設定ファイルの解析および設定
ユーザに送信されたメッセージを傍受する以外に、この不正アプリは、テキストメッセージを介してコマンドを受信することができます。不正アプリは、受信したテキストメッセージを傍受し、制御コマンドかどうかを確認します。例えば、コマンド「LOCK」は画面をロックするパスワードを初期化するため、攻撃者は遠隔からリアルタイムで新しいパスワードを設定することができます。なお、Android のデバイス管理API では、英数字のパスワードのみを現在サポートしています。また、デバイス管理者の設定を要求するようなアプリに対しては、いつでも疑いの目を持つようにして下さい。
攻撃者がパスワードを変更すると、しばらくのあいだスマートフォンを使用できなくなる恐れがあります。攻撃者は、「UNLOCK」のコマンドで好きなようにロックを解除したり、いつでもまた再ロックしたりするかもしれません。これは、銀行口座を不正操作している間、ユーザの注意をそらすためか、もしくはユーザがその携帯端末から銀行に連絡するのを防ぐためと思われます。
図4:最新の不正アプリのコマンド一覧
攻撃者は、有名な Webサイト名をショートカットコマンドに利用しています。例えば「GOOGL」はメッセージを送信してテキストメッセージを傍受するためのショートカットコマンドです。「GOOGLE」は電話番号を削除し、テキストメッセージの傍受を中止します。また、「YAHOO」はコマンド&コントロール(C&C)サーバの URL を設定し、傍受したテキストメッセージの送信を開始します。
GOOGL | 0 | メッセージを送信してテキストメッセージを傍受 |
STARTB | 1 | データベースに保存して傍受 |
2 | 電話番号を削除して、傍受を中止 | |
DEL | 3 | 削除の実行 |
YAHOO | 4 | C&Cサーバの URL を設定し、傍受したテキストメッセージの送信開始 |
CLEARB | 5 | USE_URL_SMS のような C&C を削除 |
SETP | 6 | C&Cサーバの電話番号を設定 |
CLEARP | 7 | C&Cサーバの電話番号を削除 |
DROPBOX | 8 | C&Cサーバの URL および電話番号を削除 |
LOCK | 9 | |
UNLOCK | 10 | |
HELLO | 11 | 動作なし |
BYE | 12 | 動作なし |
図5:テキストメッセージのコマンドによる携帯電話のロック、解除、パスワード変更
攻撃者がモバイル端末を遠隔から制御する可能性があるため、ユーザはファイルのバックアップを取るようにして下さい。また、PC を含むすべての端末にセキュリティ対策製品を導入すると良いでしょう。弊社の「ウイルスバスター モバイル」といったモバイル端末向けセキュリティ対策製品は、今回のような不正アプリを検出対応します。
今回の脅威に関連した SHA1値および関連URL はこちらをご参照下さい。
協力執筆者:Rainer Link
参考記事:
- 「Operation Emmental Revisited: Malicious Apps Lock Users Out」
by Richard Tai (Mobile Threat Analyst)
翻訳:品川 暁子(Core Technology Marketing, TrendLabs)