一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向去中心化金融的攻击检测方法

2023-01-15 06:25:59 来源:中国专利 TAG:


1.本发明涉及网络攻击检测技术领域,尤其涉及一种面向去中心化金融的攻击检测方法。


背景技术:

2.随着去中心化金融应用在以太坊等公链生态中的快速发展,针对去中心化金融应用的外部攻击也随之出现,包括三明治攻击、抢跑攻击、套利以及闪电贷攻击等,严重危害了去中心化金融生态的经济安全。攻击者利用去中心化金融中存在的代码漏洞以及各种协议组合过程中所产生的逻辑漏洞进行攻击,从而获得巨额收益。因此,需要设计有效的面向去中心化金融的攻击检测方法,增强去中心化金融生态的安全,确保去中心化金融生态健康稳定的发展。
3.目前,现有技术中的攻击检测方法主要是检测智能合约中存在的代码漏洞,例如重入漏洞、时间戳依赖和短地址工具等。
4.上述现有技术中的攻击检测方法的缺点包括:在去中心化金融生态中,攻击者利用的是不同协议组合过程中所产生的逻辑漏洞,该方法无法用于检测交易层的逻辑漏洞,因为攻击往往体现在交易层的语义信息上,而不在代码层面。该方法无法处理复杂的内部交易,外部交易可能包含了大量的内部交易,并且这些内部交易所呈现出来的数据形式都是非结构化的,无法直接输入模型进行攻击检测。


技术实现要素:

