Skip to main content
QUICK REVIEW

[論文レビュー] Harnessing the Power of LLM to Support Binary Taint Analysis

Puzhuo Liu, C. P. Sun|arXiv (Cornell University)|Oct 12, 2023
Web Application Security Vulnerabilities被引用数 6
ひとこと要約

本論文では、手動でのルール設計を必要とせず脆弱性検出を自動化する、初めての大規模言語モデル(LLM)を活用した静的バイナリタウンティング解析フレームワークであるLATTEを紹介する。危険なフロー・スライシングとLLMによるコード理解を組み合わせることで、LATTEはタウンティング型の脆弱性を優れた精度で検出することができ、実際のファームウェareにおいて37件の以前未発見のバグを特定し、そのうち7件がCVEに割り当てられた。これは、従来の最先端のツールに比べ、自動化、有効性、拡張性の面で顕著な飛躍を示している。

ABSTRACT

This paper proposes LATTE, the first static binary taint analysis that is powered by a large language model (LLM). LATTE is superior to the state of the art (e.g., Emtaint, Arbiter, Karonte) in three aspects. First, LATTE is fully automated while prior static binary taint analyzers need rely on human expertise to manually customize taint propagation rules and vulnerability inspection rules. Second, LATTE is significantly effective in vulnerability detection, demonstrated by our comprehensive evaluations. For example, LATTE has found 37 new bugs in real-world firmware which the baselines failed to find, and 7 of them have been assigned CVE numbers. Lastly, LATTE incurs remarkably low engineering cost, making it a cost-efficient and scalable solution for security researchers and practitioners. We strongly believe that LATTE opens up a new direction to harness the recent advance in LLMs to improve vulnerability analysis for binary programs.

研究の動機と目的

  • 従来の静的バイナリタウンティング解析が、手作業で作成された伝搬および検査ルールに依存しているため、高い工学的コストと人的作業が発生する問題に対処すること。
  • 専門知識に依存し、ルールの不正確さによって誤検出・見逃しの多い既存のタウンティング解析ツールの限界を克服すること。
  • 大規模言語モデル(LLM)の意味的理解および文脈的推論能力を活用し、ストリップドされたバイナリプログラムにおける脆弱性検査を自動化すること。
  • 手動でのルール作成をLLM駆動のコード解析に置き換えることで、スケーラブルでコスト効率が良く、完全に自動化されたバイナリ脆弱性解析を実現すること。
  • 大規模言語モデル(LLM)をプログラム解析技術と統合し、静的バイナリセキュリティ監査を実現する可能性と有効性を実証すること。

提案手法

  • バイナリプログラム内の既知のセキュリティシンクから外部入力ソースへ向かうタウンティング伝搬を追跡するため、危険なフロー・スライシングを実行する。
  • 制御フローやデータ依存パスから関連するコード断片を抽出し、LLM解析に適した一貫性のあるプログラム断片を構成する。
  • スライスされたコード断片に、関数名やデータ型などのメタデータを付加して、文脈に配慮したプロンプトを構築する。
  • GPT-4.0をLLMエンジンとして使用し、プロンプトシーケンスを解析して、データフローが利用可能な脆弱性に繋がるかどうかを特定する。
  • 二段階のフィルタリング機構を適用する:第一に、潜在的なタウンティングソースおよびシンクを特定し、第二に、LLMを用いてそのデータフローが実際の脆弱性を構成するかどうかを検証する。
  • 将来的なLLMの進化に対応できるように、プラグイン可能なLLMインターフェースをサポートすることで、柔軟な展開を可能にする。
Figure 2. Workflow of LATTE .
Figure 2. Workflow of LATTE .

実験結果

リサーチクエスチョン

  • RQ1LLMは、ソースコードが存在しない低レベルのバイナリコード断片を効果的に理解・解析し、セキュリティ脆弱性を検出できるか?
  • RQ2LLMを活用したタウンティング解析は、従来のルールベースの静的アナライザーに比べ、実世界の脆弱性をどの程度優れて検出できるか?
  • RQ3危険なフロー・スライシングとLLMベースの推論を組み合わせることで、バイナリタウンティング解析における誤検出・見逃しをどの程度低減できるか?
  • RQ4LLMベースのアプローチは、タウンティング伝搬およびシンク検査のための手動ルール定義を完全に排除する、完全な自動化を達成できるか?
  • RQ5LLMベースの解析は、論理的バグや時間窓依存のレースコンディションといった複雑な脆弱性を処理する際に、どのような限界を示すか?

主な発見

  • LATTEは、実世界のファームウェアにおいて37件の以前未発見の脆弱性を発見し、そのうち7件がCVE識別子を割り当てられた。これは、ゼロデイに類似した欠陥を発見できる能力を示している。
  • Emtaint、Arbiter、Karonteといった最先端のベースラインと比較して、バッファオーバーフローおよびコマンドインジェクションを含む、あらゆるタウンティング型脆弱性のタイプにおいて、優れた性能を発揮した。
  • LATTEは脆弱性検出において完全な自動化を達成し、タウンティング伝搬およびシンク検査のための手動ルール作成の必要性を排除した。
  • 危険なフロー・スライシングとLLMベースの推論の統合により、従来の手法と比較して分析の正確性が著しく向上し、人的介入が大幅に削減された。
  • 標準データセットおよび実際のファームウェアを用いた評価から、LATTEのアプローチは有効かつスケーラブルであることが確認され、低い工学的コストと高い検出カバレッジを実現した。
  • 強みがある一方で、LLMの深くネストされたまたは時間的依存性のあるコードパターンに対する理解が限定的であるため、論理的脆弱性や複雑な数学的演算の解析には課題が残っている。
Figure 3. The TP intersection among the five test rounds indicates the stability of LATTE . The intersection numbers of the four vulnerability types are 868, 1061, 1660, 198.
Figure 3. The TP intersection among the five test rounds indicates the stability of LATTE . The intersection numbers of the four vulnerability types are 868, 1061, 1660, 198.

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

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

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

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