CN111259394A - 一种基于图神经网络的细粒度源代码漏洞检测方法 - Google Patents

一种基于图神经网络的细粒度源代码漏洞检测方法 Download PDF

Info

Publication number
CN111259394A
CN111259394A CN202010040159.1A CN202010040159A CN111259394A CN 111259394 A CN111259394 A CN 111259394A CN 202010040159 A CN202010040159 A CN 202010040159A CN 111259394 A CN111259394 A CN 111259394A
Authority
CN
China
Prior art keywords
graph
code
node
function
attribute
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
Application number
CN202010040159.1A
Other languages
English (en)
Other versions
CN111259394B (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.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
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 National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN202010040159.1A priority Critical patent/CN111259394B/zh
Publication of CN111259394A publication Critical patent/CN111259394A/zh
Application granted granted Critical
Publication of CN111259394B publication Critical patent/CN111259394B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于图神经网络的细粒度源代码漏洞检测方法,包括以下:A,对于一个软件的所有源代码,抽取源代码中函数的代码属性图,将代码属性图进行向量化表示,向量化表示包括节点属性、图结构的向量化表示;B,使用图注意力网络抽取代码特征,对所有语句进行处理得到最终的数据集;C,训练漏洞检测模型,通过测试集上的效果确定最终的模型。本发明所提的源代码漏洞检测方法具有更高的自动化程度,减少对领域专家知识的依赖,大大节约代码审计的成本,提高代码审计的效率,更好地保留源代码中地语法和语义信息,同时使用图注意网络能更有目的性地学习语句的向量化表示,实现更细粒度的语句级别的漏洞检测。

Description

一种基于图神经网络的细粒度源代码漏洞检测方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于图神经网络的细粒度源代码漏洞检测方法。
背景技术
软件作为信息化社会中不可或缺的一部分发挥着越来越重要的作用,它不仅和个人的日常生活密不可分也和社会的发展息息相关。然而软件是一把双刃剑,它在为个人和社会提供便利的服务的同时,软件中潜在的漏洞也可能会对个人和社会造成极大的损失。软件中的漏洞往往是不可避免地,一方面是由于软件在设计、开发、部署过程中很难做到不存在问题,另一方面则是由于商业效益原因软件开发周期不能太长,进一步增加了软件存在漏洞的风险。为了减少软件中漏洞,提高软件质量,软件漏洞检测技术应运而生。漏洞检测技术就是通过检查软件的源代码或者软件的执行过程,根据经验、已知的漏洞模式、软件的执行结果等判断软件是否存在漏洞。
现有的漏洞检测技术按照是否需要执行软件分为静态的方法和动态的方法。静态的漏洞检测方法无需运行软件,通过分析软件的源代码或二进制文件,寻找软件中的漏洞,成熟的方法主要有污点分析、安全规则检查等。静态分析的方法通常需要很强的专家知识,费时费力,漏报率高。以污点分析为例,污点分析首先需要确定软件中的污点(外部输入、安全敏感的数据),通过跟踪污点在数据流和控制流中的目的地,判断污点是否会产生问题,整个过程相当依赖检测人员的领域知识,检测效率自然因人而异。动态的漏洞检测方法则需要运行软件,通过分析软件的执行结果判断软件是否存在漏洞,成熟的方法主要有模糊测试、符号执行等。模糊测试通过构造随机、非预期的程序输入,根据程序执行过程中的异常,定位可能的漏洞,但往往不能够覆盖程序的所有执行路径,漏报率较高;符号执行则通过将程序输入符号化、程序执行公式化,理论上能够计算并测试所有的执行路径,但是由于求解开销大的问题,难以在日常开发中普及。除了上述较为成熟的漏洞检测方法,基于机器学习、深度学习的检测方法也逐渐走向实际应用中。针对源代码中的漏洞检测,现有的基于机器学习的方法一方面需要依赖领域专家提取特征,另一方面则是检测漏洞通常在文件级别和函数级别,检测的粒度还需细化;而现有的基于深度学习的方法的检测粒度同样仍需细化,此外源代码还需要转化成合适的中间表示以便于使用深度学习算法进行学习。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于图神经网络的细粒度源代码漏洞检测方法,以代码属性图作为源代码的中间表示,使用图注意力网络学习语句的向量表示,最终结合深度神经网络实现语句级别的细粒度漏洞检测,解决了现有漏洞检测方法漏报率高、严重依赖领域专家知识、检测粒度过大、源代码欠缺合适中间表示的问题。
为实现上述目的,本发明提供了一种基于图神经网络的细粒度源代码漏洞检测方法,包括以下步骤:
步骤A,对于一个软件的所有源代码,抽取源代码中函数的代码属性图,将代码属性图进行向量化表示,向量化表示包括节点属性、图结构的向量化表示;
步骤B,使用图注意力网络抽取代码特征,将向量化表示的代码属性图输入到图注意力网络中,学习得到节点的抽象向量表示,从节点向量表示中提取函数中每一语句的向量表示x,根据语句是否存在漏洞,为语句添加标签y,对所有语句进行处理得到最终的数据集;
步骤C,训练漏洞检测模型,将数据集分为训练集、测试集,将训练集的数据输入到一个卷积神经网络中进行训练,通过在测试集上的效果进行网络参数的调整,确定最终的模型。
进一步地,所述步骤A具体为:
步骤A-1),将代码属性图的节点进行向量化表示。代码属性图的节点属性包含代码和类型两个属性;代码属性的内容为标志序列,以所有的标志的集合作为词库,使用词嵌入模型将标志转换成数值向量表示,进一步将代码属性表示成标志向量的均值Vcode;类型属性表示节点的类型,使用一位热编码将其表示成数值向量Vtype,最终节点属性Vnode由Vcode和Vtype拼接而成;
步骤A-2),将代码属性图的图结构进行向量化表示。代码属性图的图结构由邻接矩阵A表示,代码属性图中边的类型包括抽象语法树的边EAST、控制流图的边ECFG,在邻接矩阵中用1表示EAST,用2表示ECFG,最终一个函数的代码属性图表示为为G(V,A),V为图中所有的节点向量列表,A为图的邻接矩阵。
进一步地,所述步骤B中图注意力网络采用监督学习方法训练得到,具体为:
步骤B-1),首先根据漏洞数据库的信息标记函数是否存在漏洞,其次将函数代码属性图的向量化表示G(V,A)进行标准化处理,根据所有函数代码属性图节点数的分布,选择合适的数值作为标准节点数,对过大的代码属性图进行裁剪,对过小的代码属性图添加孤立的无属性节点,得到标准化表示G′(V′,A′);
步骤B-2),最后将G′(V′,A′)和相应的标签输入到图注意力网络中,使用n次k折交叉验证方法评估训练的效果,当训练模型在测试集上的F1值达到一个相对平稳值后,从图注意网络的最后一个图注意卷积层输出节点的向量化表示;
步骤B-3),进一步从节点向量表示中提取函数中每一语句的向量表示x,根据漏洞数据的信息确定语句是否存在漏洞,为语句添加标签y,对所有语句进行处理得到最终的数据集。
进一步地,所述步骤B-2中训练模型在测试集上的F1值由以下公式计算得到:
Figure BDA0002367456040000041
Figure BDA0002367456040000042
Figure BDA0002367456040000043
其中,TP、FP、TN、FN分别表示真正例(True Positive)、假正例(False Positive)、真反例(True Negative)、假反例(False Negative);在函数级别的漏洞检测中,真正例表示测试样本实际为含漏洞函数,预测结果为含漏洞函数;假正例表示测试样本实际为不含漏洞函数,预测结果为含漏洞函数;真反例表示测试样本实际为不含漏洞函数,预测结果亦为不含漏洞函数;假反例表示测试样本实际为含漏洞函数,预测结果为不含漏洞函数。
进一步地,所述步骤B-3中y为0表示语句没有漏洞,为1则表示语句存在漏洞。
进一步地,所述卷积神经网络由一个输入层、数个卷积层和全局池化层、数个全连接层、一个输出层组成,网络参数的由具体的数据集确定,具体需要调试的参数包括卷积层和最大池化层的层数、全连接层的层数、各层的单元数、卷积核的大小、学习率、训练批次的大小、激活函数的选择、epoch值。
本发明的有益效果是:
本发明所提的源代码漏洞检测方法具有更高的自动化程度,减少对领域专家知识的依赖,大大节约代码审计的成本,提高代码审计的效率。而相较于其它使用深度学习进行漏洞检测的方法,本方法基于代码属性图能更好地保留源代码中地语法和语义信息,同时使用图注意网络能更有目的性地学习语句的向量化表示,实现更细粒度的语句级别的漏洞检测。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明实施例的总体框架图。
图2是本发明实施例的示例函数图。
图3是本发明实施例的示例函数代码属性图。
图4是本发明实施例的节点向量化过程图。
图5是本发明实施例的代码属性图结构向量化过程图。
图6是本发明实施例的图注意网络结构图。
具体实施方式
为更好地阐述本发明所提的细粒度的源代码漏洞检测方法,便于本领域的技术人员实现本发明,以下通过具体的实施实例和附图详尽地描述方法的实现流程。应当理解,此处所描述的实施实例仅用于解释本发明,但并不限于本发明
本发明实施的前提条件是已有一个可用的大型漏洞数据库,同时可从漏洞数据库中可明确得知漏洞类型和漏洞在源代码中所在的位置,从该数据库中可以收集包含某种类型漏洞且编程语言相同的源代码作为数据集。图1为所提漏洞检测方法的总体框架图,主要分为特征抽取模块和模型训练模块。在特征抽取模块中首先从源代码中抽取函数的代码属性图,将其向量化表示为G(V,A),进一步使用图注意网络提取语句的特征向量;模型训练模块以语句的特征向量和其相应的标签为输入,经过训练得到语句级别的漏洞检测模型。训练模型为一个卷积神经网络,包括一个输入层、数个卷积层和全局池化层、数个全连接层和一个输出层。
步骤A),对于一个软件的所有源代码,抽取源代码中函数的代码属性图,将代码属性图进行向量化表示成G(V,A),以下以图2的示例代码,详细说明方法的图向量化表示的过程。
步骤A-1),将函数的代码属性图的节点向量化表示。示例函数抽取的代码属性图如图3所示,代码属性图可以使用程序分析工具Joern生成。代码属性图的节点属性包含代码和类型两个属性。图3中每个节点中的内容第一行表示代码,第二行表示节点的类型。
代码属性使用词嵌入模型GloVe,以数据集所有标志作为词库,将标志转换成数值向量表示,进一步将代码属性表示成标志向量的均值Vcode;类型属性表示节点的类型,使用一位热编码将其表示成数值向量Vtype,最终节点属性Vnode由Vcode和Vtype拼接而成。为了表述的清晰性,图4中以示例函数中的语句return a+b;为例展示函数代码属性图节点转换成向量表示的过程。
步骤A-2),将函数的代码属性图的图结构表示成邻接矩阵A。代码属性图包括两种类型的边,分别为抽象语法树AST的边EAST、控制流图CFG的边ECFG,邻接矩阵中用0表示节点间无边连接,用1表示节点间存在一条EAST,用2表示节点间存在一条ECFG。要得到邻接矩阵,首先需要将代码属性图按照深度优先的次序将节点编号,然后根据节点间边的连接性生成邻接矩阵A。最终一个函数的代码属性图表示为G(V,A),V为图中所有的节点向量列表,A为图的邻接矩阵。为简洁明了地说明该过程,图5以示例函数的代码属性图的子图为例,展示代码属性图图结构向量化成邻接矩阵的过程。
步骤B),使用图注意网络抽取函数代码中的特征,将源代码中的语句向量化表示。为从函数代码属性图学习到更好的节点向量化表示,采用监督学习方法训练图注意力网络。
步骤B-1),首先根据漏洞数据库的信息标记函数是否存在漏洞;其次将函数代码属性图的向量化表示G(V,A)进行标准化处理,根据所有函数代码属性图节点数的分布,选择合适的数值(如75%分位点)作为标准节点数,对过大的代码属性图进行裁剪,对过小的代码属性图添加孤立的无属性节点,得到标准化表示G′(V′,A′);
步骤B-2),最后将G′(V′,A′)和相应的标签输入到图注意力网络中,图注意网络的结构如图6所示,使用n次k折交叉验证方法评估训练的效果,当训练模型在测试集上的F1值达到一个相对平稳值后,从图注意网络的最后一个图注意卷积层输出节点的向量化表示。
步骤B-3),进一步从节点向量表示中提取函数中每一语句的向量表示x,根据漏洞数据库的信息确定语句是否存在漏洞;为语句添加标签y,y为0表示语句没有漏洞,为1则表示语句存在漏洞。对所有语句进行上述处理得到最终的数据集。
为说明F1值的计算,记检测模型的四种可能预测结果为TP、FP、TN、FN,分别表示真正例(True Positive)、假正例(False Positive)、真反例(True Negative)、假反例(FalseNegative)。在函数级别的漏洞检测中,真正例表示测试样本实际为含漏洞函数,预测结果为含漏洞函数;假正例表示测试样本实际为不含漏洞函数,预测结果为含漏洞函数;真反例表示测试样本实际为不含漏洞函数,预测结果亦为不含漏洞函数;假反例表示测试样本实际为含漏洞函数,预测结果为不含漏洞函数。F1由以下公式计算得到。
Figure BDA0002367456040000071
Figure BDA0002367456040000081
Figure BDA0002367456040000082
步骤C),训练漏洞检测模型。将数据集分为训练集、测试集,将训练集的数据输入到一个卷积神经网络中进行训练,通过在测试集上的效果进行网络参数的调整,确定最终的模型。图卷积神经网络的结构如图1中所示,由一个输入层、数个卷积层和最大池化层、数个全连接层和一个输出层组成。网络参数的由具体的数据集确定,具体需要调试的参数包括卷积层和最大池化层的层数、全连接层的层数、各层的单元数、卷积核的大小、学习率、训练批次的大小、激活函数的选择、epoch值等。训练过程采用n次k折交叉验证方法,使用F1值评估模型。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (4)

