System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于区块链应用,涉及区块链交易识别,尤其涉及一种基于多元时间序列异常识别的区块链攻击交易识别方法及系统。
技术介绍
1、区块链是一种分布式数据库技术,它可以实现数据的透明、不可篡改、可追溯等特性,从而解决网络空间的信任和安全问题。但是,区块链技术也可能被一些不法分子利用,进行各种形式的违法犯罪活动,危害社会秩序和公共利益。根据一些专家和学者的研究,区块链违法犯罪活动主要有以下两种类型:
2、(1)利用区块链技术进行传销、诈骗、洗钱等犯罪;例如,一些不法分子以高额回报为诱饵,向社会公开宣传发行虚拟货币或其他数字资产,吸收或变相吸收公众资金,实际上没有任何实际经营活动或价值支撑,而是通过发展下线、设置各种收益方式、虚构平台实力和盈利前景等手段,骗取会员缴纳的数字资产,涉案金额巨大;这些行为可能构成非法吸收公众存款罪、集资诈骗罪、组织、领导传销活动罪等;
3、(2)利用区块链技术进行黑客攻击、窃取用户数据、破坏网络安全等犯罪;例如,一些不法分子利用区块链技术的漏洞或恶意代码,进行非法获取用户的数字资产或其他资产的行为;这些行为可能构成破坏计算机信息系统罪、诈骗罪等。
4、区块链黑客攻击事件是指利用区块链技术的漏洞或者恶意代码,窃取或者破坏区块链上的数据或者资产的行为。针对区块链公链的大部分黑客网络攻击事件,区块链黑客攻击方式存在多样性和变化性。区块链攻黑客击方式可以根据不同的层级、目标、手段等进行分类,如网络层攻击、共识层攻击、合约层攻击、应用层攻击等。这些攻击方式可能针对区块链技术的特定
5、预防和识别这些攻击事件是区块链安全领域的重要课题,目前已经有需对学术和工业方法来进行区块链攻击事件的预防与识别,不过对应的技术面临着不同的挑战,详细信息如下:
6、(1)合约审计是指对智能合约的代码进行系统的检查和分析,以发现其中可能存在的错误、漏洞和风险;合约审计可以帮助提高智能合约的安全性和可靠性,防止黑客利用合约的漏洞进行攻击,可以参见detection of vulnerabilities in smart contractsspecifications inethereum platforms(2020);虽然智能合约审计能够在一定程度上事前发现漏洞,但是有一定概率无法发现所有的漏洞,同时智能合约与智能合约交互过程中也会产生对应的经济漏洞,导致合约审计的方法无法对区块链上所有的智能合约进行分析;
7、(2)采用监督式学习的方法对指定非法类别的区块链地址进行识别,主要是指利用一组已知类别或者标签的数据来训练一个模型,使其能够对新的数据进行分类或者预测,可以参见phishing scams detection in ethereum transaction network(2020);然而黑客的攻击地址一般都是新创建的,没有足够的历史行为供机器学习学习,同时黑客攻击样本数量与正常样本数量存在极度不均衡的问题,导致监督式机器学习无法有效的对攻击交易进行识别。
技术实现思路
1、针对目前现有技术无法有效并实时识别区块链异常交易,本专利技术目的旨在提供一种基于多元时间序列异常区别的区块链攻击交易识别方法,采用基于无监督学习的深度学习算法,对区块链异常交易识别,进而达到建立有效、快速、准确的异常行为检测机制的目的。
2、本专利技术的另一目的旨在提供一种基于多元时间序列异常区别的区块链攻击交易识别系统。
3、为达到上述目的,本专利技术采取以下技术方案来实现。
4、本专利技术提供的基于多元时间序列异常区别的区块链攻击交易识别方法,包括以下步骤:
5、s1构建区块链目标地址的交易时间序列数据;该步骤包括以下分步骤:
6、s11获取区块链全节点实时交易数据,并过滤出目标地址的实时交易数据;
7、s12从区块链全节点历史交易数据中获取与目标地址相关的历史交易数据;
8、s13将目标地址相关的历史交易数据和实时交易数据按照交易执行时间排列构建区块链目标地址的交易时间序列数据;
9、s2构建交易的多元时间序列数据并进行分割;该步骤包括以下分步骤:
10、s21对目标地址的交易时间序列数据进行特征工程,得到交易的多元时间序列数据;
11、s22对得到的交易的多元时间序列数据进行分割,得到若干原始序列数据;
12、s3将若干原始序列数据输入到训练好的基于无监督学习的预测模型中,得到相应的原始序列向量数据和重构序列向量数据;
13、s4依据原始序列向量数据和相应的重构序列向量数据,得到序列中每笔交易对应的重构误差,即异常分数;依据异常分数对目标地址的实时交易进行识别。
14、上述步骤s1,以有可能被黑客攻击的区块链节点作为目标地址,例如区块链上的钱包地址、交易所地址等。由于黑客是将资金从目标地址转入自己的钱包地址,因此可以只关注目标地址的转出交易。
15、上述步骤s11中,首先获取区块链全节点实时交易数据,并过滤出目标地址的实时交易数据。这里的目标地址的实时交易数据主要为目标地址的转出交易数据。
16、上述步骤s12中,获取的与目标地址相关的历史交易数据是实时交易数据之前的若干笔交易数据,可以为转入交易数据或/和转出交易数据。
17、上述步骤s2,为了对交易数据进行更加有效的表征,本专利技术对时间序列中的交易数据进行特征工程,从多个维度提取具有影响的特征因素,例如通用交易特征(普通交易或合约交易)、交易金额、交易时间、交易笔数、币种、对手类型(新对手或旧对手)等。
18、上述步骤s21中,对目标地址的交易时间序列中任一交易,从多个维度进行特征提取,并进行标准化处理(例如归一化处理),得到交易的多元时间序列数据。
19、上述步骤s22中,对得到的交易的多元数据序列数据,按照给定的时间窗进行序列滑动切片,得到若干原始序列数据。时间窗的大小可以根据目标地址的交易行为进行设定。
20、上述步骤s3,是通过预测模型对原始序列数据进行学习、重构;所述预测模型包括第一编码器、序列预测模块和第二编码器;所述第一编码器用于对原始序列数据进行学习,得到原始序列数据中每笔交易的向量表示,即得到原始序列向量数据;所述序列预测模块用于依据原始序列向量数据生成预测向量数据;所述第二编码器用于对预测向量数据进行解码,得到原始序列向量数据对应的重构序列向量数据。所述第一编码器与第二编码器相同或不同,可以为自编码器(ae)或变分自动编码器(vae);所述序列预测模块可以为lstm、rnn或gru等。
21、具体实现方式中,步骤3包括以下分步骤:
<本文档来自技高网...【技术保护点】
1.一种基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤S11中,目标地址的实时交易数据为目标地址的转出交易数据。
3.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤S12中,获取的与目标地址相关的历史交易数据是实时交易数据之前的若干笔交易数据,为转入交易数据或/和转出交易数据。
4.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤S21中,对目标地址的交易时间序列中任一交易,从多个维度进行特征提取,并进行标准化处理,得到交易的多元时间序列数据。
5.根据权利要求4所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,提取的特征为通用交易特征、交易金额、交易时间、交易笔数、币种或/和对手类型。
6.根据权利要求1至5任一项所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤S22中,对得到的交
7.根据权利要求6所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,所述预测模型包括第一编码器、序列预测模块和第二编码器;
8.根据权利要求7所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,所述第一编码器与第二编码器相同或不同,为自编码器或变分自动编码器;所述序列预测模块可以为LSTM、RNN或GRU。
9.根据权利要求7所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤S4包括以下分步骤:
10.一种基于多元时间序列异常区别的区块链攻击交易识别系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤s11中,目标地址的实时交易数据为目标地址的转出交易数据。
3.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤s12中,获取的与目标地址相关的历史交易数据是实时交易数据之前的若干笔交易数据,为转入交易数据或/和转出交易数据。
4.根据权利要求1所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,步骤s21中,对目标地址的交易时间序列中任一交易,从多个维度进行特征提取,并进行标准化处理,得到交易的多元时间序列数据。
5.根据权利要求4所述的基于多元时间序列异常区别的区块链攻击交易识别方法,其特征在于,提取的特征为通用交易特征、交易金额、交易时间...
【专利技术属性】
技术研发人员:冯志淇,
申请(专利权)人:成都链安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。