CN117150495A - 基于sat的函数级源代码漏洞检测方法 - Google Patents
基于sat的函数级源代码漏洞检测方法 Download PDFInfo
- Publication number
- CN117150495A CN117150495A CN202310585322.6A CN202310585322A CN117150495A CN 117150495 A CN117150495 A CN 117150495A CN 202310585322 A CN202310585322 A CN 202310585322A CN 117150495 A CN117150495 A CN 117150495A
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- pdg
- source code
- vulnerability detection
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 239000013598 vector Substances 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 34
- 238000013528 artificial neural network Methods 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000010586 diagram Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 2
- 230000008447 perception Effects 0.000 abstract description 2
- 238000007781 pre-processing Methods 0.000 abstract 1
- 238000013135 deep learning Methods 0.000 description 2
- 101150090313 abc1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010200 validation analysis 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开一种基于SAT的函数级源代码漏洞检测方法,包括:源代码预处理;PDG图生成;包含中心性信息的PDG向量图构建;使用GNN结构提取节点k跳范围结构信息;基于Transformer的源代码漏洞检测模型构建与训练;进行漏洞检测。本发明在代码的图结构表示中加入了节点的中心性信息,在神经网络中使用k_subtree提取代码的结构信息,使用RWPE保留代码行的顺序信息,使用结构感知Transformer预测源代码中是否包含漏洞,能够在函数级漏洞检测中获得相比传统漏洞检测方法和现有的基于神经网络的漏洞检测方法更好的误报率和漏报率。
Description
技术领域
本发明属于软件脆弱性检测技术领域,涉及图神经网络、PDG图、Transformer和智能化漏洞挖掘技术,特别涉及基于SAT的函数级源代码漏洞检测方法。
背景技术
近年来,随着计算机软件系统的复杂性增强,潜在的安全漏洞数量呈现递增趋势。尽管部分披露的软件安全漏洞已经被修复,这并不意味着计算机用户在使用软件系统时所面临的危害有所降低。
传统的源代码漏洞检测方法可以分为基于相似度和基于模式学习的检测,基于相似度的方法对于代码复制重用的场景十分有效,但是却无法检测出新出现的漏洞,导致比较高的假阴性率。而基于模式学习的方法则需要专家预先定义好漏洞特征,基于此特征进行匹配,对于专家知识依赖度过高,准确率不高。而目前的基于深度学习的漏洞检测方法由于没有充分利用结构与顺序信息,存在较高的漏报率和误报率。因此亟需一套更加优秀的源代码漏洞检测方法。
发明内容
为解决现有技术中存在的不足,本发明提供一种通用的基于SAT(结构感知Transformer)的C/C++源代码漏洞检测方法,通过训练正常代码与漏洞代码的PDG图,建立模型判断源代码中是否含有漏洞。该方法基于图神经网络与Transformer神经网络,能够同时充分利用PDG图中的结构信息与代码行序列中的顺序信息,相较于传统的漏洞检测方式与深度学习检测方式,其误报率与漏报率更低。
为了达到上述目的,本发明提供如下技术方案:
一种基于SAT的函数级源代码漏洞检测方法,包括如下步骤:
步骤1,源代码预处理
收集漏洞源代码数据,并对源代码进行规范化处理;
步骤2,PDG图生成
生成基于代码数据依赖和控制依赖的图结构表示PDG图;
步骤3,包含中心性信息的PDG向量图构建与数据集划分
使用句子嵌入的方式对PDG图中所有节点进行向量化处理,并为每个节点添加Katz中心性信息;
步骤4,使用GNN结构提取节点k跳范围结构信息
使用图神经网络提取PDG图每个节点附近k跳范围内的结构信息,并聚合到该节点中;
步骤5,基于Transformer的源代码漏洞检测模型构建与训练
使用RWPE对节点进行位置编码,使用Transformer神经网络训练,得到漏洞检测模型,并进行漏洞检测。
进一步的,所述步骤1包括如下子步骤:
步骤1-1,搜集SARD源代码漏洞数据集,搜集的代码数据集中包含若干漏洞函数和若干没有漏洞的函数;
步骤1-2,从数据集中提取漏洞代码标签;
步骤1-3,删除代码中的所有注释信息;
步骤1-4,将人为定义的变量名一对一映射到规范化定义的变量名;
步骤1-5,将人为定义的函数名一对一映射到规范化定义的函数名。
进一步的,所述步骤2包括如下子步骤:
步骤2-1,使用joern工具针对预处理后的源代码生成程序控制流图CFG;
步骤2-2,结合CFG图,使用python的networkx库与joern分析并提取源代码中的数据依赖与控制依赖关系;
步骤2-3,基于数据依赖与控制依赖关系生成PDG图,以.dot格式保存。
进一步的,所述步骤3包括如下子步骤:
步骤3-1,计算PDG图中每个节点的Katz中心性;
步骤3-2,从PDG图中提取每个节点的代码内容,使用sent2vec算法将节点中的代码转换为向量表示;
步骤3-3,将向量表示结果与其Katz中心性相乘,得到的结果作为PDG向量图的节点;一个PDG图中所有节点的Katz中心性可以用矩阵形式表示为:
ck=αAck+β
(I-α·A)ck=β
α是一个常数,ck∈RN表示包含所有节点的Katz中心性的向量,A表示PDG图的邻接矩阵,β表示一个常数向量,I表示单位矩阵。
进一步的,所述步骤4包括如下子步骤:
步骤4-1,将代码数据集划分为训练集,验证集与测试集;
步骤4-2,对PDG向量图中每个节点,将其作为根节点提取其k跳范围内子图;
步骤4-3,针对子图,使用GNN提取子图结构信息。
进一步的,所述步骤4-3具体包括如下过程:
使用GNN提取子图结构信息的方式包括:采用k_subtree提取器和k_subgraph提取器;所述k_subtree提取器针对PDG图G中的某一节点u,以u为根节点,提取其k跳子树,并将GNN模型应用于该子树中,将u节点对应的输出作为u处的向量表示,G表示PDG图:
所述k-subgraph提取器在k-subtree的基础上,调整GNN利用整个k子图,使用池化函数聚合k跳邻域内所有节点的更新节点表示;形式上,如果用Nk(u)表示节点u包括自身的k-hop邻域,则节点u的表示为:
本质上,k-subgraph GNN extractor相当于对u节点k跳范围每个节点使用k-subtree GNN extractor,将池化函数聚合结果作为该节点的新的向量表示。
进一步的,所述步骤5包括如下子步骤:
步骤5-1,使用RWPE算法对代码行位置进行编码;
步骤5-2,Transformer结构构建与训练;
步骤5-3,使用训练好的模型对待检测源代码进行检测,预测待测程序是否含有漏洞。
进一步的,所述步骤5-2中Transformer结构如下:
Transformer结构包含自注意力结构和前馈神经网络结构;前馈神经网络是一个简单的MLP;在自注意力结构中,输入的节点特征集合X首先被映射为query(Q),key(K),value(V);其中Q=XWQ,K=XWK,V=XWV;自注意力计算可以表示为:
其中dout表示Q的维度,WQ,WK,WV是三个需要训练的权重;Transformer使用多头注意力机制,根据上述公式使用不同权重将输入节点特征映射至低维,最后将多个上述公式的实例串联;
针对PDG图中每个节点xv,其自注意力计算过程用以下三个公式表示,其中,<·,·>表示二者之间的点积,V表示PDG图中的节点集合,exp(x)表示e^x,e为自然常数,x和x'代表PDG图中两个节点。
f(x)=WVx
将结构提取得到的节点向量表示作为transformer结构的Q和W的输入,将每个节点的词嵌入的向量作为V的输入;可以得到每个节点的自注意力计算公式如下:
其中φ(v,G)表示经过位置编码后的结构提取阶段节点v提取到的节点向量表示。
与现有技术相比,本发明具有如下优点和有益效果:
1.本发明通过训练正常代码与漏洞代码的PDG图,能够建立模型判断源代码中是否含有漏洞。能够提高漏洞检测的准确率和误报率。
2.本发明在代码的图结构表示中加入了节点的中心性信息,在神经网络中使用k_subtree提取代码的结构信息,使用RWPE保留代码行的顺序信息,使用结构感知Transformer预测源代码中是否包含漏洞,能够在函数级漏洞检测中获得相比传统漏洞检测方法和现有的基于神经网络的漏洞检测方法更好的误报率和漏报率。
3.本发明对源代码做规范化处理,降低了程序员编程习惯对漏洞检测效果的影响。
4.本发明基于图神经网络与Transformer神经网络,能够同时充分利用PDG图中的结构信息与代码行序列中的顺序信息。
附图说明
图1为本发明提供的基于SAT的函数级源代码漏洞检测方法流程示意图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明提供的基于SAT的函数级源代码漏洞检测方法,其流程如图1所示,包括如下步骤:
步骤1,源代码预处理
收集漏洞源代码数据,并对源代码进行规范化处理,包括如下子步骤:
步骤1-1,搜集SARD源代码漏洞数据集,搜集的代码数据集中包含12303个漏洞函数和21057个没有漏洞的函数。
步骤1-2,从数据集中提取漏洞代码标签。
步骤1-3,删除代码中的所有注释信息,因为它们不表达任何语法语义信息。
步骤1-4,将人为定义的变量名一对一映射到规范化定义的变量名(如abc1映射至VAR1)。
步骤1-5,将人为定义的函数名一对一映射到规范化定义的函数名(如fun_tmp映射至FUN1)。
步骤2,PDG图生成
生成基于代码数据依赖和控制依赖的图结构表示PDG图,包括如下子步骤:
步骤2-1,使用joern工具针对预处理后的源代码生成程序控制流图(CFG)。
步骤2-2,结合CFG图,使用python的networkx库与joern分析并提取源代码中的数据依赖与控制依赖关系。
步骤2-3,基于数据依赖与控制依赖关系生成PDG图,以.dot格式保存。
步骤3,包含中心性信息的PDG向量图构建
使用句子嵌入的方式对PDG图中所有节点进行向量化处理,并为每个节点添加Katz中心性信息;包括如下子步骤:
步骤3-1,计算PDG图中每个节点的Katz中心性。
步骤3-2,从PDG图中提取每个节点的代码内容,使用sent2vec算法将节点中的代码转换为向量表示。
步骤3-3,将向量表示结果与其Katz中心性相乘,得到的结果作为PDG向量图的节点。
一个图中所有节点的Katz中心性可以用矩阵形式表示为:
ck=αAck+β
(I-α·A)ck=β
α是一个常数,ck∈RN表示所有节点的Katz中心性的向量,A表示PDG图的邻接矩阵,β表示一个常数向量,I表示单位矩阵。
步骤4,使用GNN结构提取节点k跳范围结构信息
使用图神经网络提取PDG图每个节点附近k跳范围内的结构信息,并聚合到该节点中,包括如下子步骤:
步骤4-1,按照8:1:1的比例将代码数据集划分为训练集,验证集与测试集。
步骤4-2,对PDG向量图中每个节点,将其作为根节点提取其k跳范围内子图。k值定为3。
步骤4-3,针对子图,使用GNN提取子图结构信息。
其中,使用GNN提取子图结构信息主要有两种方式,分别是k_subtree提取器和k_subgraph提取器。k_subtree提取器针对PDG图G中的某一节点u,以u为根节点,提取其k跳子树,并将GNN模型应用于该子树中,将u节点对应的输出作为u处的向量表示,G表示PDG图。
k-subgraph在k-subtree的基础上,调整GNN利用整个k子图,使用池化函数(如summation)聚合k跳邻域内所有节点的更新节点表示。形式上,如果用Nk(u)表示节点u包括自身的k-hop邻域,则节点u的表示为:
本质上,k-subgraph GNN extractor相当于对u节点k跳范围每个节点使用k-subtree GNN extractor,将池化函数聚合结果作为该节点的新的向量表示。
步骤5,基于Transformer的源代码漏洞检测模型构建与训练
使用RWPE对节点进行位置编码,使用Transformer神经网络训练,得到漏洞检测模型;包括如下子步骤:
步骤5-1,使用RWPE算法对代码行位置进行编码。
步骤5-2,Transformer结构构建与训练步骤。
其中,Transformer结构主要包含自注意力结构和前馈神经网络结构。前馈神经网络是一个简单的MLP。在自注意力结构中,输入的节点特征集合X首先被映射为query(Q),key(K),value(V)。其中Q=XWQ,K=XWK,V=XWV。自注意力计算可以表示为。
其中dout表示Q的维度,WQ,WK,WV是三个需要训练的权重。Transformer通常使用多头注意力机制,根据上述公式使用不同权重将输入节点特征映射至低维,最后将多个上述公式的实例串联。
针对PDG图中每个节点xv,其自注意力计算过程用以下三个公式表示,其中,<·,·>表示二者之间的点积,V表示PDG图中的节点集合,exp(x)表示e^x,e为自然常数,x和x'代表PDG图中两个节点。
f(x)=WVx
将结构提取得到的节点向量表示作为transformer结构的Q和W的输入,将每个节点的词嵌入的向量作为V的输入。可以得到每个节点的自注意力计算公式如下。
其中φ(v,G)表示步骤4-3中结构提取阶段节点v提取到的节点向量表示。
步骤5-3,使用训练好的模型对待检测源代码进行检测,预测待测程序是否含有漏洞。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种基于SAT的函数级源代码漏洞检测方法,其特征在于,包括如下步骤:
步骤1,源代码预处理
收集漏洞源代码数据,并对源代码进行规范化处理;
步骤2,PDG图生成
生成基于代码数据依赖和控制依赖的图结构表示PDG图;
步骤3,包含中心性信息的PDG向量图构建
使用句子嵌入的方式对PDG图中所有节点进行向量化处理,并为每个节点添加Katz中心性信息;
步骤4,使用GNN结构提取节点k跳范围结构信息
使用图神经网络提取PDG图每个节点附近k跳范围内的结构信息,并聚合到该节点中;
步骤5,基于Transformer的源代码漏洞检测模型构建与训练
使用RWPE对节点进行位置编码,使用Transformer神经网络训练,得到漏洞检测模型,并进行漏洞检测。
2.根据权利要求1所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤1包括如下子步骤:
步骤1-1,搜集SARD源代码漏洞数据集,搜集的代码数据集中包含若干漏洞函数和若干没有漏洞的函数;
步骤1-2,从数据集中提取漏洞代码标签;
步骤1-3,删除代码中的所有注释信息;
步骤1-4,将人为定义的变量名一对一映射到规范化定义的变量名;
步骤1-5,将人为定义的函数名一对一映射到规范化定义的函数名。
3.根据权利要求1所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤2包括如下子步骤:
步骤2-1,使用joern工具针对预处理后的源代码生成程序控制流图CFG;
步骤2-2,结合CFG图,使用python的networkx库与joern分析并提取源代码中的数据依赖与控制依赖关系;
步骤2-3,基于数据依赖与控制依赖关系生成PDG图,以.dot格式保存。
4.根据权利要求1所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤3包括如下子步骤:
步骤3-1,计算PDG图中每个节点的Katz中心性;
步骤3-2,从PDG图中提取每个节点的代码内容,使用sent2vec算法将节点中的代码转换为向量表示;
步骤3-3,将向量表示结果与其Katz中心性相乘,得到的结果作为PDG向量图的节点;
一个图中所有节点的Katz中心性可以用矩阵形式表示为:
ck=αAck+β
(I-α·A)ck=β
α是一个常数,ck∈RN表示所有节点的Katz中心性的向量,A表示PDG图的邻接矩阵,β表示一个常数向量,I表示单位矩阵。
5.根据权利要求1所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤4包括如下子步骤:
步骤4-1,将代码数据集划分为训练集,验证集与测试集;
步骤4-2,对PDG向量图中每个节点,将其作为根节点提取其k跳范围内子图;
步骤4-3,针对子图,使用GNN提取子图结构信息。
6.根据权利要求5所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤4-3具体包括如下过程:
使用GNN提取子图结构信息的方式包括:采用k_subtree提取器和k_subgraph提取器;所述k_subtree提取器针对PDG图G中的某一节点u,以u为根节点,提取其k跳子树,并将GNN模型应用于该子树中,将u节点对应的输出作为u处的向量表示,G表示PDG图:
所述k-subgraph提取器在k-subtree的基础上,调整GNN利用整个k子图,使用池化函数聚合k跳邻域内所有节点的更新节点表示;形式上,如果用Nk(u)表示节点u包括自身的k-hop邻域,则节点u的表示为:
本质上,k-subgraph GNN extractor相当于对u节点k跳范围每个节点使用k-subtreeGNN extractor,将池化函数聚合结果作为该节点的新的向量表示。
7.根据权利要求1所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤5包括如下子步骤:
步骤5-1,使用RWPE算法对代码行位置进行编码;
步骤5-2,Transformer结构构建与训练;
步骤5-3,使用训练好的模型对待检测源代码进行检测,预测待测程序是否含有漏洞。
8.根据权利要求7所述的基于SAT的函数级源代码漏洞检测方法,其特征在于,所述步骤5-2中Transformer结构如下:
Transformer结构包含自注意力结构和前馈神经网络结构;前馈神经网络是一个简单的MLP;在自注意力结构中,输入的节点特征集合X首先被映射为query(Q),key(K),value(V);其中Q=XWQ,K=XWK,V=XWV;自注意力计算可以表示为:
其中dout表示Q的维度,WQ,WK,WV是三个需要训练的权重;Transformer使用多头注意力机制,根据上述公式使用不同权重将输入节点特征映射至低维,最后将多个上述公式的实例串联;
针对PDG图中每个节点xv,其自注意力计算过程用以下三个公式表示,其中,<·,·>表示二者之间的点积,V表示PDG图中的节点集合,exp(x)表示e^x,e为自然常数,x和x'代表PDG图中两个节点:
f(x)=WVx
将结构提取得到的节点向量表示作为transformer结构的Q和W的输入,将每个节点的词嵌入的向量作为V的输入,可以得到每个节点的自注意力计算公式如下:
其中φ(v,G)表示经过位置编码后的结构提取阶段节点v提取到的节点向量表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310585322.6A CN117150495A (zh) | 2023-05-22 | 2023-05-22 | 基于sat的函数级源代码漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310585322.6A CN117150495A (zh) | 2023-05-22 | 2023-05-22 | 基于sat的函数级源代码漏洞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117150495A true CN117150495A (zh) | 2023-12-01 |
Family
ID=88899448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310585322.6A Pending CN117150495A (zh) | 2023-05-22 | 2023-05-22 | 基于sat的函数级源代码漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117150495A (zh) |
-
2023
- 2023-05-22 CN CN202310585322.6A patent/CN117150495A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011889B (zh) | 账号异常识别方法、系统、装置、设备及介质 | |
WO2022048363A1 (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN110516210B (zh) | 文本相似度的计算方法和装置 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
CN113704410B (zh) | 情绪波动检测方法、装置、电子设备及存储介质 | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN116305158A (zh) | 一种基于切片代码依赖图语义学习的漏洞识别方法 | |
CN116361788A (zh) | 一种基于机器学习的二进制软件漏洞预测方法 | |
CN116305119A (zh) | 基于预测指导原型的apt恶意软件分类方法和装置 | |
CN113312058B (zh) | 一种智能合约二进制函数的相似性分析方法 | |
CN112417886B (zh) | 意图实体信息抽取方法、装置、计算机设备及存储介质 | |
CN114218580A (zh) | 一种基于多任务学习的智能合约漏洞检测方法 | |
CN117370980A (zh) | 恶意代码检测模型生成及检测方法、装置、设备及介质 | |
CN111209158B (zh) | 服务器集群的挖矿监控方法及集群监控系统 | |
CN116307736A (zh) | 风险画像自动生成的方法、装置、设备及存储介质 | |
CN116739408A (zh) | 基于数据标签的电网调度安全监控方法、系统及电子设备 | |
CN117150495A (zh) | 基于sat的函数级源代码漏洞检测方法 | |
CN112561538B (zh) | 风险模型创制方法、装置、计算机设备及可读存储介质 | |
CN114169540A (zh) | 一种基于改进机器学习的网页用户行为检测方法及系统 | |
CN113706207A (zh) | 基于语义解析的订单成交率分析方法、装置、设备及介质 | |
CN112733144A (zh) | 一种基于深度学习技术的恶意程序智能检测方法 | |
US20230185550A1 (en) | Systems and methods for detecting code duplication in codebases | |
CN113792539B (zh) | 基于人工智能的实体关系分类方法、装置、电子设备及介质 | |
CN117786705B (zh) | 一种基于异构图变换网络的语句级漏洞检测方法及系统 | |
CN111860662B (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 |