1.一种基于图神经网络的细粒度源代码漏洞检测方法,其特征在于,包括以下步骤:
步骤A,对于一个软件的所有源代码,抽取源代码中函数的代码属性图,将代码属性图进行向量化表示,向量化表示包括节点属性、图结构的向量化表示;
步骤B,使用图注意力网络抽取代码特征,将向量化表示的代码属性图输入到图注意力网络中,学习得到节点的抽象向量表示,从节点向量表示中提取函数中每一语句的向量表示x,根据语句是否存在漏洞,为语句添加标签y,对所有语句进行处理得到最终的数据集;
步骤C,训练漏洞检测模型,将数据集分为训练集、测试集,将训练集的数据输入到一个卷积神经网络中进行训练,通过在测试集上的效果进行网络参数的调整,通过测试集上的效果确定最终的模型。
2.如权利要求1所述的一种基于图神经网络的细粒度源代码漏洞检测方法,其特征在于,所述步骤A具体为:
步骤A-1),将代码属性图的节点进行向量化表示,代码属性图的节点属性包含代码和类型两个属性;代码属性的内容为标志序列,以所有的标志的集合作为词库,使用词嵌入模型将标志转换成数值向量表示,进一步将代码属性表示成标志向量的均值Vcode;类型属性表示节点的类型,使用一位热编码将其表示成数值向量Vtype,最终节点属性Vnode由Vcode和Vtype拼接而成;
步骤A-2),将代码属性图的图结构进行向量化表示,CPG图结构由邻接矩阵A表示,代码属性图中边的类型包括抽象语法树的边EAST、控制流图的边ECFG,在邻接矩阵中用1表示EAST,用2表示ECFG,最终一个函数的代码属性图表示为为G(V,A),V为图中所有的节点向量列表,A为图的邻接矩阵。
3.如权利要求1所述的一种基于图神经网络的细粒度源代码漏洞检测方法,其特征在于:所述步骤B中图注意力网络采用监督学习方法训练得到,具体为:
步骤B-1),首先根据漏洞数据库的信息标记函数是否存在漏洞;其次将函数代码属性图的向量化表示G(V,A)进行标准化处理,根据所有函数代码属性图节点数的分布,选择合适的数值作为标准节点数,对过大的代码属性图进行裁剪,对过小的代码属性图添加孤立的无属性节点,得到标准化表示G′(V′,A′);
步骤B-2),最后将G′(V′,A′)和相应的标签输入到图注意力网络中,使用n次k折交叉验证方法评估训练的效果,当训练模型在测试集上的F1值达到一个相对平稳值后,从图注意网络的最后一个图注意卷积层输出节点的向量化表示;
步骤B-3),进一步从节点向量表示中提取函数中每一语句的向量表示x,根据漏洞数据的信息确定语句是否存在漏洞,为语句添加标签y,对所有语句进行处理得到最终的数据集。
4.如权利要求1所述的一种基于图神经网络的细粒度源代码漏洞检测方法,其特征在于:所述卷积神经网络由一个输入层、数个卷积层和全局池化层、数个全连接层、一个输出层组成,网络参数的由具体的数据集确定,具体需要调试的参数包括卷积层和最大池化层的层数、全连接层的层数、各层的单元数、卷积核的大小、学习率、训练批次的大小、激活函数的选择、epoch值。
CN202010040159.1A 2020-01-15 2020-01-15 一种基于图神经网络的细粒度源代码漏洞检测方法 Active CN111259394B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010040159.1A CN111259394B (zh) 2020-01-15 2020-01-15 一种基于图神经网络的细粒度源代码漏洞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010040159.1A CN111259394B (zh) 2020-01-15 2020-01-15 一种基于图神经网络的细粒度源代码漏洞检测方法

