具备细粒度解释能力的漏洞检测
密码学与安全
2021-06-22 v1 软件工程
摘要
尽管基于机器学习(ML)与深度学习(DL)的漏洞检测器(VD)取得了成功,它们仅限于给出给定代码是否易受攻击的判定,而未详细说明代码中哪些部分与所检测漏洞相关。我们提出 IVDetect,一种可解释漏洞检测器,其理念为利用人工智能(AI)检测漏洞,同时借助智能助手(IA)通过提供以易受攻击语句形式呈现的 VD 解释。对于漏洞检测,我们通过数据与控制依赖关系分别考量易受攻击语句及其周边上下文。这使得我们的模型比现有方法将易受攻击代码与上下文代码混合使用更能区分易受攻击语句。除粗粒度漏洞检测结果外,我们利用可解释 AI 为用户提供细粒度解释,包括程序依赖图(PDG)中与所检测漏洞相关的关键语句子图。我们在漏洞数据库上的实证评估表明,IVDetect 在 top-10 nDCG 与 MAP 排序分数上分别超越现有基于 DL 的方法 43%--84% 与 105%--255%。IVDetect 在其解释中正确指出与漏洞相关的易受攻击语句的比例达 67%(基于 top-5 排序列表)。其在准确率上较基线解释模型提升 12.3%--400% 与 9%--400%。
引用
@article{arxiv.2106.10478,
title = {Vulnerability Detection with Fine-grained Interpretations},
author = {Yi Li and Shaohua Wang and Tien N. Nguyen},
journal= {arXiv preprint arXiv:2106.10478},
year = {2021}
}