CN110197372A - 交易组攻击的防护方法、设备和存储介质 - Google Patents
交易组攻击的防护方法、设备和存储介质 Download PDFInfo
- Publication number
- CN110197372A CN110197372A CN201910442138.XA CN201910442138A CN110197372A CN 110197372 A CN110197372 A CN 110197372A CN 201910442138 A CN201910442138 A CN 201910442138A CN 110197372 A CN110197372 A CN 110197372A
- Authority
- CN
- China
- Prior art keywords
- transaction
- trading group
- trading
- group
- illegal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本发明提供一种交易组攻击的防护方法、设备和存储介质,该方法包括:检测待存入内存池的第一交易是否交易组:是,则根据交易组结构展开第一交易,得到若干笔第二交易;以及,遍历检测各第二交易中是否存在非法交易:是,则生成错误信息并上报,删除第一交易;否,则将第一交易存入内存池。本专利通过在将交易组存入内存池中之前对交易组中的每一笔交易进行非法检测,并删除包括非法交易的交易组,从而保障了包括非法交易的交易组无法进入内存池,保障了内存池不会因为缓存大量包括非法交易的交易组而拥堵。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种交易组攻击的防护方法、设备和存储介质。
背景技术
当前区块链系统中的交易包括单笔交易和交易组,交易组是由多笔交易封装形成的特殊交易,同一交易组中的多笔交易的执行结果相同,即,同时执行成功,或,同时执行失败。基于上述交易组的执行机制,当一个交易组中存在一笔非法交易时,该交易组的所有交易均会执行失败。
在当前的区块链系统中,对交易组的验证与单笔交易的验证相同,即通过比对历史交易的交易哈希,判断是否存在重复的交易组。
该验证机制存在漏洞,使得网络中的攻击者可以通过至少一笔与历史交易重复的非法交易和若干与历史交易不重复的合法交易来构造与历史交易组不重复的交易组,使该交易组可以通过现有区块链系统的验证并进入区块链节点的内存池。当共识模块将该交易组打包进区块,并由执行模块执行该交易组时,由于非法交易的存在,该交易组的所有交易均执行失败,不会耗费攻击者的成本。
因此,攻击者可以通过大量构造并发送这类恶意构造的交易组,使内存池中大量缓存这类交易组而导致拥堵,从而导致普通的合法交易无法进入内存池,实现攻击者的攻击目的。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种避免内存池因缓存大量恶意构造的交易组而导致拥堵的交易组攻击的防护方法、设备和存储介质。
第一方面,本发明提供一种交易组攻击的防护方法,包括:
检测待存入内存池的第一交易是否交易组:是,则根据交易组结构展开第一交易,得到若干笔第二交易;以及,
遍历检测各第二交易中是否存在非法交易:
是,则生成错误信息并上报,删除第一交易;
否,则将第一交易存入内存池。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易组攻击的防护方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易组攻击的防护方法。
本发明诸多实施例提供的交易组攻击的防护方法、设备和存储介质通过在将交易组存入内存池中之前对交易组中的每一笔交易进行非法检测,并删除包括非法交易的交易组,从而保障了包括非法交易的交易组无法进入内存池,保障了内存池不会因为缓存大量包括非法交易的交易组而拥堵;
本发明一些实施例提供的交易组攻击的防护方法、设备和存储介质进一步通过将高频发送包括非法交易的交易组的地址加入黑名单,并直接删除黑名单中地址发送的交易,进一步增强防护,提升攻击者的攻击成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种交易组攻击的防护方法的流程图。
图2为图1所示方法的一种优选实施方式的流程图。
图3为图1所示方法的一种优选实施方式的流程图。
图4为图3所示方法的一种优选实施方式的流程图。
图5为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种交易组攻击的防护方法的流程图。
如图1所示,在本实施例中,本发明提供一种交易组攻击的防护方法,包括:
S12:检测待存入内存池的第一交易是否交易组:
是,则执行步骤S14:根据交易组结构展开第一交易,得到若干笔第二交易;以及,
S15:遍历检测各第二交易中是否存在非法交易:
是,则执行步骤S16:生成错误信息并上报,删除第一交易;
否,则执行步骤S17:将第一交易存入内存池。
以网络中的攻击者甲根据两笔新生成的交易tx1、tx2和一笔区块链上的历史交易tx3构造出交易组txA=(tx1,tx2,tx3),并将交易组txA发送到区块链网络中为例:
在现有方案中,区块链节点在txA进入内存池之前直接对txA进行查重,由于tx1和tx2是新生成的交易,txA与此前的历史交易组不重复,无法检测出txA的异常,txA可以顺利进入内存池;
而在图1所示的方案中,区块链节点在txA进入内存池之前执行步骤S12,检测txA是单笔交易还是交易组:
检测出txA为交易组后,执行步骤S14,根据交易组结构展开txA,得到tx1、tx2和tx3,并继续执行步骤S15,遍历检测tx1、tx2和tx3中是否存在非法交易。
具体地,在本实施例中,步骤S15的非法交易检测包括根据交易哈希检测是否存在与历史交易重复的交易;在更多实施例中,还可以根据实际需求将步骤S15的非法交易检测配置为进一步包括其它本领域常用的其它交易检测方法,本领域技术人员可以理解,此处不再赘述。
在上述步骤S15的检测中,tx1、tx2通过检测,而tx3被检测出与历史交易重复,展开txA得到的各笔第二交易中存在tx3这笔非法交易,因此执行步骤S16,生成错误信息并上报,同时删除txA。
相较于攻击者甲恶意构造的交易组txA,对于用户乙正常构造的交易组txB,步骤S12-S14的过程与上述过程相同不再赘述,在步骤S15中,txB展开得到的各笔交易tx4、tx5、tx6可以正常通过非法交易检测,从而触发步骤S17,将交易组txB存入内存池。
图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,上述方法还包括:
S13:检测出第一交易为单笔交易时,检测第一交易是否非法交易。
具体地,步骤S13的非法交易检测方式与步骤S15相同,此处不再赘述。
上述实施例通过在将交易组存入内存池中之前对交易组中的每一笔交易进行非法检测,并删除包括非法交易的交易组,从而保障了包括非法交易的交易组无法进入内存池,保障了内存池不会因为缓存大量包括非法交易的交易组而拥堵。
图3为图1所示方法的一种优选实施方式的流程图。如图3所示,在一优选实施例中,上述方法还包括:
S181:监测错误信息的生成频率是否超过第一阈值:
是,则执行步骤S183:检测是否存在第一地址发送非法交易组的频率超过第二阈值:
是,则执行步骤S185:将第一地址加入黑名单。
其中,非法交易组为包括非法交易的交易组。
具体地,以攻击者甲大量恶意构造非法交易组,并通过地址add1发送到区块链网络中;用户丙因操作失误构造了两笔非法交易组,并通过地址add2发送到区块链网络中为例:
在步骤S181中,监测步骤S16中错误信息的生成频率,当该生成频率超过第一阈值,例如100项/分钟(该数值仅为示例,可根据实际需求任意配置):
若超过第一阈值,则触发步骤S183,对最近时段内产生错误信息的各非法交易组的发送地址进行统计,判断是否存在有地址发送非法交易组的频率超过第二阈值,例如50项/分钟(该数值同样仅为示例,可根据实际需求任意配置,理论上应小于上述第一阈值)。
在步骤S183中,检测出add1发送非法交易组的频率达到130项/分钟,超过了第二阈值,而add2发送非法交易组的频率达到2项/分钟,未超过第二阈值。因此,在步骤S185中,将add1加入黑名单。
具体地,在步骤S185中,通常情况下,为了避免引起分叉,该黑名单配置在区块链上,即,通过生成一笔交易将add1加入区块链上的黑名单。
对于黑名单中的地址,可以采取本领域常用的技术手段进行限制,例如,在一段时间内冻结该地址在当前区块链上的资产,或,以下图4所示的方法,等等。
此外,对于极端情况下,由于大量的误操作导致普通用户的地址被加入黑名单,用户可以通过另一账户代缴保证金等方式将该地址移出黑名单。
图4为图3所示方法的一种优选实施方式的流程图。如图4所示,进一步优选地,上述方法还包括:
S11:检测待存入内存池的第三交易的发送地址是否在黑名单中:是,则删除第三交易。
具体地,当攻击者甲通过地址add1大量发送恶意构造的非法交易组后,基于步骤S181-S185的方法,add1会被加入到黑名单中。
当攻击者甲继续通过地址add1发送恶意构造的非法交易组txC时,在步骤S11中就会直接检测出交易组txC的发送地址add1在黑名单中,直接删除交易组txC,而无需执行步骤S12-S16。
当攻击者甲更换地址add3来继续发送恶意构造的非法交易组时,只要发送频率过高,即会导致add3同样被加入到黑名单中;从而迫使攻击者甲只能选择通过大量地址分别低频发送恶意构造的非法交易组,从而提升攻击者的攻击成本,并使攻击强度受限于攻击者可以同时使用的地址数量。
上述实施例进一步通过将高频发送包括非法交易的交易组的地址加入黑名单,并直接删除黑名单中地址发送的交易,进一步增强防护,提升攻击者的攻击成本。
图5为本发明一实施例提供的一种设备的结构示意图。
如图5所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上述任一实施例描述的交易组攻击的防护方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行交易组攻击的防护方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的交易组攻击的防护方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种交易组攻击的防护方法,其特征在于,包括:
检测待存入内存池的第一交易是否交易组:是,则根据交易组结构展开所述第一交易,得到若干笔第二交易;以及,
遍历检测各所述第二交易中是否存在非法交易:
是,则生成错误信息并上报,删除所述第一交易;
否,则将所述第一交易存入内存池。
2.根据权利要求1所述的方法,其特征在于,所述遍历检测各所述第二交易中是否存在非法交易包括:
遍历检测各所述第二交易中是否存在与历史交易重复的交易。
3.根据权利要求1所述的方法,其特征在于,还包括:
检测出所述第一交易为单笔交易时,检测所述第一交易是否非法交易。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
监测所述错误信息的生成频率是否超过第一阈值:
是,则检测是否存在第一地址发送非法交易组的频率超过第二阈值:
是,则将所述第一地址加入黑名单;
其中,所述非法交易组为包括非法交易的交易组。
5.根据权利要求4所述的方法,其特征在于,还包括:
检测待存入内存池的第三交易的发送地址是否在所述黑名单中:是,则删除所述第三交易。
6.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-5中任一项所述的方法。
7.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910442138.XA CN110197372A (zh) | 2019-05-24 | 2019-05-24 | 交易组攻击的防护方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910442138.XA CN110197372A (zh) | 2019-05-24 | 2019-05-24 | 交易组攻击的防护方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110197372A true CN110197372A (zh) | 2019-09-03 |
Family
ID=67753074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910442138.XA Pending CN110197372A (zh) | 2019-05-24 | 2019-05-24 | 交易组攻击的防护方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110197372A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585992A (zh) * | 2020-04-26 | 2020-08-25 | 数网金融有限公司 | 一种检测网络攻击的方法、客户端及存储介质 |
CN112232823A (zh) * | 2020-12-10 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 区块链系统的交易处理方法、装置、介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875254A (zh) * | 2017-01-20 | 2017-06-20 | 暨南大学 | 一种基于区块链技术的Android恶意应用程序控制方法 |
CN108322309A (zh) * | 2017-12-27 | 2018-07-24 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108777686A (zh) * | 2018-06-05 | 2018-11-09 | 四川大学 | 一种针对区块链粉尘交易的识别方法及系统 |
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
CN109669943A (zh) * | 2018-11-30 | 2019-04-23 | 深圳灵图慧视科技有限公司 | 数据存储方法、数据查询方法及装置 |
CN109785128A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 交易信息自动重发方法、装置、电子设备以及存储介质 |
-
2019
- 2019-05-24 CN CN201910442138.XA patent/CN110197372A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875254A (zh) * | 2017-01-20 | 2017-06-20 | 暨南大学 | 一种基于区块链技术的Android恶意应用程序控制方法 |
CN108322309A (zh) * | 2017-12-27 | 2018-07-24 | 北京欧链科技有限公司 | 基于区块链的交易处理方法及装置 |
CN108777686A (zh) * | 2018-06-05 | 2018-11-09 | 四川大学 | 一种针对区块链粉尘交易的识别方法及系统 |
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
CN109669943A (zh) * | 2018-11-30 | 2019-04-23 | 深圳灵图慧视科技有限公司 | 数据存储方法、数据查询方法及装置 |
CN109785128A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 交易信息自动重发方法、装置、电子设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
熊健等: "《区块链技术原理及应用》", 31 December 2018, 合肥工业大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111585992A (zh) * | 2020-04-26 | 2020-08-25 | 数网金融有限公司 | 一种检测网络攻击的方法、客户端及存储介质 |
CN112232823A (zh) * | 2020-12-10 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 区块链系统的交易处理方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102162762B1 (ko) | 아이템 추적 기법 | |
CN106503053B (zh) | Utxo查询方法及装置 | |
CN102332072B (zh) | 用于检测恶意软件和管理恶意软件相关信息的系统和方法 | |
US20170034197A1 (en) | Mitigating blockchain attack | |
US20210173924A1 (en) | Automated Cybersecurity Threat Detection with Aggregation and Analysis | |
EP2122896B1 (en) | Detecting inappropriate activity by analysis of user interactions | |
CN109697367A (zh) | 显示区块链数据的方法、区块链浏览器、用户节点和介质 | |
CN108492105A (zh) | 基于区块链的资产交易监管方法、系统、设备及存储介质 | |
CN112837048A (zh) | 跨区块链的数据处理方法、装置、设备及计算机存储介质 | |
US20080136605A1 (en) | Communication and filtering of events among peer controllers in the same spatial region of a sensor network | |
CN109155774A (zh) | 用于检测安全威胁的系统和方法 | |
CN104011731A (zh) | 用户行为风险评估 | |
CN109376050A (zh) | 一种app监测方法、计算机可读存储介质及终端设备 | |
JP2020160611A (ja) | テストシナリオ生成装置、テストシナリオ生成方法、テストシナリオ生成プログラム | |
CN102214334A (zh) | 一种网上支付方法、装置及系统 | |
CN110197372A (zh) | 交易组攻击的防护方法、设备和存储介质 | |
GB2540975A (en) | Mitigating blockchain attack | |
KR102455870B1 (ko) | 암호화폐 지갑 주소의 클러스터링 기법 | |
CN106529953A (zh) | 一种对业务属性进行风险识别的方法及装置 | |
WO2020144021A1 (en) | Anomalous behaviour detection in a distributed transactional database | |
CN109325744A (zh) | 支付处理方法、装置、介质及电子设备 | |
CN109905366A (zh) | 终端设备安全验证方法、装置、可读存储介质及终端设备 | |
KR102151731B1 (ko) | 아이템 셀프 처리를 허용하기 위한 기법 | |
CN112632619A (zh) | 跨链存证方法、装置、终端设备及存储介质 | |
CN110610290B (zh) | 间联商户风险管控方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |