コンテンツに移動

AI が脆弱性を見つけても、攻撃が成功するとは限らない理由

AI 時代における Sophos Endpoint の防御戦略と、Mythos に関する公開記録

Mark Loman

Mozilla が、Anthropic の AI モデル「Mythos」によって特定された 271 件の問題に対する修正を含む Firefox 150 をリリースした際、世間の注目はその修正件数に集まりました。しかし、本当に注目すべき事実はその詳細にありました。Mozilla がこのモデルに起因すると認定した CVE はわずか 3 件だったのです。残りの 268 件は、多層防御やコードの堅牢化、あるいは悪用不可能なコードパス上のバグとして分類されました。

「AI が発見できるもの」と「攻撃者が実際に利用できるもの」の間にあるこのギャップこそが、現代のセキュリティ対策の主戦場なのです。他の公開データもこの事実を裏付けています。Mozilla の CTO や独立系研究者たちは Mythos について、「高いスキルを持つ人間が見つけられるものを、速く見つけているにすぎない」と公言しています。 

英国政府の研究機関 AI Security Institute によるシミュレーションでは、Mythos が攻撃に成功したのは 10 回中 3 回に留まりました。また、AISLE による再現実験では、旧式で安価なモデルでも探索プロセスの大半を再現できた一方で、脆弱性悪用のプロセスは依然として難易度が高く、最先端テクノロジーを必要とすることが示されました。Palo Alto Networks は、Mythos が深刻度の低い複数の問題を連鎖させて、重大なエクスプロイトを構築できると報告しています。

しかし、どれだけ巧妙に連鎖されていても、最終的にはメモリ、トークン、プロセス、あるいはファイルに対して物理的な操作を行わなければなりません。監視すべきポイントを熟知している防御者からすれば、どの脆弱性が起点になっていたかにかかわらず、攻撃者の挙動は可視化されています。また、脆弱性の悪用は攻撃者が目的を達成するための手段の一つに過ぎません。フィッシング、認証情報の窃取、インサイダーによる脅威、サプライチェーン攻撃などは、脆弱性の悪用というステップを一切踏みません。

ソフォスは、これらすべての侵入経路のさらに下のレイヤーで防御を固めています。攻撃者がマシン上で何らかのアクションを行おうとする際、必ず使用しなければならない一連のメカニズムが存在します。攻撃者が AI 駆動型のエクスプロイトパイプラインであろうと、盗んだ認証情報を使うランサムウェアアフィリエイトであろうと、あるいは国家主導のオペレーターであろうと、彼らは等しく「アーキテクチャ上の緩和策」という壁に突き当たります。これは、デフォルトですべてのプロセスに適用されている防御の壁です。

「攻撃者は絶対に突破できない」と主張しているのではありません。「Sophos Endpoint によって脆弱性の悪用は極めて困難になる」、また、「その攻撃のしにくさこそが、防御側に勝利をもたらす」とソフォスは考えています。

「オープンであること」の問題

Windows は、設計段階から極めてオープンなオペレーティングシステムとして構築されています。プラットフォームとしての成功は、その柔軟性の高さにも支えられてきました。デバッガーによる他のプロセスの検査、プラグインフレームワークによる任意のモジュールの読み込み、アクセシビリティツールによるアプリケーションのプログラム操作など、数十年にわたって正規ソフトウェアの多くがこうした基本機能 (プリミティブ) が寛容であることを前提としています。

しかし、攻撃者が真っ先に手を伸ばすのも、これらのプリミティブです。デフォルトの Windows 環境では、標準ユーザーとしてコードの実行権限を持つ攻撃者は、実行中の別プロセスへのコード書き込み、実行可能メモリの動的割り当て、信頼されているプロセス内のセキュリティ構造の操作、さらには検査を無効化するためのシステム DLL へのパッチ適用などが可能です。これらを実行するのに、脆弱性も権限昇格も必要ありません。

