CN115357909B - 一种用于代码漏洞检测的全局信息感知图神经网络系统 - Google Patents

一种用于代码漏洞检测的全局信息感知图神经网络系统 Download PDF

Info

Publication number
CN115357909B
CN115357909B CN202211279030.1A CN202211279030A CN115357909B CN 115357909 B CN115357909 B CN 115357909B CN 202211279030 A CN202211279030 A CN 202211279030A CN 115357909 B CN115357909 B CN 115357909B
Authority
CN
China
Prior art keywords
graph
neural network
node
code
representing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211279030.1A
Other languages
English (en)
Other versions
CN115357909A (zh
Inventor
高翠芸
陈玉盼
肖京
王轩
王磊
廖清
赵盟盟
文昕成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202211279030.1A priority Critical patent/CN115357909B/zh
Publication of CN115357909A publication Critical patent/CN115357909A/zh
Application granted granted Critical
Publication of CN115357909B publication Critical patent/CN115357909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种用于代码漏洞检测的全局信息感知图神经网络系统,包括关系代码表示模块和全局信息感知模块;关系代码表示模块在图卷积神经网络信息聚合过程中添加边类型信息,用边类型信息丰富节点特征表示,并使用注意力机制增强节点特征;全局信息感知模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,学习更抽象高级的图表征用于代码漏洞分类。本发明的有益效果是:本发明能缓解传统图神经网络难以有效捕获大图图表征的缺陷,有效地学习代码量大的函数的代码属性图的向量表示并提升漏洞检测的准确率和F1指标。

Description

一种用于代码漏洞检测的全局信息感知图神经网络系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于代码漏洞检测的全局信息感知图神经网络系统。
背景技术
软件开发中的安全漏洞隐患会给社会和经济带来灾难性的影响,及时准确地发现软件漏洞至关重要。传统的漏洞检测技术基于动态分析或者静态分析,包括符号执行、模糊测试、污点分析、代码相似性检测等,这些方法存在假阳性率高或者执行代价大等问题,并且要求审计人员精通安全领域知识。目前深度学习技术能从大量数据中自动学习规则和特征,在软件漏洞检测任务上展现了可行性和有效性。为充分利用代码固有的结构特征,很多工作提取代码的抽象语法树、控制流图、数据流图等结构并利用图神经网络学习代码的图表征用于分类。尽管基于图神经网络的模型在代码漏洞检测取得了最先进的性能,它们仍面临着图神经网络不能有效捕获代码结构全局信息的挑战。
已有的基于代码图结构的漏洞检测技术一般采用图神经网络(GNNs)来学习代码的图表示,然而图神经网络通常使用邻域聚合更新节点表示,为避免过量的邻域聚合带来的过平滑问题,图神经网络通常只训练几层,导致其只能关注到图中的局部信息,对于节点数量较多的大图无法有效地捕捉全局信息,这些问题会影响图神经网络在软件漏洞检测中的性能。
发明内容
本发明提供了一种用于代码漏洞检测的全局信息感知图神经网络系统,包括关系代码表示模块和全局信息感知模块;
关系代码表示模块在图卷积神经网络信息聚合过程中添加边类型信息,用边类型信息丰富节点特征表示,并使用注意力机制增强节点特征;
全局信息感知模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,学习更抽象高级的图表征用于代码漏洞分类。
作为本发明的进一步改进,所述关系代码表示模块由层组成,每一层包括三个子层,三个子层分别是:关系图卷积神经网络子层、多头注意力子层、前馈神经网络子层。
作为本发明的进一步改进,在关系代码表示模块,代码属性图,其中V表示节点集合,,E表示边集合,R表示边类型集合;对于任一节点,使用Word2Vec模型获得初始化的向量表示:,其中d为向量维度;源节点和目的节点之间的边用三元组表示,其中表示边类型;在第层中,先通过关系图卷积神经网络子层更新节点表示,公式如下:
其中,是以节点为目的节点且边的类型为的源节点的集合,是节点对于边类型的归一化常数,可在训练中学习得到;分别是第层节点和节点的向量表示,是可训练参数矩阵。
本发明的有益效果是:本发明能克服传统图神经网络难以有效捕获大图图表征的缺陷,有效地学习代码量大的函数的代码属性图的向量表示并提升漏洞检测的准确率和F1指标;具体为,本发明能缓解传统图神经网络难以有效学习量大的代码属性图的缺陷,在本领域的三个常用数据集(FFMPeg+Qemu、Reveal和Fan et al)上,能提升0.39%-35.32%的漏洞检测准确率和7.64%-199.81%的F1指标。
具体实施方式
本发明公开了一种用于代码漏洞检测的全局信息感知图神经网络系统,包括关系代码表示模块、全局信息感知模块。
关系代码表示模块:关系代码表示模块在图卷积神经网络信息聚合过程中添加边类型信息,用边类型信息丰富节点特征表示,并使用注意力机制增强节点特征;该模块基于图卷积神经网络和多头注意力机制学习代码属性图的节点表示和不同类型的边表示以及不同节点之间的关系。
全局信息感知模块:该模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,学习更抽象高级的图表征用于代码漏洞分类。
关系代码表示模块
关系代码表示模块由层组成,每一层包括三个子层:关系图卷积神经网络子层、多头注意力子层、前馈神经网络子层。代码属性图,其中V表示节点集合,,E表示边集合,R表示边类型集合。对于任一节点,本发明使用Word2Vec模型获得初始化的向量表示,其中d为向量维度。源节点和目的节点之间的边用三元组表示,其中表示边类型。在第层中,先通过关系图卷积神经网络子层更新节点表示,公式如下:
其中,是以节点为目的节点且边的类型为的源节点的集合,是节点对于边类型的归一化常数,可在训练中学习得到。分别是第层节点和节点的向量表示,是可训练参数矩阵。
中聚合了邻域节点和边类型的信息,本发明通过多头注意力子层进一步提取代码属性图中的高级特征,公式如下:
其中,表示节点对节点的注意力系数,分别是由切分成H份后的第k部分向量,H表示多头注意力机制的头数,表示每个头的向量维度。softmax表示softmax激活函数,在经过softmax正则化后,被约束在[-10,10]以保持数值的稳定性。表示节点的邻居节点集合,表示第层中第k个头的权重矩阵,Concat表示将多个头计算的向量拼接起来,表示第层节点的初始输入向量。
多头注意力子层获得的输出进一步输入到前馈神经网络子层中:
其中,作为第层节点的输出,作为关系代码表示模块中第层的输入。表示可训练的参数矩阵,ReLU表示正则化。表示中第p个特征维度的值,表示同一个代码属性图中所有节点第p个特征维度的平均值,表示同一个代码属性图中所有节点第p个特征维度的方差。是可学习的参数,用于线性变换,决定了图神经网络在导出的平均值中保留信息所需的权重大小。
全局信息感知模块
经过关系代码表示模块,每个节点获得了不同类型边增强的向量表示,为了缓解GCN无法有效捕获全局信息的缺陷,本发明设计全局信息感知模块,在GCN中同时使用大核卷积和小核卷积分别提取代码属性图中的全局信息和局部信息,公式如下:
其中,是全局信息感知模块的输入,Concat表示将关系表示模块最后一层所有节点的向量表示拼接起来获得整个图的向量表示。Conv表示卷积核为1的卷积操作,BN表示批标准化操作。分别表示卷积核为N的大卷积层和卷积核为M的小卷积层,是常数偏置项。在实验中,本发明设置
接下来,本发明使用池化、两个全连接层以及softmax进行分类,公式如下:
其中,Avgpool表示平均池化操作,softmax表示softmax激活函数,y表示模型预测的结果。分别表示两个全连接层可训练参数,本发明在训练中使用交叉熵损失函数、RAdam优化器来更新参数。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (8)

1.一种用于代码漏洞检测的全局信息感知图神经网络系统,其特征在于,包括关系代码表示模块和全局信息感知模块;
关系代码表示模块在图卷积神经网络信息聚合过程中添加边类型信息,用边类型信息丰富节点特征表示,并使用注意力机制增强节点特征;
全局信息感知模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,学习更抽象高级的图表征用于代码漏洞分类;
所述关系代码表示模块由层组成,每一层包括三个子层,三个子层分别是:关系图卷积神经网络子层、多头注意力子层、前馈神经网络子层;
在关系代码表示模块,代码属性图,其中V表示节点集合,,n为代码属性图中节点数量;E表示边集合,R表示边类型集合;使用Word2Vec模型对节点向量表示进行初始化:,其中表示任一节点的初始化节点向量表示,为向量维度;源节点和目的节点之间的边用三元组表示,其中表示边类型;在第层中,先通过关系图卷积神经网络子层更新节点表示,公式如下:
其中,是以节点为目的节点且边的类型为的源节点的集合,是节点对于边类型的归一化常数,可在训练中学习得到;分别是关系代码表示模块第层获得的节点和节点的向量表示,是可训练参数矩阵,表示非线性激活函数,表示经过第层关系图卷积神经网络子层更新后的节点的节点向量表示。
2.根据权利要求1所述的全局信息感知图神经网络系统,其特征在于,中聚合了邻域节点和边类型的信息,通过多头注意力子层进一步提取代码属性图中的高级特征,公式如下:
其中,表示节点对节点的注意力系数,分别是由切分成份后的第部分向量,表示多头注意力机制的头数,表示每个头的向量维度;表示softmax激活函数;表示节点的邻居节点集合,表示第层中第个头的权重矩阵,表示将多个头计算的向量拼接起来,表示经过第层多头注意力子层更新后的节点的节点向量表示。
3.根据权利要求2所述的全局信息感知图神经网络系统,其特征在于,在关系代码表示模块,在经过正则化后,被约束在[-10,10]以保持数值的稳定性。
4.根据权利要求2所述的全局信息感知图神经网络系统,其特征在于,多头注意力子层获得的输出进一步输入到前馈神经网络子层中:
其中,作为第层节点的输出,作为关系代码表示模块中第层的输入; 表示可训练的参数矩阵,表示正则化;表示中第p个特征维度的值,表示同一个代码属性图中所有节点第p个特征维度的平均值,是可学习的参数,用于线性变换,决定了图神经网络在导出的平均值中保留信息所需的权重大小。
5.根据权利要求1至4任一项所述的全局信息感知图神经网络系统,其特征在于,全局信息感知模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,公式如下:
其中,是全局信息感知模块的输入,表示将关系表示模块最后一层所有节点的向量表示拼接起来获得整个图的向量表示;表示卷积核为1的卷积操作,表示批标准化操作;分别表示卷积核为N的大卷积层和卷积核为M的小卷积层,是常数偏置项。
6.根据权利要求5所述的全局信息感知图神经网络系统,其特征在于:N=11,M=3。
7.根据权利要求5所述的全局信息感知图神经网络系统,其特征在于:在全局信息感知模块中,使用池化、两个全连接层以及进行分类。
8.根据权利要求7所述的全局信息感知图神经网络系统,其特征在于,在全局信息感知模块中,使用池化、两个全连接层以及进行分类的公式如下:
其中,表示平均池化操作,表示softmax激活函数,表示模型预测的结果;分别表示两个全连接层可训练参数,在训练中使用交叉熵损失函数、RAdam优化器来更新参数。
CN202211279030.1A 2022-10-19 2022-10-19 一种用于代码漏洞检测的全局信息感知图神经网络系统 Active CN115357909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211279030.1A CN115357909B (zh) 2022-10-19 2022-10-19 一种用于代码漏洞检测的全局信息感知图神经网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211279030.1A CN115357909B (zh) 2022-10-19 2022-10-19 一种用于代码漏洞检测的全局信息感知图神经网络系统

Publications (2)

Publication Number Publication Date
CN115357909A CN115357909A (zh) 2022-11-18
CN115357909B true CN115357909B (zh) 2023-05-16

Family

ID=84008823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211279030.1A Active CN115357909B (zh) 2022-10-19 2022-10-19 一种用于代码漏洞检测的全局信息感知图神经网络系统

Country Status (1)

Country Link
CN (1) CN115357909B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115577361B (zh) * 2022-12-09 2023-04-07 四川大学 一种改进的基于图神经网络的PHP Web shell检测方法
CN116738443B (zh) * 2023-08-10 2023-12-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种基于多示例感知的软件漏洞检测方法及相关设备
CN117216767B (zh) * 2023-09-05 2024-04-05 四川大学 一种基于图神经网络的漏洞利用攻击预测方法
CN117592061B (zh) * 2024-01-19 2024-04-12 北京中科卓信软件测评技术中心 融合代码漏洞特征及属性图的源代码安全检测方法与装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11463472B2 (en) * 2018-10-24 2022-10-04 Nec Corporation Unknown malicious program behavior detection using a graph neural network
CN111259394B (zh) * 2020-01-15 2022-08-05 中山大学 一种基于图神经网络的细粒度源代码漏洞检测方法
CN111783100B (zh) * 2020-06-22 2022-05-17 哈尔滨工业大学 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN112699377B (zh) * 2020-12-30 2023-04-28 哈尔滨工业大学 基于切片属性图表示学习的函数级代码漏洞检测方法
CN114611115A (zh) * 2022-03-18 2022-06-10 北京工业大学 一种基于混合图神经网络的软件源码漏洞检测方法

Also Published As

Publication number Publication date
CN115357909A (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN115357909B (zh) 一种用于代码漏洞检测的全局信息感知图神经网络系统
Wang et al. Zero-shot recognition via semantic embeddings and knowledge graphs
CN111353373B (zh) 一种相关对齐域适应故障诊断方法
CN110213244A (zh) 一种基于时空特征融合的网络入侵检测方法
GB2559566A (en) Topographic data machine learning method and system
Jiang et al. A semisupervised GAN-based multiple change detection framework in multi-spectral images
CN115908908B (zh) 基于图注意力网络的遥感图像聚集型目标识别方法及装置
CN113961759A (zh) 基于属性图表示学习的异常检测方法
CN110569761B (zh) 一种基于对抗学习的手绘草图检索遥感图像的方法
CN115757103A (zh) 基于树结构的神经网络测试用例生成方法
Lin et al. Rethinking crowdsourcing annotation: partial annotation with salient labels for multilabel aerial image classification
Singh et al. Performance Analysis of CNN Models with Data Augmentation in Rice Diseases
CN113343123A (zh) 一种生成对抗多关系图网络的训练方法和检测方法
CN112836007A (zh) 一种基于语境化注意力网络的关系元学习方法
CN117056970A (zh) 基于图神经网络的隐私特征保护方法和系统
CN114265954B (zh) 基于位置与结构信息的图表示学习方法
CN111241326A (zh) 基于注意力金字塔图网络的图像视觉关系指代定位方法
CN115269925A (zh) 一种基于层次结构的无偏置场景图生成方法
CN114722928A (zh) 一种基于深度学习的蓝藻图像识别方法
CN113537272A (zh) 基于深度学习的半监督社交网络异常账号检测方法
Hao et al. A Model-Agnostic approach for learning with noisy labels of arbitrary distributions
CN116846688B (zh) 基于cnn的可解释流量入侵检测方法
Li et al. Make an omelette with breaking eggs: Zero-shot learning for novel attribute synthesis
Zhao et al. Robust graph convolutional clustering with adaptive graph learning
Wang et al. Robust fused hypergraph neural networks for multi-label classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant