AIがLinuxカーネルの数十年来の未発見バグを検出

AIを活用したスキャンにより、わずか数週間で数千件の潜在的な欠陥を特定しました。その結果、59件の検証済みバグ報告、8件の動作するroot権限エクスプロイト、20年以上前にさかのぼる脆弱性が明らかになりました。

AIエージェントと人間のセキュリティ研究者を組み合わせたMicrosoftの研究プロジェクトにより、Linuxカーネルの脆弱性59件が見つかりました。なかには、20年以上にわたって本番コードに潜んでいたバグも含まれています。

AIは脆弱性の発見プロセスを大幅に加速させました。一方で、欠陥の検証、パッチの開発、メンテナーとの調整は、依然として人手に大きく依存していたと研究者らは指摘しています。

この研究は、MicrosoftのFORGE Labがコードネーム「MDASH」の下で実施しました。Linuxカーネルの一部のサブシステムを約2週間スキャンした結果、26,502件の潜在的な検出結果が得られています。自動スクリーニング、概念実証(PoC)によるテスト、人間による検証を経て、59件がアップストリームへの公開報告に絞り込まれたと、Microsoftはブログ記事で明らかにしました。

研究者らはブログ記事で、「このうち8件のCVEについては、動作するroot権限昇格のエクスプロイトを開発しました。また、当社が報告した38件の修正がメインラインにマージされています」と述べています。

数千件の検出結果から59件の報告へ

Microsoftによると、スキャンの対象はネットワーク、ファイルシステム、セキュリティモジュールなど、カーネルの一部のコンポーネントです。当初の検出結果は、自動スクリーニングによって11,769件の候補に絞り込まれました。続いてAIエージェントが、オープンソースのマシンエミュレータであるQEMUを使い、潜在的な脆弱性の再現を試みました。

その結果、概念実証による証拠が得られたのは621件でした。人間の研究者がこれらを精査し、根本原因の特定、重複の統合、アップストリームへの提出準備を行ったと、ブログ記事は説明しています。

621件のうち、アップストリームへの公開報告に至ったのは59件です。Microsoftによると、ほかの検出結果と根本原因が共通し、同一のパッチで対処できるものが266件ありました。さらに163件は、精査の結果、主にセキュリティ上の影響が限定的であるため報告を見送りました。133件は、すでにアップストリームで報告または修正済みでした。

Microsoftが最初の公開報告を提出したのは2026年6月27日です。9月1日までに、59件のうち55件が公開メーリングリストに投稿されました。残る4件は同じ期間に非公開で報告され、10月中旬までに公開リストへ移されています。

Microsoftによると、検出結果に割り当てられた33件のCVEのうち、24件はCVSS v3.1スコアが7.0以上で、重大度が「高(High)」以上と評価されています。

8件の脆弱性で動作するエクスプロイトを確認

Microsoftが動作するローカル権限昇格エクスプロイトを開発した8件の脆弱性は、複数のカーネルコンポーネントに影響します。対象には、IPv4・IPv6ネットワーク、IPsecルーティング、暗号化キーの処理、サイズ変更可能なハッシュテーブルの実装が含まれます。一部のデモンストレーションでは、デフォルトではない設定が必要だったり、エクスプロイト緩和策を無効化したりしたと、研究者らは述べています。

ニュースレター

CSO First Lookで最新情報を逃さずチェック

その日の主要なサイバーセキュリティニュースと詳細な解説を、メールでお届けします。

月曜日〜土曜日に配信

発見されたもののうちCVE-2026-64563は、カーネルのrhashtable実装に関わる脆弱性です。rhashtableは、カーネルのさまざまなサブシステムが共有する、サイズ変更可能なハッシュテーブルのライブラリです。

Microsoftは、この欠陥の原因を2018年のコード変更に突き止めました。この変更により、テーブルの走査処理が一時停止した際にポインタを保持したままにできるようになったといいます。テーブルのサイズ変更とエントリの削除が特定の条件で重なると、カーネルがその古いポインタを通じて解放済みメモリにアクセスする恐れがありました。

研究者らは、特権のないユーザーでもアクセスできるNetlinkソケット診断を経由する、悪用可能な経路を特定しました。Microsoftの説明によると、攻撃者がメモリを操作すれば、この欠陥を制約付きのカーネルメモリ書き込みプリミティブに変えられます。ほかの攻撃手法と組み合わせれば、ローカル権限昇格が可能になります。

同社によると、この脆弱性は特別なカーネル設定やユーザー名前空間を必要とせず、標準的なLinux構成で悪用できます。SELinuxをenforcingで運用するAndroidデバイスにも影響していました。

59件の報告全体で見ると、Microsoftが最初に公開報告した時点でのバグの平均年齢は8.1年でした。CVE-2026-74544の脆弱性は、少なくとも21年にわたってカーネルに存在していたと研究者らは述べています。

パッチ適用は依然として長いプロセス

AIエージェントは、潜在的な脆弱性の特定、概念実証の生成、初期パッチの草案作成を支援しました。それでも、検出結果の検証やLinuxカーネルのメンテナーとの調整には、人間による調査が欠かせなかったとMicrosoftは述べています。

研究者らは次のように記しています。「アップストリームのLinuxでは通常、脆弱性の報告に動作するパッチを添えるよう求められます。エージェントは初期の修正案の作成を助けてくれました。しかし、人間による検証、サブシステムへの理解、レビュー中のメンテナーとの反復的なやり取りは、依然として不可欠でした」

公開時点で、59件の報告のうち38件の修正がアップストリームのLinuxメインラインにマージされていました。半数は最初の提出で受け入れられ、残りは1〜4回の修正を要しました。最初の公開パッチ提出からメインラインのリリースまでの所要期間は、中央値で41日、最長で108日だったとMicrosoftは述べています。残りの報告については、メンテナーとの作業が続いています。

Microsoftによると、最初のスキャンにかかった期間は約2週間でした。一方、検出結果を検証済みの報告とパッチに仕上げるには、4人月以上の作業が必要でした。

研究者らは次のように書いています。「バグの発見と修正は、著しくバランスを欠いています。Linuxカーネルのような複雑なインフラでは、人間を介在させることが今も必要です。その結果、人間の作業量がボトルネックになっています」

研究者らによると、今回のプロジェクトが対象としたのはLinuxカーネルのごく一部にすぎません。AIを活用した手法をさらに調整すれば、追加のバグを発見できる可能性があるといいます。ただし、脆弱性をより多く見つけたからといって、システムが必ずしも安全になるわけではないと警告しています。

ブログ記事は次のように締めくくっています。「トークンを増やせばバグはより多く見つかるかもしれませんが、安全なシステムが手に入るわけではありません」

翻訳元: https://www.csoonline.com/article/4247815/ai-found-linux-kernel-bugs-that-remained-undetected-for-decades.html

本記事は csoonline.com の記事を翻訳・要約したものです。