[go: up one dir, main page]

CN116150757A - 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法 - Google Patents

一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法 Download PDF

Info

Publication number
CN116150757A
CN116150757A CN202211228581.5A CN202211228581A CN116150757A CN 116150757 A CN116150757 A CN 116150757A CN 202211228581 A CN202211228581 A CN 202211228581A CN 116150757 A CN116150757 A CN 116150757A
Authority
CN
China
Prior art keywords
cnn
classification model
opcode
lstm
vulnerability
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
Application number
CN202211228581.5A
Other languages
English (en)
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.)
Guangzhou University
Original Assignee
Guangzhou 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 Guangzhou University filed Critical Guangzhou University
Priority to CN202211228581.5A priority Critical patent/CN116150757A/zh
Publication of CN116150757A publication Critical patent/CN116150757A/zh
Pending legal-status Critical Current

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于CNN‑LSTM多分类模型的智能合约未知漏洞检测方法,包括:S1,在以太坊客户端Geth进行插桩;S2,通过已插桩的以太坊客户端Geth获得正常操作码序列集和漏洞操作码序列集;S3,预训练模型训练embedding词向量,获得词向量索引字典;S4,根据词向量索引字典将重放操作码序列转成特征向量矩阵,利用CNN神经网络降维;S5,利用降维后的特征向量矩阵对LSTM分类模型进行训练;S6,利用已插桩的以太坊客户端Geth实时收集交易产生的待测操作码序列;S7,在检测阶段,针对每个待测操作码序列,对分类模型给出的所有漏洞类别的概率值求和并与阈值比较,完成对未知漏洞的判定。

Description

