SoumniBot モバイル マルウェアが Android デバイスをターゲットに
新たに発見された Android トロイの木馬「SoumniBot」が、マニフェストの抽出と解析の手順における脆弱性を悪用して韓国のユーザーを標的にしていることが現場で確認されました。
研究者によると、このマルウェアは、特に Android マニフェストを難読化することで、分析と検出を回避する珍しい戦術を特徴としている。
SoumniBot には 3 つの異なる攻撃アプローチがある
各 Android アプリケーションには、ルート ディレクトリにマニフェスト XML ファイル (「AndroidManifest.xml」) が含まれており、アプリのコンポーネント、権限、必要なハードウェアおよびソフトウェアの機能の概要が記述されています。
脅威ハンターは通常、アプリのマニフェスト ファイルを調べてその動作を理解することから分析を開始することを認識し、マルウェアの背後にいる脅威アクターは、このプロセスを複雑化するために 3 つの異なる方法を採用しています。
最初の方法は、APK のマニフェスト ファイルの解凍中に無効な圧縮方法の値を利用し、0x0000 または 0x0008 以外の値は圧縮されていないという libziparchive ライブラリの解釈を悪用します。
このようなマニフェストは、圧縮方法の検証を正しく実装しているアンパッカーでは無効とみなされますが、Android APK パーサーはこれを有効と認識し、アプリケーションのインストールを許可します。
注目すべきは、この手法が 2023 年 4 月以降、複数の Android バンキング型トロイの木馬に関連する脅威アクターによって利用されてきたことです。
次に、SoumniBot はアーカイブされたマニフェスト ファイルのサイズを偽造し、実際のサイズよりも大きい値を提供します。その結果、「非圧縮」ファイルが直接コピーされ、マニフェスト パーサーは残りのスペースを占める追加の「オーバーレイ」データを無視します。
研究者によると、より厳格なマニフェスト パーサーではそのようなファイルを読み取ることができないが、Android パーサーは無効なマニフェストをエラーなしで処理します。
最後の手法では、マニフェスト ファイルで長い XML 名前空間名を使用するため、分析ツールが名前空間名を処理するために十分なメモリを割り当てることが困難になります。ただし、マニフェスト パーサーは名前空間を無視するようにプログラムされているため、ファイルの処理中にエラーは発生しません。
SoumniBot は起動すると、事前に定義されたサーバー アドレスから構成情報を取得し、収集したデータを送信し、MQTT メッセージング プロトコルを介してコマンドを受信するために使用されるサーバーにアクセスします。
SoumniBot は感染したデバイス上に悪意のあるサービスを確立する
このマルウェアは、終了すると 16 分ごとに再起動する悪意のあるサービスを開始するようにプログラムされており、デバイスのメタデータ、連絡先リスト、SMS メッセージ、写真、ビデオ、インストールされているアプリのリストなどの情報を 15 秒ごとにアップロードします。
さらに、SoumniBot は連絡先を操作したり、SMS メッセージを送信したり、サイレント モードを切り替えたり、Android のデバッグ モードを有効にしたり、アプリ アイコンを隠してデバイスからのアンインストールを妨害したりすることもできます。
SoumniBot の注目すべき機能は、外部ストレージ メディアで「/NPKI/yessign」へのパスを含む .key ファイルと .der ファイルを検索する機能です。これは、韓国の政府機関 (GPKI)、銀行、オンライン証券取引所 (NPKI) 向けのデジタル署名証明書サービスに関係します。