Last Updated on 2024-06-21 10:58 by 門倉 朋宏
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を活用したファジングフレームワークの開発と普及は、ソフトウェア開発のセキュリティ検証プロセスを根本的に変革する可能性を秘めています。これにより、より安全なソフトウェアの開発が促進され、サイバーセキュリティの全体的なレベルが向上することが期待されます。
“Google、AI活用でソフトウェア脆弱性発見を革新 – オープンソース化で開発者支援” への1件のコメント
GoogleがAIを活用したファジングフレームワークをオープンソースとして公開したというのは、非常に興味深いですね。私自身、技術の進歩にはついていけないことも多いですが、こういった技術がセキュリティの向上に役立つというのは素晴らしいことだと思います。特に、自動化によって脆弱性をより迅速かつ広範囲に発見できるという点は、現代の複雑なソフトウェア開発において非常に重要だと感じます。
しかし、AIによるコード修正生成に対しては少し懐疑的です。確かに、エンジニアの作業負担軽減や効率化につながるのは理解できますが、AIが自動で生成したコードが本当に適切であるのか、または新たな問題を引き起こさないのかという不安があります。人間のエンジニアならば経験や直感に基づいて判断できる部分も、AIには難しいのではないかと思うのです。
セキュリティの向上というのは、私たちの生活においても非常に重要なことですし、特に私のような年配者にとっては、安全なデジタル環境が提供されることは心強いです。ただし、AIの導入にあたっては、そのリスク管理や品質管理にも十分な注意が払われるべきだと思います。間違いなく、この技術の