論文の概要: Fixing Security Vulnerabilities with AI in OSS-Fuzz
- arxiv url: http://arxiv.org/abs/2411.03346v2
- Date: Thu, 21 Nov 2024 04:35:46 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-22 15:17:10.774292
- Title: Fixing Security Vulnerabilities with AI in OSS-Fuzz
- Title(参考訳): OSS-FuzzにおけるAIによるセキュリティ脆弱性の修正
- Authors: Yuntong Zhang, Jiawei Wang, Dominic Berzin, Martin Mirchev, Dongge Liu, Abhishek Arya, Oliver Chang, Abhik Roychoudhury,
- Abstract要約: OSS-Fuzzは、オープンソースシステムの継続的な検証のための最も重要で広く使用されているインフラである。
セキュリティ脆弱性を修正するために、よく知られたAutoCodeRoverエージェントをカスタマイズします。
OSS-Fuzz脆弱性データを用いた経験から,LSMエージェントの自律性はセキュリティパッチの成功に有用であることがわかった。
- 参考スコア(独自算出の注目度): 9.730566646484304
- License:
- Abstract: Critical open source software systems undergo significant validation in the form of lengthy fuzz campaigns. The fuzz campaigns typically conduct a biased random search over the domain of program inputs, to find inputs which crash the software system. Such fuzzing is useful to enhance the security of software systems in general since even closed source software may use open source components. Hence testing open source software is of paramount importance. Currently OSS-Fuzz is the most significant and widely used infrastructure for continuous validation of open source systems. Unfortunately even though OSS-Fuzz has identified more than 10,000 vulnerabilities across 1000 or more software projects, the detected vulnerabilities may remain unpatched, as vulnerability fixing is often manual in practice. In this work, we rely on the recent progress in Large Language Model (LLM) agents for autonomous program improvement including bug fixing. We customise the well-known AutoCodeRover agent for fixing security vulnerabilities. This is because LLM agents like AutoCodeRover fix bugs from issue descriptions via code search. Instead for security patching, we rely on the test execution of the exploit input to extract code elements relevant to the fix. Our experience with OSS-Fuzz vulnerability data shows that LLM agent autonomy is useful for successful security patching, as opposed to approaches like Agentless where the control flow is fixed. More importantly our findings show that we cannot measure quality of patches by code similarity of the patch with reference codes (as in CodeBLEU scores used in VulMaster), since patches with high CodeBLEU scores still fail to pass given the given exploit input. Our findings indicate that security patch correctness needs to consider dynamic attributes like test executions as opposed to relying of standard text/code similarity metrics.
- Abstract(参考訳): 重要なオープンソースソフトウェアシステムは、長いファズキャンペーンの形で重要な検証を行っている。
ファズキャンペーンは通常、プログラム入力の領域をランダムに探索し、ソフトウェアシステムをクラッシュさせる入力を見つける。
このようなファジィングは、クローズドソースソフトウェアでさえオープンソースコンポーネントを使用する可能性があるため、ソフトウェアシステムのセキュリティを高めるのに有用である。
したがって、オープンソースソフトウェアをテストすることは最重要事項である。
現在OSS-Fuzzは、オープンソースシステムの継続的な検証のための最も重要で広く使われているインフラである。
残念なことに、OSS-Fuzzは1000以上のソフトウェアプロジェクトに1万以上の脆弱性を特定しているが、脆弱性の修正は手作業で行われていることが多いため、検出された脆弱性は未修正のままである。
本研究では,大規模言語モデル(LLM)エージェントの最近の進歩を,バグ修正を含む自律的なプログラム改善に頼っている。
セキュリティ脆弱性を修正するために、よく知られたAutoCodeRoverエージェントをカスタマイズします。
これは、AutoCodeRoverのようなLLMエージェントが、コード検索を通じて問題記述のバグを修正するためである。
セキュリティパッチではなく、エクスプロイトインプットのテスト実行に依存して、修正に関連するコード要素を抽出します。
OSS-Fuzzの脆弱性データを使った経験から、コントロールフローが固定されたAgentlessのようなアプローチとは対照的に、LLMエージェントの自律性はセキュリティパッチの成功に役立ちます。
さらに重要なことは、VulMasterで使用されるCodeBLEUスコアのように)参照コードとパッチのコード類似性によってパッチの品質を測定することはできないということです。
この結果から,セキュリティパッチの正確性は,標準的なテキスト/コード類似度指標に依存するのではなく,テスト実行などの動的属性を考慮する必要があることが示唆された。
関連論文リスト
- RedCode: Risky Code Execution and Generation Benchmark for Code Agents [50.81206098588923]
RedCodeはリスクの高いコード実行と生成のためのベンチマークである。
RedCode-Execは、危険なコード実行につながる可能性のある、挑戦的なプロンプトを提供する。
RedCode-Genは160のプロンプトに関数シグネチャとドキュメントを入力として提供し、コードエージェントが命令に従うかどうかを評価する。
論文 参考訳(メタデータ) (2024-11-12T13:30:06Z) - Discovery of Timeline and Crowd Reaction of Software Vulnerability Disclosures [47.435076500269545]
Apache Log4Jはリモートコード実行攻撃に対して脆弱であることが判明した。
35,000以上のパッケージが最新バージョンでLog4Jライブラリをアップデートせざるを得なかった。
ソフトウェアベンダが脆弱性のないバージョンをリリースするたびに、ソフトウェア開発者がサードパーティのライブラリを更新するのは、事実上妥当です。
論文 参考訳(メタデータ) (2024-11-12T01:55:51Z) - The Impact of SBOM Generators on Vulnerability Assessment in Python: A Comparison and a Novel Approach [56.4040698609393]
Software Bill of Materials (SBOM) は、ソフトウェア構成における透明性と妥当性を高めるツールとして推奨されている。
現在のSBOM生成ツールは、コンポーネントや依存関係を識別する際の不正確さに悩まされることが多い。
提案するPIP-sbomは,その欠点に対処する新しいピップインスパイアされたソリューションである。
論文 参考訳(メタデータ) (2024-09-10T10:12:37Z) - LLM-Enhanced Static Analysis for Precise Identification of Vulnerable OSS Versions [12.706661324384319]
オープンソースソフトウェア(OSS)は、そのコラボレーティブな開発モデルとコスト効果の性質から、人気が高まっている。
開発プロジェクトにおける特定のソフトウェアバージョンの採用は、これらのバージョンが脆弱性をもたらす場合にセキュリティリスクをもたらす可能性がある。
脆弱性のあるバージョンを識別する現在の方法は、通常、事前に定義されたルールで静的解析を使用して、脆弱性パッチに関わるコードを分析してトレースする。
本稿では,C/C++で記述されたOSSの脆弱なバージョンを特定するために,Vercationを提案する。
論文 参考訳(メタデータ) (2024-08-14T06:43:06Z) - Patch2QL: Discover Cognate Defects in Open Source Software Supply Chain
With Auto-generated Static Analysis Rules [1.9591497166224197]
本稿では,SASTルールの自動生成によるOSSのコグネート欠陥の検出手法を提案する。
具体的には、プリパッチバージョンとポストパッチバージョンから重要な構文と意味情報を抽出する。
我々はPatch2QLというプロトタイプツールを実装し、それをC/C++の基本OSSに適用した。
論文 参考訳(メタデータ) (2024-01-23T02:23:11Z) - On the Security Blind Spots of Software Composition Analysis [46.1389163921338]
Mavenリポジトリで脆弱性のあるクローンを検出するための新しいアプローチを提案する。
Maven Centralから53万以上の潜在的な脆弱性のあるクローンを検索します。
検出された727個の脆弱なクローンを検出し、それぞれに検証可能な脆弱性証明プロジェクトを合成する。
論文 参考訳(メタデータ) (2023-06-08T20:14:46Z) - Transformer-based Vulnerability Detection in Code at EditTime:
Zero-shot, Few-shot, or Fine-tuning? [5.603751223376071]
脆弱性のあるコードパターンの大規模データセットにディープラーニングを活用する実用的なシステムを提案する。
美術品の脆弱性検出モデルと比較すると,我々の手法は工芸品の状態を10%改善する。
論文 参考訳(メタデータ) (2023-05-23T01:21:55Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - Detecting Security Patches via Behavioral Data in Code Repositories [11.052678122289871]
Gitリポジトリ内の開発者動作のみを使用して,セキュリティパッチを自動的に識別するシステムを示す。
秘密のセキュリティパッチを88.3%、F1スコア89.8%で公開できることを示しました。
論文 参考訳(メタデータ) (2023-02-04T06:43:07Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Multi-context Attention Fusion Neural Network for Software Vulnerability
Identification [4.05739885420409]
ソースコードのセキュリティ脆弱性の共通カテゴリのいくつかを効率的に検出することを学ぶディープラーニングモデルを提案する。
モデルは、学習可能なパラメータの少ないコードセマンティクスの正確な理解を構築します。
提案したAIは、ベンチマークされたNIST SARDデータセットから特定のCWEに対して98.40%のF1スコアを達成する。
論文 参考訳(メタデータ) (2021-04-19T11:50:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。