CovRL: Fuzzing JavaScript Engines with Coverage-Guided Reinforcement Learning for LLM-based Mutation

要約

ファジングは効果的なバグ発見手法ですが、正確な文法入力を必要とする JavaScript エンジンのような複雑なシステムでは困難です。
最近、研究者らはこの問題に対処するために、ファジングにおけるコンテキストを意識した突然変異の言語モデルを採用しました。
しかしながら、既存の技術は、ファジングのためのカバレッジガイダンスの利用には限界があり、ファジングはむしろブラックボックス方式で実行される。
この論文では、大規模言語モデル (LLM) とカバレッジ フィードバックからの強化学習を組み合わせた CovRL (カバレッジ誘導強化学習) と呼ばれる新しい手法を紹介します。
当社のファザーである CovRL-Fuzz は、用語頻度 – 逆文書頻度 (TF-IDF) 法を利用して加重カバレッジ マップを構築することにより、カバレッジ フィードバックを LLM に直接統合します。
このマップはファジング報酬を計算する際の鍵となり、強化学習を通じて LLM ベースのミューテーターに適用されます。
CovRL-Fuzz は、このアプローチを通じて、新しいカバレッジ領域を発見する可能性がより高いテスト ケースの生成を可能にし、追加の後処理を必要とせずに、構文エラーやセマンティック エラーを最小限に抑えながら脆弱性の検出を向上させます。
私たちの評価結果は、CovRL-Fuzz がコード カバレッジとバグ発見機能の点で最先端のファザーよりも優れていることを示しています。CovRL-Fuzz は、最新の JavaScript エンジンで、以前の 39 件を含む 48 件の実際のセキュリティ関連のバグを特定しました。
未知の脆弱性と 11 件の CVE。

要約(オリジナル)

Fuzzing is an effective bug-finding technique but it struggles with complex systems like JavaScript engines that demand precise grammatical input. Recently, researchers have adopted language models for context-aware mutation in fuzzing to address this problem. However, existing techniques are limited in utilizing coverage guidance for fuzzing, which is rather performed in a black-box manner. This paper presents a novel technique called CovRL (Coverage-guided Reinforcement Learning) that combines Large Language Models (LLMs) with reinforcement learning from coverage feedback. Our fuzzer, CovRL-Fuzz, integrates coverage feedback directly into the LLM by leveraging the Term Frequency-Inverse Document Frequency (TF-IDF) method to construct a weighted coverage map. This map is key in calculating the fuzzing reward, which is then applied to the LLM-based mutator through reinforcement learning. CovRL-Fuzz, through this approach, enables the generation of test cases that are more likely to discover new coverage areas, thus improving vulnerability detection while minimizing syntax and semantic errors, all without needing extra post-processing. Our evaluation results indicate that CovRL-Fuzz outperforms the state-of-the-art fuzzers in terms of code coverage and bug-finding capabilities: CovRL-Fuzz identified 48 real-world security-related bugs in the latest JavaScript engines, including 39 previously unknown vulnerabilities and 11 CVEs.

arxiv情報

著者 Jueon Eom,Seyeon Jeong,Taekyoung Kwon
発行日 2024-02-19 15:30:40+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL, cs.CR, cs.LG, cs.SE, D.4.6; I.2.5; D.2.4 パーマリンク