Publications (2)

Publication Number Publication Date
CN111259394A true CN111259394A (zh) 2020-06-09
CN111259394B CN111259394B (zh) 2022-08-05

Family

ID=70948765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010040159.1A Active CN111259394B (zh) 2020-01-15 2020-01-15 一种基于图神经网络的细粒度源代码漏洞检测方法

Country Status (1)

Country Link
CN (1) CN111259394B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783100A (zh) * 2020-06-22 2020-10-16 哈尔滨工业大学 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN111832028A (zh) * 2020-07-27 2020-10-27 中国工商银行股份有限公司 代码审计方法和装置、电子设备、及介质
CN112182585A (zh) * 2020-09-29 2021-01-05 湖南大学 源代码漏洞检测方法、系统及存储介质
CN112288079A (zh) * 2020-11-17 2021-01-29 北京轩宇信息技术有限公司 图神经网络模型训练方法、软件缺陷检测方法及系统
CN113157917A (zh) * 2021-03-15 2021-07-23 西北大学 基于OpenCL的优化分类模型的建立、优化分类方法及系统
US11113167B1 (en) 2020-12-15 2021-09-07 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
CN113360915A (zh) * 2021-06-09 2021-09-07 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113378176A (zh) * 2021-06-11 2021-09-10 大连海事大学 一种基于图神经网络检测带有权重偏差的软件漏洞识别方法
CN113378178A (zh) * 2021-06-21 2021-09-10 大连海事大学 一种基于深度学习的图自信学习软件漏洞检测方法
CN113449303A (zh) * 2021-06-28 2021-09-28 杭州云象网络技术有限公司 基于教师-学生网络模型的智能合约漏洞检测方法和系统
US11132273B1 (en) 2020-12-15 2021-09-28 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
CN113609488A (zh) * 2021-07-19 2021-11-05 华东师范大学 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统
US11188453B1 (en) 2020-12-15 2021-11-30 International Business Machines Corporation Verification of software test quality using hidden variables
US11204848B1 (en) 2020-12-15 2021-12-21 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
CN113868650A (zh) * 2021-09-13 2021-12-31 四川大学 基于代码异质中间图表示的漏洞检测方法与装置
CN114389966A (zh) * 2022-03-24 2022-04-22 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 基于图神经网络和流时空关联的网络流量识别方法和系统
CN114385512A (zh) * 2022-03-23 2022-04-22 北京北大软件工程股份有限公司 软件源代码缺陷检测方法及装置
CN114491424A (zh) * 2021-12-31 2022-05-13 西安电子科技大学 基于模糊测试的二进制代码裁剪方法
US11379352B1 (en) 2020-12-15 2022-07-05 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
CN115357909A (zh) * 2022-10-19 2022-11-18 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种用于代码漏洞检测的全局信息感知图神经网络系统
CN115577361A (zh) * 2022-12-09 2023-01-06 四川大学 一种改进的基于图神经网络的PHP Web shell检测方法
CN115827496A (zh) * 2023-02-13 2023-03-21 北京邮电大学 代码的异常检测方法、装置、电子设备及存储介质
CN116738443A (zh) * 2023-08-10 2023-09-12 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种基于多示例感知的软件漏洞检测方法及相关设备
CN116974619A (zh) * 2023-09-22 2023-10-31 国网电商科技有限公司 一种软件物料清单库的构建方法、装置、设备及可读介质
CN117195238A (zh) * 2023-10-08 2023-12-08 北京远禾科技有限公司 一种异构图神经网络代码漏洞检测方法
CN117574391A (zh) * 2024-01-15 2024-02-20 中国人民解放军战略支援部队航天工程大学 一种基于三地址码和神经网络的代码漏洞检测方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349614A1 (en) * 2017-05-31 2018-12-06 ShiftLeft Inc System and method for application security profiling
CN110011986A (zh) * 2019-03-20 2019-07-12 中山大学 一种基于深度学习的源代码漏洞检测方法
CN110674503A (zh) * 2019-09-24 2020-01-10 杭州云象网络技术有限公司 一种基于图卷积神经网络的智能合约死循环检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180349614A1 (en) * 2017-05-31 2018-12-06 ShiftLeft Inc System and method for application security profiling
CN110011986A (zh) * 2019-03-20 2019-07-12 中山大学 一种基于深度学习的源代码漏洞检测方法
CN110674503A (zh) * 2019-09-24 2020-01-10 杭州云象网络技术有限公司 一种基于图卷积神经网络的智能合约死循环检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FABIAN YAMAGUCHI ETAL: "Modeling and Discovering Vulnerabilities with Code Property Graphs", 《2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY》 *
许庆富等: "基于逆向工程的Android应用漏洞检测技术研究", 《西南民族大学学报(自然科学版)》 *

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783100A (zh) * 2020-06-22 2020-10-16 哈尔滨工业大学 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN111783100B (zh) * 2020-06-22 2022-05-17 哈尔滨工业大学 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN111832028A (zh) * 2020-07-27 2020-10-27 中国工商银行股份有限公司 代码审计方法和装置、电子设备、及介质
CN112182585A (zh) * 2020-09-29 2021-01-05 湖南大学 源代码漏洞检测方法、系统及存储介质
CN112182585B (zh) * 2020-09-29 2024-04-26 湖南大学 源代码漏洞检测方法、系统及存储介质
CN112288079B (zh) * 2020-11-17 2024-05-14 北京轩宇信息技术有限公司 图神经网络模型训练方法、软件缺陷检测方法及系统
CN112288079A (zh) * 2020-11-17 2021-01-29 北京轩宇信息技术有限公司 图神经网络模型训练方法、软件缺陷检测方法及系统
US11188453B1 (en) 2020-12-15 2021-11-30 International Business Machines Corporation Verification of software test quality using hidden variables
US11132273B1 (en) 2020-12-15 2021-09-28 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
US11836060B2 (en) 2020-12-15 2023-12-05 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
US11204848B1 (en) 2020-12-15 2021-12-21 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
US11113167B1 (en) 2020-12-15 2021-09-07 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
US11379352B1 (en) 2020-12-15 2022-07-05 International Business Machines Corporation System testing infrastructure with hidden variable, hidden attribute, and hidden value detection
CN113157917B (zh) * 2021-03-15 2023-03-24 西北大学 基于OpenCL的优化分类模型的建立、优化分类方法及系统
CN113157917A (zh) * 2021-03-15 2021-07-23 西北大学 基于OpenCL的优化分类模型的建立、优化分类方法及系统
CN113360915A (zh) * 2021-06-09 2021-09-07 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113360915B (zh) * 2021-06-09 2023-09-26 扬州大学 基于源代码图表示学习的智能合约多漏洞检测方法及系统
CN113378176B (zh) * 2021-06-11 2023-06-23 大连海事大学 一种基于图神经网络检测带有权重偏差的软件漏洞识别方法
CN113378176A (zh) * 2021-06-11 2021-09-10 大连海事大学 一种基于图神经网络检测带有权重偏差的软件漏洞识别方法
CN113378178A (zh) * 2021-06-21 2021-09-10 大连海事大学 一种基于深度学习的图自信学习软件漏洞检测方法
CN113378178B (zh) * 2021-06-21 2023-08-22 大连海事大学 一种基于深度学习的图自信学习软件漏洞检测方法
CN113449303A (zh) * 2021-06-28 2021-09-28 杭州云象网络技术有限公司 基于教师-学生网络模型的智能合约漏洞检测方法和系统
CN113609488A (zh) * 2021-07-19 2021-11-05 华东师范大学 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统
CN113868650A (zh) * 2021-09-13 2021-12-31 四川大学 基于代码异质中间图表示的漏洞检测方法与装置
CN114491424A (zh) * 2021-12-31 2022-05-13 西安电子科技大学 基于模糊测试的二进制代码裁剪方法
CN114491424B (zh) * 2021-12-31 2024-05-03 西安电子科技大学 基于模糊测试的二进制代码裁剪方法
CN114385512B (zh) * 2022-03-23 2022-07-19 北京北大软件工程股份有限公司 软件源代码缺陷检测方法及装置
CN114385512A (zh) * 2022-03-23 2022-04-22 北京北大软件工程股份有限公司 软件源代码缺陷检测方法及装置
CN114389966A (zh) * 2022-03-24 2022-04-22 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 基于图神经网络和流时空关联的网络流量识别方法和系统
CN115357909A (zh) * 2022-10-19 2022-11-18 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种用于代码漏洞检测的全局信息感知图神经网络系统
CN115577361B (zh) * 2022-12-09 2023-04-07 四川大学 一种改进的基于图神经网络的PHP Web shell检测方法
CN115577361A (zh) * 2022-12-09 2023-01-06 四川大学 一种改进的基于图神经网络的PHP Web shell检测方法
CN115827496A (zh) * 2023-02-13 2023-03-21 北京邮电大学 代码的异常检测方法、装置、电子设备及存储介质
CN116738443A (zh) * 2023-08-10 2023-09-12 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种基于多示例感知的软件漏洞检测方法及相关设备
CN116738443B (zh) * 2023-08-10 2023-12-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种基于多示例感知的软件漏洞检测方法及相关设备
CN116974619A (zh) * 2023-09-22 2023-10-31 国网电商科技有限公司 一种软件物料清单库的构建方法、装置、设备及可读介质
CN116974619B (zh) * 2023-09-22 2024-01-12 国网电商科技有限公司 一种软件物料清单库的构建方法、装置、设备及可读介质
CN117195238A (zh) * 2023-10-08 2023-12-08 北京远禾科技有限公司 一种异构图神经网络代码漏洞检测方法
CN117574391B (zh) * 2024-01-15 2024-04-05 中国人民解放军战略支援部队航天工程大学 一种基于三地址码和神经网络的代码漏洞检测方法和系统
CN117574391A (zh) * 2024-01-15 2024-02-20 中国人民解放军战略支援部队航天工程大学 一种基于三地址码和神经网络的代码漏洞检测方法和系统