5.本发明的实施例提供了一种面向去中心化金融的攻击检测方法,以实现有效地为当前去中心金融提供安全保障。
6.为了实现上述目的,本发明采取了如下技术方案。
7.一种面向去中心化金融的攻击检测方法,构建全局模型、局部模型和融合模型,所述方法具体包括:
8.提取面向去中心化金融的交易事件中的全局信息和局部信息,根据全局信息提取全局特征,根据局部信息提取局部特征;
9.将全局特征输入到全局模型中,对全局模型进行训练,将局部特征输入到局部模型中,对局部模型进行训练,保存训练好的全局模型与局部模型的参数;
10.通过融合模型将全局特征与局部特征相融合并,提取不同层次的高级语义特征,对融合模型进行训练,保存训练好的融合模型的参数;
11.通过训练好的全局模型提取待检测的交易事件的全局特征,通过训练好的局部模型提取将待检测的交易事件的局部特征,将待检测的交易事件的全局特征和局部特征输入到训练好的融合模型,训练好的融合模型输出所述待检测的交易事件的攻击检测结果。
12.优选地,所述的提取面向去中心化金融的交易事件中的全局信息和局部信息,包括:
13.利用面向去中心化金融的交易哈希获取交易事件中的全局信息g、局部信息、发出的事件e、关联账户、账户余额与交易代币量,所述全局信息g包括交易所在区块号、交易对应的时间戳和花费的燃料费,对全局信息进行标准化处理,所述局部信息包含交易平台的名称与不同合约的函数参数名称。
14.优选地,所述全局特征g(g1,g2,

,g
37
)包含37个维度,大部分为统计特征,该统计特征包括转账函数调用的次数、取回流动性函数调用的次数、抵押函数调用的次数、所涉及的代币数量和交易中的最大交易额。
15.优选地,所述的根据局部信息提取局部特征,包括:
16.将局部信息中的不同交易平台的名称、不同合约的函数参数名称以及传入的参数值映射到对应的常量,转化为统一的符号化表达,利用word2vec将标准化后仍非结构化的局部信息转化为固定长度的向量化的形式,得到局部特征,该局部特征包括高层次语义特征。
17.优选地,所述的将全局特征输入到全局模型中,对全局模型进行训练,将局部信息输入到局部模型中,对局部模型进行训练,保存训练好的全局模型与局部模型的参数,包括:
18.全局模型由自编码器构成,局部模型由长短期记忆lstm网络构成,将全局特征输入到全局模型中,将局部特征输入到局部模型中,利用正常数据分别对全局模型与局部模型进行训练,待全局模型与局部模型收敛后,保存全局模型与局部模型的参数。
19.优选地,所述的通过融合模型将全局特征与局部特征相融合并,提取不同层次的高级语义特征,对融合模型进行训练,保存训练好的融合模型的参数,包括:
20.融合模型包含融合层、深度lstm层与全连接层,通过融合层将全局特征与局部特征中不同层次的信息相融合,t时刻lstm每一层的输出为其中为输出门,lstm神经元的状态,通过下述公式计算:
[0021][0022][0023][0024][0025][0026]
其中,*为向量中每个维度对应相乘,代表向量连接操作,与为相应的激活函数,为相应的激活函数,为lstm的权重矩阵,代表第l-1(l>1)层的输出,表示t-1上一时刻lstm的输出值,b为偏置矩阵,当l=1时则表示将向量化后的交易事件信息,通过一个特征融合层获取融合特征ff,该融合特征ff为不同层次的高级语义特征:
[0027]
[0028]
其中,ff为融合特征,mg则表示全局模型,m
l
为本地模型;
[0029]
利用重构损失对融合模型进行训练,直到融合模型收敛,保存训练好的融合模型的参数。
[0030]
优选地,所述的通过训练好的全局模型提取待检测的交易事件的全局特征,通过训练好的局部模型提取将待检测的交易事件的局部特征,将待检测的交易事件的全局特征和局部特征输入到训练好的融合模型,训练好的融合模型输出所述待检测的交易事件的攻击检测结果,包括:
[0031]
将待检测的交易事件数据作为输入样本分别输入到全局模型和局部模型中,全局模型和局部模型分别输出全局特征和局部特征,将全局特征和局部特征输入到融合模型中,将融合模型输出的不同层次的高级语义特征作为输出样本;
[0032]
计算出所述输入样本与所述输出样本之间的重构损失,如果重构损失大于给定阈值,则判定所述待检测的交易事件数据为攻击,否则,则判定所述待检测的交易事件数据为正常交易数据。
[0033]
由上述本发明的实施例提供的技术方案可以看出,本发明方法为去中心化金融中的自动化攻击检测给出理论依据和实践方法,为当前去中心金融提供安全保障,促进去中心化金融生态的稳定和可持续发展。
[0034]
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0035]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1为本发明实施例提供的一种面向去中心化金融的攻击检测方法的处理流程图;
[0037]
图2为本发明实施例提供的一种融合模型的工作原理示意图。
具体实施方式
[0038]
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0039]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0040]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0041]
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0042]
本发明实施例设计一种面向去中心化金融的攻击检测方法,增强去中心化金融生态的安全从而确保去中心化金融生态健康稳定的发展。该方法设计了面向去中心化金融的攻击方法,基于深度学习方法,自动化的对交易所产生的事件这一非结构化数据进行处理,并且构建了一种融合模型用于提取交易数据中蕴含的不同层次的语义信息,进而实现去中心化金融的攻击检测。
[0043]
本发明实施例提供的一种面向去中心化金融的攻击检测方法的模型如图1所示,包括如下的具体步骤:
[0044]
步骤1、利用交易哈希获取面向去中心化金融的交易事件中的全局信息g、局部信息、发出的事件e、关联账户、账户余额与交易代币量。其中全局信息包括交易所在区块号、交易对应的时间戳和花费的燃料(gas)费,对全局信息进行标准化处理。局部信息包含交易平台的名称与不同合约的函数参数名称等。
[0045]
步骤2、提取全局信息中蕴含的全局特征g(g1,g2,

,g
37
),全局特征共包含37个维度,其中大部分为统计特征,例如转账(transfer)函数调用的次数、取回(withdraw)流动性函数调用的次数、抵押函数调用的次数、所涉及的代币数量、该交易中的最大交易额等,记为g(g1,g2,

,g
37
)。
[0046]
表1全局特征
[0047][0048]
步骤3、对利用每个交易哈希收集到的相关交易信息打上相应的真实标签,正常交易标签为0,攻击交易标签为1。真实标签的来源为去中心化金融相关应用的官方网站,以及
以太坊的门户网站。
[0049]
步骤4、由于不同的交易包含不同的去中心化金融平台,所涉及的协议组合也不相同,将会影响后续语义特征提取的有效性,因此,将交易事件中包含的不同交易平台的名称与不同合约的函数参数名称等局部信息映射到对应的常量,进而转化为统一的符号化表达,从而过滤名称不同所带来的干扰信息,记为s1=map(s)。
[0050]
具体的,通过不同交易平台的名称与不同合约的函数参数名称各自出现的顺序,对其进行重命名,例如,plat_0,plat_1,varb_0,varb_1:
[0051][0052]
但对于函数名与参数名不进行标准化映射,因为函数名在去中心化金融的智能合约中一般是标准化命名的。然后,通过语义分析将符号化后的交易事件数据转化为相应的词库,包括交易平台名称、函数的参数名称以及传入的参数值,为了使得词库的规模控制在一定的规模,利用word2vec将标准化后仍非结构化的局部信息转化为固定长度的向量化的形式,得到局部特征v,该局部特征v包括高层次语义特征。
[0053]
v=word2vec(s1)=(v1,v2,

,vm)
[0054]
随后,将全局特征g与局部特征v分别输入到全局模型与局部模型中,其中全局模型由自编码器构成,局部模型由lstm(long short-term memory,长短期记忆)网络构成。利用正常数据分别对全局模型与局部模型进行训练,全局模型与局部模型收敛后,保存全局模型与局部模型的参数。上述正常数据是指去中心化金融中的正常交易数据,例如正常转账交易数据、正常兑换代币交易数据、正常抵押代币交易数据等,即不存在攻击的交易数据。
[0055]
步骤5、本发明实施例提供的一种融合模型的工作原理示意图如图2所示。利用全局模型得到全局特征,将向量化后的交易事件输入局部模型得到局部特征,即高层次语义特征,再通过构建的融合模型将全局特征与局部特征相融合并提取不同层次的高级语义特征,如图2所示。
[0056]
全局模型由自编码器构成,而局部模型则是长短期记忆网络(long short-term memory,lstm),融合模型则包含融合层、深度lstm层与全连接层,其中融合层的目的是将全局特征与局部特征进行充分的融合,从而将不同层次的信息相融合,提高检测效果,其中,t时刻lstm每一层的输出为其中为输出门,神经元的状态,通过下述公式计算:
[0057][0058][0059][0060][0061]
[0062]
其中,*为向量中每个维度对应相乘,代表向量连接操作,与为相应的激活函数,为相应的激活函数,为lstm的权重矩阵,代表第l-1(l>1)层的输出,表示t-1上一时刻lstm的输出值,b为偏置矩阵,当l=1时则表示将向量化后的交易事件信息,由于全局特征与局部特征通过自编码器与lstm模型分别获得,因此通过设计了一个特征融合层以进一步获取不同层次的高级语义特征:
[0063][0064]
其中,ff为融合特征,mg则表示全局模型,m
l
为本地模型
[0065]
基于融合后的特征利用重构损失训练融合模型,将融合模型的输出值作为异常值进行攻击检测。
[0066][0067]
其中i表示用于训练的第i条交易数据。
[0068]
步骤6、在实际数据的攻击检测过程中,利用训练过程得到的全局模型、局部模型与融合模型对待检测的交易事件数据进行检测。将待检测的交易事件数据作为输入样本分别输入到全局模型和局部模型中,全局模型和局部模型分别输出全局特征和局部特征。然后,将全局特征和局部特征输入到融合模型中,将融合模型输出的不同层次的高级语义特征作为输出样本。计算出输入样本与输出样本之间的重构损失,将重构损失作为判断交易是否为攻击的依据,如果重构损失大于给定阈值,则判定为攻击,否则,则是正常交易数据。
[0069]
综上所述,本发明实施例的面向去中心化金融的攻击检测方法能够利用word2vec自动化的处理非结构化的数据,并且建立了融合模型用于提取不同层次的语义特征,用于攻击检测。在过滤无关干扰信息的同时,尽可能多的保留语义信息,因此能够实现面向去中心化金融的自动化攻击检测。
[0070]
本发明方法为去中心化金融中的自动化攻击检测给出理论依据和实践方法,为当前去中心金融提供安全保障,促进去中心化金融生态的稳定和可持续发展。
[0071]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0072]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0073]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为
分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0074]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献