一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法
技术领域
本发明涉及漏洞检测技术领域,具体涉及一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法。
背景技术
近些年深度学习的发展速度非常迅猛,因此研究者们开始尝试用深度学习的方法来检测智能合约漏洞。下面将介绍几种结合深度学习实现的智能合约漏洞检测方案。
1)张等人提出了基于n-gram和深度学习的智能合约漏洞检测与分析方法研究,文中的操作码序列是指智能合约编译后生成的字节码按照以太坊官方指令集映射成的指令序列,这些指令同样是汇编操作码。通过对合约源码编译以及字节码解析得到静态操作码数据流,根据以太坊黄皮书中操作码与16进制数的对应关系构建字典,之后不同的方案执行不同的流程。基于n-gram的方案:简化操作码,利用n-gram进行切片并构建特征矩阵,进一步采用不同的机器学习分类算法进行训练。基于深度学习的方案:将操作码数据流转化为用16进制数表示的操作码序列,输入4种不同的深度学习网络结构训练。将两种方案的训练结果进行比较,发现CNN+LSTM的深度学习网络结构的漏洞检测效果最好。
2)He J等人基于深度学习中的图卷积网络(GCN,Graph ConvolutionalNetwork),通过模仿传统符号执行的方法训练了一个符号执行专家。在模型学习阶段,团队在数以万计的智能合约上运行该符号执行专家,进而生成成千上万条高质量操作码序列并输入下一层训练,最终获得更高程序覆盖率的模糊策略。在使用阶段,利用模型学习到的模糊策略生成测试的操作码序列,最终对模糊测试的结果分析得到漏洞检测的结果。该方案中的操作码序列是靠符号执行模拟出来的交易执行过程,不一定具备可行性,因此需要借助模糊测试来检验操作码序列的可行性。
3)Huang H D等人将智能合约编译后的16进制字节码译为RGB色彩编码,从而将每个智能合约转化为固定大小的图像编码,并将其作为CNN(卷积神经网络)深度学习模型的输入进行训练和检测,不过由于该方法将源码直接转化为图像编码,模型中的各层处理可能会导致原本不相关的字节码变得相关,或是破坏上下文之间的逻辑关系,因此该方案必须选取合适的CNN(卷积神经网络)模型结构来降低这种可能性的影响,
上述方案中原始数据一般是静态智能合约源码或编译后的字节码,无法根据链上交易的实时执行情况动态检测漏洞;同时根据原始数据获取的特征向量缺乏操作码自身的语义信息以及序列的上下文关系;而且分类模型只能检测少数已知漏洞,无法检测尚未发现的未知漏洞。据本发明了解,目前鲜有研究针对未知漏洞检测。为此,本发明提出了一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,以解决上述的问题。
(二)技术方案
为实现上述所述目的,本发明提供如下技术方案:
一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,包括以下步骤:
S1,在以太坊客户端Geth进行插桩;
S2,对以太坊的区块交易进行重放,通过已插桩的以太坊客户端Geth获得正常操作码序列集和漏洞操作码序列集;
S3,利用Word2vec预训练模型训练embedding词向量,获得词向量索引字典;
S4,根据词向量索引字典将重放操作码序列转成特征向量矩阵,利用CNN神经网络降维;
S5,在训练阶段,利用降维后的特征向量矩阵对LSTM分类模型进行训练;
S6,利用已插桩的以太坊客户端Geth实时收集交易产生的待测操作码序列;
S7,在检测阶段,针对每个待测操作码序列,对分类模型给出的所有漏洞类别的概率值求和并与阈值比较,完成对未知漏洞的判定。
进一步地,所述步骤S1中,所述的插桩是指在以太坊客户端Geth源码中插入可以输出交易数据的代码段,代码由Golang编写,这里收集到的交易数据包括:
区块号、Timestamp时间戳、nonce值、RootHash根哈希、Gas值等区块参数;参与交易的账户地址与转账金额等交易信息;执行的智能合约地址;balance账户余额;PUSH1、MSTORE、CALLDATASIZE、ISZERO等汇编操作码与操作数组成的操作码序列;内存、存储、堆栈等以太坊虚拟机相关的底层信息。
进一步地,所述步骤S2中,所述的重放是指对以太坊目前已执行过的交易在本地私有链上重新执行,通过已插桩的以太坊客户端Geth可以获取正常操作码序列集和漏洞操作码序列集,两种序列集组成输入后续模型的数据集,具体流程为:
S201,对以太坊的区块交易进行重放;
S202,通过已插桩的以太坊客户端Geth获得正常操作码序列集和漏洞操作码序列集。
进一步地,所述步骤S3中,Word2vec预训练模型是NLP领域中一类用来产生embedding词向量的神经网络,训练得到的词向量索引字典中一个操作码对应一个多维词向量,具体流程为:
S301,搭建Word2vec预训练模型,参数设置中词向量维度为128,迭代次数为8(n__epoch=8),每次传入模型的样本数量为100(batch_size=100),采用skip-gram算法并使用负采样优化;
S302,将正常操作码序列集和漏洞操作码序列集输入Word2vec预训练模型,输出一份129*128的词向量索引字典,129表示所有操作码序列中出现的操作码种类,128表示词向量维度。
进一步地,所述步骤S4的具体流程如下:
S401,根据词向量索引字典,将操作码序列中的每个操作码转换为对应词向量,最终每条操作码序列被转换成一个128*5000的特征向量矩阵,128表示词向量维度,5000表示操作码序列的长度;
S402,搭建单层CNN神经网络;
S403,将所有多维特征向量矩阵输入CNN神经网络进行降维,通过卷积和池化操作最终缩小为多个64*1249的特征向量矩阵。
进一步地,所述步骤S5中,正常操作码序列集和漏洞操作码序列集组成输入LSTM神经网络的数据集,LSTM分类模型的训练过程如下:
S501,搭建单层LSTM神经网络,参数设置中迭代次数为5(n__epoch=5),激励函数选择sigmoid,损失函数选择sparse_categorical_crossentropy,每次传入模型的数量为100(batch_size=100);
S502,将经过CNN神经网络降维后的特征向量矩阵输入LSTM神经网络,得到可以区分多种漏洞类别的分类模型。
进一步地,所述步骤S6中实时收集的待测操作码序列为以太坊上新执行的交易产生的操作码序列。
进一步地,所述步骤S7的具体流程如下:
S701,将收集到的待测操作码序列输入训练好的CNN-LSTM多分类模型,获得每种漏洞类别的概率值并求和;
S702,比较概率和与阈值,若概率和大于阈值,则发现新的未知漏洞,否则未发现。
(三)有益效果
与现有技术相比,本发明提供的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,具备以下有益效果:
1、该基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,支持智能合约未知漏洞的动态检测。基于未知漏洞操作码序列与某些已知漏洞操作码序列存在一定相似性的前提,本发明结合动态检测与深度学习技术两者的优点,搭建CNN-LSTM的深度学习多分类模型,将训练后的模型当成未知漏洞检测的工具,并根据自己设置的阈值来提高未知漏洞判别的准确率。
2、该基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,利用Word2vec预训练模型对操作码构建embedding词向量字典,可以保留操作码自身的语义信息以及操作码序列的上下文联系,使得提取的特征向量矩阵更加合理,未知漏洞检测结果更加有依据。
附图说明
图1为智能合约未知漏洞检测方法的流程示意图;
图2为智能合约未知漏洞检测方法的系统模型结构示意图;
图3为智能合约未知漏洞检测方法的系统流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本发明实施例基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,所涉及的系统模型为:
检测系统方案分为2个阶段:数据预处理阶段和模型训练与测试阶段。
数据预处理阶段重点在于词向量训练与特征向量长度统一。由于缺乏真实环境中的未知漏洞操作码序列,因此实验阶段本发明采用部分已知漏洞操作码序列作为未知漏洞操作码序列进行检测。本发明从数据库中获取8种操作码序列:S0(正常序列)、S1(重入漏洞序列)、S2(意外的函数调用漏洞序列)、S3(错误的权限检查漏洞序列)、S4(错误处理的异常漏洞序列)、S5(缺少标准事件漏洞序列)、S6(严格检查余额漏洞序列)、S7(时间戳/区块号依赖漏洞序列),并将其分为2部分:已知漏洞操作码序列与部分正常序列、未知漏洞操作码序列与部分正常序列。第一部分用于训练模型,第二部分用于检测未知漏洞。S1由于样本数量较少,担心影响分类模型准确率,因此默认作为未知漏洞,另外再从其他6种漏洞中抽取一种作为未知漏洞。至此,已知漏洞为5种,未知漏洞为2种。利用Word2vec神经网络预训练所有操作码序列,得到embedding词向量,之后填充特征向量矩阵并统一长度,有效地保留了操作码自身的语义信息以及操作码序列前后的逻辑关系。
模型训练与测试阶段包括训练与未知漏洞判定两部分,本发明搭建的完整模型为输入层、CNN(卷积神经网络)、LSTM(长短期记忆模型)、全连接层、输出层。训练阶段:将已知漏洞序列与正常序列输入模型,CNN(卷积神经网络)将128*5000的矩阵降维成64*1249的矩阵,LSTM(长短期记忆模型)用于多批次训练并通过反向传播优化参数,全连接层与输出层用于分类并输出模型损失与准确率。未知漏洞判定阶段:将处理过的未知漏洞序列的特征向量矩阵输入训练好的模型,比较所有漏洞判定的概率和与阈值得到检测结果。该完整模型本身具有扩展性,CNN(卷积神经网络)的引入确保能处理很长的操作码序列,而阈值的灵活调整使未知漏洞的判定更加可信,高阈值且高准确率证明该未知漏洞与已知漏洞具备更强的相似性。
请参阅图1-2,本实施例提供的基于CNN+LSTM多分类模型的智能合约未知漏洞检测方法,包括以下步骤:
主要包含6个工作流程:Geth插桩、训练embedding词向量、数据预处理、特征向量降维、分类模型训练和未知漏洞判定。
(1)Geth插桩
本发明通过对以太坊客户端Geth源码插入代码段,使其可以在执行交易时输出对应的操作码序列,借此收集到重放交易产生的操作码序列和新执行交易产生的待测操作码序列。重放操作码序列用于训练embedding词向量并输入CNN-LSTM多分类模型中训练,待测操作码序列用于检测未知漏洞。
(2)训练embedding词向量
本发明通过gensim库的Word2vec接口训练embedding词向量,训练数据为正常操作码序列和所有漏洞操作码序列,参数设置中词向量维度为128,迭代次数为8(n_epoch=8),每次传入模型的数量为100(batch_size=100),采用skip-gram算法并使用负采样优化。由于以太坊虚拟机支持的操作码种类只有130多种,删去低频操作码只会影响模型的准确率,因此本发明保留低频操作码,最终生成一份129*128的词向量索引字典,129表示所有操作码序列中出现的操作码种类,128表示词向量维度。
(3)数据预处理
将获取的5种已知漏洞操作码序列和正常操作码序列按不同类别划分成6个文件,按顺序读取文件并将序列和标签分别存储为列表。接着通过sklearn库的train_test_split接口将两者均划分为训练集和测试集,这里的测试集用来测试模型检测已知漏洞的准确率,训练集:测试集=4:1,两个数据集中每种类别的比例与初始数据集中的比例一致,保证对模型结果没有任何影响。对数据集按操作码分词,然后根据词向量索引字典分别将数据集中的每个操作码转换为对应的词向量,同时利用sequence库的pad_sequences接口统一序列长度为5000,不够5000的序列用0向量补足,超过5000的操作码删去,最终生成两个128*5000*num的三维特征向量矩阵,num表示操作码序列的数量。
(4)特征向量降维
由于数据预处理后生成的特征向量矩阵过于庞大,因此本发明在训练之前搭建CNN神经网络对其降维,通过卷积和池化操作最终缩小为64*1249*num的三维特征向量矩阵,num表示操作码序列的数量,这种处理可以在不影响模型准确率的前提下加快训练进度。
(5)分类模型训练
本发明选择LSTM神经网络作为分类模型,迭代次数为5(n_epoch=5),激励函数选择sigmoid,损失函数选择sparse_categorical_crossentropy,每次传入模型的数量为100(batch_size=100),最终输出模型损失与准确率。该分类模型可以区分6种类别,即正常类别与5种已知漏洞类别。
(6)未知漏洞判定
本发明抽取两种漏洞序列作为未知漏洞序列进行测试。读取未知漏洞序列并存储为列表,同时利用sequence库的pad_sequences接口统一序列长度为5000,不够5000的序列用0向量补足,超过5000的操作码删去,最终生成两个128*5000*num的三维向量矩阵,num表示操作码序列的数量。接着输入分类模型,分别获取6种类别的判定概率,将除了正常类别之外的所有漏洞类别的判定概率求和作为未知漏洞的判定概率,若概率大于设置阈值(threshold=0.5),则发现新的未知漏洞,否则未发现。
本发明上述实施例提供的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,支持智能合约未知漏洞的动态检测。其基于未知漏洞操作码序列与某些已知漏洞操作码序列存在一定相似性的前提,本发明结合动态检测与深度学习技术两者的优点,搭建CNN-LSTM的深度学习多分类模型,将训练后的模型当成未知漏洞检测的工具,并根据自己设置的阈值来提高未知漏洞判别的准确率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (8)

