Last Updated on 2024-02-01 05:12 by 荒木 啓介
Googleのオープンソースセキュリティチームと機械学習をセキュリティに応用するチームは、AIを活用してセキュリティの自動化と効率化を進めています。GoogleのSafer AI Framework (SAIF)に沿って、AIを用いてセキュリティバグの修正など、ルーティンや手動で行われるセキュリティタスクを自動化しています。昨年、LLM(大規模言語モデル)を使用して脆弱性テストのカバレッジを拡大する経験について報告しましたが、今回はその更新情報を共有します。
Googleは、研究者や開発者がバグ発見能力を向上させるために使用できるフリーのオープンソースリソースとして、ファジングフレームワークをリリースしました。また、バグ修正プロセスを加速するためにAIをどのように使用しているかも紹介します。LLMを使用してファジングのカバレッジを拡大し、cJSONとlibplistといったプロジェクトで新たに2つの脆弱性を発見しました。これらの脆弱性は、LLMによって生成されたコードがなければ、発見されずに放置されていた可能性があります。
さらに、バグの発見だけでなく、それらを修正することもセキュリティ向上には不可欠です。LLMを使用してより多くのバグを見つけるための改善が続けられる中、これらのバグを修正するための同様に自動化されたソリューションを作成することが求められています。最近、脆弱性を受け取り、LLMに修正を生成させてテストし、最適なものを人間のレビューに選出する自動化パイプラインを構築する実験を発表しました。このAI駆動のパッチングアプローチは、ターゲットとされたバグの15%を解決し、エンジニアの時間を大幅に節約しました。
Googleは、ファジングの手動側面を自動化するフレームワークをオープンソース化しました。研究者や開発者は、自分のプロンプトを実験に使用し、LLM(GoogleのVertexAIや独自にファインチューニングされたモデルを含む)によって生成されたファズターゲットの効果をテストし、OSS-Fuzz C/C++プロジェクトに対する結果を測定できます。また、バグをパッチするためにLLMを使用することに興味がある場合は、AI駆動のパッチングパイプラインを構築するための論文を読むことをお勧めします。
【ニュース解説】
Googleのオープンソースセキュリティチームと機械学習をセキュリティに応用するチームは、AI技術を活用してセキュリティの自動化と効率化を進める取り組みを発表しました。この取り組みは、GoogleのSafer AI Framework (SAIF)に沿っており、セキュリティバグの修正など、従来は手動で行われていたセキュリティタスクの自動化を目指しています。
具体的には、ファジング(ソフトウェアのバグや脆弱性を自動的に発見するテスト手法)のプロセスを自動化するために、大規模言語モデル(LLM)を使用しています。これにより、プロジェクト固有のコードを生成し、ファジングのカバレッジを拡大して、これまで見過ごされていた脆弱性を発見することに成功しました。例えば、cJSONとlibplistというプロジェクトで新たに2つの脆弱性が発見され、これらはLLMによって生成されたコードがなければ発見されなかった可能性が高いです。
さらに、バグの発見だけでなく、それらを効率的に修正するためのAI駆動のパッチングアプローチも開発されました。このアプローチでは、脆弱性を受け取り、LLMによって修正案を生成させ、テストした後、最適な修正案を人間のレビューに選出する自動化パイプラインが構築されています。この方法は、ターゲットとされたバグの15%を解決し、エンジニアの時間を大幅に節約する結果をもたらしました。
この取り組みの重要な点は、Googleがファジングの自動化フレームワークをオープンソースとして公開し、研究者や開発者が自由に利用できるようにしたことです。これにより、より多くのプロジェクトでファジングの効率が向上し、セキュリティが強化されることが期待されます。また、LLMを使用してバグをパッチする方法についての論文も公開されており、この技術の可能性を広く共有し、他の組織でも同様のアプローチを採用することを促しています。
このようなAIを活用したセキュリティの自動化と効率化の取り組みは、ソフトウェア開発のセキュリティ面で大きな前進を意味します。しかし、AIによる自動化が進むにつれて、誤った修正が行われるリスクや、AIモデル自体のセキュリティが新たな攻撃対象となる可能性など、潜在的なリスクにも注意が必要です。また、この技術の発展は、セキュリティ対策の規制や基準にも影響を与え、将来的にはソフトウェア開発のプロセスやセキュリティ対策の基準が変化する可能性があります。