[发明专利]一种区块链攻击拦截方法及装置在审
申请号: | 202111300723.X | 申请日: | 2021-11-04 |
公开(公告)号: | CN114049118A | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 何嘉浩;张俊麒;苏小康;张开翔;范瑞彬 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q20/40 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 邹雅莹 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 攻击 拦截 方法 装置 | ||
本发明实施例提供一种区块链攻击拦截方法及装置,该方法包括:区块链平台执行交易请求过程中,针对调用智能合约的子交易操作,生成所述子交易操作的子交易标识;针对所述子交易操作中对持久化存储空间的读操作/写操作,生成所述子交易操作的读写记录;所述读写记录中包括读写类型、子交易标识和读写地址;其中,每次调用智能合约生成的各子交易标识均不同;所述区块链平台在所述交易请求执行完成后,针对各子交易操作的读写记录进行冲突检查;若存在不同的子交易标识针对同一读写地址的读写冲突形成调用智能合约操作,则回滚所述交易请求。上述方法能够实现重入攻击的预先拦截,消除重入攻击损失。
技术领域
本发明涉及区块链和智能合约领域,尤其涉及一种区块链攻击拦截方法及装置。
背景技术
近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。由于区块链所基于的密码学技术和去中心化思想使链上的历史信息无法被篡改的优势,区块链技术也在金融行业有着普遍应用。
如,目前金融行业中的存款、取款、借贷等业务都可以依赖底层虚拟机作为执行机器,在区块链的智能合约中运行后获取业务处理结果,并根据处理结果更新区块链账本。相比于现有技术中通过中心服务器完成上述存取款等业务来说,提高业务处理安全性和加快业务处理速度。但是通过区块链进行业务处理仍存在安全隐患。如,在恶名昭彰的TheDAO事件中,攻击者在利用withdraw函数被第一次合法调用后会非法的再次调用自己的可能,然后不断重复这个自己非法调用自己的过程,这样的递归调用可以使得攻击者的数字资产在被清零之前,数十次的从TheDAO的资产池里重复分离出来理应被清零的攻击者的数字资产。攻击者还在递归调用结束前把自己的数字资产转移到了其他账户,以避免这部分数字资产被销毁。如此,攻击者通过组合上述2个漏洞攻击,盗窃超过6000万美元,最终导致以太坊区块链系统平台的硬分叉。现在为了解决这种重入攻击的安全隐患,一般通过监控智能合约运行时的数据,如,资金流。但这种监控方式都是在重入攻击已经发生后,才能根据资金流的调用数据的异常,监控到重入攻击。因此,并不能完全做到重入攻击的拦截。
因此,现在亟需一种区块链攻击拦截方法和装置,能够实现重入攻击的预先拦截,消除重入攻击损失。
发明内容
本发明实施例提供一种区块链攻击拦截方法和装置,能够实现重入攻击的预先拦截,消除重入攻击损失。
第一方面,本发明实施例提供一种区块链攻击拦截方法,该方法包括:
区块链平台执行交易请求过程中,针对调用智能合约的子交易操作,生成所述子交易操作的子交易标识;针对所述子交易操作中对持久化存储空间的读操作/写操作,生成所述子交易操作的读写记录;所述读写记录中包括读写类型、子交易标识和读写地址;其中,每次调用智能合约生成的各子交易标识均不同;
所述区块链平台在所述交易请求执行完成后,针对各子交易操作的读写记录进行冲突检查;若存在不同的子交易标识针对同一读写地址的读写冲突形成调用智能合约操作,则回滚所述交易请求。
上述方法中,通过对调用智能合约的子交易操作指令生成子交易标识,针对每个子交易操作对应的对持久化存储空间的读操作/写操作,生成子交易操作的读写记录。如此,若一笔交易中存在多个子交易标识,则可以通过各子交易标识对应的读写记录,确定各子交易之间是否存在冲突性的依赖关系。若存在冲突性的依赖关系,则确定该子交易与另一个子交易存在外部调用关系,进一步,若依赖关系形成该子交易对另一个子交易的完整的外部调用操作,即,在执行该子交易的过程中,执行完另一个子交易后,回到该子交易继续执行剩余的该子交易操作,则可以确定交易为存在重入攻击的交易,产生告警。相比于现有技术中通过分析历史交易数据、资金流等,确定交易是否存在重入攻击来说,本发明有效的在对交易处理请求处理之前,即,攻击执行之前,拦截重入攻击。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111300723.X/2.html,转载请声明来源钻瓜专利网。