AI(人工知能)ニュース

Google、AI活用でソフトウェア脆弱性発見を革新 – オープンソース化で開発者支援

GoogleがAIを活用したファジングフレームワークをオープンソース化。開発者や研究者がソフトウェアの脆弱性を効率的に発見し、修正することを支援します。この技術は、ファズテストを自動化し、コードカバレッジを向上させることで、セキュリティ検証プロセスを改善。既に300以上のプロジェクトで成功を収め、新たな脆弱性の発見と修正に貢献しています。【用語解説とAIによる専門的コメントつき】

Published

on

Googleは、ソフトウェアの脆弱性を発見する方法を開発者や研究者が改善できるように、AIを活用したファジングフレームワークをオープンソースとして公開しました。このフレームワークは、ファズテストの手動作業を自動化し、大規模言語モデルを使用してプロジェクト固有のコードを書き出し、コードカバレッジを向上させます。オープンソース化されたファジングツールには、Vertex AI code-bison、Vertex AI code-bison-32k、Gemini Pro、Open AI-3.5-turbo、OpenAI GPT-4がサポートされています。

大規模言語モデル(LLM)は、生成されたファズターゲットをコンパイル可能性、ランタイムクラッシュ、ランタイムカバレッジ、ランタイムラインカバレッジの4つの指標に基づいて評価します。Googleによると、このフレームワークは160のC/C++プロジェクトに対して有効なファズターゲット(非ゼロのカバレッジ増加を生成する)を生成することに成功し、既存の人間が書いたターゲットからの最大ラインカバレッジ増加は29%に達しました。

Googleは、300以上のCおよびC++プロジェクトでLLMを組み合わせたファジングを使用し、コードカバレッジを拡大してより多くの脆弱性を見つけることに成功しました。この技術は、Cで書かれたJSON配列を読み取るパーサーであるcJSONと、バイナリまたはXMLでApple Property List形式を扱うC++ライブラリであるlibplistで2つの脆弱性を発見するのにも役立ちました。Googleのオープンソースセキュリティチームとセキュリティのための機械学習チームは、「完全にLLMによって生成されたコードがなければ、これらの脆弱性は永遠に発見されず、修正されなかった可能性がある」と述べています。

Googleは、脆弱性を見つけるだけでなく、LLMを使用してコード修正を生成し、テストし、最適なオプションを選択する方法にも取り組んでいます。このAI駆動のパッチングアプローチは、ターゲットとされたバグの15%を解決し、エンジニアの時間節約につながりました。

【ニュース解説】

Googleが開発者や研究者がソフトウェアの脆弱性をより効率的に発見できるよう支援するため、AIを活用したファジングフレームワークをオープンソースとして公開しました。このフレームワークは、ファズテストの手動作業を自動化し、プロジェクト固有のコードを生成してコードカバレッジを向上させることができます。この技術は、ソフトウェア開発のセキュリティ検証プロセスにおいて、脆弱性をより迅速かつ広範囲に発見することを可能にします。

ファジングは、プログラムに意図的に不正なデータや予期しない入力を与えることで、エラーやセキュリティ上の脆弱性を発見するテスト手法です。Googleが公開したフレームワークは、大規模言語モデル(LLM)を使用して、これらのテストをより効果的に行うことができます。LLMは、生成されたファズターゲットを評価し、コードのカバレッジを最大化することで、未発見の脆弱性を明らかにする可能性を高めます。

この技術の導入により、Googleは既に300以上のCおよびC++プロジェクトでコードカバレッジを拡大し、cJSONやlibplistといったライブラリで新たな脆弱性を発見することに成功しました。これらの脆弱性は、従来の手法では見過ごされていた可能性があり、AIによる自動化がセキュリティの向上に大きく貢献していることが示されています。

さらに、Googleは脆弱性の発見だけでなく、それらを修正するためのコードもLLMを用いて生成する研究を進めています。このAI駆動のパッチングアプローチは、バグの15%を解決し、エンジニアの作業負担を軽減することに成功しています。これは、将来的にソフトウェアのセキュリティ対策がより迅速かつ効率的に行われることを示唆しています。

この技術のポジティブな側面は、セキュリティの向上と開発プロセスの効率化にありますが、潜在的なリスクも考慮する必要があります。AIによる自動化が進むことで、誤った修正が適用されるリスクや、AIが生成したコードの品質管理が課題となる可能性があります。また、この技術の普及に伴い、新たな規制やガイドラインの必要性が生じるかもしれません。

長期的には、AIを活用したファジングフレームワークの開発と普及は、ソフトウェア開発のセキュリティ検証プロセスを根本的に変革する可能性を秘めています。これにより、より安全なソフトウェアの開発が促進され、サイバーセキュリティの全体的なレベルが向上することが期待されます。

from Google Open Sources AI-Boosted Fuzzing Framework.

Trending

モバイルバージョンを終了