VulDeeLocator:一种基于深度学习的细粒度漏洞检测器
密码学与安全
2021-05-04 v2
摘要
自动检测软件漏洞是一个重要问题,已引起学术界的广泛关注。然而,现有漏洞检测器仍无法达到足以保证其在现实世界中采用的检测能力与定位精度。在本文中,我们提出一种可同时实现高检测能力与高定位精度的漏洞检测器,称为基于漏洞深度学习的定位器(VulDeeLocator)。在设计 VulDeeLocator 的过程中,我们遇到的困难包括如何兼顾类型与宏的定义及其跨文件使用之间的语义关系、如何兼顾准确的控制流与变量定义-使用关系,以及如何实现高定位精度。我们通过两个创新思路解决这些困难:(i)利用中间代码兼顾额外语义信息;(ii)使用粒度细化概念来精确定位漏洞位置。当应用于从三个现实软件产品中随机选取的 200 个文件时,VulDeeLocator 检测出 18 个已确认漏洞(即真阳性)。其中,16 个漏洞对应于已知漏洞;其余两个未在国家级漏洞数据库(NVD)中报告,但已被 Libav 供应商在发布新版本时“悄然”修补。
引用
@article{arxiv.2001.02350,
title = {VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detector},
author = {Zhen Li and Deqing Zou and Shouhuai Xu and Zhaoxuan Chen and Yawei Zhu and Hai Jin},
journal= {arXiv preprint arXiv:2001.02350},
year = {2021}
}