GraphEye:一种基于图注意力网络的漏洞函数检测新方案
密码学与安全
2022-02-08 v1 机器学习
摘要
随着工业互联网的不断延伸,近年来由软件漏洞引发的网络安全事件日益增多。然而,软件漏洞检测仍严重依赖专家代码审查,如何自动化检测软件漏洞至今仍是一个开放问题。本文提出一种名为GraphEye的新方案,用于识别C/C++代码的函数是否存在漏洞,可大幅减轻代码审计人员的负担。GraphEye源于如下观察:具有相同功能的安全函数与漏洞函数的代码属性图天然不同。因此,漏洞函数检测被归为图分类问题。GraphEye由VecCPG与GcGAT组成。VecCPG是一种面向代码属性图的向量化方法,用于刻画相应源代码的关键语法与语义特征。GcGAT是一种基于图注意力图的深度学习模型,用于根据VecCPG解决图分类问题。最后,GraphEye在SARD基于栈的缓冲区溢出、除零、空指针解引用、缓冲区错误和资源错误数据集上得到验证,对应F1分数分别为95.6%、95.6%、96.1%、92.6%和96.1%,证实了所提方案的有效性。
引用
@article{arxiv.2202.02501,
title = {GraphEye: A Novel Solution for Detecting Vulnerable Functions Based on Graph Attention Network},
author = {Li Zhou and Minhuan Huang and Yujun Li and Yuanping Nie and Jin Li and Yiwei Liu},
journal= {arXiv preprint arXiv:2202.02501},
year = {2022}
}