CN115357909A - 一种用于代码漏洞检测的全局信息感知图神经网络*** - Google Patents
一种用于代码漏洞检测的全局信息感知图神经网络*** Download PDFInfo
- Publication number
- CN115357909A CN115357909A CN202211279030.1A CN202211279030A CN115357909A CN 115357909 A CN115357909 A CN 115357909A CN 202211279030 A CN202211279030 A CN 202211279030A CN 115357909 A CN115357909 A CN 115357909A
- Authority
- CN
- China
- Prior art keywords
- neural network
- graph
- node
- code
- convolution
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 230000008447 perception Effects 0.000 title claims abstract description 26
- 238000001514 detection method Methods 0.000 title abstract description 12
- 239000013598 vector Substances 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims abstract description 9
- 239000000284 extract Substances 0.000 claims abstract description 7
- 230000007246 mechanism Effects 0.000 claims abstract description 7
- 230000002776 aggregation Effects 0.000 claims abstract description 6
- 238000004220 aggregation Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- QVRVXSZKCXFBTE-UHFFFAOYSA-N n-[4-(6,7-dimethoxy-3,4-dihydro-1h-isoquinolin-2-yl)butyl]-2-(2-fluoroethoxy)-5-methylbenzamide Chemical compound C1C=2C=C(OC)C(OC)=CC=2CCN1CCCCNC(=O)C1=CC(C)=CC=C1OCCF QVRVXSZKCXFBTE-UHFFFAOYSA-N 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims 2
- 241001235534 Graphis <ascomycete fungus> Species 0.000 claims 1
- 230000007547 defect Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (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 (10)
1.一种用于代码漏洞检测的全局信息感知图神经网络***,其特征在于,包括关系代码表示模块和全局信息感知模块;
关系代码表示模块在图卷积神经网络信息聚合过程中添加边类型信息,用边类型信息丰富节点特征表示,并使用注意力机制增强节点特征;
全局信息感知模块在图卷积神经网络中使用大核卷积和小核卷积分别提取代码属性图中的全局特征和局部特征,学习更抽象高级的图表征用于代码漏洞分类。
3.根据权利要求2所述的全局信息感知图神经网络***,其特征在于,在关系代码表示
模块,代码属性图,其中V表示节点集合,,n为代码属性图中节点数量;E
表示边集合,R表示边类型集合;使用Word2Vec模型对节点向量表示进行初始化:,其
中表示任一节点的初始化节点向量表示,为向量维度;源节点和目的节点之间的
边用三元组表示,其中表示边类型;在第层中,先通过关系图卷积神经网络
子层更新节点表示,公式如下:
8.根据权利要求7所述的全局信息感知图神经网络***,其特征在于:N=11,M=3。
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 true CN115357909A (zh) | 2022-11-18 |
CN115357909B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577361A (zh) * | 2022-12-09 | 2023-01-06 | 四川大学 | 一种改进的基于图神经网络的PHP Web shell检测方法 |
CN116738443A (zh) * | 2023-08-10 | 2023-09-12 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于多示例感知的软件漏洞检测方法及相关设备 |
CN117216767A (zh) * | 2023-09-05 | 2023-12-12 | 四川大学 | 一种基于图神经网络的漏洞利用攻击预测方法 |
CN117592061A (zh) * | 2024-01-19 | 2024-02-23 | 北京中科卓信软件测评技术中心 | 融合代码漏洞特征及属性图的源代码安全检测方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200137083A1 (en) * | 2018-10-24 | 2020-04-30 | Nec Laboratories America, Inc. | Unknown malicious program behavior detection using a graph neural network |
CN111259394A (zh) * | 2020-01-15 | 2020-06-09 | 中山大学 | 一种基于图神经网络的细粒度源代码漏洞检测方法 |
CN111783100A (zh) * | 2020-06-22 | 2020-10-16 | 哈尔滨工业大学 | 基于图卷积网络对代码图表示学习的源代码漏洞检测方法 |
CN112699377A (zh) * | 2020-12-30 | 2021-04-23 | 哈尔滨工业大学 | 基于切片属性图表示学习的函数级代码漏洞检测方法 |
CN114611115A (zh) * | 2022-03-18 | 2022-06-10 | 北京工业大学 | 一种基于混合图神经网络的软件源码漏洞检测方法 |
-
2022
- 2022-10-19 CN CN202211279030.1A patent/CN115357909B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200137083A1 (en) * | 2018-10-24 | 2020-04-30 | Nec Laboratories America, Inc. | Unknown malicious program behavior detection using a graph neural network |
CN111259394A (zh) * | 2020-01-15 | 2020-06-09 | 中山大学 | 一种基于图神经网络的细粒度源代码漏洞检测方法 |
CN111783100A (zh) * | 2020-06-22 | 2020-10-16 | 哈尔滨工业大学 | 基于图卷积网络对代码图表示学习的源代码漏洞检测方法 |
CN112699377A (zh) * | 2020-12-30 | 2021-04-23 | 哈尔滨工业大学 | 基于切片属性图表示学习的函数级代码漏洞检测方法 |
CN114611115A (zh) * | 2022-03-18 | 2022-06-10 | 北京工业大学 | 一种基于混合图神经网络的软件源码漏洞检测方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115577361A (zh) * | 2022-12-09 | 2023-01-06 | 四川大学 | 一种改进的基于图神经网络的PHP Web shell检测方法 |
CN116738443A (zh) * | 2023-08-10 | 2023-09-12 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于多示例感知的软件漏洞检测方法及相关设备 |
CN116738443B (zh) * | 2023-08-10 | 2023-12-26 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于多示例感知的软件漏洞检测方法及相关设备 |
CN117216767A (zh) * | 2023-09-05 | 2023-12-12 | 四川大学 | 一种基于图神经网络的漏洞利用攻击预测方法 |
CN117216767B (zh) * | 2023-09-05 | 2024-04-05 | 四川大学 | 一种基于图神经网络的漏洞利用攻击预测方法 |
CN117592061A (zh) * | 2024-01-19 | 2024-02-23 | 北京中科卓信软件测评技术中心 | 融合代码漏洞特征及属性图的源代码安全检测方法与装置 |
CN117592061B (zh) * | 2024-01-19 | 2024-04-12 | 北京中科卓信软件测评技术中心 | 融合代码漏洞特征及属性图的源代码安全检测方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115357909B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115357909A (zh) | 一种用于代码漏洞检测的全局信息感知图神经网络*** | |
WO2022088972A1 (zh) | 面向带权异质图的恶意行为识别方法、***和存储介质 | |
Wang et al. | Efficient learning by directed acyclic graph for resource constrained prediction | |
CN105913079B (zh) | 基于目标域迁移极限学习的电子鼻异构数据识别方法 | |
Guidotti et al. | On the stability of interpretable models | |
CN110909125B (zh) | 推文级社会媒体谣言检测方法 | |
CN114491082A (zh) | 基于网络安全应急响应知识图谱特征提取的预案匹配方法 | |
CN116340524A (zh) | 一种基于关系自适应网络的小样本时态知识图谱补全方法 | |
Singh et al. | Performance Analysis of CNN Models with Data Augmentation in Rice Diseases | |
CN114048314A (zh) | 一种自然语言隐写分析方法 | |
CN112489689B (zh) | 基于多尺度差异对抗的跨数据库语音情感识别方法及装置 | |
CN116527346A (zh) | 基于深度学习图神经网络理论的威胁节点感知方法 | |
Zhang et al. | Recursion Newton-Like Algorithm for l 2, 0-ReLU Deep Neural Networks | |
CN110457543B (zh) | 一种基于端到端多视角匹配的实体消解方法和*** | |
Wang et al. | Multi-modal pseudo-information guided unsupervised deep metric learning for agricultural pest images | |
CN115512174A (zh) | 应用二次IoU损失函数的无锚框目标检测方法 | |
CN111652102B (zh) | 一种输电通道目标物辨识方法及*** | |
Yu | Research progress of crop disease image recognition based on wireless network communication and deep learning | |
CN113537272A (zh) | 基于深度学习的半监督社交网络异常账号检测方法 | |
Gamella et al. | Characterization and greedy learning of Gaussian structural causal models under unknown interventions | |
CN117195238B (zh) | 一种异构图神经网络代码漏洞检测方法 | |
CN116846688B (zh) | 基于cnn的可解释流量入侵检测方法 | |
Zhang et al. | A Multielement Recognition Algorithm Based on Deep Learning | |
Abdallh et al. | Machine Learning (Pattern Recognition) Review | |
Hu | Understanding deep neural networks from the perspective of piecewise linear property |
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 |