論文の概要: FuzzSlice: Pruning False Positives in Static Analysis Warnings Through
Function-Level Fuzzing
- arxiv url: http://arxiv.org/abs/2402.01923v1
- Date: Fri, 2 Feb 2024 21:49:24 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-06 23:28:15.833343
- Title: FuzzSlice: Pruning False Positives in Static Analysis Warnings Through
Function-Level Fuzzing
- Title(参考訳): FuzzSlice:ファンクションレベルファズリングによる静的分析警告における偽陽性の抽出
- Authors: Aniruddhan Murali, Noble Saji Mathews, Mahmoud Alfadel, Meiyappan
Nagappan and Meng Xu
- Abstract要約: 本稿では,静的解析警告中の偽陽性を自動生成するフレームワークであるFuzzSliceを提案する。
作業の基盤となる重要な洞察は、所定の時間予算で関数レベルでファジットされた場合、クラッシュを発生しない警告が偽陽性である、ということです。
FuzzSliceは、オープンソースリポジトリでは62.26%、Julietデータセットでは100%の偽陽性を減少させる。
- 参考スコア(独自算出の注目度): 5.748423489074936
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Manual confirmation of static analysis reports is a daunting task. This is
due to both the large number of warnings and the high density of false
positives among them. Fuzzing techniques have been proposed to verify static
analysis warnings. However, a major limitation is that fuzzing the whole
project to reach all static analysis warnings is not feasible. This can take
several days and exponential machine time to increase code coverage linearly.
Therefore, we propose FuzzSlice, a novel framework that automatically prunes
possible false positives among static analysis warnings. Unlike prior work that
mostly focuses on confirming true positives among static analysis warnings,
which requires end-to-end fuzzing, FuzzSlice focuses on ruling out potential
false positives, which are the majority in static analysis reports. The key
insight that we base our work on is that a warning that does not yield a crash
when fuzzed at the function level in a given time budget is a possible false
positive. To achieve this, FuzzSlice first aims to generate compilable code
slices at the function level and then fuzzes these code slices instead of the
entire binary. FuzzSlice is also unlikely to misclassify a true bug as a false
positive because the crashing input can be reproduced by a fuzzer at the
function level as well. We evaluate FuzzSlice on the Juliet synthetic dataset
and real-world complex C projects. Our evaluation shows that the ground truth
in the Juliet dataset had 864 false positives which were all detected by
FuzzSlice. For the open-source repositories, we were able to get the developers
from two of these open-source repositories to independently label these
warnings. FuzzSlice automatically identifies 33 out of 53 false positives
confirmed by developers in these two repositories. Thus FuzzSlice reduces false
positives by 62.26% in the open-source repositories and by 100% in the Juliet
dataset.
- Abstract(参考訳): 静的解析レポートの手動による確認は大変な作業です。
これは、警告の数が多いことと、それらの間の偽陽性の密度が高いためである。
静的解析警告を検証するためにファジング手法が提案されている。
しかし、大きな制限は、すべての静的解析警告に到達するためにプロジェクト全体をファジィズすることは不可能である。
これは、コードカバレッジを線形に増やすのに数日と指数関数的なマシン時間を要する可能性がある。
そこで本稿では,静的解析警告中の偽陽性を自動生成する新しいフレームワークであるFuzzSliceを提案する。
静的分析警告の真正の確認に主にフォーカスする以前の作業とは異なり、FuzzSliceは静的解析レポートの多数である潜在的な偽正の排除に重点を置いている。
作業の基盤となる重要な洞察は、所定の時間予算で関数レベルでファジットされた場合、クラッシュを発生しない警告が偽陽性である、ということです。
これを実現するために、FuzzSliceはまず関数レベルでコンパイル可能なコードスライスを生成し、それからバイナリ全体ではなく、これらのコードスライスをファズする。
fuzzsliceはまた、クラッシュする入力はファンクションレベルでfuzzerによっても再現できるため、真のバグを偽陽性と誤分類する可能性は低い。
ジュリエット合成データセットと実世界の複合Cプロジェクト上でFuzzSliceを評価する。
評価の結果,Julietデータセットの真理は864個の偽陽性を示し,いずれもFuzzSliceによって検出された。
オープンソースリポジトリでは、これらの2つのオープンソースリポジトリの開発者が、これらの警告を独立してラベル付けることができました。
FuzzSliceは、2つのリポジトリで開発者が確認した53の偽陽性のうち33を自動で識別する。
これにより、オープンソースリポジトリでは62.26%、Julietデータセットでは100%の偽陽性が減少する。
関連論文リスト
- Pipe-Cleaner: Flexible Fuzzing Using Security Policies [0.07499722271664144]
Pipe-CleanerはCコードの脆弱性を検出し解析するシステムである。
これは、タグベースのランタイムリファレンスモニターによって強制されるフレキシブルな開発者設計のセキュリティポリシーに基づいている。
いくつかのヒープ関連のセキュリティ脆弱性に対して、このアプローチの可能性を実証する。
論文 参考訳(メタデータ) (2024-10-31T23:35:22Z) - FuzzCoder: Byte-level Fuzzing Test via Large Language Model [46.18191648883695]
我々は,攻撃を成功させることで,入力ファイルのパターンを学習するために,微調整された大言語モデル(FuzzCoder)を採用することを提案する。
FuzzCoderは、プログラムの異常な動作を引き起こすために、入力ファイル内の突然変異位置と戦略位置を予測することができる。
論文 参考訳(メタデータ) (2024-09-03T14:40:31Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - FineWAVE: Fine-Grained Warning Verification of Bugs for Automated Static Analysis Tools [18.927121513404924]
ASAT(Automated Static Analysis Tools)は、バグ検出を支援するために、時間とともに進化してきた。
これまでの研究は、報告された警告を検証するための学習ベースの方法を探究してきた。
我々は,バグに敏感な警告をきめ細かい粒度で検証する学習ベースアプローチであるFineWAVEを提案する。
論文 参考訳(メタデータ) (2024-03-24T06:21:35Z) - Benchmarking Deep Learning Fuzzers [11.118370064698869]
ベンチマークでは、最先端の3つのDLファザ、FreeFuzz、DeepRel、DocTerを、その命令に従って実行します。
これらのファジィザは、ベンチマークデータセットで収集された多くの実際のバグを検出することができません。
我々の系統分析では、これらのファジッターが実際のバグを検知する能力に影響を及ぼす4つの主要な、広く、共通の要因を同定する。
論文 参考訳(メタデータ) (2023-10-10T18:09:16Z) - Learning to Reduce False Positives in Analytic Bug Detectors [12.733531603080674]
偽陽性のバグ警告を識別するためのトランスフォーマーに基づく学習手法を提案する。
我々は,静的解析の精度を17.5%向上させることができることを示した。
論文 参考訳(メタデータ) (2022-03-08T04:26:26Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Sample-Efficient Safety Assurances using Conformal Prediction [57.92013073974406]
早期警戒システムは、安全でない状況が差し迫ったときに警告を提供することができる。
安全性を確実に向上させるためには、これらの警告システムは証明可能な偽陰性率を持つべきである。
本稿では,共形予測と呼ばれる統計的推論手法とロボット・環境力学シミュレータを組み合わせたフレームワークを提案する。
論文 参考訳(メタデータ) (2021-09-28T23:00:30Z) - Learning Stable Classifiers by Transferring Unstable Features [59.06169363181417]
本研究では,素早い相関関係の存在下での伝達学習について検討する。
提案手法は, ソースタスクで学習した安定な特徴抽出器を直接転送しても, 対象タスクのバイアスを排除できないことを実験的に実証する。
我々は、ソースタスクの不安定な特徴とターゲットタスクの不安定な特徴が直接関連していると仮定する。
論文 参考訳(メタデータ) (2021-06-15T02:41:12Z) - Assessing Validity of Static Analysis Warnings using Ensemble Learning [4.05739885420409]
静的分析(SA)ツールは、コードの潜在的な弱点を特定し、事前に修正するために使われ、コードが開発中である。
これらのルールベースの静的解析ツールは一般的に、実際のものとともに多くの誤った警告を報告します。
機械学習(ML)ベースの学習プロセスを提案し、ソースコード、履歴コミットデータ、および分類器アンサンブルを使用してTrue警告を優先します。
論文 参考訳(メタデータ) (2021-04-21T19:39:20Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。