ルートキットマルウェアとは
ルートキットマルウェアは、悪意のあるアクターにコンピューターネットワークやアプリケーションの制御を提供するように設計されたソフトウェアのコレクションです。悪意のあるプログラムは、アクティブになると、バックドアのエクスプロイトをセットアップし、ランサムウェア、ボット、キーロガー、トロイの木馬などの追加のマルウェアを挿入する可能性があります。ルートキットは、一部のウイルス対策ソフトウェアやマルウェアスキャナソフトウェアをブロックする機能などを持っているために、検出が困難になり、何年も放置される可能性があります。
ルートキットの種類
既知のルートキットはいくつかの大きなファミリーに分類できますが、ハイブリッドも多数存在します。次のような主要なファミリーがあります。
ファームウェアルートキット
ファームウェアルートキットは、オペレーティングシステムが起動する前のブートプロセス中に実行されるソフトウェアにルートキット自体を格納することで、特定のハードウェアコンポーネントを実行するソフトウェアをターゲットにします。これらは、オペレーティングシステムを再インストールしても存続する可能性があるため、特にステルス性が高くなります。
テクノロジー的にハードコーディングされたBIOSソフトウェアからリモートで更新できるBIOSソフトウェアへと移行するにつれて、ファームウェアルートキットが使用されることが増えてきました。単一の物理システム上に複数の仮想マシンを配置するクラウドコンピューティングシステムにも脆弱性があります。
次のようなファームウェアルートキットの例があります。
- UEFIルートキット
- Cloaker
- VGAルートキット
カーネルモードルートキット
カーネルモードルートキットは、オペレーティングシステムに新しいコードを追加したり、オペレーティングシステムのコードを削除および編集したりできる巧妙なマルウェアです。これらは、複雑な作りになっていて、カーネルルートキットにバグがあると、ターゲットコンピューターのパフォーマンスに大きな影響を与えます。容易な部分を見ると、バグがあるカーネルルートキットは、ウイルス対策ソリューションが検出できるパンくずリストの痕跡を残します。
次のようなカーネルモードルートキットの例があります。
- Spicy Hot Pot
- FU
- Knark
ブートローダールートキット
ブートローダールートキットは、オペレーティングシステムと同時に起動し、コンピュータの起動時に最初に実行されるコードであるマスターブートレコード(MBR)、あるいは起動プロセスを開始するために必要なコードまたはオペレーティングシステムやアプリケーションをロードするためのコードを含むボリュームブートレコード(VBR)をターゲットにします。これらのタイプのレコードのいずれかにルーキット自体を関連付けることで、ブートローダールートキットは、標準のファイルシステムビューに表示されなくなり、ウイルス対策ツールやルートキット削除ツールによる検知が困難になります。
次のようなブートローダールートキットの例があります。
- Stoned Bootkit
- Olmasco
- Rovnix
仮想化ルートキット
ターゲットシステムの起動と同時に起動するカーネルモードルートキットとは異なり、仮想化ルートキットはオペレーティングシステムが起動する前に起動します。仮想化ルートキットはコンピューターの奥深くに定着し、削除するのが非常に困難かまたは不可能です。
ユーザーモードルートキット
ユーザーモードルートキットはアプリケーションプログラミングインターフェースの動作を変更します。管理者に虚偽の情報を表示し、システムコールを傍受し、プロセス出力をフィルタリングし、さらにその他のアクションを実行してルートキット自体の存在を隠すことができます。ただし、ユーザーモードルートキットはオペレーティングシステムやその他の重要なプロセスではなくアプリケーションをターゲットにしているため、ウイルス対策やルートキット削除ツールのアラートをトリガーするパンくずを残すので、他の種類のルートキットマルウェアほど削除は難しくありません。
次のようなユーザーモードルートキットの例があります。
- Vanquish
- Hacker Defender
- Aphex
メモリルートキット
メモリルートキットは、RAMにロードされるため、システムの再起動時にRAMがクリアされるまで存続します。アクティブになっている間は、それらの悪意のあるアクティビティが、ターゲットのシステムのリソースを消費し、RAMメモリのパフォーマンスを低下させます。
ルートキットの例:Spicy Hot Pot
クラウドストライクは、ユーザーのホームページを攻撃者がコントロールするページに変更するためにブラウザをハイジャックするルートキットの興味深い使用法を発見しました。これは、悪意のある実行可能ファイルやレジストリキーを使用してユーザーのホームページを変更する典型的なブラウザハイジャッカーとは異なるアプローチです。
ルートキット
Spicy Hot Potと呼ばれるこのマルウェアは、ユーザーのシステムからオペレーターのサーバーにメモリダンプをアップロードし、マルウェアを最新の状態に維持できるようにするローカルアップデート機能を挿入します。Spicy Hot Potは、以前のブラウザハイジャッカーから進歩して、ステルス性を維持するための別のステップを組み込んでいます。それは、2つのカーネルモードドライバーをディスクに落とし込むもので、それらはマルウェア感染プロセス中に自身をインストールします。
これらの悪意のあるドライバーは、さまざまな機能を実行します。次の機能を実行できます。
- セキュリティソフトウェアがコールバック関数を傍受できないようにする
- コンピューターシステム上で作成されたメモリダンプを特定のディレクトリから収集する
- 悪意のあるアクターが望む方法でマルウェアを更新できるようにする
- ユーザーの入力および出力リクエストを傍受して変更する
- 悪意のあるファイルを表示しようとする管理者による試みを傍受し、ルートキットスキャナーからでもそれらが事実上見えないようにする
発見
Spicy Hot Potは、CrowdStrike Falcon® Complete™チームが、顧客のWindows 10環境で実行しようとしている不審なバイナリについてのアラートを受信したときに見つかりました。調査の結果、このバイナリにはブラウザハイジャックルートキットがバンドルされていたことが判明しました。このルートキットは、ターゲットマシンの休止モードを無効にする前に、7つの実行可能ファイルと2つの悪意のあるドライバーを顧客のシステムに配置しました。ルートキットはマルウェアファイルが表示されないようにしたため、ディスクに配置されたカーネルドライバーはユーザーには見えませんでした。
調査
クラウドストライクチームは、このルートキットが2019年の初めに観察され、それ以来、亜種を生み出し続けていたことを認識しました。クラウドストライクは、マルウェアの動作をシミュレーションすることができ、その過程で調査中のルートキットよりも広範囲に蔓延していた亜種の存在を発見しました。この亜種には4年前に遡る作成日時のタイムスタンプがありました。これは、作成者によって再パッケージ化され再配布された可能性がある古いクラッキングツールがSpicy Hot Potの基になっていることを示していました。
Spicy Hot Potルートキットによって配置された9つのファイルのうち、8つは1つのエンティティに対して発行された異なる署名証明書によって署名されていました。これらの署名証明書の有効期限は古いもので10年、新しいもので1分でしたが、すべて有効期限が切れていました。有効期限が切れていたにもかかわらず、ドライバー署名の強制の例外により、引き続き正常にインストールできました。
クラウドストライクチームはその後、最初の署名証明書をマルウェアサンプルのパブリックリポジトリと比較し、Spicy Hot Potに関連する数百の固有のマルウェアサンプルを発見しました。これは、マルウェアの操作者が抵抗なくこれらの証明書を使い続けていて、すぐに使用をやめる可能性が低いことを意味します。
Spicy Hot Potはユーザーの入力および出力リクエストをフィルタリングしてファイルを非表示にしますが、CrowdStrike Falcon®はテレメトリを使用してマルウェアにプログラムされた感染アクションを暴き出すことができ、Falcon Real Time Response(RTR)機能がそのカーネルドライバーを見つけてターゲットシステムに存在するバイナリを除去できました。
修復
他のルートキットと同様に、Spicy Hot Potのカーネルフィルタードライバーはユーザーには停止できません。悪意のあるドライバーにより、レジストリキー、サービス、さらにはドライバー自体が削除できなくなるので、リモートで削除するのは難しい場合があります。一般の場合と同様、ルートキットマルウェアを削除するには、多くの場合、マシンの電源を切るか、セーフモードで起動することが必要ですが、このどちらもリモートで実行できません。しかし、クラウドストライクは起動時にSpicy Hot Potの実行を停止する方法を見つけることができたため、リモート修復が可能になりました。
Spicy Hot Potは、悪意のあるドライバーをWindowsAppsフォルダーに配置します。フォルダーの名前を変更することで、悪意のあるドライバーが参照するパスが存在しなくなるため、フィルタードライバーが表示されるようになり、ドライバーの読み込みに失敗します。この時点で、Spicy Hot Potルートキットに関連付けられたサービスやレジストリキーも削除できました。
ルートキットに対する保護方法
ルートキットは、マルウェアと同じ方法、すなわちEメール、USBドライブ、脆弱性などにより拡散します。組織では、セキュリティ意識向上トレーニング、脆弱性管理プログラム、デバイス制御など、標準的なエンドポイント保護プラクティスをすべて実施し、エンドポイントを保護する必要があります。これらの手順により、マルウェアの一部はインフラストラクチャに侵入しないよう阻止できますが、すべてのマルウェアが阻止できるわけではなく、修復についても効果はありません。
ほとんどのエンドポイント保護ソリューションは、ローカルオペレーティングシステムとその上で動作するアプリケーションに焦点を当てています。機械学習、エンドポイントでの検知と対応、振る舞い分析など、この分野での進歩により、サイバー犯罪者が目的を達成することは困難になっています。これに対応して、悪意のある攻撃者は、オペレーティングシステムの下のコンピューティングレイヤー、すなわちハードウェアを実行するソフトウェアに注意を向けています。ルートキットマルウェアが増加しています。
ルートキットマルウェアからの最善の保護は、人工知能、テレメトリ、リアルタイム応答機能などの高度なテクノロジーを活用したエンドポイント保護ソリューションで、検知が困難なルートキットを識別して実行前に停止できるものです。もう1つの重要な機能は、カーネルルートキット攻撃を防ぐために、各エンドポイントのBIOSを継続的に監査可能な形で監視できることです。これらの機能により、攻撃がアクティブ化できるようになる前に攻撃を阻止し、コンピューティングレイヤーの底で眠っている休眠中の脅威を検知することさえ可能になります。