AI News HubLIVE
站内改写

FreeBSDのAI監査

研究者がAIを活用してFreeBSDカーネルのセキュリティ監査を実施し、5つのローカル権限昇格やbhyveゲストからのホスト脱出を含む15のバグを発見。3つのLPEエクスプロイトを公開し、手法を共有してメンテナを支援する。

記事インテリジェンス

研究者上級

要点

  • AI支援によるFreeBSDカーネル監査で15の脆弱性を発見
  • 5件のローカル権限昇格、1件のVM脱出を含む
  • 3件のLPEエクスプロイトと詳細な分析を公開
  • FreeBSDチームとの協力により報告プロセスを最適化

重要な理由

このニュースが重要なのは、AI支援によるFreeBSDカーネル監査で15の脆弱性を発見ためです。

技術的影響

研究の方向性、評価手法、オープンソースでの再現、プロダクト化の道筋に影響する可能性があります。

私たちがAIを使ってインターネットをハッキングするキャンペーンを始めてから、多くの人がすでに知っていることを学びました。インターネットはボランティアに依存しています。インターネットのセキュリティと文化にとって重要なプロジェクトは、ごく少数の人々、時にはたった一人によって支えられています。例えば、ほぼすべてのリモートシェルを保護するOpenSSHは、一人のオーストラリア人(こんにちは、Damien!)が率いる小さなチームによってメンテナンスされています。

私たちはこれらのメンテナに恩義を感じています。インターネットとそれを動かすオープンソースソフトウェアがなければ、私たちは学んだことを学べず、友人を作ることも、今日のキャリアを築くこともできなかったでしょう。そこで、私たちは専門家とAIを組み合わせて、助けを必要としているオープンソースプロジェクトを支援することにしました。最初のターゲットはFreeBSDでした。

3月末、私たちは最初のAI支援によるFreeBSDリモートカーネルエクスプロイトを公開しました。今月初めには、exeCVEのCVEと、ほとんど使われていないモジュールの3つのRCEを報告しました。チームが手薄であることを見て、私たちは単に報告を増やすだけでなく、積極的に連絡を取りました。チームは注力すべき点を教えてくれ、AIをフル稼働させました。

最初の数週間で、監査によりさらに多くのバグが表面化しました。5つのローカル権限昇格、1つのbhyveゲストからホストへの脱出、多数のメモリ情報漏洩とDoSです。合計で15のバグを報告し、すべてカーネルに関するものでした。また、いくつかのバグを発見するために使用した監査スキルもチームと共有しました。

この記事では、どのようにしてそこに至ったかを説明します。

達成したいこと

FreeBSDチームと話し合った際、二つの点で合意しました。

FreeBSDでバグを見つけるコストを高くすること。

私たちが去った後も、FreeBSDチームがより多くのバグを見つけ、排除し、防止できるように支援すること。

CVEの数を追ったり、バグの数を報告したりするつもりはありません。プロジェクトを運営する人々にとって有用でありたいだけです。

私たちの作業方法

FreeBSDのような広く使われるオープンソースプロジェクトのメンテナは報告に溢れており、彼らの注意はこの事業全体で最も貴重なリソースです。有用であるための第一のルールは、それを無駄にしないことです。私たちが収束したいくつかのポイントを以下に示します。

高または重大なバグのみを送信する。私たちは、高または重大な脆弱性と信じるものに焦点を当てて報告しています。時には、私たちが高いと考えるバグがメンテナの詳細な調査で格下げされることもありますが、私たちは基本的に彼らのスコアリングに従い、議論しません。

報告を簡潔に保つ。誰もが短い報告を好みます。一言とPoCは、15ページの回りくどい分析よりもはるかに優れています。詳細な分析は、誰かが求めた場合にフォローアップとして提供できます。

パッチを提案するが、強制しない。一部のメンテナは提案されたパッチを受け入れますが、自分で修正を書くことを好む人もいます。私たちはデフォルトでパッチを報告に含め、提案であることを明確にラベル付けし、メンテナがそれを採用、修正、または無視できるようにします。

人との時間を過ごす。メールやチケットは必要ですが、初期のビデオ通話一回は、どんなに慎重に作られたテンプレートよりも作業関係に貢献します。FreeBSDチームとの最初の会議の後、直接のコミュニケーションチャンネルを設定し、それ以降に報告した多くのバグが数日で報告から修正に至りました。

FreeBSDは私たちが公に書く最初のコラボレーションですが、唯一のものではありません。同様の作業は、インターネットを動かす他のプロジェクトでも進行中であり、それらの取り組みが成熟するにつれてさらに共有する予定です。

エクスプロイト

MAD Bugsの投稿には必ずエクスプロイトのドロップが含まれます。本日、3つのLPEのエクスプロイトと詳細な分析を公開します。

setcred(CVE-2026-45250):kern_setcred_copyin_supp_groupsの1文字のsizeofの混乱がuser_setcredのフレームでのスタックオーバーフローにつながり、ローカルルートシェルを獲得します。同じソースバグが14.3と15.0にも存在するにもかかわらず、FreeBSD 14.4のみが悪用可能です。

ptrace(CVE-2026-45253):ptrace(PT_SC_REMOTE)はリダイレクトされたシステムコール番号の境界チェックをスキップし、sysentテーブルの範囲外インデックスを許容し、それをLPEに連鎖させます。

procdesc(CVE-2026-45251):procdesc_free()は埋め込まれたpd_selinfoを持つstruct procdescを解放する際に、ポールウェイターをドレインしません。SCM_RIGHTSファイル記述子でスロットを回収し、2つの古いTAILQ_REMOVEを発火させ、任意のカーネルポインタ書き込みを取得します。

エクスプロイトと詳細な分析はAIによって書かれました。私たちは、2026年のAI脆弱性研究の歴史的な遺物として、AIのテキストをそのまま残すことにしました。一方、エクスプロイトはすべて私たちによって検証され、動作します。公開することで、より多くの人々がこれらの技術から学び、FreeBSDにもっと多くの助けをもたらすことを願っています。監査の残りのバグは、FreeBSDチームが修正をリリースするにつれて公開されます。

好奇心旺盛な読者のために、リポジトリには追加のエクスプロイトもいくつか含まれており、主にAIが動作するPoCなしで出荷された公開FreeBSDセキュリティ勧告から生成されたものです。

謝辞

FreeBSDチームに、私たちと協力し、仕事を真剣に受け止めてくれてありがとう。OpenAIとAnthropicに、トークンを提供してくれてありがとう。そして、ほとんど認知されず、ごく少ない人手でインターネットを動かし続けるすべてのメンテナに感謝します。