【技术实现步骤摘要】
【国外来华专利技术】用于保护智能合约免受攻击的方法和装置
[0001]本公开一般涉及区块链上的智能合约,更具体地,涉及一种用于保护区块链上的智能合约免受攻击的方法和装置。
技术介绍
[0002]智能合约是在相互不信任的参与者之间自动和强制执行预定义逻辑的自主程序,它由区块链的共识机制自动执行,而不依赖于受信任的权威。以太坊等智能合约系统的兴起,导致基于区块链的去中心化应用激增,包括存储和管理各种数据的应用。智能合约的正确执行是其有效性的必要条件:否则对合约的攻击(例如,由于任何功能错误、漏洞等)会导致灾难性的损失,如严重的财务损失。因此,提高智能合约的稳健性是一个紧迫的实际问题。
[0003]传统上,有两类方法来提高智能合约的安全性:离线分析和在线保护。离线分析方法对智能合约进行分析,包括漏洞发现、正确性检查、逆向工程和在合约部署前检测恶意智能合约。在线保护的目的是在智能合约部署后保护智能合约免受攻击。在线保护方法是在智能合约中插入运行时检查,或在智能合约的运行环境(例如,诸如EVM(Ethereum VM)等VM(虚拟机))中插入运行时检查。
技术实现思路
[0004]在本公开的第一个示例性方面,提供了一种用于保护智能合约免受攻击的计算机实现方法。该方法包括:检测在运行环境中发起的与区块链上的智能合约相关的第一操作;在检测到所述第一操作后,获取与所述第一操作相关联的作为原始数据的运行时信息;基于所述运行时信息,生成与所述第一操作的活动导致的所述智能合约的安全性相关联的分析数据;以及基于所述分析数据,发起与所述智 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于保护智能合约免受攻击的计算机实现方法,包括以下步骤:检测在运行环境中发起的与区块链上的智能合约相关的第一操作;在检测到所述第一操作后,获取与所述第一操作相关联的作为原始数据的运行时信息;基于所述运行时信息,生成与所述第一操作的活动导致的所述智能合约的安全性相关联的分析数据;以及基于所述分析数据,发起与所述智能合约的安全性相关的第二操作。2.根据权利要求1所述的方法,其中,所述运行时信息从所述运行环境的内核层和应用层获取。3.根据权利要求1所述的方法,其中,所述生成所述分析数据的步骤包括:根据规则集合分析所述运行时信息以生成所述分析数据。4.根据权利要求3所述的方法,其中,所述分析所述运行时信息的步骤包括:从所述运行时信息中提取所述第一操作的活动特征;以及,根据所述规则集合分析所述活动特征以生成所述分析数据,所述规则集合与执行顺序、执行次数和执行参数中的至少一个相关。5.根据权利要求1所述的方法,还包括以下步骤:确定生成所述分析数据所需的所述运行时信息的内容;以及,其中,所述获取所述运行时信息的步骤还包括:基于所述确定的内容获取所述运行时信息。6.根据权利要求1所述的方法,还包括以下步骤:确定生成所述分析数据所需的所述运行时信息的分组模式和所述运行时信息的群组;其中,所述获取所述运行时信息的步骤还包括:基于所述确定的分组模式和群组获取所述运行时信息并对所述运行时信息进行分组;以及,所述生成所述分析数据还包括:基于分组后的运行时信息生成所述分析数据。7.根据权利要求1所述的方法,其中,所述第一操作包括所述智能合约的创建、部署、调用和执行中的至少一个;以及,所述第二操作包括以下至少一个:许可所述第一操作的一个或多个活动;阻止所述第一操作的一个或多个活动;以及生成针对所述第一操作的一个或多个活动的报告。8.根据权利要求1所述的方法,其中,所述运行时信息包括与所述第一操作相关联的区块信息、交易信息和指令信息中的至少一个。9.一种用于保护智能合约免受攻击的计算机实现方法,包括以下步骤:检测在运行环境中发起的与区块链上的智能合约相关的第一操作;在检测到所述第一操作后,获取与所述第一操作相关联的作为原始数据的运行时信息;将所述运行时信息发送至在所述运行环境之外的分析引擎单元;从所述分析引擎单元接收与所述第一操作的活动导致的所述智能合约的安全性相关联的分析数据;以及基于所述分析数据,发起与所述智能合约的安全性相关的第二操作。10.根据权利要求9所述的方法,其中,所述运行时信息从所述运行环境的内核层和应
用层获取。11.根据权利要求9所述的方法,还包括以下步骤:获取指示需要发送到所述分析引擎单元的所述运行时信息的内容的第一消息;以及其中,所述获取所述运行时信息的步骤还包括:基于所述第一消息获取所述运行时信息。12.根据权利要求9所述的方法,还包括以下步骤:获取指示需要发送到所述分析引擎单元的所述运行时信息的分组模式和所述运行时信息的群组的第二消息;其中,所述获取所述运行时信息的步骤还包括:基于所述第二消息获取所述运行时信息并对所述运行时信息进行分组;以及其中,所述将所述运行时信息发送至分析引擎单元的步骤还包括:将分组后的运行时信息发送至所述分析引擎单元。13.根据权利要求9所述的方法,其中:所述第一操作包括智能合约的创建、部署、调用和执行中的至少一个;以及,所述第二操作包括以下的至少一个:许可所述第一操作的一个或多个活动;阻止所述第一操作的一个或多个活动;以及生成针对所述第一操作的一个或多个活动的报告。14.根据权利要求9所述的方法,其中,所述运行时信息包括与所述第一操作相关联的区块信息、交易信息和指令信息中的至少一个。15.一种用于保护智能合约免受攻击的计算机实现方法,包括以下步骤:从运行环境中的解释器接收作为原始数据的运行时信息,所述作为原始数据的运行时信息与在所述运行环境中发起的同区块链上的智能合约相关的第一操作相关联;根据规则集合分析所述运行时信息,以生成与所述第一操作的活动导致的所述智能合约的安全性相关联的分析数据;以及发送所述分析数据至所述解释器。16.根据权利要求15所述的方法,其中,所述运行时信息从所述运行环境的内核层和应用层获取。17.根据权利要求15所述的方法,其中,所述分析所述运行时信息的步骤包括:从所述运行时信息中提取所述第一操作的活动特征;以及根据所述规则集合分析所述活动特征以生成所述分析数据,所述规则集合与执行顺序、执行次数和执行参数中的至少一个相关。18.根据权利要求15所述的方法,还包括以下步骤:向所述解释器发送指示需要从所述解释器接收的所述运行时信息的内容的第一消息。19.根据权利要求15所述的方法,还包括以下步骤:向所述解释器发送指示需要从所述解释器接收的所述运行时信息的分组模式和所述运行时信息的群组的第二消息...
【专利技术属性】
技术研发人员:陈厅,陈刚,张台涌,
申请(专利权)人:上海孔递科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。