CN113254939A - 基于多注意力机制和自适应学习的智能合约漏洞检测方法 - Google Patents

基于多注意力机制和自适应学习的智能合约漏洞检测方法 Download PDF

Info

Publication number
CN113254939A
CN113254939A CN202110551311.7A CN202110551311A CN113254939A CN 113254939 A CN113254939 A CN 113254939A CN 202110551311 A CN202110551311 A CN 202110551311A CN 113254939 A CN113254939 A CN 113254939A
Authority
CN
China
Prior art keywords
feature
intelligent contract
module
channel
function
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
CN202110551311.7A
Other languages
English (en)
Other versions
CN113254939B (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.)
Jiangsu University
Original Assignee
Jiangsu 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 Jiangsu University filed Critical Jiangsu University
Priority to CN202110551311.7A priority Critical patent/CN113254939B/zh
Publication of CN113254939A publication Critical patent/CN113254939A/zh
Application granted granted Critical
Publication of CN113254939B publication Critical patent/CN113254939B/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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于多注意力机制和自适应学习的智能合约漏洞检测方法,首先通过抽取智能合约交易行为的多维度原始特征构建数据集,其次提出一种深度学习多注意机制自适应权重模型AdaNet用以学习原始特征的重要性并挖掘不同特征间的关联关系;基于以上模型,针对智能合约漏洞领域样本正负样本不均衡问题通过最小化类AUC损失以获得比传统分类模型更强的泛化性能。

Description

