DSHGT:双监督异构图 Transformer——利用异构图学习检测软件漏洞的先驱研究
软件工程
2024-06-07 v3 机器学习
摘要
漏洞检测是软件安全中的关键问题,受到学术界与工业界日益增长的关注。传统上,软件安全由指定的基于规则的检测器保障,其严重依赖经验知识,需要软件专家为大型代码库付出巨大努力生成规则库。深度学习的近期进展,尤其是图神经网络(GNN),已揭示自动检测多种软件漏洞的可行性。然而,先前基于学习的工作仅将程序拆解为词元序列以提取代码上下文特征,或主要将 GNN 应用于同构图表示(如 AST)而未辨识底层程序实体(如方法、变量)的复杂类型。本工作中,我们率先探索以代码属性图形式的异构图表示,并适配一种知名的异构图网络配以双监督结构用于相应图学习任务。利用所构建原型,我们在合成数据集与真实项目上进行了广泛实验。与最先进基线相比,结果展示了该研究方向在漏洞检测性能(真实项目中平均 F1 提升超 10%)及从 C/C++ 到其他编程语言的迁移性(平均 F1 提升超 11%)方面的良好有效性。
引用
@article{arxiv.2306.01376,
title = {DSHGT: Dual-Supervisors Heterogeneous Graph Transformer -- A pioneer study of using heterogeneous graph learning for detecting software vulnerabilities},
author = {Tiehua Zhang and Rui Xu and Jianping Zhang and Yuze Liu and Xin Chen and Jun Yin and Xi Zheng},
journal= {arXiv preprint arXiv:2306.01376},
year = {2024}
}