基于多元时间序列异常识别的区块链攻击交易识别方法及系统与流程

文档序号:37897184发布日期:2024-05-09 21:40阅读:10来源:国知局
基于多元时间序列异常识别的区块链攻击交易识别方法及系统与流程

本发明属于区块链应用,涉及区块链交易识别,尤其涉及一种基于多元时间序列异常识别的区块链攻击交易识别方法及系统。


背景技术:

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包括以下分步骤:

22、s31通过第一编码器对原始序列数据进行学习,得到原始序列数据中每笔交易的向量表示,即得到原始序列向量数据;

23、s32通过序列预测模块用于依据原始序列向量数据生成预测向量数据;

24、s33通过第二编码器对预测向量数据进行解码,得到原始序列向量数据对应的重构序列向量数据。

25、上述步骤s4中,依据原始序列向量数据和相应的重构序列向量数据,进行误差计算得到序列中每笔交易的重构误差,并定义为异常分数;重构误差越大,说明节点越异常。可以对异常分数按照降序排列,然后按照设置的异常比率,当当前实时交易排名在异常比率的范围内,则判定当前交易为异常交易。

26、基于上述分析,步骤s4包括以下分步骤:

27、s41依据原始序列向量数据和相应的重构序列向量数据,进行误差计算得到序列中每笔交易的重构误差,并定义为异常分数;

28、s42对异常分数按照降序排列;

29、s43按照设置的异常比率,判断当前实时交易排名是否在异常比率的范围内,若是则判定当前交易为异常交易,否则当前交易为正常交易。

30、上述步骤s41中,可以采欧几里得距离或者余弦相似度等方法计算原始序列向量数据和相应的重构序列向量数据的距离或者相似度,来得到两者之间的重构误差。以下为欧几里得距离dt的计算公式:

31、

32、为经过第二编码器预测得到的重构序列向量数据,w为经过第一编码器预测得到的原始序列向量数据;k为重构序列向量数据/原始序列向量数据中的元素数量。

33、基于本发明提供的上述区块链攻击交易识别方法,如果当前交易为攻击交易,那么当前交易中被攻击项目地址的交易行为一定会违背其历史的交易行为,那么当前交易异常分数排名会在异常比率的范围内,因此会被识别成异常交易,从而达到建立有效、快速、准确,稳定的异常交易检测。

34、本发明还提供了一种基于多元时间序列异常区别的区块链攻击交易识别系统,包括:

35、交易时间序列数据生成模块,用于构建区块链目标地址的交易时间序列数据;该交易时间序列数据生成模块包括:

36、实时交易数据获取单元,用于获取区块链全节点实时交易数据,并过滤出目标地址的实时交易数据;

37、历史交易数据获取单元,用于从区块链全节点历史交易数据中获取与目标地址相关的历史交易数据;

38、交易数据排序单元,用于将目标地址相关的历史交易数据和实时交易数据按照交易执行时间排列构建区块链目标地址的交易时间序列数据;

39、原始序列数据生成模块,用于构建交易的多元时间序列数据并进行分割;该原始序列数据生成模块包括:

40、多元时间序列数据生成单元,用于对目标地址的交易时间序列数据进行特征工程,得到交易的多元时间序列数据;

41、分割单元,用于对得到的交易的多元时间序列数据进行分割,得到若干原始序列数据;

42、预测模型,用于对若干原始序列数据处理得到相应的原始序列向量数据和重构序列向量数据;

43、异常交易识别模块,用于依据原始序列向量数据和相应的重构序列向量数据,得到序列中每笔交易对应的重构误差,即异常分数;依据异常分数对目标地址的实时交易进行识别。

44、上述区块链攻击交易识别系统,所述预测模型包括第一编码器、序列预测模块和第二编码器;所述第一编码器用于对原始序列数据进行学习,得到原始序列数据中每笔交易的向量表示,即得到原始序列向量数据;所述序列预测模块用于依据原始序列向量数据生成预测向量数据;所述第二编码器用于对预测向量数据进行解码,得到原始序列向量数据对应的重构序列向量数据。所述第一编码器与第二编码器相同或不同,可以为自编码器(ae)或变分自动编码器(vae);所述序列预测模块可以为lstm、rnn或gru等。

45、上述区块链攻击交易识别系统,所述异常交易识别模块包括:

46、重构误差计算单元,依据原始序列向量数据和相应的重构序列向量数据,进行误差计算得到序列中每笔交易的重构误差,并定义为异常分数;

47、异常分数排序单元,用于对异常分数按照降序排列;

48、判定单元,用于按照设置的异常比率,判断当前实时交易排名是否在异常比率的范围内,若是则判定当前交易为异常交易,否则当前交易为正常交易。

49、上述区块链攻击交易识别系统,各模块按照前面方法给出的步骤执行操作。

50、与现有技术相比,本发明提供的基于多元时间序列异常区别的区块链攻击交易识别方法及系统具有以下有益效果:

51、1)本发明通过将历史交易的交易特征构造成时间序列数据,并采用序列预测模型对时间序列数据进行预测,进而通过各笔交易的重构误差来识别当前交易与历史交易行为是否存在差异,成功解决了传统的监督式与无监督式的机器学习方法忽略掉区块链交易的交易时间先后顺序造成的影响;由于区块链异常交易只与最近的交易有关系,这样可以提升异常交易识别准确率;

52、2)本发明基于无监督方式的深度学习进行指定目标地址的异常交易识别,成功解决黑客攻击交易数据缺乏与黑客攻击方式多样化导致的攻击交易难以识别的问题;

53、3)本发明能够自动分析指定目标地址的当前交易与历史交易行为是否存在差异,进而达到异常交易识别的目的;通过此方式成功解决基于监督式机器学习的异常识别算法面对的异常类别覆盖率不全的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1