基于多注意力机制和自适应学习的智能合约漏洞检测方法
技术领域
本发明属于网络安全技术领域,具体涉及一种基于多注意力机制和自适应学习的智能合约漏洞检测方法。
背景技术
智能合约,是一种以信息化的方式传播、验证或者执行合同的计算机协议。它在1995年由尼克萨博提出的概念。在智能合约中,所有规则公开透明,合约内的规则以及数据对外部可见,所有交易公开可见,不会存在任何虚假或者隐藏的交易,也就是说智能合约具有公开透明、不可篡改等特点。智能合约允许开发人员使用具有图灵完备性的脚本语言,例如Solidity,开发相关的应用,这些应用本质上就是智能合约的表现形式。智能合约虽然极大的扩展了区块链的应用场景与现实意义,但是,智能合约的本身是一段程序,例如运行于以太坊虚拟机中,近年来针对智能合约的攻击导致的安全事件时有发生,如果这些异常交易行为如果能及时发现并做出响应,将能极大程度避免或降低经济损失。
目前智能合约的异常检测有两种手段,分别是分工审计和自动化审计。随着智能合约数目的日益增长,人工审计费力耗时效率低下,显然不匹配当前背景下的智能合约漏洞检测;而自动化审计有三种,分别是基于特征的代码匹配、基于形式化验证的自动化审计以及基于符号执行和符号抽象的自动化审计,基于特征的代码匹配能快速响应新漏洞,而基于形式化验证的自动化审计以及基于符号执行和符号抽象的自动化审计可以有效的降低智能合约漏洞检测的误报率和漏报率。
尽管上述的自动化审计方法有智能合约异常检测中取得了一定的效果,但是在以下几个方面仍有待进一步完善:(1)智能合约中的函数和特征变化性比较多,特征不稳定,这造成特征码的定位难度加大,特征码的有效性降低;(2)基于形式化验证的审计方法自动化程度低,需要技术人员二次校验;(3)分析方法复杂繁琐需要比较长的分析时间,并且智能合约功能的正确性无法验证;(4)误报率较高。
随着深度学习技术的逐渐成熟,基于深度学习实现的目标检测、图像识别技术已经广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。这得益于深度学习可以自动提取鲁棒性强的特征,并且可以端到端的解决任务,将深度学习用于检测智能合约异常任务,可以有效提取高层次有效的特征,而且接口封装程度高,只需将智能合约的字节码文件作为神经网络的输入,经网络计算获得网络预测结果,实验发现用深度学习去检测智能合约漏洞,具有更低的误报率。
然而,智能合约的特征过于庞大,导致训练的成本高,耗时久,此外,智能合约构建的数据集往往是良性样本远远多于恶意样本,也就是说无漏洞的样本数(良性)多于有漏洞的样本数(恶意),而普通的深度学习方法采用的是交叉熵损失函数来训练,导致训练出的模型漏报率较高。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于多注意力机制和自适应学习的智能合约漏洞检测方法,本发明从加速模型训练和降低漏报率两个角度切入,该检测方法兼具轻量级和低漏报率的功能。
技术方案:本发明的一种基于多注意力机制和自适应学习的智能合约漏洞检测方法,包括以下步骤:
步骤S1、爬取与智能合约交易相关记录并构建样本集,该样本集为正负样本不均衡数据集;
步骤S2、提取数据样本集中的原始特征并构建特征矩阵如下:
X=(x1,x2,...,xN)∈RM×N
其中,M是指统计出来的特征数目,即数据集的原始特征维度,N表示样本的数量;1≤i≤N,1≤j≤M;记xi(特征矩阵第i个列向量)为第i个特征向量,fj为第j个特征;
若智能合约特征向量xi存在特征fj所表征的现象,则xij对应的值为1,否则值为0;
以80%,20%的比例划分特征矩阵X,得到训练集特征矩阵与测试集特征矩阵,以下简称训练集与测试集;
步骤S3、构建深度神经网络AdaNet
步骤S3.1、构建DSE模块,将步骤S2中获得的高维度智能合约特征有序放入多个通道中,用于加速深度学习网络的训练和提取多样化特征;
步骤S3.2、构建MA模块,MA模块具有三条不同感受野的通道,同时配备不同的注意力机制模块,用于提取不同维度的特征;
步骤S3.3、构建AdaLoss损失函数,自适应平衡正负样本的损失,并结合反向传播算法训练网络;
步骤S4、将步骤S2构建的样本集放入由步骤S3组成的深度神经网络AdaNet,进行端到端的学习,通过AdaNet的学习,提炼出深层次高语义的特征,智能合约异常检测模型来进行智能合约异常检测;
步骤S5、在测试阶段,将步骤S2中产生的测试集输入到步骤S4中训练完成的智能合约异常检测模型,并给出预测结果。进一步地,所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S2中原始特征包括代码层漏洞特征和虚拟机层漏洞特征;
其中,智能合约代码层漏洞特征包括危险的delegate call、可重入漏洞、算数上/下溢、默认函数类型以及外部调用的返回值;
虚拟机层漏洞特征包括Tx.Origin漏洞、短地址攻击。
进一步地,所述步骤S3.1中构建DSE模块的具体过程如下:
步骤S3.1.1、降维
使用一个全连接层,将特征数为M的原始特征xi降维至大小为k的新特征yi,且新特征yi中的每一个单元yij,1≤j≤k都含有所有原始特征的信息;
步骤S3.1.2、计算每个特征的重要性
将新特征y输入到双层的全连接层,第一层全连接层采用的激活函数是RectifiedLinear Unit(ReLU),目的是增加网络的非线性和使网络具有稀疏性,第二层全连接层采用的激活函数是sigmoid,由于其输出范围是0~1,可以用于表征每一个特征的重要性,此处将其输出值设为p;
步骤S3.1.3、将步骤S3.1.1得到的新特征yi和步骤S3.1.2得到的输出值p相乘,得到新特征向量z,然后将通道数为1的特征向量z重塑成多通道的特征向量z',其中z的形状为(N,k,1),而z'的形状为(N,l,t),k,l,t均为人为可选择的超参数,选择时需满足k=1×t、l<<t以及1<l;重塑过程为:将z的维度变换为z'的维度。重塑过程只涉及张量维度变换,不涉及其它任何算术运算。
然后将新特征向量z'作为深度学习网络的输入。
进一步地,所述步骤S3.2构建MA模块的具体过程如下:
步骤S3.2.1、构建MA模块第一通道,即整体感知通道
假设输入的特征为xi经过空洞卷积计算后的特征为yi,最后经过注意力公式计算得到特征为z',和MA模块其他两层的输出一起作为下一层神经网络的输入特征;
步骤S3.2.2、构建MA模块的第二通道:局部感知通道
采用多个小卷积核连续卷积的方式进行特征的提取;假设卷积核的大小为p,堆叠q个这样的卷积核,最终的感受野rf大小为:
rf=p+(q-1)×(p-1)
根据第一通道中的感受野大小来堆叠若干个小卷积核从而达到和第一通道一样的感受野;
设卷积运算为f(),输入特征为x,卷积后的结果为y,则有如下公式:
y=f(f(...f(x)...))
此处引入通道注意力机制,即通过反向传播来学习每一个通道特征的重要性;此处注意力计算需依次进行挤压和激励;
最后将激励后的结果s与卷积后的结果yi进行乘法运算得到输出z2,与MA模块的其他通路输出一起作为下一层网络结构的输入特征;
步骤S3.2.3、构建MA模块的第三通道,即降维通道
通过进行卷积核为1×1的卷积计算并进行ReLU激活,即z3=δ(xi);
步骤S3.2..4、融合
将MA模块前三条通道的输出结果z1,z2,z3相加并进行一次ReLU激活,即o=δ(z1+z2+z3),δ()是ReLU激活函数,将o作为下一个MA模块的输入特征,如此堆叠多个MA模块。
进一步地,所述步骤S3.1.1的详细过程如下:
采用空洞卷积生成下一级的特征,空洞卷积的感受野rf大小计算如下:
rf=a+(a-1)×(d-1)
此处,a是原来的卷积核大小,d为空洞卷积模块的超参数;
然后通过非局部均值注意力机制对特征进行注意力计算,进而得到符合智能合约的特征;
使用非局部均值注意力机制计算时需要使用两个函数:f函数和g函数;
g函数是一个线性转化公式,具体是
g(xj)=Wgxj
其中Wg是需要学习的权重矩阵;
f函数是计算特征xi和xj的相似度,即
Figure BDA0003075338590000051
将f函数和g函数整合并归一化后得到的公式如下:
Figure BDA0003075338590000052
进一步地,所述步骤S3.1.2中通过挤压操作将特征图转为特征值:
进一步地,所述步骤S3.3构建AdaLoss损失函数的详细过程如下:
步骤S3.3.1、计算整个样本中正负样本的权重
假设正样本的数量为m,负样本的数量为n,那正样本的权重为α=n/(n+m),负样本的权重为β=m/(n+m),其中α+β=1;
步骤S3.3.2、利用步骤S S3.3.1计算出的权重来计算加权交叉熵,公式如下:
L=-αylogy'-β(1-y)log(1-y')
其中y'是神经网络的输出值,而y是样本的标签,即真实值;
步骤S3.3.3、优化AUC
在不平衡问题中,AUC是评定模型好坏的重要指标,然而AUC是不可微的,因此无法直接参与反向传播,也就是说直接优化AUC通常是一个NP难问题,但是可以根据Wilcoxon-Mann-Whitney系数来对AUC做极大似然估计。通过最小化WMW系数的损失值达到优化AUC的目的,具体的优化公式如下:
Figure BDA0003075338590000061
其中y'm_i是神经网络中正类的输出值,y'n_j是负类的输出值,γ和p则是网络的超参数,γ∈(0,1),p>1;
步骤S3.3.4、合并损失函数
将步骤S3.3.2获得加权交叉熵和步骤S3.3.3获得的WMW损失值加和,另外在WMW前面加一个w权重更佳,即合并后的损失函数如下:
Figure BDA0003075338590000062
Figure BDA0003075338590000063
将新的损失函数(AdaLoss损失函数)代替原始的二分类交叉熵损失函数进行模型训练,而新的损失函数具有更低的假阴性,更高的AUC,适用于不平衡任务优化的场景。
通过反向传播训练好的AdaNet输出的概率值经过转换即为最后的输出结果。
有益效果:本发明首先通过挖掘与智能合约交易相关数据,其次基于深度学习提出一种多注意机制自适应权重用以降低原始特征中冗余特征的影响并自动学习稠密的、具有语义信息的样本特征,并且本发明提出了全新的损失函数AdaLoss,解决了业界内不平衡问题中低AUC得分的缺陷。
与现有技术相比,本发明具有以下优点:
(1)更强的特征选择能力:本发明降低了深度学习中冗余特征对模型训练效果起到的副作用,并且通过多注意力机制实现了对重要特征的捕捉,使得模型具有更鲁棒的性能。
(2)不均衡样本集中仍可获得强泛化性能:传统分类模型在智能合约漏洞检测过程依赖于训练集中的数据分布,本发明解决了传统分类模型在异常行为出现初期已知样本缺乏的情况下其检测的准确率和AUC等指标较低的问题。
附图说明
图1为实施例的整体流程示意图;
图2为实施例中抽取原始特征形成特征向量的示意图;
图3为实施例中构建DSE模块示意图;
图4为实施例中构建MA模块示意图;图5为实施例中构建AdaLoss损失函数的示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
本发明包括以下三个部分:
(1)原始数据集构建;
(2)构建深度神经网络AdaNet,并进行模型训练,其中深度神经网AdaNet包含三个步骤:
①DSE模块,将繁多的智能合约特征有序放入多个通道中,用于加速深度学习网络的训练;②MA模块,该模块有三条不同感受野的通道,同时配备不同的注意力机制模块,用于提取不同维度的特征;③AdaLoss损失函数,自适应平衡正负样本的损失,经过反向传播有效的训练网络;
(3)测试模型。
如图1所示,本实施例的基于多注意力机制和自适应学习的智能合约漏洞检测方法,包括以下步骤:
步骤S1、爬取与智能合约交易相关记录构建样本集,样本集为正负样本不均衡数据集;
步骤S2、提取数据样本集中的原始特征并构建特征矩阵如下:
X=(x1,x2,...,xN)∈RM×N
其中,M是指统计出来的特征数目,即数据集的原始特征维度,N表示样本的数量;1≤i≤N,1≤j≤M;记xi(特征矩阵第i个列向量)为第i个特征向量,fj为第j个特征;
若智能合约特征向量xi存在特征fj所表征的现象,则xij对应的值为1,否则值为0;
以80%,20%的比例划分特征矩阵X,得到训练集特征矩阵与测试集特征矩阵,以下简称训练集与测试集。
步骤S3、构建深度神经网络AdaNet,如图3至图5所示;
步骤S3.1、构建DSE模块,将步骤S2中获得的高维度智能合约特征有序放入多个通道中,进而加速深度学习网络的训练和提取多样化特征;
步骤S3.2、构建MA模块,MA模块具有三条不同感受野的通道,同时使用不同的注意力机制模块来提取不同维度的特征;
步骤S3.3、构建AdaLoss损失函数,来自适应平衡正负样本的损失,并结合反向传播算法训练网络;
步骤S4、将步骤S2构建的样本集放入由步骤S3组成的深度神经网络AdaNet,进行端到端的学习,通过深度神经网络AdaNet的学习,得到智能合约异常检测模型;
步骤S5、在测试阶段,将步骤S2中产生的测试集输入到步骤S4中训练完成的智能合约异常检测模型,并给出预测结果。
为评估本发明在网络交易行为检测时的有效性,本实施例引入的相关评估标准分别:精度(Precision),准确率(Accuracy),召回率(Recall),灵敏度(Sensitivity),F-measure分别定义如下:
Figure BDA0003075338590000081
Figure BDA0003075338590000082
Figure BDA0003075338590000083
Figure BDA0003075338590000084
Figure BDA0003075338590000085
其中,TP(true Positive):真正例,是被分类器正确分类的正样本;TN(TrueNegative):真负例,是指被分类器正确分类的负样本;FP(False Positive):指被错误地标记为正样本的负样本;FN(False Negative):被错误地标记为负样本的正样本。
综上所述,本发明首先获取原始特征,然后使用one-hot编码构成特征向量文件;其次提出一种对冗余特征具有选择性的深度学习多注意机制自适应权重模型AdaNet,将其用于对数据集的数据挖掘;基于以上模型,提出AdaLoss损失函数,以获得比单传统分类模型更强的泛化性能,尤其是在正负样本不均衡的情况下。