Microsoft は、EMET に始まり Windows Defender Exploit Guard や攻撃面縮小 (ASR) ルールに至るまで、防御策に多大な投資を行ってきました。しかし、避けて通れないのが互換性の問題です。最も強力なプロセス内対策 (Code Integrity Guard、Arbitrary Code Guard、Win32k システムコールの無効化、Export Address Filtering など) は、設計上オプトイン (任意適用) 方式となっています。

これには理由があります。これらの対策を想定して設計されていないアプリケーションに適用すると、JIT コンパイラ、.NET ランタイム、ブラウザ、そしてほとんどのサードパーティソフトウェアが正常に動作しなくなるからです。Microsoft でさえ、Office スイートにこれらの対策を適用しておらず、同社のドキュメントでも「通常のアプリケーションとは広範な互換性がない」と説明しています。Edge や一部のハードニングされたブラウザプロセスを除けば、こうした強力な緩和策は OS の大部分で適用されていないのが現状です。

これらの緩和策を適用して動作しているアプリケーション (Edge、Chrome、Firefox) は、信頼できないコンテンツから動的コード生成を分離するマルチプロセス設計へと再構築することで、それを実現しています。しかし、VBA、COM オートメーション、アドイン、OLE といったプロセス内統合を前提としたアプリケーションには、その選択肢はありません。Office はその典型的な例です。

ソフォスは異なるアプローチを採用しました。Microsoft やアプリケーション開発者、あるいはユーザーにオプトインを求めるのではなく、OS やアプリケーションから独立した独自の緩和レイヤーを構築しました。これにより、攻撃者が利用するプリミティブ (コードパスの逸脱、動的実行可能メモリ、コードインジェクション、システム DLL へのパッチ適用など) を、実行時にすべてのプロセスでデフォルトで制限します。

このガードレールは、攻撃者が次に実行するものにも適用されます。なぜなら、ドロップされたペイロード、侵入後のツール、ランサムウェアのバイナリもまたプロセスであるからです。緩和策とそれを制御するインフラの両方を自社で保有しているからこそ、これが可能になりました。実現には長年の互換性エンジニアリングが必要でしたが、脅威の状況の変化に合わせて今も進化させ続けています。

なぜ AI が進化しても、私たちの手法は変わらないのか

AI を駆使した攻撃に関する公開情報の中で、見落とされがちなポイントが 3 つあります。

 

  1. AI によって発見は加速するが、脆弱性の悪用を可能にするプリミティブが発明されるわけではありません。バグを見つけることと、そのバグを実行コードに変える新たな方法を発明することの間には、大きな違いがあります。現在の攻撃型 AI の記録を見ても、フロンティアモデルが新しいプリミティブを発明した形跡はありません。既存のプリミティブを適用し、組み合わせ、変化させているに過ぎません。これこそが、ソフォスが長年対策のターゲットとしてきた、特定の攻撃手法に他なりません。
  2. 難読化は、ソフォスの緩和策を回避するのではなく、むしろその機能を高めるものです。シグネチャエンジンは、バイト列が一致しないため、難読化への対処に苦戦します。しかし、ソフォスの対策は難読化よりも下のレイヤーで機能します。難読化/暗号化された攻撃コードは、実行前にメモリ内で自らをデコードする必要があります。そのためには、書き込み可能かつ実行可能なメモリを割り当て、そこに復号し、制御を移すという手順が欠かせません。この一連の動作こそが、ソフォスのメモリ整合性レイヤーが検知するために構築されたものです。巧妙な難読化を施すほど、攻撃者の挙動はかえって目立つようになります。
  3. AI に回避型のエクスプロイトコードの生成を依頼すると、生成されるのは、攻撃者がこれまで用いてきた手法です。具体的には、直接的なシステムコール、ハードウェアブレークポイントによるリダイレクト、コールスタックのスプーフィング、ETW パッチ、AMSI バイパス、メモリ内フックの改ざんなどが挙げられます。これらはすべて、ソフォスが対策名を冠してブロックしている機能です。AI が検知回避のために高度な戦術を駆使すればするほど、ソフォスの対策に引っ掛かりやすくなります。

