【技术实现步骤摘要】
基于支持向量机的DApp攻击检测模型建立方法及装置
[0001]本文件涉及区块链安全
,尤其涉及一种基于支持向量机的DApp攻击检测模型建立方法及装置。
技术介绍
[0002]在区块链安全领域,DApp(Decentralized Application)是一种构建在去中心化网络上,结合了智能合约和用户界面的应用程序,以太网应用场景的多样化导致DApp逐渐暴露出更多安全隐患,其中,智能合约漏洞指由于程序内部的错误逻辑或安全性考虑不周导致攻击者利用合约的漏洞进行攻击,区块链应用层的漏洞主要来源于DApp本身。
[0003]智能合约漏洞检测的传统方案基于静态分析技术,生成用于机器学习智能合约攻击检测的数据集较少,应用层漏洞检测的传统方案静态分析受代码混淆影响大,动态分析法忽略了函数之间的语义关系。
[0004]目前,常见的结合机器学习神经网络实现DApp攻击检测的方案中存在以下缺陷:生成数据集的交易只是模拟交易;在一个完整的状态空间中需探索所有可能的执行路径导致执行时间较长;对具有漏洞的DApp进行红色报警标记会导致利用标记攻击,检测所用的函数调用序列种类太少。
[0005]综合以上该
发展状况分析,现有的技术中机器学习相关方案,缺少根据实际部署情况,从大量的完整函数调用序列数据中检测DApp攻击的方法。
技术实现思路
[0006]本专利技术的目的在于提供一种基于支持向量机的DApp攻击检测模型建立方法及装置,旨在解决现有技术中的上述问题。
[0007]根据本公 ...
【技术保护点】
【技术特征摘要】
1.一种基于支持向量机的DApp攻击检测模型建立方法,其特征在于,包括:获取函数调用序列数据集,简化函数调用序列的种类,对功能及结构相似的函数调用序列进行归一化,去除无用信息或噪声,获得数据预处理后的函数调用序列数据集;使用N
‑
gram模型对数据预处理后的所述函数调用序列数据集中的函数调用序列进行切片操作,得到切片后函数调用序列数据集,使用TF
‑
IDF算法对所述切片后函数调用序列数据集中的函数调用序列向量化,得到向量化函数调用序列数据集;构建多分类SVM的DApp攻击检测模型,以所述函数调用序列的种类为依据,将所述向量化函数调用序列数据集划分为训练集和测试集,使用所述训练集和所述测试集,对所述多分类SVM的DApp攻击检测模型进行训练和测试,得到最终的多分类SVM的DApp攻击检测模型。2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:通过所述最终的多分类SVM的DApp攻击检测模型对DApp的攻击行为进行分类。3.根据权利要求1所述的方法,其特征在于,所述获取函数调用序列数据集,简化函数调用序列的种类具体包括:从MongoDB数据库上获取所述调用序列数据集,根据DApp攻击方式可将所述调用序列数据集划分为:正常序列A0、重入攻击序列A1、恶意授权攻击序列A2、漏洞利用攻击序列A3、数据篡改攻击序列A4以及信息泄露攻击序列A5。4.根据权利要求1所述的方法,其特征在于,所述使用N
‑
gram模型对所述数据预处理后的函数调用序列数据集中的函数调用序列进行切片操作具体包括:设置所述N
‑
gram中的N值,根据N值对所述数据预处理后的函数调用序列数据集中的函数调用序列进行切片操作。5.根据权利要求1所述的方法,其特征在于,所述使用TF
‑
IDF算法对所述切片后函数调用序列数据集中的函数调用序列向量化操作具体包括:所述使用TF
‑
IDF算法对所述切片后函数调用序列数据集中的函数调用序列向量化为826维的函数调用序列向量。6.根据权利要求1所述的方法,其特征在于,所述使用所述训练集和所述测试集,对所述多分类SVM的DApp攻击检测模型进行训练和测试具体包括:将测试集输入到已经训练好的多分类SVM的DApp攻击检测模型中,所述DApp攻击检测模型的输出为除训练使用之外的其它所有攻击方式的发生概率,概率之和为1;设置概率求和参数sum_prob和最大概念参数max_prob,分别表示所述测试集除正常序列以外输出的所有攻击方式的发生概率和、以及输出的所有...
【专利技术属性】
技术研发人员:王国军,张雨恒,李培强,翟广鑫,陈厚积,刘雪蕾,朱津瑶,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。