Zimperium社のzLabsの研究者が、自動化された多段階の感染プロセスを使用するAndroidトロイの木馬を分析しました。
今回新たに判明したのは、RatHatが感染デバイスのアクセシビリティツリーへのアクセス権をライブAIアシスタントに与え、あらかじめ決められたスクリプトに従うのではなく、どこをタップ・スクロールすべきかをAIに判断させているという点です。
攻撃経路が可変であるため、シグネチャベースやルールベースのモバイルセキュリティツールではこのトロイの木馬を検出しにくくなっています。
また、コンピューターとAndroidデバイスを通信させる正規ツールであるAndroid Debug Bridge(ADB)も悪用します。ワイヤレスデバッグを有効にすることで、RatHatは通常のアプリサンドボックスから抜け出すことができます。
攻撃の手口
この感染チェーンは、モバイル脅威としては異例なほど作り込まれており、ソーシャルエンジニアリング、アクセシビリティ機能の悪用、そしてリモートでのAIによる意思決定を一つのパイプラインに組み合わせています。
- 被害者はスミッシング(SMSフィッシング)のテキストメッセージや悪意のある広告によって偽のダウンロードページへ誘導されます。これらのページは、人気のストリーミングアプリやChromeのようなブラウザに偽装していることもあります。そこで利用者を騙し、悪意のあるAPK(Android Package Kit)をサイドロードさせます。
- インストールされると、このアプリは偽の「ネットワーク制限」を口実にしたり、根拠のない金銭的なインセンティブを持ち出したりして、利用者にAndroidのアクセシビリティサービスを有効にするよう仕向けます。アクセシビリティサービスはバックグラウンドで動作し、画面の内容を把握したり、利用者に代わってアプリを操作したりすることができます。
- アクセシビリティ権限を得ると、マルウェアは気づかれないまま開発者向けオプションをタップして進み、ワイヤレスデバッグを有効化し、画面に表示された6桁のペアリングコードをそのまま読み取ります。そして、人手やコンピューターの介在なしに感染デバイスとのペアリングを完了させます。これは本来、開発者がWi-Fi経由でスマートフォン上のアプリをテストするために使う既知の正規機能ですが、RatHatはこれを自己権限昇格のために転用しています。
- この自己ペアリングにより、マルウェアはシェルレベルのADBセッションを獲得し、これを使って偽装した2つのネイティブバイナリを送り込みます。1つは昇格した権限でシステムコマンドを実行するGo言語製の「エージェント」、もう1つは攻撃者のサーバーへの永続的なトンネルを開くリバースプロキシクライアントで、ファイアウォールやNAT(ネットワークアドレス変換)を迂回します。
- ログイン情報を盗むため、このトロイの木馬は標的アプリ(その多くが金融関連)に対してオーバーレイを表示します。こうしたオーバーレイは、ワンタイムパスワード(OTP)や多要素認証(MFA)のコードを盗むことも可能です。
- おそらく最も新しい機能は、入力ドライバーから直接、生のタッチ座標(指が画面のどこに触れたか)を記録するというものです。その後、既知のキーパッドやパターンロックのレイアウトのデータベースと座標を照合し、PINコードやロック解除パターンを復元します。これにより、画面読み取りに対する防御を完全にすり抜けてしまいます。
その他の機能として、SMSメッセージの傍受、AIサービスが提供する半自律的なデバイス制御の一形態、そして隠れたバックグラウンドプログラムを使ってアンインストール後に悪意のあるアプリを復元する機能などが確認されています。
安全を守るには
RatHatの手口の大半は、アプリをサイドロードさせ、アクセシビリティ権限を付与させることに依存しています。つまり、モバイルセキュリティにおける一般的な対策が、依然として最も強力な防御策であるということです。
- Google Playなど信頼できる公式ストアからのみアプリをインストールしてください。これで安全性が完全に保証されるわけではありませんが、リスクは大幅に減らせます。
- アクセシビリティ機能とは無関係な理由でアクセシビリティサービスの有効化を求めてくるアプリには注意してください。Googleが導入を進めているAndroidの高度な保護モードの利用も検討する価値があります。同モードは、そもそもアクセシビリティ権限を要求できるアプリを制限する仕組みです。
- なぜ必要なのかを理解していない限り、開発者向けオプションやワイヤレスデバッグを有効にしないでください。正規のアプリがこれらを要求する理由はありません。
- デバイス用に、常に最新の状態を保ったリアルタイムのアンチマルウェアソリューションを利用してください。Malwarebytes for AndroidはRatHatをAndroid/Trojan.Exploit.RatHatとして検出します。
お使いのデバイスがRatHatに感染してしまった場合は、工場出荷時リセットを実行する必要があります。この持続化の仕組みは、通常のアプリ削除では除去できないためです。
詐欺師は、あなたが思っている以上にあなたのことを知っています。
Malwarebytes Mobile Securityは、フィッシング、詐欺テキストメッセージ、悪意のあるサイトなどからあなたを守ります。リアルタイムのAI搭載Scam Guardも標準搭載されています。