有効化されていない緩和策は、緩和策とは呼べない

Sophos Endpoint は、すべての保護対象エンドポイントにおいて、60 種類以上のエクスプロイト緩和策チェックをデフォルトで有効にした状態で提供しています。アプリケーションごとの調整や除外リスト、監査期間の設定などは必要ありません。これは、多くの競合他社の提供方法とは一線を画しています。

Microsoft のエクスプロイト対策はアプリケーションごとに設定可能ですが、より強力な緩和策は通常、適用範囲が限定されています。また、多くのサードパーティ製 EDR 製品は、「予防」ではなく、主に「検知と対応」を目的に設計されています。そうした製品はメモリレイヤーでわずかな緩和策を提供する (多くの場合、DEP、ASLR、SEHOP といった Microsoft の既存機能を強制的に有効化するだけ) に留まり、Windows の最も強力な緩和策は、アプリケーション開発者が明示的にオプトインした場合にしか適用されません。

その結果、ほとんどの企業のエンドポイントには、より高度な保護機能が搭載されている一方で、実際にはほとんどの保護機能がオフの状態で運用されているという現実があります。

デフォルトでの有効化を維持する鍵は「互換性」にあります。ソフォスの緩和策が正規のコードに対して誤って作動した場合、Sophos X-Ops チームはサムプリントを公開します。これにより、緩和策自体をアクティブにしたまま、特定の正規の動作のみを許可することが可能になります。

この例外処理は、単一のコードパス、単一のモジュール、あるいは (まれなケースとして) 単一のアプリケーションに限定されます。同じプロセス内の悪意のある動作を含め、それ以外のすべての動作は引き続き評価の対象となります。この修正は製品アップデートを介さずに配信され、多くの場合、お客様がサポートを依頼する前に適用されます。

実例: トロイの木馬化された CPU-Z インストーラー

2026 年 4 月、攻撃者が cpuid.com のバックエンド API を 6 時間にわたって侵害し、CPU-Z のダウンロード先をトロイの木馬化されたインストーラーにリダイレクトしました。これは、正規の署名済み実行ファイルに、悪意のある CRYPTBASE.dll が同梱されたものでした。

ユーザーがこれを実行すると、Windows の DLL 検索順序によって、ADVAPI32.dll を介して悪意のある DLL が間接的に読み込まれました。その結果、署名済みの信頼されたプロセス内で悪意のあるコードが実行され、メモリ内で多段階展開が開始され、最終的に隠しデスクトップ制御や認証情報窃取ツールを備えたリモートアクセス型トロイの木馬 (RAT) が起動しました。最初の DLL 以降、ディスク上に痕跡は残りませんでした。

この攻撃では、ソフトウェアの脆弱性は一切悪用されていません。正規のコンポーネントは設計通りに動作していました。悪用されたのは、信頼されたバイナリと、適切なディレクトリに配置された攻撃者の DLL でした。 

これが、ソフォスが「脆弱性の悪用」と「正規機能の悪用」を同一の問題として扱う理由です。水飲み場攻撃、サプライチェーン攻撃、フィッシング、認証情報の窃取などはすべて「脆弱性の悪用」ステップをバイパスしますが、マルウェアが実行されると最終的には同じプリミティブへと収束していきます。 

これらの背後にある初期アクセスの弱点 (設定ミスのある API、公開されている管理インターフェース、漏洩した認証情報など) はそれ自体も、AI が大量に発見できる脆弱性の一種です。プリミティブレイヤーでの収束を捉えることこそが、防御を強固なものにします。

この事例では、CVE は一つも使用されませんでしたが、150 以上のシステムが攻撃を受けました。Microsoft Defender の対応は当初まちまちで、数日を要したと報告されています。つまり、これらのシステムは防御のギャップに落ちてしまったのです。

