100万ドルのサンドボックス懸賞、Linuxカーネルの脆弱性を発見

2週間にわたる集中型サンドボックスバグ報奨金プログラムには1,285件の報告が寄せられましたが、顧客データにアクセスできたケースはありませんでした。

Vercel Sandboxは、Firecrackerベースのマイクロ仮想マシン環境であり、信頼できないAIエージェントのコードを隔離するためのツールです。Vercelは8月18日から9月1日までの2週間、総額100万ドルの報奨金を用意した集中型バグ報奨金プログラムを実施しました。同社はこれを「チャレンジ」と呼び、HackerOneのハッカーたち(ブラックボックス方式での標的探索)とTrail of Bitsのエンジニアたち(ホワイトボックス方式での標的探索)に、サンドボックスからの脱出を挑ませました。

期間は終了し、結果が公表されました。Vercelは2週間で1,285件の報告を受け取り、AIを活用する研究者たちの現代的なパワーとスピードを見せつける結果となりました。同社は「トリアージ(選別)作業は10月1日まで続きますが、これまでのところCritical(緊急)1件、High(重大)7件、Medium(中)15件、Low(低)49件、Informative(参考)19件を確認済みです。確定している支払額は約32万5,000ドルに上ります」と述べています。報告の中で実際の顧客データにアクセスできたケースは一つもありませんでしたが、多くの報告がVercelにとって製品改善の助けとなりました。

最も重要な報告は、Linuxカーネルのネットワークスタックにある2つの独立した欠陥を発見したものでした(Vercel自身のコードではありません)。一方はホストのカーネルからメモリを漏洩させるもので、もう一方はホストを確実にクラッシュさせるものです。多くの主要クラウドプロバイダーが顧客のワークロードを隔離する際に同じLinuxカーネルの層を利用しているため、これらの欠陥は広範な影響を及ぼす可能性があります。この報奨金プログラムのおかげで、Vercelはカーネルのメンテナナーたちより2週間早くこれらの欠陥を把握できました。

「修正パッチは非公開でレビュー中であり、CVEも申請中のため、公開されるまで本記事では詳細を伏せます」とVercelは報告しています。

Trail of Bitsの2人のエンジニアによるホワイトボックステストでは20件の指摘が得られましたが、Vercelが最も価値を見出したのは彼らのアーキテクチャに関する助言でした。Vercelの仮想化方式の選択には同意しつつも、彼らは3つの構造的な提言を行いました。例えば「ゲストを信用するのをやめる」というものです。

「私たちのコントロールプレーンは、マイクロVM内で動作するソフトウェアが返す値をそのまま受け入れていました。こうした値はすべてテナント側からの入力です。この境界を越えるものはすべて、サーバー側で導出するか、ゲストがアクセスできない鍵で署名されているべきです」とVercelは説明しています。

報告件数の多さそのものも、別の課題をもたらしました。Vercelは当初、報告1件ごとに1つのチャットを立ち上げ、すべての判断を人間がレビューするという方法でトリアージを始めました。「このMVP(実用最小限の製品)方式は最初の50件については正しい選択でしたが、続く1,000件に対しては間違いでした」。件数が増加するにつれ、Vercelは独自のエージェント型トリアージソリューションを開発し、Vercel Eveエージェントフレームワーク上に構築されたエージェントを投入しました。

この新しいエージェントは各報告を読み込み、プログラムポリシーと照合し、数千件の報告の中から重複を探し出し、ソースツリーを取得して、研究者が提出した概念実証(PoC)を実際のVercel Sandbox内で実行します。Vercelはこのエージェントを、Kimi K3上で稼働させる形でオープンソース化する計画です。今回のバグ報奨金プログラムで寄せられた報告件数の多さはプログラム自体が呼び水となったものですが、これは今後数か月にわたり、AIの影響であらゆる分野のセキュリティアラートが増加していく傾向を示すものでもあります。そしてVercelがオープンソース化するアラートトリアージ用コードは、他社にとって有用な出発点となる可能性があります。

さらに注目すべき点が2つあります。まず、当然のことながらVercelは、AIによる攻撃のスピードに対抗するにはAIによる防御が必要だと結論づけました。しかし、より注目すべきは、彼らが人間をループから外したという点です。これはセキュリティ分野における大きな論点です。顧客は、自動化された意思決定よりも人間による意思決定の方に安心感を求めます。セキュリティ製品の開発者たちもこれに応え続けています。しかし、人間をループに組み込めば、セキュリティ対応に必然的に遅延が生じます。多くの場合この遅延は許容範囲内ですが、あらゆるものが高速化するにつれ、それが許容できないもの、場合によっては破滅的なものになる可能性もあります。

今回のケースでは、Vercelは供給者であると同時に顧客でもあり、プロセスの速度を上げるために人間をループから外すという判断を下せるだけの十分な信頼をエージェントに対して持っていました。ここには、将来への教訓があるかもしれません。

Vercelのバグ報奨金チャレンジは、成功と言えるでしょう。その結果の分析は、誰にとっても有益なものです。しかしVercelにとっては、自社のサンドボックスの強靭さを実証するものでもありました。私たちが聞いた限りでは、攻撃者の誰一人として顧客データにアクセスすることはできず、それどころか提出された指摘は、製品の「修復」ではなく「改善」に役立ちました。

「私たちのサンドボックスは……もう恒久的に強化されました……この2週間で発見された手法はすべて、私たちが境界を防御する方法の一部となり、チャレンジ終了後も長きにわたり、Vercel上で動くすべてのワークロードを保護し続けます」

ただし最後に一つ警告を添えておきます。脆弱性の証拠が見つからないことは、脆弱性が存在しないことの証明にはなりません。脆弱性が発見されなかったからといって、脆弱性が存在しないとは限らないのです。これは、あらゆる場所の、あらゆるものに当てはまります。

翻訳元: https://www.securityweek.com/1-million-sandbox-challenge-uncovers-linux-kernel-flaws/

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