ThreatFabricの研究者は、Hirudoと呼ばれる新たなAndroidマルウェアを発見した。これは従来型のバンキング型トロイの木馬の機能と、完全なリモートアクセスツールの能力を組み合わせている。現在、このマルウェアはインドネシアの8つの銀行アプリを標的としているが、中国、インド、メキシコ、モロッコ、タイの銀行を標的にするよう適応できることを示す内部指標も存在する。
Hirudoは端末からログイン情報を盗むだけでなく、WebRTCを通じて画面をリアルタイムで閲覧し、アクセシビリティサービスを介して端末を操作し、前面カメラと背面カメラの両方にアクセスできる。また、テキストメッセージも収集し、最初のスキャンは過去90日間に及ぶほか、銀行やウォレットの特定の送信者リストも対象とする。
マルウェアはどのように端末に侵入するのか?
Hirudoは、ショッピングアプリ、成人向け動画の視聴アプリ、短編ドラマアプリなど、本物に見えるアプリに組み込まれたドロッパーを通じて配布され、ソーシャルメディアで宣伝されている。アプリがインストールされると、ドロッパーは端末上にHirudoが存在するかを確認し、存在しない場合は悪意のあるペイロードをインストールする。
特定のインドネシアの銀行アプリが検出されると、マルウェアは偽のアップデート要求を表示し、その後、本物のアプリを削除して、標的の銀行に関連付けられた改変版をダウンロードする。これにより、ユーザーには通常の銀行アプリを利用しているように見える一方、偽アプリは窃取と制御のためのインターフェースとして機能する。
アプリ内の安全性チェックを回避
改変版には、アプリの呼び出しを傍受するエンジンが含まれており、デジタル署名、アクセシビリティサービス、画面キャプチャ、Play Integrityに関するチェックをアプリ自体の内部で無効化することを目的としている。研究者によると、このエンジンはAndroidが要求する署名証明書を本来の証明書に置き換え、テスト署名を隠すことができる。また、アクセシビリティサービスの照会に対して空のリストを返すため、攻撃者のサービスが検査から見えなくなる。
この手法が重要なのは、対策の焦点を端末のチェックから、置き換えられたアプリ自体の完全性メカニズムへと移す点にある。そのため、置き換えられたアプリが生成するシグナルを単独で信頼することはできない。また、エンジンを再利用できるため、攻撃を他のアプリや地域に向けることが容易になる可能性がある。
金融機関が見直すべき点
- Play Integrityを検証し、その結果をサーバー側で適用すること。ただし、正しい結果だけを十分な証拠とみなしてはならない。Hirudoは検証リクエストを自らのサーバー経由で中継できる可能性があるためである。
- 不正なパターンを検出するために、多層的な行動分析を使用すること。行動データが存在しないことも、調査に値するシグナルとして扱う。
- アクセシビリティや画面キャプチャのシグナルを、単独のブロック条件ではなく補助的な証拠とみなし、リスク計算に組み込む。
- ログイン、認証情報の回復、受取人の作成、支払いの承認における取引リスク管理を維持すること。ローカルで偽装された結果が、サーバー側の判断に取って代わることはできない。
金融機関にとっての実務上の警告は、マルウェアがアプリ自体を置き換え、制御コンポーネントを隠せる状況では、アプリ内の単一のチェックに依存するだけではもはや不十分だということである。Hirudoの運営者や感染規模について利用可能な詳細は原資料に記載されておらず、キャンペーンの実際の範囲を見積もることは難しい。