DIVERSEVUL: A New Vulnerable Source Code Dataset for Deep Learning Based Vulnerability Detection

本篇论文提出了一种新的漏洞源代码数据集——DIVERSEVUL,并通过爬取安全问题网站、提取修复漏洞的提交和源代码等方法进行构建。该数据集包含18,945个脆弱函数,覆盖了150个CWE(软件漏洞分类)和330,492个非脆弱函数,来自7,514个提交。与之前的数据集相比,该数据集涵盖了更多的项目。此外,作者还分析了使用深度学习检测软件漏洞所面临的挑战和有前途的研究方向。他们评估了11种模型架构,属于4个家族,结果表明深度学习在检测漏洞时仍存在高误报率、低F1分数和难以检测硬CWE等问题。同时,作者还提出了大型语言模型(LLMs)和针对特定源代码的预训练目标是未来的研究方向,可以提高漏洞检测性能。

方法描述

该研究旨在收集高质量的漏洞修复提交,并关注来自真实世界的项目。他们选择了从安全问题中收集数据,因为这些反映了社区开发人员和安全分析师提供的高质量标签。首先,他们识别了29个安全问题网站,并从中缩小到具有最多git系统提交的两个网站。然后,他们从这些网站中爬取了问题标题、正文以及相关git提交URL。由于开发者的讨论可能会引用漏洞修复提交和引入漏洞的提交,因此他们使用两种启发式方法来排除引入漏洞的提交。首先,他们排除所有在包含关键词“introduced”和“first included”的评论中提到的commit URL;其次,他们手动检查至少更改了10个函数的所有提交,并排除那些引入漏洞的提交。最后,他们保留了剩余的提交作为他们的数据集。

接下来,他们解析git提交URL以提取项目和提交ID。然后,他们克隆了项目并从这些项目中提取提交。接着,他们在提交中识别与C/C++相关的代码文件,并提取了这些文件中发生变化的函数以及未发生变化的函数。他们将被修改函数的先前版本标记为脆弱,而修改后的版本则标记为非脆弱。他们还将相关代码文件中的未受影响函数标记为非脆弱。像之前的工作一样,他们通过MD5哈希值去重函数,并在去重前不归一化代码。他们在处理函数时跟踪唯一MD5集合。他们先处理所有脆弱函数,然后再处理非脆弱函数。如果函数的MD5已经存在于这个集合中,则不会再次包括该函数。总共,他们从797个项目中收集了7,514个提交,导致18,945个脆弱函数和330,492个非脆弱函数,涵盖了150个CWE(软件弱点分类)

该是一个在 Kaggle 上发布的数据集,专注于 2024 年出现的漏洞(CVE)信息。以下是关于该数据集的详细介绍:该数据集收集了 2024 年记录在案的各类漏洞信息,涵盖了漏洞的利用方式(Exploits)、通用漏洞评分系统(CVSS)评分以及受影响的操作系统(OS)。通过整合这些信息,研究人员和安全专家可以全面了解每个漏洞的潜在威胁、影响范围以及可能的攻击途径。数据主要来源于权威的漏洞信息平台,如美国国家漏洞数据库(NVD)等。这些数据经过整理和筛选后被纳入数据集,确保了信息的准确性和可靠性。数据集特点:全面性:涵盖了多种操作系统(如 Windows、Linux、Android 等)的漏洞信息,反映了不同平台的安全状况。实用性:CVSS 评分提供了漏洞严重程度的量化指标,帮助用户快速评估漏洞的优先级。同时,漏洞利用信息(Exploits)为安全研究人员提供了攻击者可能的攻击手段,有助于提前制定防御策略。时效性:专注于 2024 年的漏洞数据,反映了当前网络安全领域面临的新挑战和新趋势。该数据集可用于多种研究和实践场景: 安全研究:研究人员可以利用该数据集分析漏洞的分布规律、攻击趋势以及不同操作系统之间的安全差异,为网络安全防护提供理论支持。 机器学习与数据分析:数据集中的结构化信息适合用于机器学习模型的训练,例如预测漏洞的 CVSS 评分、识别潜在的高危漏洞等。 企业安全评估:企业安全团队可以参考该数据集中的漏洞信息,结合自身系统的实际情况,进行安全评估和漏洞修复计划的制定。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值