論文の概要: Vulnerability Detection in C/C++ Code with Deep Learning
- arxiv url: http://arxiv.org/abs/2405.12384v2
- Date: Sat, 25 May 2024 22:06:44 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-29 03:18:40.852194
- Title: Vulnerability Detection in C/C++ Code with Deep Learning
- Title(参考訳): ディープラーニングを用いたC/C++コードの脆弱性検出
- Authors: Zhen Huang, Amy Aumpansub,
- Abstract要約: 我々は、C/C++プログラムのソースコードから抽出したプログラムスライスでニューラルネットワークをトレーニングし、ソフトウェア脆弱性を検出する。
この結果から,ソースコードの特徴の相違と,脆弱なプログラムスライスと非脆弱なプログラムスライスをバランスよく組み合わせることで,バランスの取れた精度が得られることがわかった。
- 参考スコア(独自算出の注目度): 3.105656247358225
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Deep learning has been shown to be a promising tool in detecting software vulnerabilities. In this work, we train neural networks with program slices extracted from the source code of C/C++ programs to detect software vulnerabilities. The program slices capture the syntax and semantic characteristics of vulnerability-related program constructs, including API function call, array usage, pointer usage, and arithmetic expression. To achieve a strong prediction model for both vulnerable code and non-vulnerable code, we compare different types of training data, different optimizers, and different types of neural networks. Our result shows that combining different types of characteristics of source code and using a balanced number of vulnerable program slices and non-vulnerable program slices produce a balanced accuracy in predicting both vulnerable code and non-vulnerable code. Among different neural networks, BGRU with the ADAM optimizer performs the best in detecting software vulnerabilities with an accuracy of 92.49%.
- Abstract(参考訳): ディープラーニングは、ソフトウェアの脆弱性を検出するための有望なツールであることが示されている。
本研究では,C/C++プログラムのソースコードから抽出したプログラムスライスを用いてニューラルネットワークをトレーニングし,ソフトウェア脆弱性を検出する。
プログラムスライスでは、API関数呼び出し、配列使用、ポインタ使用、演算式など、脆弱性に関連するプログラム構成の構文とセマンティック特性をキャプチャする。
脆弱なコードと非脆弱なコードの両方に対して強力な予測モデルを実現するため、異なるタイプのトレーニングデータ、異なるオプティマイザ、異なるタイプのニューラルネットワークを比較した。
この結果から,ソースコードの特徴の相違と,脆弱なプログラムスライスと非脆弱性なプログラムスライスをバランスよく組み合わせることで,脆弱なコードと非脆弱性なコードの両方を予測する上で,バランスの取れた精度が得られることがわかった。
さまざまなニューラルネットワークの中で、ADAMオプティマイザを備えたBGRUは、92.49%の精度でソフトウェア脆弱性を検出するのに最善を尽くしている。
関連論文リスト
- Dynamic Neural Control Flow Execution: An Agent-Based Deep Equilibrium Approach for Binary Vulnerability Detection [4.629503670145618]
ソフトウェア脆弱性はサイバーセキュリティの課題だ。
DeepEXEはエージェントベースの暗黙のニューラルネットワークで、プログラムの実行パスを模倣する。
DeepEXEは正確かつ効率的な手法であり、最先端の脆弱性検出方法よりも優れていることを示す。
論文 参考訳(メタデータ) (2024-04-03T22:07:50Z) - Using Machine Learning To Identify Software Weaknesses From Software
Requirement Specifications [49.1574468325115]
本研究は、要求仕様からソフトウェア弱点を特定するための効率的な機械学習アルゴリズムを見つけることに焦点を当てる。
ProMISE_exp. Naive Bayes、サポートベクターマシン(SVM)、決定木、ニューラルネットワーク、畳み込みニューラルネットワーク(CNN)アルゴリズムをテストした。
論文 参考訳(メタデータ) (2023-08-10T13:19:10Z) - Feature Engineering-Based Detection of Buffer Overflow Vulnerability in
Source Code Using Neural Networks [2.9266864570485827]
ソースコードから抽出された特徴を学習するニューラルネットワークモデルに基づく脆弱性検出方法。
我々は,GloVeやfastTextといったアートワード埋め込みアルゴリズムの状態を用いて,セマンティックおよび構文情報を維持する。
従来のニューラルネットワークに関わる問題を克服できるニューラルネットワークモデルを提案してきた。
論文 参考訳(メタデータ) (2023-06-01T01:44:49Z) - VMCDL: Vulnerability Mining Based on Cascaded Deep Learning Under Source
Control Flow [2.561778620560749]
本稿では,主にSARDデータセットのc/c++ソースコードデータを用いて,CWE476,CWE469,CWE516,CWE570の脆弱性型のソースコードを処理する。
本稿では,ソースコード制御フローに基づく新しいカスケード深層学習モデルVMCDLを提案し,脆弱性を効果的に検出する。
論文 参考訳(メタデータ) (2023-03-13T13:58:39Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - VUDENC: Vulnerability Detection with Deep Learning on a Natural Codebase
for Python [8.810543294798485]
VUDENCはディープラーニングベースの脆弱性検出ツールである。
大規模で現実世界のPythonコーパスから脆弱性のあるコードの特徴を学ぶ。
VUDENCのリコール率は78%-87%、精度82%-96%、F1スコア80%-90%である。
論文 参考訳(メタデータ) (2022-01-20T20:29:22Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - Multi-context Attention Fusion Neural Network for Software Vulnerability
Identification [4.05739885420409]
ソースコードのセキュリティ脆弱性の共通カテゴリのいくつかを効率的に検出することを学ぶディープラーニングモデルを提案する。
モデルは、学習可能なパラメータの少ないコードセマンティクスの正確な理解を構築します。
提案したAIは、ベンチマークされたNIST SARDデータセットから特定のCWEに対して98.40%のF1スコアを達成する。
論文 参考訳(メタデータ) (2021-04-19T11:50:36Z) - Learning to map source code to software vulnerability using
code-as-a-graph [67.62847721118142]
セキュリティの観点からソースコードのニュアンス学習におけるグラフニューラルネットワークの適用性について検討する。
我々は,既存のコード・アズ・フォトや線形シーケンスの符号化手法よりも,脆弱性検出に有効なコード・アズ・グラフの符号化法を示す。
論文 参考訳(メタデータ) (2020-06-15T16:05:27Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。