Claims (7)

1.一种基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:包括以下步骤:
步骤S1、爬取与智能合约交易相关记录并构建样本集,该样本集为正负样本不均衡数据集;
步骤S2、提取数据样本集中的原始特征并构建特征矩阵如下:
X=(x1,x2,...,xN)∈RM×N
其中,M是指统计出来的特征数目,即数据集的原始特征维度,N表示样本的数量;1≤i≤N,1≤j≤M;记xi为第i个特征向量,fj为第j个特征;
若智能合约特征向量xi存在特征fj所表征的现象,则xij对应的值为1,否则值为0;
步骤S3、构建深度神经网络AdaNet
步骤S3.1、构建DSE模块,将步骤S2中获得的所有高维度智能合约特征向量有序放入多个通道中,进而加速深度学习网络的训练和提取多样化特征;
步骤S3.2、构建MA模块,MA模块具有三条不同感受野的通道,同时使用不同的注意力机制模块来提取不同维度的特征;
步骤S3.3、构建AdaLoss损失函数来自适应平衡正负样本的损失,并结合反向传播算法训练网络;
步骤S4、将步骤S2构建的样本集放入由步骤S3组成的深度神经网络AdaNet,进行端到端的学习,通过深度神经网络AdaNet的学习,得到智能合约异常检测模型;
步骤S5、在测试阶段,将步骤S2中产生的测试集输入到步骤S4中训练完成的智能合约异常检测模型,并给出预测结果。
2.根据权利要求1所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S2中原始特征包括代码层漏洞特征和虚拟机层漏洞特征;
其中,智能合约代码层漏洞特征包括危险的delegate call、可重入漏洞、算数上/下溢、默认函数类型以及外部调用的返回值;
虚拟机层漏洞特征包括Tx.Origin漏洞、短地址攻击。
3.根据权利要求1所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S3.1中构建DSE模块的具体过程如下:
步骤S3.1.1、降维
使用一个全连接层,将特征数为M的原始特征xi降维至大小为k的新特征yi,且新特征yi中的每一个单元yij,1≤j≤k都含有所有原始特征的信息;
步骤S3.1.2、计算每个特征的重要性
将新特征yi输入到双层的全连接层,第一层全连接层采用激活函数ReLU,第二层全连接层采用激活函数sigmoid,由于其输出范围是0~1,此处将其输出值设为p;
步骤S3.1.3、将步骤S3.1.1得到的新特征yi和步骤S3.1.2得到的输出值p相乘,得到新特征向量z,然后将通道数为1的特征向量z重塑成多通道的特征向量z',其中z的形状为(N,k,1),而z'的形状为(N,l,t),k,l,t均为人为可选择的超参数,选择时需满足k=1×t、l<<t以及1<l;重塑过程为:将z的维度变换为z'的维度;
然后将新特征向量z'作为深度学习网络的输入。
4.根据权利要求1所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S3.2构建MA模块的具体过程如下:
步骤S3.2.1、构建MA模块第一通道,即整体感知通道
假设输入的特征为xi经过空洞卷积计算后的特征为yi,最后经过注意力公式计算得到特征为z',和MA模块其他两层的输出一起作为下一层神经网络的输入特征;
步骤S3.2.2、构建MA模块的第二通道:局部感知通道
采用多个小卷积核连续卷积的方式进行特征的提取;假设卷积核的大小为p,堆叠q个这样的卷积核,最终的感受野rf大小为:
rf=p+(q-1)×(p-1)
根据第一通道中的感受野大小来堆叠若干个小卷积核从而达到和第一通道一样的感受野;
设卷积运算为f(),输入特征为x,卷积后的结果为y,则有如下公式:
y=f(f(...f(x)...))
此处引入通道注意力机制,即通过反向传播来学习每一个通道特征的重要性;此处注意力计算需依次进行挤压和激励;
最后将激励后的结果s与卷积后的结果yi进行乘法运算得到输出z2,与MA模块的其他通路输出一起作为下一层网络结构的输入特征;
步骤S3.2.3、构建MA模块的第三通道,即降维通道
通过进行卷积核为1×1的卷积计算并进行ReLU激活,即z3=δ(xi);
步骤S3.2..4、融合
将MA模块前三条通道的输出结果z1,z2,z3相加并进行一次ReLU激活,即o=δ(z1+z2+z3),δ()是ReLU激活函数,将o作为下一个MA模块的输入特征,如此堆叠多个MA模块。
5.根据权利要求4所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S3.1.1的详细过程如下:
采用空洞卷积生成下一级的特征,空洞卷积的感受野rf大小计算如下:
rf=p+(p-1)×(d-1)
此处,p是原来的卷积核大小,d为空洞卷积模块的超参数;
然后通过非局部均值注意力机制对特征进行注意力计算,进而得到符合智能合约的特征;
使用非局部均值注意力机制计算时需要使用两个函数:f函数和g函数;
g函数是一个线性转化公式,具体是
g(xj)=Wgxj
其中Wg是需要学习的权重矩阵;
f函数是计算特征xi和xj的相似度,即
Figure FDA0003075338580000041
将f函数和g函数整合并归一化后得到的公式如下:
Figure FDA0003075338580000042
6.根据权利要求4所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S3.1.2中通过挤压操作将特征图转为特征值:
假设输出的特征图u大小是(N,u,v),那么经过挤压操作之后的输出大小就是(N,1,v),具体的计算公式如下
Figure FDA0003075338580000043
所述激励操作使用sigmoid激活函数来计算各个通道之间的依赖性;
此处将挤压操作后的特征先通过一个全连接层用于降维,然后再计算各个通道的依赖性,具体公式如下:
k=Fex(s,W)=σ(g(s,W))=σ(W2δ(W1s))
其中σ()是sigmoid激活函数,δ()是ReLU激活函数。
7.根据权利要求1所述的基于多注意力机制和自适应学习的智能合约漏洞检测方法,其特征在于:所述步骤S3.3构建AdaLoss损失函数的详细过程如下:
步骤S3.3.1、计算整个样本中正负样本的权重
假设正样本的数量为m,负样本的数量为n,那正样本的权重为α=n/(n+m),负样本的权重为β=m/(n+m),其中α+β=1;
步骤S3.3.2、利用步骤S3.3.1计算出的权重来计算加权交叉熵,公式如下:
L=-αylogy'-β(1-y)log(1-y')
其中y'是神经网络的输出值,而y是样本的标签,即真实值;
步骤S3.3.3、优化AUC
使用最小化WMW系数的损失值来优化AUC,具体优化公式如下:
Figure FDA0003075338580000051
其中y'm_i是神经网络中正类的输出值,y'n_j是负类的输出值,γ和p则是网络的超参数
步骤S3.3.4、合并损失函数
将步骤S3.3.2获得加权交叉熵和步骤S3.3.3获得的WMW损失值加和,同时在WMW前面加一个w权重,即合并后的损失函数如下:
Figure FDA0003075338580000052
Figure FDA0003075338580000053
最终通过反向传播训练好的AdaNet输出的概率值经过转换即为最后的输出结果。
CN202110551311.7A 2021-05-20 2021-05-20 基于多注意力机制和自适应学习的智能合约漏洞检测方法 Active CN113254939B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110551311.7A CN113254939B (zh) 2021-05-20 2021-05-20 基于多注意力机制和自适应学习的智能合约漏洞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110551311.7A CN113254939B (zh) 2021-05-20 2021-05-20 基于多注意力机制和自适应学习的智能合约漏洞检测方法

