Skip to main content
QUICK REVIEW

[論文レビュー] LLMs Cannot Reliably Identify and Reason About Security Vulnerabilities (Yet?): A Comprehensive Evaluation, Framework, and Benchmarks

Saad Ullah, Mingji Han|arXiv (Cornell University)|Dec 19, 2023
Topic Modeling被引用数 6
ひとこと要約

本論文は、最新の大規模言語モデル(LLMs)がソフトウェアセキュリティ脆弱性を検出および推論する能力を、新規の完全自動化フレームワークを用いて評価する。高水準の能力を有するものの、LLMsは高い偽陽性率、非決定的出力、忠実性に欠いた推論、および微小なコード変更に対して極めて感受性が高く、実世界の脆弱性検出にはまだ信頼できないことが示された。

ABSTRACT

Large Language Models (LLMs) have been suggested for use in automated vulnerability repair, but benchmarks showing they can consistently identify security-related bugs are lacking. We thus develop SecLLMHolmes, a fully automated evaluation framework that performs the most detailed investigation to date on whether LLMs can reliably identify and reason about security-related bugs. We construct a set of 228 code scenarios and analyze eight of the most capable LLMs across eight different investigative dimensions using our framework. Our evaluation shows LLMs provide non-deterministic responses, incorrect and unfaithful reasoning, and perform poorly in real-world scenarios. Most importantly, our findings reveal significant non-robustness in even the most advanced models like `PaLM2' and `GPT-4': by merely changing function or variable names, or by the addition of library functions in the source code, these models can yield incorrect answers in 26% and 17% of cases, respectively. These findings demonstrate that further LLM advances are needed before LLMs can be used as general purpose security assistants.

研究の動機と目的

  • 現在のLLMsが実世界のコードにおいて、ソフトウェアセキュリティ脆弱性を信頼して同定および推論できるかどうかを調査すること。
  • LLMsの脆弱性検出タスクにおける評価に向けた標準化された自動ベンチマークの欠如を是正すること。
  • 非決定性、忠実性に欠いた推論、コードの摂動に対する感受性といった、LLMsの行動における深刻な欠陥を同定すること。
  • 今後のサイバーセキュリティ分野におけるLLM開発のための公開可能でスケーラブルな評価フレームワークを提供すること。
  • LLMsの脆弱性検出能力の系統的進捗を追跡可能なベンチマークを確立すること。

提案手法

  • 決定性、パラメータ感受性、プロンプト多様性、推論忠実性、脆弱性多様性、コード難易度、コード拡張に対する耐性、実世界適用性の8つの異なる次元をカバーする、完全自動化でスケーラブルな評価フレームワークを構築した。
  • C言語およびPythonにおける8つの重要な脆弱性(例:バッファオーバーフロー、インジェクション脆弱性)をカバーする228のコードシナリオを構築し、各々に正解ラベルを付与した。
  • ゼロショット、Few-shot、ロール指向プロンプトを含む17種類の異なるプロンプト技術を、8つの最先端LLMs(例:GPT-4、PaLM2、CodeLlama)に適用した。
  • LLM出力からの回答および推論を抽出・検証するためにGPT-4を用い、一貫性および正確性を確保するための構造化パースを実施した。
  • ROUGE、コサイン類似度、GPT-4による判断を組み合わせたマルチメトリック推論評価を採用し、偽陽性を低減するとともに推論品質を評価した。
  • 知識カットオフ日付以降に公開された実世界のCVEに対してモデルを評価し、汎化性能および耐性をテストした。

実験結果

リサーチクエスチョン

  • RQ1LLMsは、多様なプログラミングシナリオにおいて、ソースコード内のセキュリティ脆弱性を一貫的かつ信頼して同定できるか?
  • RQ2関数名の変更、ライブラリインポートの追加、空白文字の変更といった微小なコード変更に対して、LLMsはどの程度耐性を示すか?
  • RQ3脆弱性を同定する際、LLMsはどの程度忠実で論理的な推論を提供するのか? また、その推論が誤りまたは事実無視(ホールーシャル)である頻度はどの程度か?
  • RQ4ゼロショット対比Few-shot、ロール指向プロンプトといった、異なるプロンプト戦略は、脆弱性検出におけるLLMのパフォーマンスにどのように影響するか?
  • RQ5LLMsは、訓練時に見られなかった実世界の脆弱性、特に知識カットオフ日付以降に公開された脆弱性に一般化できるか?

主な発見

  • LLMsは高い偽陽性率を示しており、パッチが適用されたコードを26%のケースで脆弱と誤って特定しており、実運用における信頼性の低さが示された。
  • GPT-4やPaLM2といったトップクラスのモデルですら、同じ入力に対して複数回実行した際に答えが変化する非決定的行動を示した。
  • LLMsは頻繁に忠実性に欠いた推論を提供する:脆弱性を正しく同定した場合でも、その根拠はしばしば誤りまたは論理的に不整合である。
  • チェーン・オブ・チーオブ(Chain-of-Thought)推論は脆弱である。関数名の変更やライブラリインポートの追加といった単純なコード拡張が、それぞれ26%および17%のケースで誤った出力を引き起こした。
  • LLMsは、知識カットオフ日付以降に公開された実世界のCVEに対して一般化に失敗し、複数のテストケースで誤った回答を出力した。
  • ゼロショット・ロール指向プロンプト「R2」がプロンプト戦略の中で最高のパフォーマンスを示したが、実際の信頼できる展開には依然として不十分であった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。