論文の概要: HOPPER: Interpretative Fuzzing for Libraries
- arxiv url: http://arxiv.org/abs/2309.03496v1
- Date: Thu, 7 Sep 2023 06:11:18 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-25 22:59:44.294796
- Title: HOPPER: Interpretative Fuzzing for Libraries
- Title(参考訳): HOPPER: ライブラリの解釈ファズリング
- Authors: Peng Chen, Yuxuan Xie, Yunlong Lyu, Yuxiao Wang, Hao Chen,
- Abstract要約: HOPPERはドメイン知識を必要とせずにライブラリをファズできる。
ライブラリファジィングの問題をインタプリタファジィングの問題に変換する。
- 参考スコア(独自算出の注目度): 6.36596812288503
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Despite the fact that the state-of-the-art fuzzers can generate inputs efficiently, existing fuzz drivers still cannot adequately cover entries in libraries. Most of these fuzz drivers are crafted manually by developers, and their quality depends on the developers' understanding of the code. Existing works have attempted to automate the generation of fuzz drivers by learning API usage from code and execution traces. However, the generated fuzz drivers are limited to a few specific call sequences by the code being learned. To address these challenges, we present HOPPER, which can fuzz libraries without requiring any domain knowledge to craft fuzz drivers. It transforms the problem of library fuzzing into the problem of interpreter fuzzing. The interpreters linked against libraries under test can interpret the inputs that describe arbitrary API usage. To generate semantically correct inputs for the interpreter, HOPPER learns the intra- and inter-API constraints in the libraries and mutates the program with grammar awareness. We implemented HOPPER and evaluated its effectiveness on 11 real-world libraries against manually crafted fuzzers and other automatic solutions. Our results show that HOPPER greatly outperformed the other fuzzers in both code coverage and bug finding, having uncovered 25 previously unknown bugs that other fuzzers couldn't. Moreover, we have demonstrated that the proposed intra- and inter-API constraint learning methods can correctly learn constraints implied by the library and, therefore, significantly improve the fuzzing efficiency. The experiment results indicate that HOPPER is able to explore a vast range of API usages for library fuzzing out of the box.
- Abstract(参考訳): 最先端のファジィドライバは入力を効率的に生成できるにもかかわらず、既存のファジィドライバはライブラリのエントリを適切にカバーすることはできない。
これらのファズドライバのほとんどは開発者によって手作業で作成されており、その品質は開発者のコード理解に依存します。
既存の作業は、コードと実行トレースからAPIの使用法を学ぶことによって、ファズドライバの自動生成を試みている。
しかし、生成されたファズドライバは、学習されるコードによって、いくつかの特定の呼び出しシーケンスに制限される。
これらの課題に対処するために,ファズドライバを構築するためにドメイン知識を必要とせずにライブラリをファズできるHOPPERを提案する。
ライブラリファジィングの問題をインタプリタファジィングの問題に変換する。
テスト中のライブラリにリンクされたインタプリタは、任意のAPI使用法を記述するインプットを解釈することができる。
インタプリタに対して意味論的に正しい入力を生成するため、HOPPERはライブラリ内のAPI内およびAPI間の制約を学習し、プログラムを文法的認識で変更する。
我々は,HOPPERを実装し,手作業によるファズーやその他の自動解法に対する実世界の11のライブラリの有効性を評価した。
我々の結果は、HOPPERがコードカバレッジとバグ発見の両方で他のファッザよりも大幅に優れており、他のファッザができなかった25の既知のバグが明らかになったことを示している。
さらに,提案手法は,ライブラリが入力する制約を正しく学習し,ファジリング効率を大幅に向上することを示した。
実験結果から,HOPPERは,ライブラリファジィを最初から回避するために,幅広いAPI使用法を探索可能であることが示唆された。
関連論文リスト
- Sparse Feature Circuits: Discovering and Editing Interpretable Causal Graphs in Language Models [55.19497659895122]
本稿ではスパース特徴回路の発見と適用方法を紹介する。
これらは言語モデルの振る舞いを説明するための人間の解釈可能な特徴の因果関係の著作である。
論文 参考訳(メタデータ) (2024-03-28T17:56:07Z) - CovRL: Fuzzing JavaScript Engines with Coverage-Guided Reinforcement
Learning for LLM-based Mutation [2.5864634852960444]
本稿では,大規模言語モデル(LLM)とカバレッジフィードバックからの強化学習を組み合わせた,CovRL(Coverage-guided Reinforcement Learning)と呼ばれる新しい手法を提案する。
CovRL-Fuzzは、39の既知の脆弱性と11のCVEを含む、最新のJavaScriptエンジンにおける48の実際のセキュリティ関連バグを特定している。
論文 参考訳(メタデータ) (2024-02-19T15:30:40Z) - Prompt Fuzzing for Fuzz Driver Generation [6.814630649466018]
本稿では,プロンプトファジングのためのカバーガイドファジングであるPromptFuzzを提案する。
未発見のライブラリコードを探索するためにファズドライバを反復的に生成する。
OSS-Fuzzの1.61倍、Hopperの1.67倍のブランチカバレッジを実現している。
論文 参考訳(メタデータ) (2023-12-29T16:43:51Z) - Fuzz Driver Synthesis for Rust Generic APIs [9.34200641681839]
本稿では,汎用APIを用いたRustライブラリのファズドライバ自動合成問題について検討する。
このような依存関係と型制約を解決することで、候補となるモノモルフィックAPIのコレクションを生成することができる。
29の人気のあるオープンソースライブラリによる実験結果から,我々のアプローチは,無効なファズドライバを低い速度で,有望な汎用APIカバレッジを実現することができることが示された。
論文 参考訳(メタデータ) (2023-12-17T10:24:34Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - Benchmarking Deep Learning Fuzzers [11.118370064698869]
ベンチマークでは、最先端の3つのDLファザ、FreeFuzz、DeepRel、DocTerを、その命令に従って実行します。
これらのファジィザは、ベンチマークデータセットで収集された多くの実際のバグを検出することができません。
我々の系統分析では、これらのファジッターが実際のバグを検知する能力に影響を及ぼす4つの主要な、広く、共通の要因を同定する。
論文 参考訳(メタデータ) (2023-10-10T18:09:16Z) - Causal-learn: Causal Discovery in Python [53.17423883919072]
因果発見は、観測データから因果関係を明らかにすることを目的としている。
$textitcausal-learn$は因果発見のためのオープンソースのPythonライブラリである。
論文 参考訳(メタデータ) (2023-07-31T05:00:35Z) - Private-Library-Oriented Code Generation with Large Language Models [52.73999698194344]
本稿では,大規模言語モデル(LLM)をプライベートライブラリのコード生成に活用することに焦点を当てる。
プログラマがプライベートコードを書く過程をエミュレートする新しいフレームワークを提案する。
TorchDataEval、TorchDataComplexEval、MonkeyEval、BeatNumEvalの4つのプライベートライブラリベンチマークを作成しました。
論文 参考訳(メタデータ) (2023-07-28T07:43:13Z) - Fuzzing with Quantitative and Adaptive Hot-Bytes Identification [6.442499249981947]
アメリカのファジィ・ロック(fuzzy lop)はファジィ・ロック(fuzzy lop)と呼ばれるファジィ・ロック(fuzzy lop)と呼ばれるファジィ・ロック(fuzzy lop)と呼ばれるファジィ・ロック(fuzzy lop)と呼ばれるファジィ・ロック(fuzzy lop)ツールだ。
以下の原則に基づいて設計したツールという手法を提案する。
実世界の10のプログラムとLAVA-Mデータセットによる評価結果から,ツールキーブが分岐カバレッジを持続的に増加させ,他のファザよりも多くのバグを発見できた。
論文 参考訳(メタデータ) (2023-07-05T13:41:35Z) - LeTI: Learning to Generate from Textual Interactions [60.425769582343506]
本稿では,テキストインタラクション(LETI)から学習するLMの可能性を,バイナリラベルによる正当性をチェックするだけでなく,テキストフィードバックを通じて出力中のエラーをピンポイントし,説明する。
私たちの焦点はコード生成タスクであり、そこではモデルが自然言語命令に基づいてコードを生成する。
LETIは、目的のLMを用いて、自然言語命令、LM生成プログラム、テキストフィードバックの結合に基づいて、モデルを反復的に微調整する。
論文 参考訳(メタデータ) (2023-05-17T15:53:31Z) - Precise Zero-Shot Dense Retrieval without Relevance Labels [60.457378374671656]
仮説文書埋め込み(英: hypothetical Document Embeddings, HyDE)は、ゼロショット高密度検索システムである。
我々は,HyDEが最先端の非教師付き高密度検索器であるContrieverを著しく上回っていることを示す。
論文 参考訳(メタデータ) (2022-12-20T18:09:52Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。