Publications (2)

Publication Number Publication Date
CN113254939A true CN113254939A (zh) 2021-08-13
CN113254939B CN113254939B (zh) 2024-04-19

Family

ID=77182972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110551311.7A Active CN113254939B (zh) 2021-05-20 2021-05-20 基于多注意力机制和自适应学习的智能合约漏洞检测方法

Country Status (1)

Country Link
CN (1) CN113254939B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116958767A (zh) * 2023-07-14 2023-10-27 江苏大学 基于多模态技术的智能合约安全分析方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285740A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for malicious code detection
CN111340493A (zh) * 2020-03-04 2020-06-26 江苏大学 一种多维度分布式异常交易行为检测方法
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112182585A (zh) * 2020-09-29 2021-01-05 湖南大学 源代码漏洞检测方法、系统及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285740A1 (en) * 2017-04-03 2018-10-04 Royal Bank Of Canada Systems and methods for malicious code detection
CN111340493A (zh) * 2020-03-04 2020-06-26 江苏大学 一种多维度分布式异常交易行为检测方法
CN112035842A (zh) * 2020-08-17 2020-12-04 杭州云象网络技术有限公司 一种基于编码解码器的智能合约漏洞检测可解释性方法
CN112182585A (zh) * 2020-09-29 2021-01-05 湖南大学 源代码漏洞检测方法、系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. F. FERREIRA, 等: "Smartbugs: A framework to analyze solidity smart contracts", PROCEEDINGS OF THE 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, pages 1349 - 1352 *
X. YU等: "Deescvhunter: A deep learning-based framework for smart contract vulnerability detection", 2021 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), pages 1 - 8 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116958767A (zh) * 2023-07-14 2023-10-27 江苏大学 基于多模态技术的智能合约安全分析方法及系统
CN116958767B (zh) * 2023-07-14 2024-04-30 江苏大学 基于多模态技术的智能合约安全分析方法及系统

