オンラインバンキングアプリを狙う「BankBot」を「Google Play」上で確認、国内銀行 7 行も対象

トレンドマイクロは、2017 年 8 月末、Android 端末向けオンライン銀行詐欺ツール「BankBot(バンクボット)」(「ANDROIDOS_BANKBOT」ファミリとして検出)の新たな亜種を確認しました。このモバイル向け不正アプリは、2017 年 1 月に初めて確認されたものであり、アンダーグラウンド市場に流出した別のオンライン銀行詐欺ツールのソースコードを改造したものだと報告されています。BankBot は、端末に存在する正規銀行アプリの起動に合わせて偽の画面を表示し、ユーザが入力した認証情報を窃取します。この手法は PC 向けのオンライン銀行詐欺ツールが行う、Web インジェクション(特定の Web サイトの表示時に偽画面を表示する手口)と似ています。また、ショートメッセージサービス(SMS)を乗っ取る機能により SMS を利用した二要素認証を突破することも可能であり、まさにモバイル向けに特化したオンライン銀行詐欺ツールと言えます。また、この亜種の解析の中で、日本の銀行も標的となっていることを初めて確認しています。

図1
図 1:日本の 銀行の表示に偽装した画面の例

BankBot は、確認当初から現在まで通常のアプリを装って配布されています。特に 2017 年の 4 月 7 月には、娯楽アプリやオンライン銀行アプリに偽装した BankBot が 公式のアプリストアである Google Play上で頒布されていたことを確認しています。そしてこの 2017 年 8 月に、トレンドマイクロでは新しい BankBot アプリを 5 種確認しました。そのうち 4 種は Google Play で配布されており、ユーティリティアプリに偽装していました。この Google Play で配布されていたもののうち 2 種については即時削除されましたが、残る 2 種はある程度の期間利用可能な状態にあり、5,000~10,000 回インストールされていたものも確認されています。

この 8 月に確認された BankBot の新しい亜種の詳細解析からは、世界 27 か国ののべ 160 個の銀行アプリを標的としていることがわかりました。標的とされている 27か国の中でも、アラブ首長国連邦(UAE)と日本の銀行に関しては初確認となります。また追加調査からは、日本の銀行に関しては 7 月に確認された亜種から既に標的となっていたことも判明しました。

BankBot の最新バージョンは、端末が以下の 3 つの条件を満たしたときにのみ動作します。

  • 実行環境が実際の端末上である
  • 端末の位置情報が「Commonwealth of Independent States (独立国家共同体、CIS)」以外である
  • 対象となる銀行の正規アプリが端末にインストールされている

■新しい BankBot の解析

BankBot は、インストールおよび実行されると、感染端末にインストールされているアプリのパッケージ情報を確認します。もし対象となる銀行アプリが存在した場合、その銀行アプリのパッケージ名と銀行名をコマンド&コントロール(C&C)サーバにアップロードします。次に、C&C サーバは、偽の Web ページに利用するライブラリをダウンロードする URL を返信します。偽の Web ページは、ユーザの認証情報を窃取するために、正規銀行アプリの上に重ねて表示されます。

BankBot は、ダウンロードしたライブラリを「Androidapplicationpackage(APK)」のディレクトリ「/data/data/<パッケージ名>/files」に解凍します。下記は、C&C サーバに送信されるインストール済みアプリの一覧情報です。

{ ”mod”: “Motorola Nexus 6”,
 ”vers”: “5.1.1”,
 ”app”: “sky_flash”,
 ”fire”:”cODqrG8XK04:APA91bGYbM7U2KI2f_f9zI0OL6Lc5a-vkNhNot9uEptDfhNCHbp05ONceCeV-HPk2F1tZA0zZ-S3YbptAq6V4Nnfl1GXe7g19ofWK-Wi9lD0N3qZf7nBJEptQOVs33WO8i3eCpOSrVbR”,
 ”dr”: “4506126840cc9bf9”,
 ”loc”: “US”,
 ”app5″: {
 ”<Android アプリのパッケージ名 1>”: “<銀行名 1>”,
 ”<Android アプリのパッケージ名 2>”: “<銀行名 2>”,
 ”<Android アプリのパッケージ名 3>”: “<銀行名 3>”
 }
}

図2
図 2:ライブラリの URL を含む C&C サーバからの応答

