ルートキットは、コンピュータシステムへの不正アクセスを得て、その存在を隠すために設計されたマルウェアです。したがって、攻撃者はルートキットを使用して、侵害されたシステム上での存在を隠蔽し、後日、検出されることなく戻ってくることを可能にします。
ルートキットは通常、様々なシステムコンポーネント間のインターフェースでの通信をインターセプトおよび変更することで隠蔽されるため、ルートキットはman in the middle攻撃の一形態です。
ルートキットにより、攻撃者は所有者の知識なくシステム上のコマンドとコントロールを保持することができます。通常、リモートファイル実行、システム構成変更、キーストロークまたはネットワーク活動のログ記録、およびその他のユーザー活動のスパイ行為を可能にします。デバイスまたはファイルシステムドライバに隠蔽されている場合、ファイルを隠蔽したり、プロセスを隠蔽したり、セキュリティポリシーを無効化することなどができます。
第1世代のルートキットは、ターゲットシステム上のシステムファイルを単に修正しました。典型的な例は、被害者のログイン認証情報を盗んだ修正されたUNIXログインプログラムでした。後のルートキットは、静的なOSコンポーネントとメモリに読み込まれた動的なOSオブジェクトを修正し始めました。
ブートキット
ブートキットは、コンピュータに感染し、オペレーティングシステムが初期化される前に悪意のあるコードをメモリに読み込むように設計された、ルートキットの一種のマルウェアです。ブートキットは通常、システムのブートローダー、カーネルブートファイル、マスターブートレコード(MBR)、または基本入出力システム(BIOS)/統合拡張ファームウェアインターフェース(UEFI)をターゲットにします。プリブート環境をターゲットにすることで、ブートキットは標準のセキュリティ対策をバイパスし、隠蔽されたままでいることができます。オペレーティングシステムの再インストールに耐える能力を有することが多いため、削除が困難です。
ブートキットは1980年代と1990年代に一般的でしたが、ブートキット技術は、様々な政府機関および商業用リモート監視ツール(「Nice Boots!」- ブートキットの大規模分析と新しい対策方法)にも実装されています。
最初のブートキットはCIH(Chernobyilウイルス)で、1998年に登場しました。台湾の学生Chen Ing-hau(その名前がCIHの由来)により開発され、Windows 9xシステムをターゲットにしました。このマルウェアはMBRを破損させ、BIOSの一部を上書きし、システムをブート不可能にしました。
もう1つの既知のブートキット/コンピュータウイルスはStonedでした。1987年に作成され、感染したフロッピーディスクからのブートによってコンピュータに感染しました(これは感染の媒介手段でもありました)。
2007年頃、セキュリティ研究者はより高度なAlureonブートキット(TDSSまたはTDL-4としても知られている)を特定しました。これはコンピュータのMBRに感染し、ネットワークトラフィックをインターセプトして銀行および他の機密ユーザーデータを盗むために使用されました。
2007年にIceLord(ICLord Bioskitとしても知られている)が登場しました。これは最初のBIOSベースのproof-of-conceptブートキットでした。2011年に最初のBIOSブートキットが野生で登場しました。Mebromiと呼ばれ、中国のコンピュータをターゲットにしました。サイバー犯罪フォーラムで売られた最初のUEFIブートキット(BlackLotus)は2022年に発見されました。
前述のように、ブートキット技術は、様々な政府機関および商業用リモート監視ツールに実装されることがよくあります。その理由の1つは、ブートキットを使用して暗号化をバイパスすることができるからです。通常、ブート中に入力されたパスワードまたは暗号化キーをインターセプトすることでです。
これは、セキュリティ研究者Joanna Rutkowskaが彼女のEvil Maid proof-of-conceptツール(2009年に開発)で示されました。このツールはTrueCrypt(バージョン6.x)フルディスク暗号化ソフトウェアを使用するシステムをターゲットにしました。ツールは元のブートローダーを悪意のあるバージョンに置き換え、次の正当なブート時にユーザーの暗号化パスフレーズがログされました。
Evil Maid攻撃は、デバイス(例えばノートパソコン)への物理的アクセスを持つ攻撃者がそれを操作してセキュリティを損なう物理攻撃シナリオの名称です。通常、正当な所有者が不在の場合です。名前はホテルの「メイド」がゲストのコンピュータを改ざんする仮定のシナリオから来ています。上記のアプリケーションEvil MaidはJoanna Rutkowskaによって開発されたブートキットで、Evil Maid攻撃をTrueCryptに対して実行するために開発されました。マルウェアはユーザーが入力したTrueCryptのパスワードをインターセプトし、ディスク上の特定の場所に格納してからTrueCryptに渡しました。攻撃者は、コンピュータへの物理的アクセスがある次のときに格納されたパスワードを抽出でき、暗号化保護をバイパスできました。
一部のメディアレポートによれば、これはイスラエルの秘密情報機関がシリアの外交官のコンピュータのデータにアクセスした方法です。シリアの外交官は2006年にロンドンのホテルの客室にコンピュータを放置していました。そのように取得されたデータは、シリアが砂漠に秘密のAl-Kibarニュークリアファシリティを建設していたことを証明しました(IAEA文書ではDair Alzourとも呼ばれています)。核施設はその後、2007年9月6日にOperation Orchard(Operation Outside the Boxとしても知られている)で爆撃されました。
これから、ブートキット(およびルートキット)がサイバー攻撃とスパイ活動にどのように利用される可能性があるかは明確にわかります。
ルートキットはどこまで深く行くことができるか?
ルートキットは、システムのさまざまな部分、より具体的には異なる保護リングと呼ばれるものに隠蔽することができます。
保護リングは、階層的保護ドメインとも呼ばれ、障害(フォールトトレランスの改善)と悪意のある行動からデータと機能を保護するメカニズムです。
コンピュータシステムのリングは、最も特権が高い(最も信頼できる、通常はゼロで番号付けされている)から最も特権が低い(最も信頼できない、通常は最も高いリング番号)まで、階層に配置されています。ほとんどのオペレーティングシステムでは、Ring 0は最も特権が高いレベルであり、物理ハードウェアと最も直接的に相互作用します。
コンピュータオペレーティングシステムは、リソースへのさまざまなアクセスレベルを提供し、リング間のアクセスを正しくゲートすることで、あるリングまたは特権レベルのプログラムが別のプログラム用のリソースの誤用を防止することでセキュリティを改善できます。
例えば、Ring 3のユーザープログラムとして実行されているスパイウェアは、ハードウェアアクセスがRing 0(カーネルモード)に予約されているため、ユーザーに通知することなくウェブカメラをオンにすることを防止されるべきです。
最新のオペレーティングシステムは、Ring 0(カーネルモード)とRing 3(ユーザーモード)のみを使用しています。しかし、システム全体(オペレーティングシステムとユーザーアプリケーション)を危険にさらす可能性のあるさらに低いリングがあります。したがって、ルートキットの異なるレベルを見て、どれほどステルスができるかを見てみましょう。
Ring 3ルートキット
Ring 3ルートキットは、ユーザーモードルートキットとも呼ばれ、ユーザースペースレベルで実行されています。それらはオペレーティングシステム内で最も低い特権レベルで実行でき、感染したユーザーのユーザースペース内で損害を与えることができます。
Ring 3ルートキット軽減
Ring 3ルートキットはカーネルレベルのアクセスを持たないため、検出と削除が容易です。このマルウェアに対する良い戦略は、アプリケーションサンドボックス化(感染したユーザースペース内の損害を最小化するため)および完全なユーザースペースの定期的なバックアップ/スナップショット(完全なデータ損失を防ぐため)です。
また、ユーザーの良い戦略は、異なるタスク用に異なる分離された環境を使用することです。例えば、ウェブブラウジング用に1つの分離された環境を使用し、銀行用に別の環境を使用するなど。ウェブブラウジング環境が侵害された場合、感染はこの環境に限定され、オンライン銀行に使用される環境に影響を与えません。
Ring 0ルートキット
Ring 0ルートキットは、カーネルモードルートキットとしても知られ、オペレーティングシステムのコア(カーネルスペースと呼ばれる)に存在します。それらはオペレーティングシステム内で最も高い特権レベルを持っています。通常、削除が困難です。最も高い特権レベル(Ring 0)で動作し、オペレーティングシステムに深く統合される可能性があるためです。
それらは、ファイル、プロセス、またはネットワーク活動を隠蔽し、システムコールを修正することができます。削除には多くの場合、特殊なツールまたは完全なオペレーティングシステムの再インストールが必要です。
Ring 0ルートキット軽減
しかし、このマルウェアに対する良い戦略は、仮想コンパートメント内でオペレーティングシステムを実行し、異なるタスク用に異なる分離された環境を使用することです。さらに、システムが仮想マシンレベルのスナップショットを有効にする場合、システム全体を最後の既知の良好な状態に簡単に戻すことができます。
その場合、仮想化技術は異なる仮想マシンの分離を提供します。そのようなタイプの脅威に対するソリューションの一例はQubesOSによって提供されています。QubesOSは、仮想化サービスによる分離を通じたアプリケーションのセキュリティと分割を提供するセキュリティ重視型デスクトップオペレーティングシステムです。
QubesOSでは、ユーザーは異なるタスク用に使用される複数の分離された環境を持っています。仮想コンパートメントの1つが侵害された場合、マルウェアはその環境内のデータとアプリケーションのみにアクセスできます。分離はハードウェアコントローラー(一部の仮想コンパートメントはマイクロフォンやカメラなどのハードウェアへのアクセスが制限されている可能性があります)および仮想化によって提供されます。ユーザーのデジタルライフは異なる信頼レベルを持つセキュリティドメインに分割されています。残念ながら、QubesOSはかなり複雑で、かなり急な学習曲線を持つため、一般ユーザーにはあまり適していません。
Ring -1ルートキット
Ring -1ルートキットは、ハイパーバイザールートキットとも呼ばれ、オペレーティングシステムの下のハイパーバイザーレベルで動作します。ハイパーバイザーは、コンピュータ上で1つ以上の仮想マシンを実行および管理するために使用されるソフトウェアコードです。オペレーティングシステムのカーネルより高い特権レベルで実行されるため、Ring -1と呼ばれます。
これらのルートキットは、最新のCPUの仮想化機能を悪用して、ルートキットをオペレーティングシステムの下のハイパーバイザーとして実行します。通常、ハードウェアレベルの命令をインターセプトおよび操作でき、オペレーティングシステムを仮想化してそれを完全にコントロールできます。基本的に、仮想環境を作成し、オペレーティングシステムをその中に限定しますが、侵害されたオペレーティングシステムはハードウェア上で直接実行されていると考えています。検出(および削除)が非常に困難です。独自のコンテキスト外からオペレーティングシステムを操作できるためです。
2006年に、ポーランドのセキュリティ研究者Joanna Rutkowskaは、Ring-1マルウェアBlue Pillと呼ばれるものを概念化しました。AMD-V仮想化拡張を悪用してハイパーバイザーとして機能し、オペレーティングシステムがそれを認識することなく、それを仮想化環境に配置することができました。オペレーティングシステムがベアメタルハードウェアで動作していると考えている間に、実際にはハイパーバイザーで実行されており、Blue Pill ルートキットによる監視と操作を受けています。
Blue Pillは最初にAMD-V仮想化拡張を使用しましたが、他の研究者(例えばDino Dai Zovi、同じく2006年)はIntel VT-x仮想化拡張も悪用される可能性があることを示しました。同様に、2006年にMicrosoftとUniversity of Michiganの研究者は、SubVirtと呼ばれる仮想化ベースのルートキットとして設計されたproof-of-conceptマルウェアを開発しました。
Ring -1ルートキット軽減
Ring-1ルートキットに対するソリューションの1つは、BIOS/UEFIのハードウェア仮想化を無効にすることです。ただし、その場合、ユーザーはシステム上で仮想環境を実行することが制限されます。
別のソリューションは、信頼されたブートメカニズムを使用することです。これらのメカニズムは、ハイパーバイザーの整合性チェック(暗号署名を検証することにより)を実行し、ブートプロセス中に権限のないハイパーバイザーが読み込まれないようにするのに役立ちます。これらのメカニズムはDasharo(Heads payloadを持つ)というオープンソースのBIOS/UEFIプロジェクトによって提供されますが、詳細については後で説明されます。
Ring -2ルートキット
Ring -2ルートキットは、いわゆるSMMルートキットとBIOS/UEFIブートキット(UEFIインプラントとも呼ばれる)の混合です。通常、Ring-2ルートキットはSMMおよびUEFI侵害を利用します。SMMルートキットはCPUのSMM環境内で動的に動作する一方、通常、ファームウェアレイヤーに悪意のあるコードを埋め込んで永続性を達成するためにUEFIルートキット技術を使用します。
また、SMMおよびUEFIにはセキュリティの脆弱性が含まれていることにも注意する必要があります(例えば、一部のSMMには完全なUSBスタックが含まれていました)。これはRon Minichの講演LinuxでExploit-Riddenファームウェアを置き換えるで簡潔に説明されています。
SMMルートキット
SMMルートキットは、System Management Mode(SMM)で実行されます。SMMは、SMRAM(System Management RAM)と呼ばれる保護されたメモリスペースで動作します。これはオペレーティングシステムおよびほとんどのセキュリティツールからアクセスできません。SMMは最新のx86_64プロセッサにおける最も特権が高いモードです。コンピュータのすべての(物理的な)リソースへの完全なアクセス権を持つ実行環境を提供します。さらに、SMMはプリエンプティブでないモードです。つまり、通常のハードウェア/ソフトウェア割り込みで割り込むことができません。これにより、オペレーティングシステムの実行コンテキストから完全にステルスなコード実行が可能になります。
SMMは独自のプライベートメモリスペースと実行環境を持っており、これは通常、外部環境(オペレーティングシステム)から見えず、メモリ保護メカニズムに免疫があります。SMMはハードウェアと直接相互作用できるため、オペレーティングシステムとハイパーバイザーをバイパスしています。したがって、SMMルートキットは再起動を越えて永続的に残ることができます。ファームウェアに埋め込まれているか、ブート中に再ロードされるSMRAM構成を操作しているためです。SMMルートキットはそれ自体で永続的ではないことが多く、通常、永続性を得るためにUEFI侵害を利用します。
2005年にSherri SparksとJamie Butlerはproof-of-conceptのSMMルートキットShadow Walkerを提示しました。これは、オペレーティングシステムおよび他のプロセスが見るメモリ領域のビューを制御することが可能であることを実証しました。Shadow Walkerは、自身のコードとオペレーティングシステムのコンポーネントの変更の両方を隠蔽でき、署名ベースとヒューリスティックベースのスキャンの両方を欺くことができました。
2008年にShawn Embleton、Sherri Sparks、Cliff Zouは、彼らのproof-of-conceptのSMMルートキットの開発を提示しました(参照:SMM rootkits: OSに依存しない新しい品種のマルウェア)。彼らはチップセットレベルのキーロガーと、ネットワークカードと直接相互作用してログされたキーストロークをUDP経由でリモートマシンに送信できるネットワークバックドアを実装しました。ルートキットはそのメモリフットプリントを隠蔽でき、既存のオペレーティングシステムに変更を加える必要はありません(すなわち、OSに依存しないものでした)。
また、Jussi Hietanenによる興味深いproof-of-conceptのデモンストレーションがあります。SMMからRing0/Ring3コンテキストにシェルコードを注入できることを示す方法です。記事System Management Mode(SMM)ルートキットで説明されています。ルートキットの能力は、Windowsユーザーモードプロセスに感染し、完全なメモリスペースにアクセスし、OS再インストール間で永続化することでした。
BIOS/UEFIルートキット
Ring -2ルートキットの別のクラスはBIOS/UEFIルートキットと呼ばれます。BIOS(Basic Input/Output System)またはその最新の同等物であるUEFI(Unified Extensible Firmware Interface)を特にターゲットにするためです。
最初に述べたように、最初のBIOSをターゲットにしたルートキット/ブートキットは1998年のCIH(Chernobyilウイルス)でした。2007年にicelordというニックネームで知られている中国の研究者がproof-of-conceptのブートキットICLord Bioskitを開発しました。これはBIOSルートキットが実現可能で強力であることを実証しました。もう1つの興味深いproof-of-conceptのファームウェアルートキットは、2012年にセキュリティ研究者Jonathan Brossardによって開発されたRakshasaでした。これは、UEFI/BIOSファームウェアに永続化することができました。
おそらく最初に野生で使用された既知のRing -2ルートキットは、Mebromiで、2011年に発見されました。主に中国のコンピュータをターゲットにしました。
UEFIルートキットの注目すべき研究は、2012年にAndrea Allieviによっても実施されました。彼は最初のUEFIブートキットコンセプトの1つ(Windows 8用)を開発しました。また、2013年にQuakersLabsのSebastien KaczmarekDreamboot)を提示しました。これもWindows 8 x64実験的ブートキットでした(ただし、Andrea Allievi後にQuakerslab言及なしで2013年にプロジェクトを盗んだと非難しました)。
ルートキット/ブートキット技術は、政府のスパイツールでよく使用されます。そのようなタイプのルートキットの最初の既知の例の1つは、Hacking Team グループによって使用されました。これはUEFI/BIOSに感染し、Remote Control Systemと呼ばれるマルウェアツールをターゲットのシステム内に永続的にインストールしました。1915年に最初に発見されました。(ちなみに、Hacking Team グループは、スロベニアの警察と秘密情報機関に彼らのマルウェアを売ろうとしていました)。同様のツール、FinSpy(FinFisherまたはWingbirdとしても知られている)はサイバー諜報にも使用されます。少なくとも2011年からは使用されていますが、2021年にUEFIブートキット技術を採用しました。永続化を保持するため
2021年、Kasperskyのセキュリティ研究者はMoonBounceルートキットを発見しました。これは、コンピュータマザーボード上のSPIフラッシュチップにその悪意のあるコードを注入しました。UEFIファームウェアをターゲットにしています。これは、ルートキットがハードドライブに痕跡を残さず、ディスクがフォーマットされたり置き換えられたりした場合でも、システムに永続化できることを意味します。中国のAPT41ハッカーグループにリンクされており、サイバー諜報に使用されています。
おそらく野生でサイバー諜報に使用されている最も知られているRing -2ルートキットは、LoJaxです。2018年にESETのセキュリティ研究者によって発見されました。LoJaxはUEFIファームウェアに埋め込まれ、システム起動時に実行され、SMMで動作し、OSレベルの検出をバイパスしました。LoJaxはオペレーティングシステムが再インストールされたり、ハードドライブが置き換えられたりした場合でも、UEFIに永続化できます。感染が成功した場合、攻撃者はLoJaxを使用してシステムの場所を追跡し、システムへのリモートアクセスを行い、追加のマルウェアをインストールできます。研究者は、LoJaxが、Hacking Teamのマルウェアと同様に、サイバー諜報に使用されたことを発見しました。
研究者は、LoJaxがバルカン半島および中央および東ヨーロッパの国の組織をターゲットにしたことを発見しました。
UEFIブートキットコンセプトは様々なオペレーティングシステムに適用できますが、これらのルートキットは過去のほとんど主にWindowsシステムをターゲットにしていました。独占的ではありませんが、2012年にセキュリティ研究者Loukas K.、「snare」がMac EFIルートキット(DE MYSTERIIS DOM JOBSIVS:Mac EFIルートキット)を提示しました。2017年、WikileaksはCIAのVault 7ハッキングツールに関する情報を公開しました。これにはMac OS X EFIインプラント、QuarkMatter(QuarkMatterはEFIシステムパーティションに保存されたEFIドライバーを使用して、任意のカーネルインプラントへの永続性を提供しました)が含まれていました。
しかし、2024年にLinuxシステム用に設計された最初のUEFIブートキットBootkittyが登場しました。これは、カーネルの署名検証機能を無効にして未署名のブートコードを読み込むproof-of-conceptツールでした。ただし、BootkittyがUEFI Secure Bootメカニズムをバイパスできる最初のルートキットではないことに注意する必要があります。最初のものはBlackLotusで、2022年に発見されました。これはSecure Bootバイパスを統合しており、おそらく最初のUEFIルートキットで、サイバー犯罪フォーラムで「商業的に」販売されました。また、コード難読化、反仮想化、Windows Defenderアンチウイルスソフトウェアの無効化、User Account Control(UAC)のバイパスなど、複数の検出回避機能を実装しました。
Ring -2ルートキット軽減
Ring -2ルートキットは検出が非常に困難です。ファームウェアレベルであり、OSとは独立して動作するためです。通常、ファームウェアの再フラッシュまたはハードウェアの物理的な置き換えが必要です。
しかし、より実用的な軽減技術があります。ハードウェア保護を有効にすることです。例えばBIOSロック(コンピュータがブート時に不正アクセスを防ぐために設計されたセキュリティ機能)およびSMMロック(SMAMへの不正アクセスを防ぐハードウェア保護)です。Secure Bootを使用して権限のないファームウェアまたはブートローダーの修正を防止することも選択肢です。ただし、一部のルートキット(BlackLotusおよびBootkittyなど)はSecure Boot保護をバイパスできます。別のオプションは、システムへの物理的アクセスを防止することです。BIOS/UEFIルートキットは直接ハードウェアアクセス経由でもインストールできるためです(これにはBIOSファームウェアプログラマーと呼ばれる特殊なハードウェアデバイスが必要です)。
残念ながら、セキュリティ研究者はクローズドソースBIOSファームウェアコード内の複数の脆弱性を発見しました。主な問題の1つは、Secure Bootと従来のBIOSのIntel Trusted Bootがロールバック攻撃に対して脆弱であることです。BIOSの更新には有効な署名でファームウェアコードが暗号的に署名されることが必要ですが、攻撃者は以前の公式のBIOSファームウェアバージョン(有効なデジタル署名を持つ)の1つをインストールできます。ただし、この古いバージョンには悪用される可能性のあるセキュリティの脆弱性が含まれています。また、悪用される可能性のあるUEFI脆弱性も知られています(例えばLogoFAIL攻撃)。2024年にセキュリティ研究者は、Secure BootがAcer、Dell、Gigabyte、Intel、およびSupermicroによって販売された200以上のデバイスモデル上で完全に侵害されたことを発見しました。誰かが、ハードウェアデバイスと、その上で実行されるファームウェア間の信頼の根拠を形成する暗号キーを誤って公開したためです(いわゆるプラットフォームキー)。これは、BIOS/UEFIコードがユーザーのコントロール下にはなく、ユーザーがシステムを信頼するためにはベンダーを信頼する必要があることを示す別の警告でした。
幸いなことに、これに対するソリューションがあります。オープンソースのBIOS/UEFIプロジェクトDasharoと呼ばれるHeads payloadは、SMMルートキットに対する保護のいくつかの対策を組み込んでいます。
Dasharoは、SMMコードが実行されるSystem Management RAM(SMRAM)がブートプロセス中にロックダウンされることを保証しています。SMM BIOS書き込み保護を有効化するオプションがあります。これを有効にすると、ファームウェアによってシステムメモリにインストールされた特権コード(SMMコード)のみがBIOSフラッシュに書き込みできます。BIOS/UEFIロックを実装して、ブート後にファームウェアをロックダウンし、権限のないソフトウェアによる修正を防止し、Secure BootとMeasured Bootを実装してファームウェアおよびSMMコード(およびオペレーティングシステムのブートスクリプト!)への権限のない変更を検出し、外部ハードウェアセキュリティモジュールの助けを得ています。
DasharoとHeads payloadブートファームウェアとソフトウェアスイートは、Trusted Platform Module(TPM)、Time-based One-Time Passwords(TOTP)、およびHMAC-based One-Time Passwords(HOTP)の組み合わせを使用して、強化されたシステムの整合性検証とセキュアな認証を提供しています。システムの検証は外部ハードウェアセキュリティモジュール(小型USBデバイス)で実行でき、システムのファームウェア、カーネル、ブートローダーを検証し、検証ステータスの視覚的な確認を提供します。
Ring -3ルートキット
Ring -3ルートキットは、Management Engine(ME)またはPlatform Controller Hub(PCH)ファームウェアで動作します。例えば、Intel’s Management Engine(ME)またはAMD’s Platform Security Processor(PSP)などです。これらはCPUチップセット内に組み込まれたマイクロコントローラーで、アウトオブバンドシステム管理とセキュリティ機能用に設計されています。これらのルートキットはファームウェアに存在するため、ファームウェアルートキットとも呼ばれます。
Ring -2ルートキットがSMRAMおよびSMI(System Management Interrupts)の脆弱性を悪用する一方、Ring -3ルートキットはチップセットマイクロコントローラー内のファームウェア(例えばManagement Engine)に依存しています。DMA(direct memory access)経由でホストメモリにアクセスできます。ネットワークインターフェースに直接アクセスでき、エミュレートされたCDROMからシステムをブートでき、いわゆるS3スリープ(System Power State S3)でもアクティブです。
Ring -3ルートキットコンセプトは、2009年にAlexander TereshkinとRafal WojtczukによるプレゼンテーションRing -3ルートキットの紹介で最初に提示されました。
多くのIntel vProチップセットが独立したCPUを持ち、専用のDRAMメモリへのアクセス、ネットワークカードへの特別なインターフェース、Management Engine(ME)と呼ばれる実行環境を持つことを提示しました。また、Intel Q35チップセットにはスタンドアロンのウェブサーバーもあることを発見しました。したがって、このチップセットはメインCPUから独立してプログラムを実行できるリトルコンピュータです。
研究者は、Intel MEおよび同様のテクノロジーが悪用される可能性があることを示しました。IntelActive Management Technology(AMT)はコンピュータのリモート管理用のテクノロジーで、Intel Management Engineで実行されています。
IntelのAMTのセキュリティに関する最初の研究の1つは、2010年にVassilios Ververisのマスターズ論文Intel’s Active Management Technologyのセキュリティ評価で発表されました。Ververisは、Intel のAMTのいくつかの基本的なセキュリティ上の弱点について説明しました。これらの弱点により、攻撃者はターゲットマシンをリモートでコントロール(インターネット経由またはメッシュネットワーク経由)でき、ハードウェアレベルでボットネットのインストールとコントロールを可能にします。
2017年にMark ErmolovとMaxim Goryachyはコンピュータをハックする方法、またはIntel Management Engineで署名されていないコードを実行する方法というタイトルのトークを提示しました。Intel MEを悪用することで、電源がオフの状態でも署名されていないコードを実行する方法を示しました。
Intel MEの重大な脆弱性、CVE 2017-5689 – Intel AMT脆弱性の手動悪用(Intel-SA-00086アドバイザリーも参照)は2017年のもので、攻撃者がリモートで(インターネット経由で)システム特権を取得できました。この脆弱性は「Silent Bob is Silent」というニックネームでも知られており、2008年からのIntel CPU(9年)に存在していました。
2017年6月、サイバー犯罪グループPLATINUMはIntelのAMT Serial-over-LAN機能の悪用を開始しました。これにより、ホストオペレーティングシステムとそのファイアウォールをバイパスしてコンピュータにリモートアクセスできます。サイバー犯罪グループはAMTを悪用して盗まれたドキュメントのデータ流出を実行しました。
また、2022年6月に、Wizard Spiderランサムウェアグループ(Contiランサムウェアを開発していた)は、持続的で検出しにくい攻撃を実行するためにIntelファームウェアをターゲットにするproof-of-conceptコードを開発しました。これは、危険が単なる理論的なものではなく、既に(そしておそらく)野生で悪用されている可能性があることを真摯に警告する必要があります。
Ring -3ルートキット軽減
Ring -3ルートキットは、攻撃者に深く、永続的で、ステルスなシステムのコントロールを可能にします。これは、従来のセキュリティメカニズムの範囲を超えています。しかし、可能な軽減策があります。それは、ME機能を無効にすること(少なくとも部分的に。完全に無効にするとCPUが破壊されるため)です。これは特殊なツールME Cleaner(Nicholas Cornaによって開発)を使用して達成できます。ただし、これは特定のIntel CPUのみで可能であり、将来的には機能しない可能性があります。
コンピュータでIntel MEを無効にする2つの方法があります。最初の方法はHECI(ソフト無効化;Host Embedded Controller Interface)と呼ばれるものですが、セキュリティコミュニティでは完全に信頼されておらず、Intel MEを部分的にしか無効化しません。別のオプションはHAP無効化方法です。これは、キルスイッチのような特別なHAPビットを設定します。この方法は、無効化できるIntel MEを完全にオフにしています。
Ring -4ルートキット
Ring -4ルートキットはより理論的ですが、それらが成功裏に展開される可能性があることを示すいくつかの証拠があります。Ring -4という用語は、既知のRing -3システムより下の特権階層における新興の脅威を説明するために使用されます。
これらのルートキットは、System on Chip(SoC)または物理ハードウェアデバイス自体など、システム内でさらに深いコンポーネントをターゲットにするでしょう。したがって、既に発生したいくつかの悪用を見てみましょう。
ベースバンドプロセッサーへの悪用
ベースバンドプロセッサーは、モバイルデバイスまたはコンピュータ内の特別なプロセッサーで、すべてのラジオ機能を管理します。研究者は、ベースバンドプロセッサー上のファームウェアコードが脆弱であり、いくつかの脆弱性はすでに悪用されており、通常サイバー諜報に使用されていることを示しています。
2011年に、University of Luxembourgのセキュリティ研究者Ralf-Philipp WeinmannはThe Baseband Apocalypseというタイトルのプレゼンテーションを持っていました。偽のベースステーションを設定し、近くの電話を偽のネットワークに接続する方法を示しました。その後、悪意のあるファームウェアアップデートをベースバンドプロセッサーに注入することができました。彼の悪意のあるファームウェアは、電話の自動応答機能をオンにし、研究者が電話に静かにダイヤルして、近くの会話をリモートで聞くことができました。
2019年、AndroidセキュリティパッチにはQualPwn(CVE-2019-10538とCVE-2019-10540)と呼ばれる2つの危険な脆弱性の修正が含まれていました。これらはQualcommチップを持つデバイスに影響を与えました。攻撃により、特別に細工されたパケットをデバイスのWLANインターフェースに送信でき、いわゆるバッファオーバーフローを作成できました。これにより、攻撃者はカーネル特権でコードを実行でき、デバイス上でコード実行ができました。
また2019年に、AdaptiveMobile Securityのセキュリティ研究者はSimjacker脆弱性を発見しました。これにより、攻撃者は特別に細工されたSMSを被害者のデバイスに送信でき、携帯電話内のSIMカードに携帯電話の制御を奪わせて機密コマンドを実行させることができました。Simjacker攻撃はサイバー諜報活動の監視企業による悪用を受けていました。
ネットワークインターフェースカードへの悪用
マルウェアはネットワークインターフェースカード上のプロセッサーでも実行できます。これは2008年にセキュリティ研究者Arrigo Triulziによって示されました。彼はProject Maux Mk.IIを提示しました。彼はネットワークカードに保存されたproof-of-conceptハードウェアルートキットNIC SSHを開発しました。ツールは、侵害されたネットワークに直接接続でき、オペレーティングシステム(およびファイアウォール)を完全にバイパスしてコンピュータにアクセスすることができます。ツールについてのさらに詳しい情報は2009年のTriulziとのインタビューで読むことができます(スロベニア語版も利用可能)。
ストレージコントローラーへの悪用
ストレージコントローラー(特にハードディスクおよびSDDの場合)は、ターゲットシステム上のファイルのコンテンツに直接アクセスまたは修正できるため、マルウェア攻撃の望ましい場所です。
2013年にセキュリティ研究者Jeroen Domburgは、ハードディスクコントローラーにマルウェアをインストールできる方法を説明するブログ投稿を公開しました(スロベニア語の記事はも利用可能)。そのマルウェアは、ハードディスクから読み込むときにデータを修正することができました。彼の場合、彼は、ターゲットシステムへの置き換えパスワードを「注入」する方法を実証しました。
マルウェア活動は、修正されたファームウェアが検索する特定のマジック文字列で発動される可能性があります。その場合、マジック文字列は攻撃者によって事前に準備された一連の文字で、任意のファイル、メールメッセージ、(侵害されたサーバーがウェブサーバーの場合)URLに隠されている可能性があります。マジック文字列がターゲットコンピュータで受け取られると、ディスクに書き込まれます。つまり、ハードディスクコントローラーを通ります。これはマルウェアをアクティベートします。
マルウェアがアクティベートされると、/etc/shadowファイルの置き換えパスワードハッシュを修正します(Linuxシステムではこのファイルがユーザーのログインパスワードをハッシュ形式で保存しています)。その後、攻撃者が独自の(置き換え)パスワードでシステムにログインしようとすると、マシンはこのパスワードを修正されたnow /etc/shadowで確認し、攻撃者はログインできます。この例では、オペレーティングシステムが完全に再インストールされた場合でも、ターゲットシステムは脆弱なままです。
別の研究は、2015年にセキュリティ研究者Marcus Hutchinsによって提示されました。彼はハードドライブのメモリチップに保存され、ホストコンピュータに送り返されるデータをインターセプトおよび修正できるファームウェアルートキットを作成しました。これにより、ルートキットはホストシステムを任意のコード実行(より技術的な説明はもまた利用可能)に騙すことができます。
興味深いことに、漏洩したSnowden ファイルは、NSAがIRATEMONKと呼ばれるツールを開発したことを明らかにしました。これは、マルウェア(ルートキット)をハードドライブファームウェアに植え込むことで、マスターブートレコード(MBR)代替を通じた実行を得て、デスクトップおよびノートパソコンでソフトウェアアプリケーション永続性を提供しました。したがって、この攻撃は単なる理論的なものではなく、サイバー諜報に積極的に使用されていました。
その他のハードウェアコンポーネントへの悪用
もちろん、攻撃の可能性はここで終わりません。過去には、Firewireインターフェース経由のさまざまな攻撃、Apple Aluminium Keyboardにマルウェアをインストール、PCIカードなどを見ました。
Ring -4ルートキット軽減
Ring -4ルートキットは軽減が容易ではありませんが、それらに対する効果的な防御があります。ただし、ルートキットが存在するコンポーネントのタイプに依存しています。しかし、一般的に、主な軽減アプローチはファームウェア検証(残念ながら、コンピュータコンポーネント用のほとんどのファームウェアはオープンソースではありません)、およびセキュアなサプライチェーン慣行です。
ベースバンドプロセッサーへの悪用は、ベースバンド分離(例えばGrapheneOSモバイルオペレーティングシステムによって使用されるアプローチ)によって軽減できます。一方、他のプロバイダーは、コンピュータ用のblobなしのネットワークカードを提供しています。つまり、ネットワークカードのファームウェアは、ハードウェアの一部である変更不可な事前インストールファームウェアと見なされます。
ストレージコントローラーのマルウェアは、ソフトウェアレベルのフルディスク暗号化によって打ち負かす可能性があります。ルートキットは、ストレージディスクから書き込みまたは読み込みされるデータが明文である場合にのみ有効であるためです(ただし、フルディスク暗号化には、マルウェアがデータを破損しているかどうかを検出するデータ整合性アルゴリズムが必要です)。
他のハードウェアコンポーネントの場合、脅威レベルは異なります。例えば、キーボードコントローラー上のマルウェアは、デバイスのオペレーティングシステムと通信できない場合、問題が少ないかもしれません。したがって、オペレーティングシステムをセキュアに保つことは、ファームウェア攻撃に対する防御に役立つこともできます。物理的なセキュリティも重要です。攻撃者が感染したファームウェアデバイスへの物理的アクセスを持たない場合、記録されていても、データを流出させることができません。オープンソースおよび検証されたファームウェアを持つハードウェアコンポーネントを使用することも役に立ちます。
補足として、Row hammer攻撃は、ECC RAMを使用し、TTR(Target Row Refresh)が有効なDDR4またはDDR5 RAMを使用し、ハードウェア防御を補完するメモリパーティショニングまたはアクセススロットルを実装するオペレーティングシステムまたはハイパーバイザーを使用することで防止できます。厳密なメモリ分離や、オペレーティングシステムレベルの異なるコンポーネント向けの最小特権などの堅牢な軽減戦略を組み込むことは、Row hammer攻撃を含むメモリ関連の脆弱性の影響を減らすのにも役立ちます。
さらに深く行くことができるか?
さて、問題は、ルートキットがさらに深く行くことができるかどうかです。そして、可能な防御は何ですか?最初の質問への回答は、残念ながら、はいです。(しかし幸いなことに、はい、可能な防御があります)。
悪意のある設計を持つプロセッサ
このトピックの最初の公開研究は、2008年にSamuel T. King、Joseph Tucek、Anthony Cozzie、Chris Grier、Weihang Jiang、Yuanyuan Zhouによる論文Designing and implementing malicious hardwareで発表されました。
彼らは、Illinois Malicious Processor(IMP)と呼ばれるものを提示しました。これは、プロセッサの設計に悪意のある機能をどのように埋め込むことができるかを実証するproof-of-conceptの研究プロジェクトでした。
著者は、攻撃者は汎用攻撃をサポートするハードウェアを設計できることを示しました。彼らのproof-of-conceptは、悪意のあるハードウェア設計が従来のソフトウェアベースのセキュリティメカニズムをバイパスできることを示しました。Illinois Malicious Processorは、隠された動作モード包含していました。これは、従来のハードウェアおよびソフトウェアの監視ツールで検出されないように設計されました。このモードにより、悪意のあるプロセッサは隠されたインストラクションを実行でき、攻撃ペイロードを保存するためのキャッシュメモリの予約部分にアクセスできます。
悪意のある製造を持つプロセッサ
別の攻撃ベクトルは、プロセッサの悪意のある製造である可能性があります。これらの攻撃が単なる理論的なものではなく、実際に実行される可能性があることを示す研究者がすでに証明しているため、これらの攻撃は展示します。
しかし、まず、プロセッサの製造方法を理解する必要があります。プロセッサの主要な原材料はシリコンで、高度に精製される必要があります(99.9999%)。その後、薄いウェーハにスライスされます。シリコンは、電気を導く絶縁と切り替えることができる半導体です。
次のステップでは、シリコンウェーハ上に実際の回路を作成するため、フォトリソグラフィおよび化学プロセスが使用されます。まず、フォトレジスト(光感応材料)の層がシリコンウェーハに適用されます。その後、回路は、回路の画像を持つフォトマスクを通してUV光で照射されます。その手順の間、フォトマスクを通して照射されたフォトレジストは硬化しますが、フォトレジストの他の部分は除去される可能性があります。これはシリコンウェーハ上に回路の画像を作成します。露光されたシリコンはエッチングされます(化学的にまたはプラズマで)。
次のステップは重要で、ドーピングと呼ばれます。ドーピングとは、半導体の電気的特性を修正するために、半導体に意図的に不純物を導入するプロセスです。そのステップで、リン酸または硼素のような不純物がシリコンに追加され、その電気的特性を変更し、電気を導くまたはブロックできる領域を作成します。
化学グループVの要素(リンなど)(シリコンより多くの電子を持つ)がシリコンに追加されると、結果は弱くバウンドされた非常にモバイルな電子です。n型半導体を取得します。しかし、シリコンを化学グループIIIの要素(硼素など)でドーピングすると、電子の欠陥が作成され、p型半導体が得られます。
最後に、銅、アルミニウム、または絶縁酸化物などの材料の薄い層が、チップの多層構造を取得するためにウェーハに堆積されます。
理論的には、ドーピングを使用してハードウェアの脆弱性を導入したり、チップにマルウェアのような動作を注入したりできます。例えば、悪意のあるアクターは、変更された電気特性を持つチップ内の領域を作成できます。これにより、チップが特定の条件下で誤動作、データ漏洩、または意図しない命令を実行する可能性があります。
通常、攻撃者は、乱数ジェネレーターや暗号化キーの処理などのセキュリティクリティカルな機能をターゲットにしようとします。その場合、攻撃者は暗号化キーの生成を予測可能にしました。これはエンセファロン攻撃を促進するでしょう。
別の実行可能な攻撃は、微妙なデータ漏洩チャネルを作成し、側面チャネル攻撃を有効にすることです。わずかに異なる電力消費または電磁放出により、攻撃者は暗号化キーまたは他の機密データを再構築できるようになります。
ドーピングは、元の設計の一部ではない隠された回路を作成するためにも使用される可能性があります。これは実際、チップ上にハードウェアトロイの木馬を作成します。
では、それは単なる理論的なものであるか、実践的に実行されるか?
研究者Georg T. Becker、Francesco Regazzoni、Christof Paar、Wayne P. Burlesonは、ハードウェアトロイの木馬が消費者グレードのプロセッサ上で完全に検出不可能に実装できることを示しました(彼らの研究は2013年で、彼らはIntelのIvy Bridgeプロセッサを使用しました)。適切なドーピングにより、研究者は集積回路上の微細印刷されたトランジスタの論理ゲートへの悪意のある変更を作成することができました。
彼らはまた、同様のプロセスが既に商業的に集積回路の動作を難読化するために使用されていることを指摘しました。(チップからシステムへの逆エンジニアリングの調査記事を参照してください。2016年のMdshahed Enamulquadir、Junlin Chen、Domenic Forte、Navid Asadizanjaniによる著作)。これは、このタイプの攻撃を実践で実行することが、最初は見えるほど不可能ではないことを示唆しています。
Stealthy Dopant-Level Hardware Trojansというタイトルの記事で、彼らはハードウェアトロイの木馬の2つの作成を実証しました。最初はIvy Bridgeプロセッサに実装された悪形式の乱数ジェネレーターでした。2番目は、側面チャネル攻撃に対して耐性がなくなるようにAES暗号化機能の悪意のあるハードウェア実装でした。
既に述べたように、最初のケースでは、彼らはIntelのIvy Bridgeプロセッサの乱数ジェネレーター(いわゆるハードウェアRNG)を修正しました。
Intelのハードウェアランダムジェネレーターは、デフォルトで128ビットの乱数を生成します。これは、単一の乱数の2^128可能な組み合わせがあることを意味します(340282366920938463463374607431768211456個の可能な組み合わせ)。
しかし、プロセッサを修正することで、研究者は乱数の範囲を任意に削減することができました。例えば、2^128から2^32へ。これにより、4294967296個の可能な組み合わせのみが返されます。これらは推測がはるかに容易で、その後、その乱数ジェネレーターで生成された暗号化キーはよりはるかに簡単に破壊されます。
興味深いことに、この方法で修正された乱数ジェネレーターは、生成された数値の乱数性を決定するためにAmerican National Institute of Standards and Technology(NIST)のテストに合格しました。
2番目のケースでは、研究者は側面チャネル攻撃に耐性があることになるハードウェア実装のAES暗号化チップへの攻撃を実装しました。これは、iMDPL(Improved Masked Dual-Rail Logic)と呼ばれる特殊目的集積回路です。彼らは、入力データに応じて電力消費が変わるように修正しました(ただし、攻撃者のみが知っている方法で)。
その後、研究者はAES暗号化キーのリークを実装するための使用方法を示しました。集積回路はまだそのタスクを実行しています。その他すべての側面チャネル攻撃に対する保護です。この場合も、機能テストではハードウェアトロイの木馬を検出できません。
これらの悪意のあるハードウェア修正は、光学検査(修正されたチップのメタルおよびポリシリコン配線は変更されていません)によっても、BISTテスト(組み込み自己テスト、ハードウェア自己テストプロセス)を実行することによっても、ゴールドチップと呼ばれるリファレンスチップとの確認によっても、検出されませんでした。
軽減についてはどう?
プロセッサの悪意のある設計は少なくとも第三者検証によって検出される可能性がありますが、ドーピングベースの攻撃は、高度な機器と専門知識なしに、ほぼ同定不可能です。ここでも、一般的な軽減戦略は、セキュアなサプライチェーンと第三者検証を保証することです。残念ながら、これらの戦略は通常のユーザーにはあまり実行可能ではありません。
一方、通常のユーザーは、不偏りのある乱数を生成するための外部乱数ジェネレーターを使用でき、暗号化キーを処理するためのハードウェアセキュリティモジュールを使用でき、少なくともいくつかのリスクを軽減することができます。
結論
示したように、ルートキットは私たちのシステムにかなり深く隠蔽できます。最も高度な攻撃は通常、非常に高度な、通常は国家のアクターによって実行されます。しかし、バーが低下しており、高度なルートキットが非国家アクター、ランサムウェアグループWizard Spider自身のSMMルートキットを開発していた、およびWizard SpiderランサムウェアグループとIntel CPU上のIntel Management Engineを悪用したPLATINUMサイバー犯罪グループなど、より容易にアクセス可能になっていることも示しました。
一方、私たちのシステムを保護するのに役立つ複数の軽減技術があります。どのシステムも100%セキュアであることはできませんが。
良い軽減戦略は、異なるタスク用にサンドボックスと異なる分離された仮想環境を使用することです。マルウェア攻撃の場合、マルウェアは分離された環境に限定され、感染は広がることができません(少なくとも簡単ではありません)。仮想マシンレベルのスナップショットを実装すると、侵害された環境は簡単に最後の既知の良好な状態に戻すことができます。
防御のもう1つのラインはBIOS/UEFIで、SMMを危険にさらすことに対する保障を持ち、セキュアブートと測定されたブートを実装し、外部ハードウェアセキュリティモジュールを持っています。これは攻撃表面を減らすだけでなく、強化されたシステム整合性検証とセキュアな認証を提供します。
Management Engine機能を無効化することはRing -3ルートキット攻撃を無効化するのに役立ちます。ストレージコントローラー上のマルウェアはソフトウェアレベルのフルディスク暗号化によって打ち負かす可能性があり、他の重要なコンポーネント用に、オープンソースおよび検証されたファームウェア(または少なくともファームウェアblobなし)を持つハードウェアを使用することも役に立ちます。いくつかの攻撃は、外部乱数ジェネレーターとセキュアな暗号化材料の処理用のハードウェアセキュリティモジュールの使用によっても防止される可能性があります。
また、一般的な軽減戦略を忘れてはいけません。これは、セキュアなサプライチェーンを保証し、ハードウェアコンポーネントおよびソフトウェアの第三者検証とファームウェア検証を行うことです。
情報:このトピックに関するプレゼンテーションをダウンロードすることもできます。
また、この記事で提示されているルートキット軽減戦略のほとんどを実装した、セキュリティ強化されたラップトップのワーキングプロトタイプも開発しました。これは、高度なルートキット保護が可能であり、通常のユーザーがアクセスできることを意味します。
翻訳元: https://telefoncek.si/2025/12/2025-12-11-rootkits-how-deep-the-rabbit-hole-is/