1.一种基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于,包括以下步骤:
S1,在以太坊客户端Geth进行插桩;
S2,对以太坊的区块交易进行重放,通过已插桩的以太坊客户端Geth获得正常操作码序列集和漏洞操作码序列集;
S3,利用Word2vec预训练模型训练embedding词向量,获得词向量索引字典;
S4,根据词向量索引字典将重放操作码序列转成特征向量矩阵,利用CNN神经网络降维;
S5,在训练阶段,利用降维后的特征向量矩阵对LSTM分类模型进行训练;
S6,利用已插桩的以太坊客户端Geth实时收集交易产生的待测操作码序列;
S7,在检测阶段,针对每个待测操作码序列,对分类模型给出的所有漏洞类别的概率值求和并与阈值比较,完成对未知漏洞的判定。
2.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S1中,所述的插桩是指在以太坊客户端Geth源码中插入可以输出交易数据的代码段,代码由Golang编写,收集到的交易数据包括:
区块号、Timestamp时间戳、nonce值、RootHash根哈希、Gas值等区块参数;
参与交易的账户地址与转账金额等交易信息;
执行的智能合约地址;
balance账户余额;
PUSH1、MSTORE、CALLDATASIZE、ISZERO汇编操作码与操作数组成的操作码序列;
内存、存储、堆栈以太坊虚拟机相关的底层信息。
3.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S2中,所述的重放是指对以太坊目前已执行过的交易在本地私有链上重新执行,通过已插桩的以太坊客户端Geth可以获取正常操作码序列集和漏洞操作码序列集,两种序列集组成输入后续模型的数据集,具体流程为:
S201,对以太坊的区块交易进行重放;
S202,通过已插桩的以太坊客户端Geth获得正常操作码序列集和漏洞操作码序列集。
4.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S3中,Word2vec预训练模型是NLP领域中一类用来产生embedding词向量的神经网络,训练得到的词向量索引字典中一个操作码对应一个多维词向量,具体流程为:
S301,搭建Word2vec预训练模型,采用skip-gram算法并使用负采样优化;
S302,将正常操作码序列集和漏洞操作码序列集输入Word2vec预训练模型,输出词向量索引字典。
5.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S4的具体流程如下:
S401,根据词向量索引字典,将操作码序列中的每个操作码转换为对应词向量,最终每条操作码序列被转换成一个多维特征向量矩阵;
S402,搭建单层CNN神经网络;
S403,将所有多维特征向量矩阵输入CNN神经网络进行降维。
6.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S5中,正常操作码序列集和漏洞操作码序列集组成输入LSTM神经网络的数据集,LSTM分类模型的训练过程如下:
S501,搭建单层LSTM神经网络;
S502,将经过CNN神经网络降维后的特征向量矩阵输入LSTM神经网络,得到可以区分多种漏洞类别的分类模型。
7.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S6中实时收集的待测操作码序列为以太坊上新执行的交易产生的操作码序列。
8.根据权利要求1所述的基于CNN-LSTM多分类模型的智能合约未知漏洞检测方法,其特征在于:所述步骤S7的具体流程如下:
S701,将收集到的待测操作码序列输入训练好的CNN-LSTM多分类模型,获得每种漏洞类别的概率值并求和;
S702,比较概率和与阈值,若概率和大于阈值,则发现新的未知漏洞,否则未发现。
CN202211228581.5A 2022-10-08 2022-10-08 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法 Pending CN116150757A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211228581.5A CN116150757A (zh) 2022-10-08 2022-10-08 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211228581.5A CN116150757A (zh) 2022-10-08 2022-10-08 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法

