脆弱性の発見と標的型エクスプロイトの生成がわずか21分、コストにしてたった3.61ドルで済んでしまう時代には、古くからのベストプラクティスや「攻撃者との肉弾戦」から脱却すべきだと、Microsoftのセキュリティ担当幹部は警告します。
サイバー防御担当者は従来型のベストプラクティスから脱却し、AIによって脆弱性発見が加速する時代に対応するため、事後対応的なパッチ適用から、本質的にレジリエンス(耐障害性)の高いシステムを構築するアプローチへと転換する必要があると、Microsoftのシニアセキュリティマネージャーが述べました。
MicrosoftのWindowsチームでグループマネージャーを務めるDavid Weston氏はBlack Hat USAの参加者に対し、AIツールによって脆弱性の発見やエクスプロイト開発が低コスト・高速・大規模に行えるようになった現在、脆弱性修復に関する従来型のアプローチはもはや機能しないと語りました。
Weston氏の基調講演「The End of Rare: Defending When Offense Is Cheap(希少性の終焉:攻撃が安価になった時代の防御)」は、業界の脆弱性対策のベストプラクティスに疑問を投げかけるものでした。Weston氏によれば、これらのベストプラクティスは、エクスプロイトの開発や攻撃の実行に時間とコストがかかっていた時代のものであり、もはやそうした前提は成り立たなくなっているといいます。
その根拠としてWeston氏は、Microsoft Security Response Center(MSRC)が処理・パッチ適用する脆弱性の件数が6週間ごとに倍増している状況を説明しました。「これは驚異的な数字です」と同氏は述べています。「3月時点と比較して、脆弱性の件数は9倍に達しています」
脆弱性発見のペースが加速している背景には、ますます高性能化するAIツールの利用拡大との「強い相関関係」があり、これは業界横断的な課題であると同氏は指摘します。
「これらは深刻な脆弱性であり、以前であれば1年かけて手作業で作り込んでいたようなものです」とWeston氏は指摘します。「それが今では工業規模のスピードで次々と生み出されています。しかもWindowsに限った話ではありません。Linuxや他のOSを見ても、かなり強い相関関係が見られるはずです」
MicrosoftのMDASH(Multi-model Agentic Scanning Harnessの略)は、同社内部のAzure Linuxディストリビューションにおいて、約200件のLinuxカーネル脆弱性を発見しました。Microsoftはこれらの修正に向けてコミュニティと連携を進めています。
MicrosoftはまたMDASHに新しいモジュールを追加し、エンジニアによる脆弱性のトリアージを支援しています。この技術は、静的解析の結果を概念実証(PoC)エクスプロイトコードへと変換する能力を備えています。
「これは私たちが想定していたよりもはるかにうまく機能しています」と、Microsoftの脆弱性発見AIおよびフロンティアモデル研究を統括するWeston氏は述べます。「200件の脆弱性のうち、182件についてはクラッシュレベルのPoCを自動生成できています。その多くは完全に動作するエクスプロイトです。脆弱性からルート権限奪取用のエクスプロイトが自動的に生成される、ということが起きているのです」
これらの脆弱性を検出し、対応するエクスプロイトを生成するのにかかった平均コストは、わずか3.61ドル、生成にかかった時間は21分でした。
Microsoftのこの取り組みは、高度なAIベースのセキュリティツールを利用できる攻撃者にとって、セキュリティ脆弱性からエクスプロイトを開発することがもはやボトルネックになっていないことを裏付ける、さらなる証拠と言えます。
「年末までには、エクスプロイトの自動生成がごく一般的でありふれたものになっているでしょう」とWeston氏は警告しました。
効果を失いつつある従来型の緩和策
ASLR(Address Space Layout Randomization)のように、ランダム性や予測不可能性を導入する非決定論的な緩和策は、今後も攻撃者にとって一定の障壁であり続けるものの、AIを介した脆弱性発見の急拡大の流れを長期にわたって食い止めることは難しいと見られます。
企業はこれまで防御において脅威検知に大きく依存してきましたが、この防御層は、攻撃者が使用するツールや手法を変更する際にコストと時間の制約に直面するという前提の上に成り立っています。こうした安心材料もまた、AIによって崩れつつあるとWeston氏は述べます。
「かつては『独自のフレームワークやインプラントをコーディングするのは非常にコストがかかるため、攻撃者は同じパッカーや難読化ツールを使い回し、同じTTP(戦術・技術・手順)を使い続けるだろう。ならばそこを突けばいい。そうすれば検知の持続性が保てる』という考え方でした」とWeston氏は語ります。
「オペレーターを再教育する必要があった(サイバー攻撃側にとってコストのかかる)代わりに、自律的な作戦行動を利用できるようになりました」と、同氏は攻撃者側の発想の変化について指摘します。「難読化する代わりに、標的ごとにオーダーメイドのツールやフレームワーク一式を作成できるようになったのです」
攻撃者に対して形勢を逆転させるには
セキュリティを取り巻く経済合理性の変化に対応するため、業界はRustのようなメモリセーフなプログラミング言語の採用と、既存のコードベースのレジリエンスを高めるAIベースのツールの活用を、両輪で進める必要があります。
「私たちは『脆弱性が出るたびにパッチを当てる』というやり方から抜け出したい」とWeston氏は主張します。「『エクスプロイトが出るたびに検知で対応し、回避策が出るたびに検知で対応する』というやり方からも抜け出したい。攻撃者との肉弾戦を続けていては、防御側は負けてしまいます」
現在パッチが適用されている脆弱性のうち、少なくとも主要ベンダーに関して言えば、約70%はメモリ安全性に関する問題です。RustやGolangのような、より安全なプログラミング言語を使えば「そうした問題をなくすことができる」とWeston氏は述べます。例えばGoogleはメモリ安全性に関する不具合を削減しており、2019年にはAndroidの脆弱性の76%を占めていたものが、Rustへの移行後、2025年には20%未満にまで低下しています。
さらに最近では、Microsoftは仮想マシン同士を分離するソフトウェアであるAzureハイパーバイザーをRustで書き直し、150万台の仮想マシンにわたって展開しましたが、悪影響のあるインシデントは一件も発生していません。
DARPA(米国防高等研究計画局)によるプロジェクト「Tractor」は、レガシーなCコードをRustへ変換する作業を自動化するものです。昨年発表されたMicrosoft ResearchのAIベースのプロジェクト「RustAssistant」は、AI技術を用いてRustのコンパイルエラーを検出し、修正案を提示します。
Weston氏はこう付け加えます。「シフトレフトを実現し、より安全なソフトウェアを作ることができます。それによって脆弱性を抑え込めるのです」
攻撃の検知は依然として重要ですが、それだけではもはや十分ではありません。企業もベンダーも、レジリエンスへの投資を進めるべきです。
「予防に重点を置いた仕組みへとシフトすることができます」とWeston氏は言います。「セキュア・バイ・コンストラクション、さらには形式手法を用いることで、決定論的な安全性を確保することも可能です。現実的な時間軸の中でそれを実現できれば、この問題における形勢を攻撃者側に不利な方向へと逆転させることができるでしょう」
AI時代における脆弱性研究
アリゾナ州立大学准教授で著名な脆弱性研究者でもあるYan Shoshitaishvili氏は、Black Hat USAの基調講演で、エージェント型AIが脆弱性の発見とエクスプロイト化にかかるコストと時間を劇的に削減している実態について発表しました。
この講演「Vulnerability Research in the Agentic Age(エージェント時代の脆弱性研究)」は、Weston氏の発表と対をなす内容でした。AIツールの登場により、バグハンティングにおいて人間に求められるスキルは、より優れた探索戦略、検証パイプライン、悪用可能性チェックの構築へとシフトしています。
「GPTにバグを見つけてもらうという段階から、脆弱性を意識したエージェント型パイプラインを構築する段階に進むには、人間の創意工夫と、脅威モデルや脆弱性の領域に対する人間の理解が欠かせません」とShoshitaishvili氏は述べます。
同氏と研究学生のHong Kai Chen氏は、これらの手法をOpenHarmonyに関する研究に適用しました。OpenHarmonyは、モバイル向けのHuaweiの商用エコシステムHarmonyOSの一部を支えるオープンソース基盤です。
「Bluetoothやデバイス乗っ取り、位置情報などのプライバシー漏えいに至るまで、数十件の欠陥をOpenHarmonyの中に発見しました。とても興味深い成果です。というのも、私たちはAndroidのバグから抽出した脆弱性の特性を出発点にしていたからです」とShoshitaishvili氏は述べます。「それを今ではエージェント的な手法で行っていて、その成果には目を見張るものがあります」
エージェント型パイプラインを用いることで、Shoshitaishvili氏の研究チームは、付随するドキュメントや修正案を添えて責任ある形で開示できる速度をはるかに超えるペースで、脆弱性を発見できるようになっています。
Shoshitaishvili氏は、Ubuntuに搭載されているcoreutilsのRust書き換え版に対してエージェント型コード生成を用い、「とにかく何もかもRustで書き直せばよい」という発想を検証しました。その結果、バッファオーバーフローやuse-after-freeといったメモリ安全性のバグはおおむね解消されていた一方で、TOCTOU(time-of-check-time-of-use)レースコンディションや暗号関連の問題といった、ロジック上の脆弱性は再び出現することがわかりました。
より安全な言語で書き直すことで、あるクラスのバグは取り除けるものの、問題のあるコードを積極的に書き直す取り組みを行わない限り、根底にある設計レベルの弱点までは解消されないと、Shoshitaishvili氏は結論づけました。