論文の概要: An Empirical Study of Static Analysis Tools for Secure Code Review
- arxiv url: http://arxiv.org/abs/2407.12241v1
- Date: Wed, 17 Jul 2024 01:15:39 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-18 18:49:00.125555
- Title: An Empirical Study of Static Analysis Tools for Secure Code Review
- Title(参考訳): セキュアコードレビューのための静的解析ツールの実証的研究
- Authors: Wachiraphan Charoenwet, Patanamon Thongtanunam, Van-Thuan Pham, Christoph Treude,
- Abstract要約: 静的アプリケーションセキュリティテストツール(SAST)は、セキュリティ問題の識別を強化する可能性がある。
ほとんどのSAST研究は、対象プログラムの合成または完全に脆弱なバージョンに依存している。
我々は、悪用可能な脆弱性に寄与する実際のコード変更のデータセットを使用して、C/C++ SASTを調査する。
- 参考スコア(独自算出の注目度): 14.134803943492345
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Early identification of security issues in software development is vital to minimize their unanticipated impacts. Code review is a widely used manual analysis method that aims to uncover security issues along with other coding issues in software projects. While some studies suggest that automated static application security testing tools (SASTs) could enhance security issue identification, there is limited understanding of SAST's practical effectiveness in supporting secure code review. Moreover, most SAST studies rely on synthetic or fully vulnerable versions of the subject program, which may not accurately represent real-world code changes in the code review process. To address this gap, we study C/C++ SASTs using a dataset of actual code changes that contributed to exploitable vulnerabilities. Beyond SAST's effectiveness, we quantify potential benefits when changed functions are prioritized by SAST warnings. Our dataset comprises 319 real-world vulnerabilities from 815 vulnerability-contributing commits (VCCs) in 92 C and C++ projects. The result reveals that a single SAST can produce warnings in vulnerable functions of 52% of VCCs. Prioritizing changed functions with SAST warnings can improve accuracy (i.e., 12% of precision and 5.6% of recall) and reduce Initial False Alarm (lines of code in non-vulnerable functions inspected until the first vulnerable function) by 13%. Nevertheless, at least 76% of the warnings in vulnerable functions are irrelevant to the VCCs, and 22% of VCCs remain undetected due to limitations of SAST rules. Our findings highlight the benefits and the remaining gaps of SAST-supported secure code reviews and challenges that should be addressed in future work.
- Abstract(参考訳): ソフトウェア開発におけるセキュリティ問題の早期発見は、予想外の影響を最小限にするために不可欠である。
コードレビューは、セキュリティ問題とソフトウェアプロジェクトの他のコーディング問題を明らかにすることを目的とした、広く使われている手動分析手法である。
一部の研究では、自動静的アプリケーションセキュリティテストツール(SAST)がセキュリティ上の問題を特定する可能性を示唆しているが、セキュアなコードレビューをサポートする上でのSASTの実践的有効性は限定されている。
さらに、ほとんどのSAST研究は、コードレビュープロセスにおける実際のコード変更を正確に表現しない、合成または完全に脆弱なサブジェクトプログラムに依存している。
このギャップに対処するために、私たちは、悪用可能な脆弱性に寄与する実際のコード変更のデータセットを使用して、C/C++ SASTを調査します。
SASTの有効性を超えて、変更した関数がSAST警告によって優先順位付けされた場合の潜在的なメリットを定量化する。
我々のデータセットは、92のCプロジェクトとC++プロジェクトで815の脆弱性貢献コミット(VCC)から319の現実世界の脆弱性で構成されています。
その結果、単一のSASTがVCCの52%の脆弱な機能で警告を発生させることができることが明らかになった。
SAST警告による変更関数の優先順位付けにより、精度(精度12%、リコール5.6%)が向上し、Initial False Alarm(最初の脆弱性関数まで検査される非脆弱性関数のコード行)が13%削減される。
それでも、脆弱な機能の警告の少なくとも76%はVCCとは無関係であり、VCCの22%はSASTルールの制限により未検出のままである。
我々の発見は、将来の作業で対処すべき、SASTがサポートしているセキュアなコードレビューと課題のメリットと残りのギャップを浮き彫りにしています。
関連論文リスト
- GNN-Based Code Annotation Logic for Establishing Security Boundaries in C Code [41.10157750103835]
今日の相互接続されたソフトウェアランドスケープにおけるセンシティブなオペレーションの確保は、非常に難しいものです。
現代のプラットフォームは、セキュリティに敏感なコードをメインシステムから分離するために、Trusted Execution Environments (TEEs) に依存している。
Code Logic(CAL)は、TEE分離のためのセキュリティに敏感なコンポーネントを自動的に識別する先駆的なツールである。
論文 参考訳(メタデータ) (2024-11-18T13:40:03Z) - 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) - Comparison of Static Application Security Testing Tools and Large Language Models for Repo-level Vulnerability Detection [11.13802281700894]
静的アプリケーションセキュリティテスト(SAST)は通常、セキュリティ脆弱性のソースコードをスキャンするために使用される。
ディープラーニング(DL)ベースの手法は、ソフトウェア脆弱性検出の可能性を実証している。
本稿では,ソフトウェア脆弱性を検出するために,15種類のSASTツールと12種類の最先端のオープンソースLLMを比較した。
論文 参考訳(メタデータ) (2024-07-23T07:21:14Z) - Static Application Security Testing (SAST) Tools for Smart Contracts: How Far Are We? [14.974832502863526]
近年,スマートコントラクトセキュリティの重要性が高まっている。
この問題に対処するため、スマートコントラクトの脆弱性を検出するために、多数の静的アプリケーションセキュリティテスト(SAST)ツールが提案されている。
本稿では,スマートコントラクトに対する45種類の脆弱性を含む,最新のきめ細かな分類法を提案する。
論文 参考訳(メタデータ) (2024-04-28T13:40:18Z) - Vulnerability Detection with Code Language Models: How Far Are We? [40.455600722638906]
PrimeVulは、脆弱性検出のためのコードLMのトレーニングと評価のための新しいデータセットである。
これは、人間の検証されたベンチマークに匹敵するラベルの精度を達成する、新しいデータラベリング技術を含んでいる。
また、厳密なデータ重複解消戦略と時系列データ分割戦略を実装して、データの漏洩問題を軽減している。
論文 参考訳(メタデータ) (2024-03-27T14:34:29Z) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - Profile of Vulnerability Remediations in Dependencies Using Graph
Analysis [40.35284812745255]
本研究では,グラフ解析手法と改良型グラフ注意畳み込みニューラルネットワーク(GAT)モデルを提案する。
制御フローグラフを分析して、脆弱性の修正を目的とした依存性のアップグレードから発生するアプリケーションの変更をプロファイルします。
結果は、コード脆弱性のリレーショナルダイナミクスに関する微妙な洞察を提供する上で、強化されたGATモデルの有効性を示す。
論文 参考訳(メタデータ) (2024-03-08T02:01:47Z) - What Can Self-Admitted Technical Debt Tell Us About Security? A
Mixed-Methods Study [6.286506087629511]
自己充足型技術的負債(SATD)
潜在的に悪用可能な脆弱性や セキュリティ上の欠陥に関する 恐ろしい情報源と見なすことができます
本研究は、SATDのセキュリティへの影響を、技術と開発者中心の観点から検討する。
論文 参考訳(メタデータ) (2024-01-23T13:48:49Z) - Just-in-Time Detection of Silent Security Patches [7.840762542485285]
セキュリティパッチは黙秘される可能性がある。つまり、CVEのような包括的なアドバイザリを常に備えているわけではない。
この透明性の欠如により、ユーザーは利用可能なセキュリティアップデートを気にせず、攻撃者が未パッチの脆弱性を悪用する十分な機会を提供する。
本稿では,大規模言語モデル(LLM)を活用して,生成されたコード変更説明を用いてパッチ情報を拡張することを提案する。
論文 参考訳(メタデータ) (2023-12-02T22:53: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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。