Also Published As

Publication number Publication date
CN113254939B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
CN113806746B (zh) 基于改进cnn网络的恶意代码检测方法
CN112541532B (zh) 基于密集连接结构的目标检测方法
CN113743675B (zh) 一种云服务QoS深度学习预测模型的构建方法和系统
CN113595998A (zh) 基于Bi-LSTM的电网信息系统漏洞攻击检测方法及装置
CN115811440B (zh) 一种基于网络态势感知的实时流量检测方法
CN113326187A (zh) 数据驱动的内存泄漏智能化检测方法及系统
CN116633601A (zh) 一种基于网络流量态势感知的检测方法
CN114611115A (zh) 一种基于混合图神经网络的软件源码漏洞检测方法
CN115344863A (zh) 一种基于图神经网络的恶意软件快速检测方法
CN116150757A (zh) 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法
CN116451567A (zh) 一种瓦斯负压抽采管道泄漏评估及智能处置方法
CN116304853A (zh) 一种极限学习机与特征提取相结合的数据分类方法及系统
CN116432184A (zh) 基于语义分析和双向编码表征的恶意软件检测方法
CN113609488B (zh) 基于自监督学习及多通道超图神经网络的漏洞检测方法与系统
CN113254939A (zh) 基于多注意力机制和自适应学习的智能合约漏洞检测方法
CN111898134B (zh) 基于LSTM和BiLSTM的智能合约漏洞检测方法和装置
CN117725592A (zh) 一种基于有向图注意力网络的智能合约漏洞检测方法
CN109508544B (zh) 一种基于mlp的入侵检测方法
CN116467720A (zh) 一种基于图神经网络的智能合约漏洞检测方法及电子设备
CN115962428A (zh) 一种燃气管网泄漏实时在线智能可解释性监测溯源方法
CN115758388A (zh) 一种基于低维字节码特征的智能合约的漏洞检测方法
CN115600211A (zh) 基于CNN-BiLSTM多标签分类的智能合约未知漏洞检测方法
US11657282B2 (en) Efficient inferencing with fast pointwise convolution
Li et al. On Testing and Evaluation of Artificial Intelligence Models
CN117556425B (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