Publications (1)

Publication Number Publication Date
CN116150757A true CN116150757A (zh) 2023-05-23

Family

ID=86349600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211228581.5A Pending CN116150757A (zh) 2022-10-08 2022-10-08 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法

Country Status (1)

Country Link
CN (1) CN116150757A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361816A (zh) * 2023-06-01 2023-06-30 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN117574214A (zh) * 2024-01-15 2024-02-20 中科链安(北京)科技有限公司 智能合约分类模型训练方法、智能合约分类方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361816A (zh) * 2023-06-01 2023-06-30 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN116361816B (zh) * 2023-06-01 2023-08-11 江西农业大学 一种智能合约漏洞检测方法、系统、存储介质及设备
CN117574214A (zh) * 2024-01-15 2024-02-20 中科链安(北京)科技有限公司 智能合约分类模型训练方法、智能合约分类方法及装置
CN117574214B (zh) * 2024-01-15 2024-04-12 中科链安(北京)科技有限公司 智能合约分类模型训练方法、智能合约分类方法及装置

Similar Documents

Publication Publication Date Title
Sun et al. Assbert: Active and semi-supervised bert for smart contract vulnerability detection
CN111898134B (zh) 基于LSTM和BiLSTM的智能合约漏洞检测方法和装置
CN109902024B (zh) 一种程序路径敏感的灰盒测试方法及装置
CN110348214A (zh) 对恶意代码检测的方法及系统
CN111309607B (zh) 一种代码方法级别的软件缺陷定位方法
CN111475820A (zh) 基于可执行程序的二进制漏洞检测方法、系统及存储介质
CN109886021A (zh) 一种基于api全局词向量和分层循环神经网络的恶意代码检测方法
CN116150757A (zh) 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法
CN113886832B (zh) 智能合约漏洞检测方法、系统、计算机设备和存储介质
CN112035345A (zh) 一种基于代码片段分析的混合深度缺陷预测方法
CN112001484A (zh) 一种基于多任务深度学习的安全缺陷报告预测方法
CN114969755A (zh) 一种跨语言的未知可执行程序二进制漏洞分析方法
Cao et al. FTCLNet: Convolutional LSTM with Fourier transform for vulnerability detection
CN110162972A (zh) 一种基于语句联合编码深度神经网络的uaf漏洞检测方法
CN115576840A (zh) 基于机器学习的静态程序插桩检测方法及装置
CN117725592A (zh) 一种基于有向图注意力网络的智能合约漏洞检测方法
CN116340952A (zh) 一种基于操作码程序依赖图的智能合约漏洞检测方法
CN116595537A (zh) 一种基于多模态特征的生成式智能合约的漏洞检测方法
Gruner et al. Cross-domain evaluation of a deep learning-based type inference system
CN118709191A (zh) 一种源代码漏洞检测和定位方法、装置、设备及存储介质
CN116861362A (zh) 智能合约攻击检测方法及装置
CN114722400B (zh) 一种侧信道漏洞检测的方法、系统、介质、设备及终端
CN116561761A (zh) 一种基于智能合约字节码的漏洞检测方法及系统
CN116301875A (zh) 一种基于学习模型可触发性的代码语义冗余度量验证方法
Galhuber et al. Timestamp-based Application Fingerprinting in NTFS

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