攻撃者は、ユーザーランドフックをバイパスするために .NET アセンブリを介して NTDLL をプロキシするなど、EDR を回避するように DLL を設計していました。彼らは Windows のエンドポイント制御に対抗できるよう調整を行いましたが、(ほとんどの攻撃者がそうであるように、) ソフォスに対しては行いませんでした。 

シグネチャを回避するには、単なる再コンパイルで済みます。動作ベースのルールを回避するのも、タイミングを微調整するだけで済むかもしれません。しかし、プリミティブレベルの対策を回避するには、そのプリミティブを使用しない新たなステージングチェーンを構築しなければなりません。これには数週間に及ぶ作業が必要となるため、ほとんどの攻撃者にとって非現実的です。ソフォスは、お客様を「バイパス不可能な存在」にするわけではなく、お客様を「攻撃対象の候補」から外れさせるのです。

Sophos Endpoint では、動作検知 (Evade_28j) がステージングの前にこれをブロックしました。しかし、もし検知レイヤーをすべて取り払い、2018 年にリリースされた Dynamic Shellcode Protection だけを残していたら、どうなっていたでしょうか。 

DLL がステージ 2 のために実行可能メモリを割り当てた時点で、この緩和策が作動したはずです。なぜなら、VirtualAlloc の呼び出し元が、動的に割り当てられた匿名メモリ内で実行されているコード、つまりステージャーに共通するフィンガープリントだったからです。サンプルも、シグネチャも、IoC も、クラウドルックアップも、ルールの更新も必要ありません。2018 年のアーキテクチャ上の緩和策が、2026 年の攻撃をステージ 2 で阻止するのです。 

この特性こそが、クラウド接続が不安定な環境や利用できない環境 (産業用ネットワーク、セグメント化された医療機器、機密システム、航行中の船舶など) でも機能する理由です。接続が切断され、検知パイプラインに遅延が生じている状況でも、何にも依存しないアーキテクチャ上の緩和策が、最後の砦となります。

ローダーが 2015 年の攻撃者によって手書きされたものであっても、2027 年の AI モデルによって生成されたものであっても、同じフィンガープリントが作動します。これこそがソフォスの戦略です。つまり、攻撃の出所ではなく、プリミティブをターゲットにするのです。

問いすべき質問

AI 時代において、あらゆるベンダーが「AI 対応」を謳うようになるでしょう。しかし、真に有効な防御とは、アルゴリズムではなくアーキテクチャによるものです。エンドポイントセキュリティ製品を評価する際に重要になるのは、以下の実務的な質問です。

 

  • 現在、設定を変更する必要がなく、すべてのプロセスでデフォルトで有効になっている脆弱性悪用対策はいくつあるか?
  • それらの緩和策は大規模導入されてからどのくらいの期間が経過しているか?また、互換性に関する実績はどうか?
  • その緩和策レイヤーは、最初の攻撃だけでなく、侵入後の動作 (認証情報の窃取、権限昇格、常駐化、ランサムウェアペイロードの配信) にも対応しているか?
  • 互換性の問題が発生した際、修正はピンポイントで行われるか?それとも、環境全体の保護レベルを弱める必要があるか?

結論

私たちは、ソフォスが鉄壁であると主張しているわけではありません。「Sophos Endpoint によって脆弱性の悪用が極めて困難になる」、また、「その攻撃のしにくさこそが、防御側に勝利をもたらす」とソフォスは考えています。 

AI は攻撃者が脆弱性を発見する方法を劇的に変えるでしょう。しかし、脆弱性を発見した後に攻撃者が行わなければならないことは、それほど変わらないでしょう。この非対称性こそが、脅威の状況が変化し続ける中で、Sophos Endpoint が独自の強みを発揮し続ける理由です。

AI がバグを見つけ出しても、ソフォスはその「発見」が「攻撃」へと移行するプロセスを阻止します。

詳細については、こちらの関連記事「世界で最も危険なエクスプロイト作成者となった AI とその脅威を阻止する Sophos Endpoint」をご覧ください。

詳しくは sophos.com/endpoint をご覧ください。