C&C サーバは、ライブラリのダウンロードの 1 時間後に「SUCCESS(成功)」というメッセージを返信し、ダウンロードの成功を通知します。この遅れは、ウイルス対策アプリのサンドボックスによる検出を避けようとするための待機時間か、あるいは単に、端末の識別情報を含む偽の Web ページの生成にかかる時間のいずれかだと考えられます。

偽の Web ページの準備が整うと、C&C サーバは、BankBot が Web ページをダウンロードするための URL を送信します。

図3
図 3:BankBot がダウンロードした偽の Web ページの一覧
「jp ドメイン」が含まれていることから日本の銀行も対象となっていることがわかる

Web ページのダウンロード後、BankBot は端末を監視し、対象となる銀行アプリの起動を検知して偽の Web ページを表示します。普段通りに銀行アプリを使用していると勘違いしたユーザは、銀行アプリの上に重ねて表示された偽の Web ページ上で認証情報を入力してしまいます。

■UAE の銀行アプリを対象とする BankBot に追加された挙動

UAE の銀行アプリが対象の場合、今回確認された BankBot の新しい亜種は従来とは異なる挙動を示し、偽の認証情報入力画面を表示する前に電話番号の入力を要求します。その後、C&C サーバは、Google が運営するメッセージ送信サービス「Firebase Message」を利用して個人識別番号(PIN)を送信します。ユーザが PIN を入力すると、次は銀行口座の認証情報の入力を求められます。この時、正しい情報を入力してもエラー画面となり、再度情報入力を求められます。

図4-1

図4-2
図 4:Emirates NBD 銀行のアプリに偽装した画面

図 4 の各画面(左から右、上から下の順)は、下記の手順に対応します。

  1. 認証手順の開始
  2. 電話番号の入力
  3. C&C から送信された PIN の入力
  4. 口座の認証情報の入力
  5. エラーメッセージの表示
  6. 口座の認証情報の再入力
  7. 認証成功のメッセージ

このような挙動は、銀行口座の認証情報を確実に窃取する意図によるものと考えられます。BankBot は、1 度目の入力が間違っていた場合に備えて認証情報の入力を 2 度要求し、再入力後に初めて窃取した情報を C&C サーバに送信します。

図5
図 5:C&C サーバに送信される認証情報

図6-1図6-2
図 6:Google Play 上で確認された BankBot

以上のように、対象とする銀行アプリの追加と、それに伴う新しい手法の採用が確認されました。オンライン銀行アプリが普及するにつれ、BankBot のようなマルウェアに対する懸念も高まっています。報告によると、中東および北アフリカ地域(MENA)におけるモバイルバンキングの利用者は、2017 年に 8,000 万人を超えると予測されています。MENA 地域のメディア「ArabNet」による別の調査では、中東およびアフリカ地域におけるオンラインバンキングの利用率で UAE が第 2 位でした。利用者の増加に従い、サイバー犯罪者にとってもオンライン銀行アプリは魅力的な攻撃対象となっています。

■被害に遭わないためには

このような脅威に対抗するために、安全なモバイル端末の利用およびオンラインアカウント管理のためのベストプラクティスに従ってください。銀行口座にアクセスする端末は効果的かつ多層的なセキュリティによって保護する必要があります。トレンドマイクロは、モバイル環境の総合セキュリティ対策として、個人利用者向けには「ウイルスバスターモバイル」、法人利用者向けには「Trend Micro Mobile Security」を提供しています。これらの製品ではトレンドマイクロのクラウド型セキュリティ基盤「Trend Micro Smart Protection Network(SPN)」の機能である「モバイルアプリケーションレピュテーション(MAR)」技術によって不正アプリをブロックします。また、不正アプリが使用する C&C サーバなどの不正サイトへのアクセスは「Web レピュテーション(WRS)」技術によりブロックします。

BankBot に関連するハッシュ値は以下の通りです。

  • 4D417C850C114F2791E839D47566500971668C41C47E290C8D7AEFADDC62F84C
  • 6FD52E78902ED225647AFB87EB1E533412505B97A82EAA7CC9BA30BE6E658C0E
  • AE0C7562F50E640B81646B3553EB0A6381DAC66D015BAA0FA95E136D2DC855F7
  • CF46FDC278DC9D29C66E40352340717B841EAF447F4BEDDF33A2A21678B64138
  • DE2367C1DCD67C97FCF085C58C15B9A3311E61C122649A53DEF31FB689E1356F

参考記事:

翻訳:澤山 高士(Core Technology Marketing, TrendLabs)