Real-Vul
收藏arXiv2024-07-03 更新2024-07-05 收录
下载链接:
https://zenodo.org/record/8206635
下载链接
链接失效反馈官方服务:
资源简介:
Real-Vul数据集由滑铁卢大学计算机科学学院开发,旨在为深度学习模型在真实世界软件漏洞检测中的评估提供一个全面的数据集。该数据集包含5528条C/C++函数样本,涵盖了多种软件项目,如Chromium浏览器和Linux操作系统。数据集的创建过程采用了时间基策略,确保训练和测试数据的真实性和时效性。Real-Vul数据集主要用于评估和改进现有漏洞检测模型的实际应用性能,特别是在处理复杂和多样化的真实世界软件环境中的漏洞。
Real-Vul dataset is developed by the School of Computer Science, University of Waterloo, aiming to provide a comprehensive benchmark dataset for evaluating deep learning models in real-world software vulnerability detection. This dataset contains 5,528 C/C++ function samples, covering a variety of software projects such as the Chromium web browser and the Linux operating system. The dataset was constructed using a time-based strategy to ensure the authenticity and timeliness of both training and test data. The Real-Vul dataset is primarily designed to evaluate and enhance the real-world application performance of existing vulnerability detection models, particularly when addressing vulnerabilities in complex and diverse real-world software environments.
提供机构:
滑铁卢大学计算机科学学院
创建时间:
2024-07-03
原始信息汇总
数据集概述
标题
Revisiting the Performance of Deep Learning-Based Vulnerability Detection on Realistic Datasets
描述
该存储库包含用于研究“在真实数据集上重新审视基于深度学习的漏洞检测性能”的数据集和脚本。
相关信息
- DOI: 10.1109/TSE.2024.3423712
- 摘要链接: https://zenodo.org/records/12707476
- 发布日期: 2024年7月5日
- 版本: 0.1
文件
搜集汇总
数据集介绍

构建方式
Real-Vul数据集旨在解决现有数据集在评估漏洞检测模型时未能准确反映现实世界场景的问题。该数据集通过从Big-Vul数据集中挑选包含大量漏洞的十个项目,并采用时间策略创建训练和测试数据集,以确保数据的时间顺序和分布与真实世界中的漏洞检测过程相符。为了解决标签不一致的问题,Real-Vul数据集通过比较代码段哈希值来确保标签的一致性。
特点
Real-Vul数据集的主要特点是它包含了整个代码库,而不仅仅是修复提交中的代码样本,这使得它能够更准确地模拟现实世界中的漏洞检测场景。此外,Real-Vul数据集通过比较代码段哈希值来确保标签的一致性,避免了现有数据集中存在的标签不一致问题。这些特点使得Real-Vul数据集成为一个更加全面和现实的数据集,能够更好地评估漏洞检测模型的性能。
使用方法
Real-Vul数据集可用于训练和评估漏洞检测模型。使用Real-Vul数据集时,研究人员可以采用时间策略来创建训练和测试数据集,以确保数据的时间顺序和分布与真实世界中的漏洞检测过程相符。此外,Real-Vul数据集还提供了丰富的元数据,包括漏洞的修复日期、CVE ID、严重性等级和摘要等信息,这些信息可以帮助研究人员更好地理解漏洞的特性并改进漏洞检测模型。
背景与挑战
背景概述
软件漏洞对日常软件系统的影响令人担忧。尽管已经提出了基于深度学习的漏洞检测模型,但其可靠性仍然是一个重大问题。先前对这类模型的评估报告显示,其召回率/F1分数高达99%,但我们发现这些模型在实际场景中的表现不佳,尤其是在整个代码库上进行评估而不是仅在修复提交上进行评估时。在本文中,我们引入了一个综合数据集(Real-Vul),旨在准确地代表现实场景,以评估漏洞检测模型。我们对DeepWukong、LineVul、ReVeal和IVDetect漏洞检测方法进行了评估,并观察到性能显著下降,精确度下降了高达95个百分点,F1分数下降了高达91个百分点。更深入的检查发现,模型为易受攻击和不确定样本生成的嵌入之间存在大量重叠,这可能是我们观察到误报数量和比率大幅增加的原因。此外,我们还观察到模型性能根据漏洞特征(例如,漏洞类型和严重性)的变化而波动。例如,当漏洞与信息泄露或代码注入相关时,研究模型实现的F1分数比当漏洞与路径解析或可预测的返回值相关时高出26个百分点。我们的结果表明,在基于深度学习的漏洞检测在实际设置中部署之前,仍然需要弥合巨大的性能差距。我们深入研究了为什么模型在现实场景中表现不佳,我们的调查发现过拟合是一个关键问题。我们通过引入一种增强技术来解决这一问题,该方法有可能将性能提高高达30%。我们的贡献是:(a)一种创建数据集的方法,未来的研究可以使用这种方法来提高模型评估的实际性;(b)Real-Vul——一个遵循这种方法的综合数据集;(c)深度学习模型在现实世界环境中难以执行的实证证据。
当前挑战
Real-Vul数据集的创建旨在解决现有漏洞检测数据集的局限性。这些挑战包括:(1)数据集在生成和标记方式上的偏差,这可能影响模型的性能;(2)数据集可能无法完全捕获现实世界漏洞的复杂性和变异性;(3)数据集可能包含标签不一致的问题,即相同的样本既被标记为易受攻击,又被标记为不确定。为了解决这些问题,Real-Vul数据集采用了时间策略来创建样本,以确保模型在模拟现实场景的条件下进行训练和评估。此外,Real-Vul数据集还通过比较易受攻击和不确定代码段的哈希值来解决了标签不一致的问题。
常用场景
经典使用场景
在软件安全领域,Real-Vul数据集被广泛应用于评估和改进深度学习模型的漏洞检测性能。该数据集包含了真实软件项目的完整代码库,以及与之相关的漏洞修复信息,为模型提供了一个接近真实世界环境的评估环境。研究人员可以利用Real-Vul数据集来训练和测试漏洞检测模型,以评估模型在实际应用中的性能表现。
解决学术问题
Real-Vul数据集解决了现有漏洞检测数据集在真实世界应用中的局限性问题。传统的漏洞检测数据集往往包含人工生成的漏洞样本,或者仅从修复提交中提取样本,不能准确反映真实世界软件中漏洞的分布和复杂性。Real-Vul数据集包含了完整代码库,并考虑了标签一致性问题,为研究人员提供了一个更加真实和全面的评估环境。此外,Real-Vul数据集还揭示了深度学习模型在真实世界应用中存在的性能差距,例如高假阳性率和对特定类型和严重程度的漏洞检测能力不足。这些问题对于推动漏洞检测技术的发展具有重要意义。
衍生相关工作
Real-Vul数据集的提出和研究成果对于漏洞检测领域产生了深远的影响。例如,基于Real-Vul数据集的研究发现,现有的深度学习模型在真实世界应用中存在性能差距,并揭示了模型在特定类型和严重程度的漏洞检测能力不足。这些发现促使研究人员探索新的模型设计和评估方法,以提高漏洞检测的准确性和实用性。此外,Real-Vul数据集的提出也促进了其他相关研究的发展,例如漏洞检测模型的增强技术、数据集的构建和评估方法等。Real-Vul数据集的发布和应用为漏洞检测领域的研究和实践提供了重要的资源和参考。
以上内容由遇见数据集搜集并总结生成



