摘要

漏洞是网络受攻击的根本原因之一,而缓解安全威胁的有效方法是在被攻击之前发现和修补漏洞。一般的漏洞检测方法需要手动参与,不但耗时且产生了高的假阳性率。而智能漏洞检测方法遭受着长期依赖、粗糙的检测粒度和缺乏脆弱性样本等问题。针对该问题,提出了基于深度表示学习自动检测源代码漏洞的方法。首先,源代码中的样本形式被转化为中间表示以排除无关代码和减少长期依赖。接下来,中间表示通过语料库的训练被转化为实值向量,保留结构和语义信息。然后,将向量馈入卷积神经网络(CNN),以获得脆弱性的高级特征。最后,使用学习到的功能特征对分类器进行训练。为了验证该方法,进行了相关实验,结果表明,与传统方法和现在的智能漏洞检测方法相比,该方法具有更好的性能。

全文