Also Published As

Publication number Publication date
CN111259394B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN111259394B (zh) 一种基于图神经网络的细粒度源代码漏洞检测方法
Russell et al. Automated vulnerability detection in source code using deep representation learning
CN110011986B (zh) 一种基于深度学习的源代码漏洞检测方法
TWI723528B (zh) 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備
US7685082B1 (en) System and method for identifying, prioritizing and encapsulating errors in accounting data
CN111783100A (zh) 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN114297654A (zh) 一种源代码层级的智能合约漏洞检测方法及系统
CN111046679B (zh) 翻译模型的质量信息获取方法、装置及计算机设备
CN116049831A (zh) 一种基于静态分析和动态分析的软件漏洞检测方法
CN112989363B (zh) 漏洞定位方法、装置、电子设备和存储介质
CN113609488B (zh) 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统
CN116661805B (zh) 代码表示的生成方法和装置、存储介质及电子设备
CN114547611A (zh) 一种基于多模态特征的智能合约庞氏骗局检测方法及系统
CN116340952A (zh) 一种基于操作码程序依赖图的智能合约漏洞检测方法
CN113742205A (zh) 一种基于人机协同的代码漏洞智能检测方法
CN115221332A (zh) 一种危化品事故事理图谱的构建方法与系统
CN116702160B (zh) 一种基于数据依赖增强程序切片的源代码漏洞检测方法
CN115794119B (zh) 一种案例自动解析方法及装置
CN116415253A (zh) 一种基于超图神经网络的程序漏洞检测方法及系统
CN115757695A (zh) 一种日志语言模型训练方法及系统
CN115906818A (zh) 语法知识预测方法、装置、电子设备和存储介质
CN109657247B (zh) 机器学习的自定义语法实现方法及装置
CN116628695A (zh) 基于多任务学习的漏洞挖掘方法及装置
CN117349186B (zh) 一种基于语义流图的程序语言缺陷定位方法、系统及介质
CN116578989B (zh) 基于深度预训练神经网络的智能合约漏洞检测系统及方法

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