本技术属于计算机应用,特别是涉及一种数据交互抢跑攻击的防御方法、装置、终端及存储介质。
背景技术:
1、区块链网络系统数据交互是指在区块链网络系统中进行的一种数字资产交换,区块链网络系统数据交互抢跑是指攻击者通过提高交互数据的价值,使区块链节点优先打包抢跑的数据,以使攻击者获利的行为。攻击者可以利用网络延时或智能合约漏洞等,进行数据交互抢跑攻击。
2、相关技术中,通过减少网络延迟并提高数据交互确认速度或者对智能合约进行安全审计以发现并修复潜在漏洞的方法,减少区块链数据交互抢跑攻击的机会,或者通过隐私保护技术保护数据交互的隐私性,使攻击者难以观察和分析数据交互行为,从而增加攻击难度,减少数据交互抢跑攻击的风险,但是,上述方法需要修改区块链网络系统数据交互的底层运行逻辑或合约逻辑,从而导致实施难度较大,在许多区块链数据交互场景中难以实际落地,因此,导致了区块链网络系统数据交互的稳定性差及安全性低的问题,从而降低了用户体验。
技术实现思路
1、本技术的目的在于提供一种数据交互抢跑攻击的防御方法、装置、终端设备及计算机可读存储介质,能够解决相关技术中,由于面对区块链网络系统数据交互抢跑攻击时,修改区块链网络系统数据交互的底层运行逻辑或合约逻辑实施难度较大,且在许多区块链数据交互场景中难以实际落地,从而导致的区块链网络系统数据交互稳定性差、安全性低,并且用户体验差的问题。
2、第一方面,本技术实施例提供了一种数据交互抢跑攻击的防御方法,包括:获取或接收用户发送的待交互数据请求,待交互数据请求包括待交互数据信息和数据交互的交互代价范围;将交互回应信息发送至区块链网络系统,交互回应信息包括待交互数据信息和一交互代价值,交互代价值处于交互代价范围内;若数据交互未上链且监听到区块链网络系统中存在抢跑节点,根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值,并将更新后的交互代价值及待交互数据信息发送至区块链网络系统,直至更新的当前交互代价值达到交互代价范围中的最大值,抢跑节点为针对待交互数据请求发送的交互回应信息中的交互代价值大于当前交互代价值的节点。
3、在第一方面的一种可能的实现方式中,上述待交互数据请求还包括数据交互的交互时间范围,上述若数据交互未上链且监听区块链网络系统中存在抢跑节点,根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值,具体包括:
4、在交互时间范围内,若数据交互未上链且监听到区块链网络系统中存在抢跑节点,根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值。
5、可选的,在第一方面的另一种可能的实现方式中,上述根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值,包括:
6、在交互代价范围内重新生成一交互代价值作为当前交互待价值,重新生成的交互代价值大于抢跑节点的当前交互代价值。
7、可选的,在第一方面的再一种可能的实现方式中,上述将交互回应信息发送至区块链网络系统之前,上述方法还包括:
8、在本地模拟执行待交互数据请求的数据交互过程,确定数据交互过程的交互调用信息;
9、上述将交互回应信息发送至区块链网络系统之后,上述方法还包括:
10、监听区块链网络系统中其他节点发送的交互回应信息;
11、在本地执行交互回应信息,获取每个节点对应交互回应信息中的交互调用信息;
12、根据各节点对应的交互调用信息与待交互数据请求对应的交互调用信息的相似度,确定抢跑节点。
13、可选的,在第一方面的又一种可能的实现方式中,上述根据各节点对应的交互调用信息与待交互数据请求对应的交互调用信息的相似度,确定抢跑节点,包括:
14、若交互调用信息与待交互数据请求对应的交互调用信息的相似度高于设定阈值,将对应的节点确定为抢跑节点。
15、可选的,在第一方面的另一种可能的实现方式中,上述根据各节点对应的交互调用信息与待交互数据请求对应的交互调用信息的相似度,确定抢跑节点,包括:
16、判断各节点是否处于一预设黑名单内;
17、若处于,且交互调用信息与待交互数据请求对应的交互调用信息的相似度高于第一相似度阈值,将对应的节点确定为抢跑节点;
18、若未处于,且交互调用信息与待交互数据请求对应的交互调用信息的相似度高于第二相似度阈值,将对应的节点确定为抢跑节点;第一相似度阈值低于第二相似度阈值。
19、可选的,在第一方面的再一种可能的实现方式中,上述方法还包括:
20、将本次数据交互确定出的抢跑节点加入预设黑名单。
21、第二方面,本技术还提供了一种数据交互抢跑攻击的防御装置,包括:第一获取模块,用于获取或接收用户发送的待交互数据请求,待交互数据请求包括待交互数据信息和数据交互的交互代价范围;发送模块,用于将交互回应信息发送至区块链网络系统,交互回应信息包括待交互数据信息和一交互代价值,交互代价值处于交互代价范围内;更新模块,用于若数据交互未上链且监听到区块链网络系统中存在抢跑节点,根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值,并将更新后的交互代价值及待交互数据信息发送至区块链网络系统,直至更新的当前交互代价值达到交互代价范围中的最大值,抢跑节点为针对待交互数据请求发送的交互回应信息中的交互代价值大于当前交互代价值的节点。
22、在第二方面的一种可能的实现方式中,上述待交互数据请求还包括数据交互的交互时间范围;相应的,上述更新模块,包括:
23、更新单元,用于在交互时间范围内,若数据交互未上链且监听到区块链网络系统中存在抢跑节点,根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值。
24、可选的,在第二方面的另一种可能的实现方式中,上述更新模块,还包括:
25、生成单元,用于在交互代价范围内重新生成一交互代价值作为当前交互待价值,重新生成的交互代价值大于抢跑节点的当前交互代价值。
26、可选的,在第二方面的再一种可能的实现方式中,上述区块链网络系统数据交互抢跑攻击的主动防御装置,还包括:
27、第一确定模块,用于在本地模拟执行待交互数据请求的数据交互过程,确定数据交互过程的交互调用信息;
28、监听模块,用于监听区块链网络系统中其他节点发送的交互回应信息;
29、第二获取模块,用于在本地执行交互回应信息,获取每个节点对应交互回应信息中的交互调用信息;
30、第二确定模块,用于根据各节点对应的交互调用信息与待交互数据请求对应的交互调用信息的相似度,确定抢跑节点。
31、可选的,在第二方面的又一种可能的实现方式中,上述第二确定模块,包括:
32、第一确定单元,用于若交互调用信息与待交互数据请求对应的交互调用信息的相似度高于设定阈值,将对应的节点确定为抢跑节点。
33、可选的,在第二方面的另一种可能的实现方式中,上述第二确定模块,还包括:
34、判断单元,用于判断各节点是否处于一预设黑名单内;
35、第二确定单元,用于若处于,且交互调用信息与待交互数据请求对应的交互调用信息的相似度高于第一相似度阈值,将对应的节点确定为抢跑节点;
36、第三确定单元,用于若未处于,且交互调用信息与待交互数据请求对应的交互调用信息的相似度高于第二相似度阈值,将对应的节点确定为抢跑节点;第一相似度阈值低于第二相似度阈值。
37、可选的,在第二方面的再一种可能的实现方式中,上述数据交互抢跑攻击的防御装置,还包括:
38、添加模块,用于将本次数据交互确定出的抢跑节点加入预设黑名单。
39、第三方面,本技术还提供了一种终端设备。该终端设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序。处理器执行计算机程序时实现上述第一方面任意一种实现方式的方法。
40、第四方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任意一种实现方式的方法。
41、第五方面,本技术还提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面任意一种实现方式的方法。
42、本技术实施例与现有技术相比存在的有益效果是:通过在数据交互未上链时监听区块链网络系统中的抢跑节点,并根据交互代价范围、抢跑节点的当前交互代价值,更新数据交互的当前交互代价值,从而对区块链网络系统数据交互抢跑攻击进行主动防御,提高了区块链网络系统数据交互的稳定性及安全性,提升了用户体验。
1.一种数据交互抢跑攻击的防御方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述待交互数据请求还包括数据交互的交互时间范围,所述若所述数据交互未上链且监听到所述区块链网络系统中存在抢跑节点,根据所述交互代价范围、抢跑节点的当前交互代价值,更新所述数据交互的当前交互代价值,具体包括:
3.如权利要求1所述的方法,其特征在于,所述根据所述交互代价范围、抢跑节点的当前交互代价值,更新所述数据交互的当前交互代价值,包括:
4.如权利要求1所述的方法,其特征在于,所述将交互回应信息发送至区块链网络系统之前,所述方法还包括:
5.如权利要求4所述的方法,其特征在于,所述根据各节点对应的交互调用信息与所述待交互数据请求对应的交互调用信息的相似度,确定抢跑节点,包括:
6.如权利要求4所述的方法,其特征在于,所述根据各节点对应的交互调用信息与所述待交互数据请求对应的交互调用信息的相似度,确定抢跑节点,包括:
7.如权利要求1或6任一所述的方法,其特征在于,所述方法还包括:
8.一种数据交互抢跑攻击的防御装置,其特征在于,包括:
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被电子设备执行时实现如权利要求1至7中任一项所述的方法。