論文の概要: LLM-Enhanced Static Analysis for Precise Identification of Vulnerable OSS Versions
- arxiv url: http://arxiv.org/abs/2408.07321v1
- Date: Wed, 14 Aug 2024 06:43:06 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-15 14:13:57.290797
- Title: LLM-Enhanced Static Analysis for Precise Identification of Vulnerable OSS Versions
- Title(参考訳): 可変OSSバージョンの高精度同定のためのLCM拡張静的解析
- Authors: Yiran Cheng, Lwin Khin Shar, Ting Zhang, Shouguo Yang, Chaopeng Dong, David Lo, Shichao Lv, Zhiqiang Shi, Limin Sun,
- Abstract要約: オープンソースソフトウェア(OSS)は、そのコラボレーティブな開発モデルとコスト効果の性質から、人気が高まっている。
開発プロジェクトにおける特定のソフトウェアバージョンの採用は、これらのバージョンが脆弱性をもたらす場合にセキュリティリスクをもたらす可能性がある。
脆弱性のあるバージョンを識別する現在の方法は、通常、事前に定義されたルールで静的解析を使用して、脆弱性パッチに関わるコードを分析してトレースする。
本稿では,C/C++で記述されたOSSの脆弱なバージョンを特定するために,Vercationを提案する。
- 参考スコア(独自算出の注目度): 12.706661324384319
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Open-source software (OSS) has experienced a surge in popularity, attributed to its collaborative development model and cost-effective nature. However, the adoption of specific software versions in development projects may introduce security risks when these versions bring along vulnerabilities. Current methods of identifying vulnerable versions typically analyze and trace the code involved in vulnerability patches using static analysis with pre-defined rules. They then use syntactic-level code clone detection to identify the vulnerable versions. These methods are hindered by imprecisions due to (1) the inclusion of vulnerability-irrelevant code in the analysis and (2) the inadequacy of syntactic-level code clone detection. This paper presents Vercation, an approach designed to identify vulnerable versions of OSS written in C/C++. Vercation combines program slicing with a Large Language Model (LLM) to identify vulnerability-relevant code from vulnerability patches. It then backtraces historical commits to gather previous modifications of identified vulnerability-relevant code. We propose semantic-level code clone detection to compare the differences between pre-modification and post-modification code, thereby locating the vulnerability-introducing commit (vic) and enabling to identify the vulnerable versions between the patch commit and the vic. We curate a dataset linking 74 OSS vulnerabilities and 1013 versions to evaluate Vercation. On this dataset, our approach achieves the F1 score of 92.4%, outperforming current state-of-the-art methods. More importantly, Vercation detected 134 incorrect vulnerable OSS versions in NVD reports.
- Abstract(参考訳): オープンソースソフトウェア(OSS)は、そのコラボレーティブな開発モデルとコスト効果の性質から、人気が高まっている。
しかしながら、開発プロジェクトにおける特定のソフトウェアバージョンの採用は、これらのバージョンが脆弱性をもたらす場合にセキュリティリスクをもたらす可能性がある。
脆弱性のあるバージョンを識別する現在の方法は、通常、事前に定義されたルールで静的解析を使用して、脆弱性パッチに関わるコードを分析してトレースする。
次に、セマンティックレベルのコードクローン検出を使用して、脆弱性のあるバージョンを識別する。
これらの手法は,(1) 解析に脆弱性のないコードを含めること,(2) 構文レベルのコードクローン検出が不十分であることによる不正確さによって阻害される。
本稿では,C/C++で記述されたOSSの脆弱なバージョンを特定するために,Vercationを提案する。
VercationはプログラムスライシングとLarge Language Model(LLM)を組み合わせることで、脆弱性パッチから脆弱性関連コードを識別する。
その後、過去のコミットをバックトレースして、特定された脆弱性関連コードの以前の修正を収集する。
本研究では,修正前コードと修正後コードの違いを比較し,脆弱性導入コミット(vic)を特定し,パッチコミットとビック間の脆弱性バージョンを識別する意味レベルコードクローン検出を提案する。
Vercationを評価するために、74のOSS脆弱性と1013バージョンをリンクするデータセットをキュレートする。
このデータセットでは、F1スコア92.4%を達成し、現在の最先端手法よりも優れています。
さらに重要なことに、VercationはNVDレポートで134の誤ったOSSバージョンを検出した。
関連論文リスト
- CommitShield: Tracking Vulnerability Introduction and Fix in Version Control Systems [15.037460085046806]
CommitShieldは、コードコミットの脆弱性を検出するツールである。
静的解析ツールのコード解析機能と、大きな言語モデルの自然言語とコード理解機能を組み合わせる。
脆弱性修正検出タスクの最先端メソッドに対して,CommitShieldはリコールを76%~87%改善することを示す。
論文 参考訳(メタデータ) (2025-01-07T08:52:55Z) - Improving Discovery of Known Software Vulnerability For Enhanced Cybersecurity [0.0]
脆弱性検出はCommon Platformion (CPE)文字列のような標準化された識別子に依存する。
ソフトウェアベンダが発行する標準化されていないCPE文字列は、大きな課題を生み出します。
一貫性のない命名規則、バージョニングプラクティスは、データベースをクエリする際のミスマッチを引き起こす。
論文 参考訳(メタデータ) (2024-12-21T12:43:52Z) - CryptoFormalEval: Integrating LLMs and Formal Verification for Automated Cryptographic Protocol Vulnerability Detection [41.94295877935867]
我々は,新たな暗号プロトコルの脆弱性を自律的に識別する大規模言語モデルの能力を評価するためのベンチマークを導入する。
私たちは、新しい、欠陥のある通信プロトコルのデータセットを作成し、AIエージェントが発見した脆弱性を自動的に検証する方法を設計しました。
論文 参考訳(メタデータ) (2024-11-20T14:16:55Z) - SecCodePLT: A Unified Platform for Evaluating the Security of Code GenAI [47.11178028457252]
我々はGenAIのリスクをコードする統合的かつ包括的な評価プラットフォームSecCodePLTを開発した。
安全でないコードには、専門家と自動生成を組み合わせたデータ生成のための新しい方法論を導入する。
サイバー攻撃支援のために、我々はモデルに実際の攻撃を引き起こすよう促すサンプルと、我々の環境における動的な指標を構築した。
論文 参考訳(メタデータ) (2024-10-14T21:17:22Z) - M2CVD: Enhancing Vulnerability Semantic through Multi-Model Collaboration for Code Vulnerability Detection [52.4455893010468]
大規模言語モデル(LLM)は、コード理解において強力な能力を持つが、微調整コストとセマンティックアライメントの問題により、プロジェクト固有の最適化が制限される。
CodeBERTのようなコードモデルは微調整が容易であるが、複雑なコード言語から脆弱性のセマンティクスを学ぶことはしばしば困難である。
本稿では,M2CVD(Multi-Model Collaborative Vulnerability Detection)手法を提案する。
論文 参考訳(メタデータ) (2024-06-10T00:05:49Z) - 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) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。