文档详情

基于图神经网络的软件漏洞挖掘方法研究.pdf

发布:2025-05-12约9.11万字共66页下载文档
文本预览下载声明

基于图神经网络的软件漏洞挖掘方法研究

摘要

互联网飞速发展的同时,软件安全问题也不可避免,对于漏洞的挖掘与修补可以

极大程度的减少漏洞带来的不必要的损失。基于规则匹配的漏洞挖掘方法依赖先验知

识的积累,通过简单的规则对比确定漏洞,此类方法在漏洞特征收集上缺少特征间的

相关性,泛化能力弱;基于机器学习的漏洞挖掘方法又缺少源代码的语法信息,物理

顺序以及逻辑关系等特征。因此,对软件漏洞挖掘方法的研究具有重大意义。

本文提出了一种基于图神经网络的软件漏洞挖掘方法来解决上述问题。(1)针对

传统漏洞挖掘方法中代码语义信息、语法信息以及结构信息利用不充分的问题,提出

了一种基于联合图的源代码中间表示方法。(2)针对源代码中与漏洞成因无关代码的

干扰问题,提出了基于程序切片的联合图简化算法。(3)针对基于规则匹配的漏洞挖

掘方案泛化能力弱的问题,提出了一种基于门控图循环网络的漏洞挖掘方法。通过将

联合图中节点特征信息和类型信息的向量化结果进行拼接,得到节点初始特征向量。

接着经由门控循环单元对相邻节点信息进行聚合和传递,获取各个节点的表征。最终

经过卷积模块选择与当前任务相关的节点特征集合,应用一维卷积对特征信息进行提

取从而实现图级别的分类,提升了检测模型的泛化及预测能力。

实验表明,本文提出的源代码漏洞挖掘方法在由C/C++编程语言中典型漏洞代码

构成的数据集上比同类漏洞挖掘方法具有更好的检测效果。相比于使用token源代码中

间表示方式的挖掘手段,使用联合图作为中间表示对准确率平均提升了10.01%。相比

于使用图卷积神经网络的挖掘方法,使用门控图循环网络对F1值平均提升了4.9%。相

比于基于规则匹配的漏洞挖掘工具,本方法在误报率上平均降低17.1%。通过多个角度

的对比,验证了本文所提出方法在特征提取,检测能力等方面的优越性。

关键词:漏洞挖掘;程序切片;图神经网络;联合图

基于图神经网络的软件漏洞挖掘方法研究

Abstract

WiththerapiddevelopmentoftheInternet,softwaresecurityissuesarealsoinevitable.

Miningandpatchingvulnerabilitiescangreatlyreducetheunnecessarylossescausedby

vulnerabilities.Thevulnerabilityminingmethodbasedonrulematchingreliesonthe

accumulationofpriorknowledgeanddeterminesvulnerabilitiesthroughsimplerule

comparison.Thistypeofmethodlackscorrelationbetweenfeaturesinvulnerabilityfeature

collectionandhasweakgeneralizationability;Thevulnerabilitydetectionschemebasedon

machinelearninglacksfeaturessuchassyntaxinformation,physicalorder,andlogical

relationshipsofthesourcecode.Therefore,theresearchonsoftwarevulnerabilitymining

methodsisofgreatsignificance.

Thisthesisproposesasoftwarevulnerabilityminingmethodbasedongraphneural

networkstosolvetheaboveproblems.(1)Aimingatthe

显示全部
相似文档