CN114579981A - 一种跨域漏洞检测方法、系统、存储介质和电子设备 - Google Patents
一种跨域漏洞检测方法、系统、存储介质和电子设备 Download PDFInfo
- Publication number
- CN114579981A CN114579981A CN202210233417.7A CN202210233417A CN114579981A CN 114579981 A CN114579981 A CN 114579981A CN 202210233417 A CN202210233417 A CN 202210233417A CN 114579981 A CN114579981 A CN 114579981A
- Authority
- CN
- China
- Prior art keywords
- domain
- sample
- target
- vulnerability
- source
- 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
Images
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- 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/044—Recurrent networks, e.g. Hopfield 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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种跨域漏洞检测方法、系统、存储介质和电子设备,所述方法包括:对源域的第一漏洞样本和目标域的第一漏洞样本进行图嵌入转化,得到源域的第二漏洞样本和目标域的第二漏洞样本;根据源域的第二漏洞样本和目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;根据经过图嵌入转化的目标域的待检测漏洞样本和目标神经网络模型,得到待检测漏洞样本的检测结果。本发明解决了在已有方法中的漏洞模式学习和不同域之间概率分布差异的问题,通过在目标域完全没有监督信息参与训练或少量数据参与训练的情形下,克服了在检测跨域漏洞时由于分布差异导致的性能降低的问题。
Description
技术领域
本发明涉及漏洞检测技术领域,尤其涉及一种跨域漏洞检测方法、系统、存储介质和电子设备。
背景技术
基于机器学习的漏洞检测技术通过从训练样本中学习漏洞模式,检测目标软件中的漏洞。这个过程首先需要把软件转化为一种易于提取特征的中间表示形式,然后应用机器学习模型学习其中的漏洞模式,并应用于目标软件。依据中间表示种类的差异,可以分为顺序结构、树结构和图结构的漏洞模式学习方法。
现有的基于机器学习的漏洞检测方法,一部分在设计时没有考虑到源域与目标域漏洞特征的概率分布存在差异性的问题,从而当检测完全独立于训练样本所在域的软件中的漏洞时,检测能力出现显著降低。少量基于机器学习的漏洞检测方法在设计时考虑到了训练数据与测试数据漏洞特征概率分布的差异性,但是他们都是基于顺序结构的漏洞模式学习方法。基于顺序结构的漏洞模式学习方法,受限于基于序列的中间表示,容易受到长依赖的问题。具有语法和语义依赖关系的元素之间不是直接连接,而是在线性的序列中夹杂很多其他元素。这种长依赖削弱了机器学习模型学习漏洞模式的能力。
发明内容
为解决上述技术问题,本发明提供了一种跨域漏洞检测方法、系统、存储介质和电子设备。
本发明的一种跨域漏洞检测方法的技术方案如下:
对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本;
根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;
根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
本发明的一种跨域漏洞检测方法的有益效果如下:
本发明的方法通过将源域漏洞样本和目标域漏洞样本经过图嵌入和深度域自适应方式进行训练,解决了在已有方法中的漏洞模式学习和不同域之间概率分布差异的问题,通过在目标域完全没有监督信息参与训练或少量数据参与训练的情形下,克服了在检测跨域漏洞时由于分布差异导致的性能降低的问题。
在上述方案的基础上,本发明的一种跨域漏洞检测方法还可以做如下改进。
进一步,所述源域的第一漏洞样本和所述目标域的第一漏洞样本均为源代码形式,所述源域的第二漏洞样本和所述目标域的第二漏洞样本均为图嵌入形式;所述对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,具体包括:
采用joern提取所述源域的第一漏洞样本中的元素关系,并根据所述元素关系生成所述源域的第一漏洞样本所对应的中间表示形式,所述中间表示形式为:由节点和边所构成的图形式;
将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,并利用邻接矩阵表示边,得到边嵌入结果;
采用门控神经网络对所述节点嵌入结果和所述边嵌入结果进行聚合,得到所述源域的第二漏洞样本。
采用上述进一步方案的有益效果是:通过进一步明确对漏洞样本进行图嵌入转化,在学习漏洞样本的语义特征的同时,避免了漏洞样本学习中出现的长依赖问题。
进一步,所述将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,具体包括:
采用one-hot编码对所述节点对应的节点类型进行向量转化,得到节点类型嵌入结果;
采用word2vec模型对所述节点对应的源代码进行向量转化,得到源代码部分的嵌入结果;
对所述节点类型嵌入结果和所述源代码部分的嵌入结果进行拼接,得到所述节点嵌入结果。
进一步,所述预设神经网络模型包括:预设特征生成器、预设分类器和预设差异度量器;所述根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型,具体包括:
将所述源域的第二漏洞样本和所述目标域的第二漏洞样本输入所述预设特征生成器进行特征提取,得到第一源域样本特征和第一目标域样本特征;
利用所述预设分类器获取所述第一源域样本特征的分类结果,并根据交叉熵计算所述分类结果的分类损失;
将所述第一源域样本特征和所述第一目标域样本特征分别经过所述预设差异度量器转化,生成第二源域样本特征和第二目标域样本特征,并根据最大均值差异计算所述第二源域样本特征和所述第二目标域样本特征之间的差异,得到域间特征分布差异;
根据所述分类损失和所述域间特征分布差异得到目标分类损失,并根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型。
采用上述进一步方案的有益效果是:通过进一步利用源域漏洞样本和目标域漏洞样本对神经网络模型进行优化,克服了不同域的漏洞样本之间分布差异的问题,提升了漏洞检测的泛化能力。
进一步,所述根据所述分类损失和所述域间特征分布差异得到目标分类损失,具体包括:
根据融合损失计算公式,将所述分类损失和所述域间特征分布差异进行融合,得到所述目标分类损失;所述融合损失计算公式为:Loss=LossC+ λLossd,Lossc为所述分类损失,Lossd为所述域间特征分布差异,Loss为所述目标分类损失,λ为用于调节域间特征分布差异的权重。
采用上述进一步方案的有益效果是:通过进一步明确分类损失的计算方式,实现了利用分类损失反向优化神经网络模型的目的。
进一步,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器;所述根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果,具体包括:
对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本;
将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征;
将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
采用上述进一步方案的有益效果是:通过进一步明确优化后的检测过程,达到了目标域在没有任何监督信息参与模型训练的情况下检测目标域中的漏洞的目的。
进一步,在所述根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型之后,还包括:
根据所述目标特征生成器,将所述源域的第一源域样本特征和第一目标域样本特征映射至同一个概率分布,以实现从所述源域至所述目标域的深度域迁移。
采用上述进一步方案的有益效果是:通过进一步根据神经网络模型中的特征生成器将不同域的漏洞样本特征映射至同一概率分布,以此实现漏洞模式的深度域迁移。
进一步,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器;所述根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果,具体包括:
对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本;
将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征;
将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
采用上述进一步方案的有益效果是:通过进一步明确优化后的检测过程,达到了目标域在没有任何监督信息参与模型训练的情况下检测目标域中的漏洞的目的。
本发明的一种跨域漏洞检测系统的技术方案如下:
包括:处理模块、优化模块和检测模块;
所述处理模块用于:对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本;
所述优化模块用于:根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;
所述检测模块用于:根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
本发明的一种跨域漏洞检测系统的有益效果如下:
本发明的系统通过将源域漏洞样本和目标域漏洞样本经过图嵌入和深度域自适应方式,解决了在已有方法中的漏洞模式学习和不同域之间概率分布差异的问题,通过在目标域完全没有监督信息参与训练或少量数据参与训练的情形下,克服了在检测跨域漏洞时由于分布差异导致的性能降低的问题。
在上述方案的基础上,本发明的一种跨域漏洞检测系统还可以做如下改进。
进一步,所述处理模块具体包括:第一处理模块、第二处理模块和第三处理模块;
所述第一处理模块用于:采用joern提取所述源域的第一漏洞样本中的元素关系,并根据所述元素关系生成所述源域的第一漏洞样本所对应的中间表示形式,所述中间表示形式为:由节点和边所构成的图形式;
所述第二处理模块用于:将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,并利用邻接矩阵表示边,得到边嵌入结果;
所述第三处理模块用于:采用门控神经网络对所述节点嵌入结果和所述边嵌入结果进行聚合,得到所述源域的第二漏洞样本。
进一步,所述第二处理模块具体用于:
采用one-hot编码对所述节点对应的节点类型进行向量转化,得到节点类型嵌入结果;
采用word2vec模型对所述节点对应的源代码进行向量转化,得到源代码部分的嵌入结果;
对所述节点类型嵌入结果和所述源代码部分的嵌入结果进行拼接,得到所述节点嵌入结果。
进一步,所述预设神经网络模型包括:预设特征生成器、预设分类器和预设差异度量器;所述优化模块具体包括:第一优化模块、第二优化模块、第三优化模块和第四优化模块;
所述第一优化模块用于:将所述源域的第二漏洞样本和所述目标域的第二漏洞样本输入所述预设特征生成器进行特征提取,得到第一源域样本特征和第一目标域样本特征;
所述第二优化模块用于:利用所述预设分类器获取所述第一源域样本特征的分类结果,并根据交叉熵计算所述分类结果的分类损失;
所述第三优化模块用于:将所述第一源域样本特征和所述第一目标域样本特征分别经过所述预设差异度量器转化,生成第二源域样本特征和第二目标域样本特征,并根据最大均值差异计算所述第二源域样本特征和所述第二目标域样本特征之间的差异,得到域间特征分布差异;
所述第四优化模块用于:根据所述分类损失和所述域间特征分布差异得到目标分类损失,并根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型。
进一步,所述第四优化模块具体用于:根据融合损失计算公式,将所述分类损失和所述域间特征分布差异进行融合,得到所述目标分类损失;所述融合损失计算公式为:Loss=LossC+λLossd,Lossc为所述分类损失,Lossd为所述域间特征分布差异,Loss为所述目标分类损失,λ为用于调节域间特征分布差异的权重。
进一步,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器;所述检测模块具体用于:
对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本;
将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征;
将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
进一步,在所述第四优化模块之后,还包括:转化模块;
所述转化模块用于:根据所述目标特征生成器,将所述源域的第一源域样本特征和第一目标域样本特征映射至同一个概率分布,以实现从所述源域至所述目标域的深度域迁移。
本发明的一种存储介质的技术方案如下:
存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种跨域漏洞检测方法的步骤。
本发明的一种电子设备的技术方案如下:
包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如本发明的一种跨域漏洞检测方法的步骤。
附图说明
图1为本发明实施例的一种跨域漏洞检测方法的流程示意图;
图2为本发明实施例的一种跨域漏洞检测方法中的漏洞检测流程示意图;
图3为本发明实施例的一种跨域漏洞检测系统的结构示意图。
具体实施方式
如图1所示,本发明实施例的一种跨域漏洞检测方法,包括如下步骤:
S1、对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本。
其中,源域的第一漏洞样本为源代码形式,且源域的第一漏洞样本为有标签的漏洞样本,源域的第二漏洞样本为图嵌入形式;目标域的第一漏洞样本为源代码形式,且目标域的第一漏洞样本为无标签样本,目标域的第二漏洞样本为图嵌入形式。图嵌入形式的源域的第二漏洞样本和目标域的第二漏洞样本均为实值向量形式。
需要说明的是,目标域的第一漏洞样本也可存在少量标签样本,在此不设限制。
S2、根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型。
其中,通过将源域的第二漏洞样本和目标域的第二漏洞样本代入预设神经网络模型进行训练,最终计算出源域和目标域之间的损失,根据损失反向传播优化预设神经网络模型,得到目标神经网络模型。
S3、根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
其中,检测结果为:根据目标神经网络模型判断待检测漏洞样本是否存在漏洞。
具体地,采用上述相同的图嵌入转化方法,对目标域的待检测漏洞样本进行图嵌入转化,将图嵌入转化后的待检测漏洞样本依次经过目标神经网络模型中的特征生成器和分类器产生检测结果,在目标域中没有任何监督信息参与模型训练的情况下,能够检测目标域中的漏洞。
较优地,所述源域的第一漏洞样本和所述目标域的第一漏洞样本均为源代码形式,所述源域的第二漏洞样本和所述目标域的第二漏洞样本均为图嵌入形式;所述S1具体包括:
S11、采用joern提取所述源域的第一漏洞样本中的元素关系,并根据所述元素关系生成所述源域的第一漏洞样本所对应的中间表示形式,由节点和边所构成的图形式。
其中,joern为静态分析工具,采用joern提取出源域的第一漏洞样本中的元素和元素间的语法关系、语义关系,依据使用元素间的关系生成基于程序依赖图的中间表示形式,具体采用joern进行提取的过程为本领域技术人员可知的过程,在此不过多赘述。
S12、将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,并利用邻接矩阵表示边,得到边嵌入结果。
其中,边嵌入结果的类型为实值向量,通过中间表示形式上的节点转化得到的。
需要说明的是,将节点对应的源代码和节点对应的节点类型进行向量转化、拼接的过程为本领域技术人员可知的过程,在此不过多赘述。
具体地,将中间表示形式的节点所对应的源代码和节点所对应的节点类型进行向量转化,得到节点类型和源代码嵌入,将节点类型和源代码嵌入进行拼接,得到节点嵌入结果,并利用邻接矩阵表示中间表示形式上的边之间的关系,得到边嵌入结果。
S13、采用门控神经网络对所述节点嵌入结果和所述边嵌入结果进行聚合,得到所述源域的第二漏洞样本。
其中,门控神经网络用于学习中间表示形式对应的图上的语法和语义信息,并对图上的所有节点嵌入结果(节点嵌入结果)进行传播和聚合得到图嵌入形式的源域的第二漏洞样本。
较优地,所述S12具体包括:
S121、采用one-hot编码对所述节点对应的节点类型进行向量转化,得到节点类型嵌入结果。
其中,one-hot编码用于将节点类型转化为向量表示的形式。
S122、采用word2vec模型对所述节点对应的源代码进行向量转化,得到源代码部分的嵌入结果。
其中,word2vec模型用于将节点对应的源代码转化为向量表示的形式,得到源代码部分的嵌入结果。
S123、对所述节点类型嵌入结果和所述源代码部分的嵌入结果进行拼接,得到所述节点嵌入结果。
较优地,所述预设神经网络模型包括:预设特征生成器、预设分类器和预设差异度量器。
其中,预设特征生成器由全连接神经网络构成,用于把图嵌入形式的漏洞样本映射到新的特征空间。预设分类器根据源域上的监督信息生成分类损失。预设差异度量器计算经过预设特征生成器转化后源域和目标域上样本特征分布之间的差异。
所述S2具体包括:
S21、将所述源域的第二漏洞样本和所述目标域的第二漏洞样本输入所述预设特征生成器进行特征提取,得到第一源域样本特征和第一目标域样本特征。
其中,由于来自不同域的漏洞样本有着不同的特征分布,影响漏洞检测算法的泛化能力,采用预设特征生成器训练一个目标特征生成器将来自不同域样本的特征映射到同一个概率分布中。
具体地,源域的第二漏洞样本xs(有标签ys)和目标域的第二漏洞样本xt分别通过特征生成器,得到第一源域样本特征fs和第一目标域样本特征ft。
S22、利用所述预设分类器获取所述第一源域样本特征的分类结果,并根据交叉熵计算所述分类结果的分类损失。
S23、将所述第一源域样本特征和所述第一目标域样本特征分别经过所述预设差异度量器转化,生成第二源域样本特征和第二目标域样本特征,并根据最大均值差异计算所述第二源域样本特征和所述第二目标域样本特征之间的差异,得到域间特征分布差异。
其中,第一源域样本特征fs和第一目标域样本特征ft分别经过度量器转化得到第二源域样本特征f′s和第二目标域样本特征f′t,并使用最大均值差异计算他们之间的域间特征分布差异Lossd。
S24、根据所述分类损失和所述域间特征分布差异得到目标分类损失,并根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型。
较优地,所述根据所述分类损失和所述域间特征分布差异得到目标分类损失,具体包括:
根据融合损失计算公式,将所述分类损失和所述域间特征分布差异进行融合,得到所述目标分类损失;所述融合损失计算公式为:Loss=LossC+ λLossd,Lossc为所述分类损失,Lossd为所述域间特征分布差异,Loss为所述目标分类损失,λ为用于调节域间特征分布差异的权重。
较优地,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器。
其中,如图2所示,在检测阶段首先将目标域的待检测漏洞样本进行图嵌入转化,并将图嵌入转化后的待检测漏洞样本依次经过目标特征生成器和目标分类器进行处理,直至产生待检测漏洞样本的检测结果。
所述S3具体包括:
S31、对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本。
S32、将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征。
S33、将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
较优地,在所述S24之后,还包括:
根据所述目标特征生成器,将所述源域的第一源域样本特征和第一目标域样本特征映射至同一个概率分布,以实现从所述源域至所述目标域的深度域迁移。
具体地,通过对目标神经网络模型中的目标特征生成器进行训练优化,将源域样本特征和目标域样本特征映射至同一个概率分布,实现从所述源域至所述目标域的深度域迁移。
较优地,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器。
其中,如图2所示,在检测阶段首先将目标域的待检测漏洞样本进行图嵌入转化,并将图嵌入转化后的待检测漏洞样本依次经过目标特征生成器和目标分类器进行处理,直至产生待检测漏洞样本的检测结果。
所述S3具体包括:
S31、对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本。
S32、将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征。
S33、将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
本实施例的技术方案通过将源域漏洞样本和目标域漏洞样本经过图嵌入和深度域自适应方式进行训练,解决了在已有方法中的漏洞模式学习和不同域之间概率分布差异的问题,通过在目标域完全没有监督信息参与训练或少量数据参与训练的情形下,克服了在检测跨域漏洞时由于分布差异导致的性能降低的问题。
如图3所示,本发明实施例的一种跨域漏洞检测系统,包括:
处理模块210、优化模块220和检测模块230;
所述处理模块210用于:对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本;
所述优化模块220用于:根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;
所述检测模块230用于:根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
较优地,所述处理模块210具体包括:第一处理模块211、第二处理模块212和第三处理模块213;
所述第一处理模块211用于:采用joern提取所述源域的第一漏洞样本中的元素关系,并根据所述元素关系生成所述源域的第一漏洞样本所对应的中间表示形式,所述中间表示形式包括:由节点和边所构成的图形式;
所述第二处理模块212用于:将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,并利用邻接矩阵表示边,得到边嵌入结果;
所述第三处理模块213用于:采用门控神经网络对所述节点嵌入结果和所述边嵌入结果进行聚合,得到所述源域的第二漏洞样本。
较优地,所述第二处理模块212具体用于:
采用one-hot编码对所述节点对应的节点类型进行向量转化,得到节点类型嵌入结果。
采用word2vec模型对所述节点对应的源代码进行向量转化,得到源代码部分的嵌入结果。
对所述节点类型嵌入结果和所述源代码部分的嵌入结果进行拼接,得到所述节点嵌入结果。
较优地,所述预设神经网络模型包括:预设特征生成器、预设分类器和预设差异度量器;所述优化模块220具体包括:第一优化模块221、第二优化模块222、第三优化模块223和第四优化模块224;
所述第一优化模块221用于:将所述源域的第二漏洞样本和所述目标域的第二漏洞样本输入所述预设特征生成器进行特征提取,得到第一源域样本特征和第一目标域样本特征;
所述第二优化模块222用于:利用所述预设分类器获取所述第一源域样本特征的分类结果,并根据交叉熵计算所述分类结果的分类损失;
所述第三优化模块223用于:将所述第一源域样本特征和所述第一目标域样本特征分别经过所述预设差异度量器转化,生成第二源域样本特征和第二目标域样本特征,并根据最大均值差异计算所述第二源域样本特征和所述第二目标域样本特征之间的差异,得到域间特征分布差异;
所述第四优化模块224用于:根据所述分类损失和所述域间特征分布差异得到目标分类损失,并根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型。
较优地,所述第四优化模块224具体用于:根据融合损失计算公式,将所述分类损失和所述域间特征分布差异进行融合,得到所述目标分类损失;所述融合损失计算公式为:Loss=LossC+λLossd,Lossc为所述分类损失, Lossd为所述域间特征分布差异,Loss为所述目标分类损失,λ为用于调节域间特征分布差异的权重。
较优地,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器;所述检测模块230具体用于:
对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本;
将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征;
将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
较优地,在所述第四优化模块224之后,还包括:转化模块225;
所述转化模块225用于:根据所述目标特征生成器,将所述源域的第一源域样本特征和第一目标域样本特征映射至同一个概率分布,以实现从所述源域至所述目标域的深度域迁移。
本实施例的技术方案通过将源域漏洞样本和目标域漏洞样本经过图嵌入和深度域自适应方式,解决了在已有方法中的漏洞模式学习和不同域之间概率分布差异的问题,通过在目标域完全没有监督信息参与训练或少量数据参与训练的情形下,克服了在检测跨域漏洞时由于分布差异导致的性能降低的问题。
上述关于本实施例的一种跨域漏洞检测系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种跨域漏洞检测方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如一种跨域漏洞检测方法的步骤,具体可参考上文中一种跨域漏洞检测方法的实施例中的各参数和步骤,在此不做赘述。
计算机存储介质例如:优盘、移动硬盘等。
本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如一种跨域漏洞检测方法的步骤,具体可参考上文中一种跨域漏洞检测方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为方法、装置、存储介质和电子设备。
因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器 (RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种跨域漏洞检测方法,其特征在于,包括:
对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本;
根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;
根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
2.根据权利要求1所述的跨域漏洞检测方法,其特征在于,所述源域的第一漏洞样本和所述目标域的第一漏洞样本均为源代码形式,所述源域的第二漏洞样本和所述目标域的第二漏洞样本均为图嵌入形式;所述对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,具体包括:
采用joern提取所述源域的第一漏洞样本中的元素关系,并根据所述元素关系生成所述源域的第一漏洞样本所对应的中间表示形式,所述中间表示形式为:由节点和边所构成的图形式;
将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,并利用邻接矩阵表示边,得到边嵌入结果;
采用门控神经网络对所述节点嵌入结果和所述边嵌入结果进行聚合,得到所述源域的第二漏洞样本。
3.根据权利要求2所述的跨域漏洞检测方法,其特征在于,
所述将所述节点对应的源代码和所述节点对应的节点类型进行向量转化并进行拼接,得到节点嵌入结果,具体包括:
采用one-hot编码对所述节点对应的节点类型进行向量转化,得到节点类型嵌入结果;
采用word2vec模型对所述节点对应的源代码进行向量转化,得到源代码部分的嵌入结果;
对所述节点类型嵌入结果和所述源代码部分的嵌入结果进行拼接,得到所述节点嵌入结果。
4.根据权利要求1所述的跨域漏洞检测方法,其特征在于,所述预设神经网络模型包括:预设特征生成器、预设分类器和预设差异度量器;所述根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型,具体包括:
将所述源域的第二漏洞样本和所述目标域的第二漏洞样本输入所述预设特征生成器进行特征提取,得到第一源域样本特征和第一目标域样本特征;
利用所述预设分类器获取所述第一源域样本特征的分类结果,并根据交叉熵计算所述分类结果的分类损失;
将所述第一源域样本特征和所述第一目标域样本特征分别经过所述预设差异度量器转化,生成第二源域样本特征和第二目标域样本特征,并根据最大均值差异计算所述第二源域样本特征和所述第二目标域样本特征之间的差异,得到域间特征分布差异;
根据所述分类损失和所述域间特征分布差异得到目标分类损失,并根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型。
5.根据权利要求4所述的跨域漏洞检测方法,其特征在于,所述根据所述分类损失和所述域间特征分布差异得到目标分类损失,具体包括:
根据融合损失计算公式,将所述分类损失和所述域间特征分布差异进行融合,得到所述目标分类损失;所述融合损失计算公式为:Loss=LossC+λLossd,Lossc为所述分类损失,Lossd为所述域间特征分布差异,Loss为所述目标分类损失,λ为用于调节域间特征分布差异的权重。
6.根据权利要求4或5所述的跨域漏洞检测方法,其特征在于,所述目标神经网络模型包括:目标特征生成器、目标分类器和目标差异度量器;所述根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果,具体包括:
对所述目标域的待检测漏洞样本进行图嵌入转化,得到经过图嵌入转化的所述目标域的待检测漏洞样本;
将所述经过图嵌入转化的所述目标域的待检测漏洞样本输入所述目标特征生成器进行特征提取,得到所述目标域的待检测样本特征;
将所述目标域的待检测样本特征输入所述目标分类器,得到所述目标域的待检测漏洞样本的检测结果。
7.根据权利要求6所述的跨域漏洞检测方法,其特征在于,在所述根据所述目标分类损失对所述预设神经网络模型进行优化,得到所述目标神经网络模型之后,还包括:
根据所述目标特征生成器,将所述源域的第一源域样本特征和第一目标域样本特征映射至同一个概率分布,以实现从所述源域至所述目标域的深度域迁移。
8.一种跨域漏洞检测系统,其特征在于,包括:处理模块、优化模块和检测模块;
所述处理模块用于:对源域的第一漏洞样本进行图嵌入转化,得到所述源域的第二漏洞样本,并对目标域的第一漏洞样本进行图嵌入转化,得到所述目标域的第二漏洞样本;
所述优化模块用于:根据所述源域的第二漏洞样本和所述目标域的第二漏洞样本对预设神经网络模型进行优化,得到目标神经网络模型;
所述检测模块用于:根据经过图嵌入转化的所述目标域的待检测漏洞样本和所述目标神经网络模型,得到所述目标域的待检测漏洞样本的检测结果。
9.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至7中任一项所述的跨域漏洞检测方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如权利要求1至7中任一项所述的跨域漏洞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210233417.7A CN114579981B (zh) | 2022-03-10 | 2022-03-10 | 一种跨域漏洞检测方法、系统、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210233417.7A CN114579981B (zh) | 2022-03-10 | 2022-03-10 | 一种跨域漏洞检测方法、系统、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579981A true CN114579981A (zh) | 2022-06-03 |
CN114579981B CN114579981B (zh) | 2022-11-01 |
Family
ID=81778747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210233417.7A Active CN114579981B (zh) | 2022-03-10 | 2022-03-10 | 一种跨域漏洞检测方法、系统、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579981B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639344A (zh) * | 2020-07-31 | 2020-09-08 | 中国人民解放军国防科技大学 | 一种基于神经网络的漏洞检测方法及装置 |
WO2021147325A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 一种物体检测方法、装置以及存储介质 |
WO2021148145A1 (en) * | 2020-01-20 | 2021-07-29 | Atos Information Technology GmbH | Method for intrusion detection to detect malicious insider threat activities and system for intrusion detection |
CN113904844A (zh) * | 2021-10-08 | 2022-01-07 | 浙江工商大学 | 基于跨模态教师-学生网络的智能合约漏洞检测方法 |
-
2022
- 2022-03-10 CN CN202210233417.7A patent/CN114579981B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021148145A1 (en) * | 2020-01-20 | 2021-07-29 | Atos Information Technology GmbH | Method for intrusion detection to detect malicious insider threat activities and system for intrusion detection |
WO2021147325A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 一种物体检测方法、装置以及存储介质 |
CN111639344A (zh) * | 2020-07-31 | 2020-09-08 | 中国人民解放军国防科技大学 | 一种基于神经网络的漏洞检测方法及装置 |
CN113904844A (zh) * | 2021-10-08 | 2022-01-07 | 浙江工商大学 | 基于跨模态教师-学生网络的智能合约漏洞检测方法 |
Non-Patent Citations (5)
Title |
---|
AO MA等: "Multi-source domain adaptation with graph embedding and adaptive label prediction", 《INFORMATION PROCESSING AND MANAGEMENT》 * |
GUANJUN LIN等: "POSTER: Vulnerability Discovery with Function Representation Learning from Unlabeled Projects", 《IN PROC. ACM SIGSAC CONFERENCE COMPUTER COMMUNICATION SECURITY》 * |
GUANJUNLIN 等: "Software Vulnerability Discovery via Learning Multi-domain Knowledge Bases", 《IEEE TRANS.DEPENDABLE SECURE COMPUT》 * |
GUANJUNLIN等: "cross-project transfer representation learning for vulnerable funcion discovery", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 * |
李韵等: "基于机器学习的软件漏洞挖掘方法综述", 《软件学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114579981B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222512B (zh) | 一种基于中间语言的软件漏洞智能检测与定位方法与系统 | |
US20210326728A1 (en) | Anomaly detection apparatus, anomaly detection method, and program | |
CN110309514A (zh) | 一种语义识别方法及装置 | |
Sony et al. | Multiclass damage identification in a full-scale bridge using optimally tuned one-dimensional convolutional neural network | |
CN108549817A (zh) | 一种基于文本深度学习的软件安全漏洞预测方法 | |
CN111160959B (zh) | 一种用户点击转化预估方法及装置 | |
CN112565187B (zh) | 基于逻辑回归的电网攻击检测方法、系统、设备及介质 | |
JP6943067B2 (ja) | 異常音検知装置、異常検知装置、プログラム | |
Yu et al. | Condition assessment of timber utility poles based on a hierarchical data fusion model | |
CN113343123B (zh) | 一种生成对抗多关系图网络的训练方法和检测方法 | |
CN110619216A (zh) | 一种对抗性网络的恶意软件检测方法及系统 | |
CN116881916B (zh) | 基于异质图神经网络的恶意用户检测方法及装置 | |
CN114579981B (zh) | 一种跨域漏洞检测方法、系统、存储介质和电子设备 | |
CN116307269B (zh) | 一种基于人工智能的光伏发电功率预测方法及装置 | |
CN114168788A (zh) | 音频审核的处理方法、装置、设备及存储介质 | |
Srivastava et al. | A study on robustness to perturbations for representations of environmental sound | |
CN116680639A (zh) | 一种基于深度学习的深海潜水器传感器数据的异常检测方法 | |
CN114385512B (zh) | 软件源代码缺陷检测方法及装置 | |
Fuentes Jr et al. | Leak detection in water distribution networks via pressure analysis using a machine learning ensemble | |
CN115423045A (zh) | 一种基于gan网络和元学习的系统日志检测方法及系统 | |
CN111209567B (zh) | 提高检测模型鲁棒性的可知性判断方法及装置 | |
CN115398442A (zh) | 用于评估传感器测量值的设备和自动化方法和该设备的应用 | |
Wang | [Retracted] Recognition and Error Correction Techniques for Piano Playing Music Based on Convolutional Cyclic Hashing Method | |
CN115865458B (zh) | 基于lstm和gat算法的网络攻击行为检测方法、系统及终端 | |
Xie et al. | Acoustic features for multi-level classification of Australian frogs |
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 |