2021年7月27日
株式会社Doctor Web Pacific
Doctor Web のマルウェアアナリストによって発見・調査された Android.BankBot.Coper サンプルはすべて金融機関Bancolombiaの公式アプリ「Bancolombia Personas」を装って拡散されていました。これら偽アプリのアイコンは、疑いを抱かれないよう本物のアプリのものを模倣したものとなっています。以下の画像は左が偽アプリのアイコン、右がGoogle Playで入手可能な正規アプリ「Bancolombia」のアイコンです。
感染プロセスは複数の段階から成っています。第一段階はバンキングアプリを装った偽アプリのインストールです。実際にはこのアプリはドロッパーで、その主なタスクはアプリ内部に隠されたメインとなる悪意のあるモジュールを標的のAndroidデバイス上に侵入させ、インストールすることです。分析の対象となったトロイの木馬の亜種の動作ロジックはすべて Android.BankBot.Coper.1 のものと同じであるため、以後の動作メカニズムの説明には Android.BankBot.Coper.1 を例として使用します。
起動されると、ドロッパーはそのリソース内にあり、o.htmという名前のWebドキュメントを装った dex実行可能ファイル( Android.BankBot.Coper.2.origin )を復号化して実行します。このトロイの木馬コンポーネントが感染プロセスの第二段階を担っています。そのタスクの一つはアクセシビリティサービス機能へのアクセスを取得することです。これらの機能を利用することで、トロイの木馬は感染させたデバイスを完全に制御し、メニューボタンをクリックしたりウィンドウを閉じたりするなどといったユーザーの操作をシミュレートすることが可能になります。このアクセスを取得するためにトロイの木馬は該当する権限をユーザーに要求し、許可されると悪意のある動作をユーザーの介入なしに実行し始めます。トロイの木馬が実行を試みる悪意のある動作は、OSに搭載されているマルウェアからの保護機能Google Playプロテクトを無効にする、未知のソースからのアプリのインストールを許可する、メインとなる悪意のあるモジュールを実行してそれにアクセシビリティサービスへのアクセスを付与するというものです。
このトロイの木馬は取得した権限を使用して、音声ファイル PViwFtl2r3.mp3 を装った復号化された二番目のファイルに隠されている悪意のあるapkパッケージを復号化してインストールします。このファイルにはサイバー犯罪者から要求される悪意のあるタスクを実行するトロイの木馬モジュール Android.BankBot.Coper.1.origin が含まれています。このモジュールはキャッシュプラグインというシステムアプリを装ってインストールされ、一部のAndroidシステムアプリで標準的に使用されるデフォルトの歯車アイコンを表示させます。このアプリ名とアイコンが、ユーザーに疑いを抱かれる可能性を低くしています。
起動されると、このメインモジュールは多くの重要な機能へのアクセスを取得します。たとえば、通知を読んだり管理したりする権限や、デバイスのバッテリー最適化のホワイトリストに自身を加える権限をユーザーに要求します。バッテリー最適化のホワイトリストに追加されることで、トロイの木馬はシステムによって終了されることなく継続的に動作を続けることが可能になります。さらに、トロイの木馬は自動的にデバイス管理者になり、通話やSMSを管理するためのアクセス権を取得します。
次に、ホーム画面にあるインストールしたアプリのリストから自身のアイコンを隠し、ユーザーの目から隠れます。続けて、感染が成功したことをC&Cサーバーに通知し、コマンドを待ちます。トロイの木馬は1分ごとにリクエストを送信することでC&Cサーバーとの接続を維持します。この間隔は、該当するコマンドによって必要に応じて変更することができます。また、C&Cサーバーから受け取る応答に応じて、以下のような他の設定も変更することができます。
- C&Cサーバーのリスト
- 起動時にフィッシングウィンドウをオーバーレイで表示させる対象となるアプリケーションのリスト
- 削除するアプリケーションのリスト
- トロイの木馬が起動を阻止し、ユーザーをホーム画面に戻すアプリケーションのリスト
- 通知をブロックするアプリのリスト
- その他のパラメータ
コマンドを直接受信すると、 Android.BankBot.Coper.1.origin は次の悪意のある動作を実行することができます。
- USSDリクエストを送信する
- SMSを送信する
- デバイス画面をロックする
- デバイス画面のロックを解除する
- SMSの傍受を開始する
- SMSの傍受を停止する
- プッシュ通知を表示する
- 指定されたアプリの前面にフィッシングウィンドウを再表示する
- キーロガーを実行する
- キーロガーを停止する
- コマンドで指定されたアプリケーションをアンインストールする
- ドロッパーアプリと一緒に自身をアンインストールする
そのほか、受信するプッシュ通知の内容を傍受してC&Cサーバーに送信します。
フィッシングウィンドウの表示には、Android向けバンキング型トロイの木馬にとって今や標準的となった良く知られた手法が用いられています。すなわち、フィッシングウィンドウのコンテンツはリモートサーバーからダウンロードされ、WebView内に表示されます。ユーザーを騙すため、その外観は実際のアプリを模倣したものとなっています。
Android.BankBot.Coper トロイの木馬は複数の保護メカニズムを備えています。その一つはメインの悪意のあるコンポーネントの整合性をコントロールするというものです。このコンポーネントが削除された場合、バンキング型トロイの木馬Copperはその再インストールを試みます。
二つ目の保護メカニズムはトロイの木馬にとって危険となりうる以下のような操作を監視するというものです。
- Google PlayストアでGoogle Playプロテクトのページを開く
- ユーザーがデバイス管理者のリストを変更しようとする
- ユーザーがシステムのインストールしたアプリのリストからトロイの木馬の情報ページにアクセスしようとする
- ユーザーがアクセシビリティサービス機能へのトロイの木馬のアクセス権を変更しようとする
これらの操作を検知すると、トロイの木馬はアクセシビリティサービス機能を使用して「ホーム」ボタンを押す操作をシミュレートし、ユーザーをホーム画面に戻します。ユーザーがトロイの木馬をアンインストールしようとしているのを検知した場合は、「戻る」ボタンを押す操作をシミュレートします。このように、トロイの木馬はユーザーによる削除を阻止するだけでなく、デバイスの正常な使用も妨げます。
さらに、 Android.BankBot.Coper ドロッパーには追加の保護メカニズムが備わっています。ドロッパーは、仮想環境で実行されているかどうか、アクティブなSIMカードがあるかどうか、そしてユーザーの居住国がどこかを確認します。これらの確認のうちいずれかに失敗するとドロッパーは直ちに動作を停止します。このような確認の目的はトロイの木馬にとって不利な状況(セキュリティスペシャリストの管理下でインストールされる、攻撃の対象外となる国のデバイスにインストールされるなど)でメインとなる悪意のあるモジュールをインストールすることを防ぎ、早期に発見されることを回避することにあると考えられます。分析の対象となったサンプルではこれらの確認機能は使用されていませんでしたが、今後登場する亜種では使用される可能性があります。
Doctor Webでは、バンキングアプリを公式アプリストアからのみインストールすることを推奨しています。何らかの理由で公式アプリストアを使用することができない場合は、金融機関の公式サイトからインストールすることをお勧めします。
Android向けのDr.Webアンチウイルス製品はバンキング型トロイの木馬 Android.BankBot.Coper のすべての既知の亜種を検出・削除します。したがって、Dr.Webユーザーに危害が及ぶことはありません。
Indicators of compromise(侵害の痕跡情報)
- Android.BankBot.Coper.1の詳細(英語)
- Android.BankBot.Coper.2.originの詳細(英語)
- Android.BankBot.Coper.2の詳細(英語)
- Android.BankBot.Coper.1.originの詳細(英語)
Tell us what you think
To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.
Other comments