GoogleはDeepMindと協力し、AIモデル「Big Sleep」を使用してSQLiteデータベースのメモリ安全性の脆弱性を発見し、修正することに成功した。これは、従来のファズ テストでは検出できなかったスタック バッファのアンダーフロー問題ですが、Big Sleep では検出に成功しました。これは、AI が現実世界のソフトウェアの既知の脆弱性を発見した初めてのことであり、ソフトウェア セキュリティの分野に新たな可能性をもたらし、AI 支援によるソフトウェア セキュリティ検出の将来の開発方向を告げるものです。この画期的な進歩について、Downcodes編集者が詳しく解説します。

SQLite はオープンソースのデータベース エンジンであり、この脆弱性により、攻撃者は SQLite の実行クラッシュを引き起こしたり、悪意を持って構築されたデータベースや SQL インジェクションを通じて任意のコードを実行したりする可能性があります。具体的には、この問題は、マジック値 -1 が誤って配列インデックスとして使用されることに起因しており、コードにはこの問題を検出するためのassert() がありますが、リリース ビルドでは、このデバッグ レベル チェックは削除されます。
Googleは、この脆弱性の悪用は簡単ではないと指摘したが、さらに重要なのは、AIが現実世界のソフトウェアの既知の脆弱性を発見したのは今回が初めてだということだ。 Google によると、従来のファジング手法では問題を見つけることができませんでしたが、Big Sleep では問題を見つけることができました。 Big Sleep はプロジェクトのソース コード内の一連のコミットを分析した後、10 月初旬に脆弱性をロックダウンし、その日のうちに修正されました。
Googleは11月1日の発表で、この研究結果は防衛において大きな可能性を秘めていると述べた。ファズテストは大きな成果を上げているが、Googleチームはファズテストでは発見が難しい脆弱性を開発者が発見できるよう新たな手法が必要と考えており、この点でのAIの能力に期待を寄せている。
これに先立ち、シアトルに本拠を置くProtect AIもVulnhuntrと呼ばれるオープンソースツールを立ち上げ、AnthropicのClaude AIモデルを使用してPythonコードベースのゼロデイ脆弱性を発見できると主張した。ただし、Google チームは、2 つのツールは異なる目的を果たし、Big Sleep がメモリの安全性に関連する脆弱性を発見したことを強調しました。
現在、Big Sleep はまだ研究段階にあり、主に既知の脆弱性を持つ小規模なプログラムでテストされています。実際の環境でテストされたのはこれが初めてです。研究チームはテストのために、SQLite コードベースの最新のコミットをいくつか収集し、分析後にモデルのプロンプトコンテンツを調整し、最終的に脆弱性を発見しました。
この成果にもかかわらず、Google チームは、これらの結果はまだ非常に実験的なものであり、現在のターゲット固有のファズ テストは脆弱性の発見に同様に効果的である可能性があることを全員に思い出させます。
ソフトウェア セキュリティ分野における Google の AI モデル Big Sleep の画期的な進歩は、将来のソフトウェア セキュリティ検出のための新しいアイデアと方法を提供します。まだ実験段階ではありますが、その可能性は大きく期待に値します。 Downcodes の編集者は、今後もこの分野の発展に注目し、よりエキサイティングなレポートをお届けしていきます。