区块链系统中RPC接口的风险检测方法及装置制造方法及图纸

技术编号:21577204 阅读:18 留言:0更新日期:2019-07-10 16:59
本发明专利技术实施例公开了一种区块链系统中RPC接口的风险检测方法及装置,属于区块链技术领域。该方法通过对于待测节点设备集合中的节点设备,获取节点设备的邻居节点设备并将其添加到待测节点设备集合中,来扩充待测节点设备集合,对于新添加进待测节点设备集合中的节点设备,再获取其邻居节点设备继续对待测节点设备集合进行扩充,得到全面的目标待测节点设备集合,进而对待测节点设备的RPC端口进行检测,相较于通过全网范围内扫描开启了默认端口的设备来获取待测设备的方式,不会出现混入一些不是区块链系统中的节点设备但开启了默认端口的设备的情况,且不会产生遗漏,获取到的目标待测节点设备集合比较全面,得到的检测结果的准确性好。

Risk Detection Method and Device of RPC Interface in Block Chain System

【技术实现步骤摘要】
区块链系统中RPC接口的风险检测方法及装置
本专利技术涉及区块链
,特别涉及一种区块链系统中RPC接口的风险检测方法及装置。
技术介绍
随着区块链技术的发展,区块链技术在各个领域均得到了广泛应用,例如,在金融领域、信息安全、计算资源共享、娱乐游戏、社交、供应链管理或医疗等领域。然而在区块链系统中有些节点设备的远程过程调用(RemoteProcedureCall,RPC)接口可能存在安全风险,这些RPC接口一旦被恶意主体所利用,就会对区块链系统的安全造成损害,影响正常运行。因而,需要检测到这些存在安全风险的RPC接口,从而可以进一步采取措施提高这些RPC接口的安全性。每个设备均可以设置有一个默认的、用于绑定远程调用接口的RPC端口,在此称之为默认端口。其中,该设备可以为接入区块链网络的设备,也可以为区块链系统外的设备。该设备可以开启该默认端口,从而其他设备可以调用该默认端口所绑定的RPC接口。目前,区块链系统中RPC接口的风险检测方法通常是在全网范围内扫描开启了默认端口的设备,将开启了默认端口的设备作为待测设备,从而对待测设备的默认端口进行检测,确定该待测设备的默认端口所绑定的RPC接口是否存在安全风险。上述方法中确定的待测设备中可能会混入一些不是区块链系统中的节点设备但开启了默认端口的设备,从而获取到的待测设备的数量很大,包括很多无需检测的设备,因而,上述区块链系统中RPC接口的风险检测方法得到的检测结果的准确性差。
技术实现思路
本专利技术实施例提供了一种区块链系统中RPC接口的风险检测方法及装置,可以解决相关技术中检测结果的准确性差的问题。所述技术方案如下:一方面,提供了一种区块链系统中RPC接口的风险检测方法,所述方法包括:获取区块链系统中的待测节点设备集合,其中,所述待测节点设备集合包括多个待测节点设备;与所述待测节点设备集合中的第一节点设备建立通信连接,获取所述第一节点设备的邻居节点列表,所述邻居节点列表包括所述第一节点设备的至少一个邻居节点设备;从所述第一节点设备的邻居节点列表中,获取至少一个第二节点设备,为所述第一节点设备添加已处理标记,所述已处理标记用于指示节点设备的邻居节点列表已经处理;当所述待测节点设备集合中不包括所述至少一个第二节点设备时,将所述至少一个第二节点设备作为待测节点设备存储至所述待测节点设备集合;基于所述待测节点设备集合中不具有所述已处理标记的节点设备,继续执行获取邻居节点列表以及获取邻居节点列表中的节点设备的过程,以扩充所述待测节点设备集合,得到目标待测节点设备集合;对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口。一方面,提供了一种区块链系统中RPC接口的风险检测系统,所述装置包括:获取模块,用于获取区块链系统中的待测节点设备集合,其中,所述待测节点设备集合包括多个待测节点设备;所述获取模块,还用于与所述待测节点设备集合中的第一节点设备建立通信连接,获取所述第一节点设备的邻居节点列表,所述邻居节点列表包括所述第一节点设备的至少一个邻居节点设备;所述获取模块,还用于从所述第一节点设备的邻居节点列表中,获取至少一个第二节点设备,为所述第一节点设备添加已处理标记,所述已处理标记用于指示节点设备的邻居节点列表已经处理;存储模块,用于当所述待测节点设备集合中不包括所述至少一个第二节点设备时,将所述至少一个第二节点设备作为待测节点设备存储至所述待测节点设备集合;所述获取模块,还用于基于所述待测节点设备集合中不具有所述已处理标记的节点设备,继续执行获取邻居节点列表以及获取邻居节点列表中的节点设备的过程,以扩充所述待测节点设备集合,得到目标待测节点设备集合;检测模块,用于对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口。一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现所述区块链系统中RPC接口的风险检测方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述区块链系统中RPC接口的风险检测方法所执行的操作。本专利技术实施例中获取待测节点设备集合,对于待测节点设备集合中的节点设备,可以获取该节点设备的邻居节点设备并将其添加到待测节点设备集合中,来扩充该待测节点设备集合,对于新添加进待测节点设备集合中的节点设备,也可以再获取其邻居节点设备继续对待测节点设备集合进行扩充,从而得到全面的目标待测节点设备集合,进而对待测节点设备的RPC端口进行检测,相较于通过全网范围内扫描开启了默认端口的设备来获取待测设备的方式,不会出现混入一些不是区块链系统中的节点设备但开启了默认端口的设备的情况,且不会产生遗漏,获取到的目标待测节点设备集合比较全面,因而,得到的检测结果的准确性好。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测方法的实施环境;图2是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测方法的流程图;图3是本专利技术实施例提供的一种目标待测节点设备集合的获取过程示意图;图4是本专利技术实施例提供的一种目标待测节点设备集合的获取过程示意图;图5是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测过程的示意图;图6是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测方法的示意图;图7是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测方法的示意图图8是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测方法的示意图;图9是本专利技术实施例提供的一种恶意RPC行为数据的示意图;图10是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测RPC接口的风险检测装置的结构示意图;图11是本专利技术实施例提供的一种终端的结构示意图;图12是本专利技术实施例提供的一种服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1是本专利技术实施例提供的一种区块链系统中RPC接口的风险检测方法的实施环境。该实施环境可以包括多个计算机设备,每个计算机设备可以为服务器,也可以为终端。其中,该多个计算机设备可以为区块链系统中的多个节点设备,区块链系统中的一个或多个节点设备可以执行本专利技术实施例提供的区块链系统中RPC接口的风险检测方法中的一个或多个步骤。例如,该区块链系统内可以包括联盟内各个机构的服务器,一个或多个服务器可以执行本专利技术实施例提供的区块链系统中RPC接口的风险检测方法。该多个计算机设备可以为同一个机构的多个节点设备,也可以为不同的机构的节点设备,本专利技术实施例对此不作本文档来自技高网...

【技术保护点】
1.一种区块链系统中远程过程调用RPC接口的风险检测方法,其特征在于,所述方法包括:获取区块链系统中的待测节点设备集合,其中,所述待测节点设备集合包括多个待测节点设备;与所述待测节点设备集合中的第一节点设备建立通信连接,获取所述第一节点设备的邻居节点列表,所述邻居节点列表包括所述第一节点设备的至少一个邻居节点设备;从所述第一节点设备的邻居节点列表中,获取至少一个第二节点设备,为所述第一节点设备添加已处理标记,所述已处理标记用于指示节点设备的邻居节点列表已经处理;当所述待测节点设备集合中不包括所述至少一个第二节点设备时,将所述至少一个第二节点设备作为待测节点设备存储至所述待测节点设备集合;基于所述待测节点设备集合中不具有所述已处理标记的节点设备,继续执行获取邻居节点列表以及获取邻居节点列表中的节点设备的过程,以扩充所述待测节点设备集合,得到目标待测节点设备集合;对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口。

【技术特征摘要】
1.一种区块链系统中远程过程调用RPC接口的风险检测方法,其特征在于,所述方法包括:获取区块链系统中的待测节点设备集合,其中,所述待测节点设备集合包括多个待测节点设备;与所述待测节点设备集合中的第一节点设备建立通信连接,获取所述第一节点设备的邻居节点列表,所述邻居节点列表包括所述第一节点设备的至少一个邻居节点设备;从所述第一节点设备的邻居节点列表中,获取至少一个第二节点设备,为所述第一节点设备添加已处理标记,所述已处理标记用于指示节点设备的邻居节点列表已经处理;当所述待测节点设备集合中不包括所述至少一个第二节点设备时,将所述至少一个第二节点设备作为待测节点设备存储至所述待测节点设备集合;基于所述待测节点设备集合中不具有所述已处理标记的节点设备,继续执行获取邻居节点列表以及获取邻居节点列表中的节点设备的过程,以扩充所述待测节点设备集合,得到目标待测节点设备集合;对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口。2.根据权利要求1所述的方法,其特征在于,所述从所述第一节点设备的邻居节点列表中,获取至少一个第二节点设备,包括:读取所述第一节点设备的邻居节点列表中的邻居节点设备的属性信息;当任一邻居节点设备的所述属性信息表示所述任一邻居节点设备位于所述区块链系统中时,将所述任一邻居节点设备获取为第二节点设备。3.根据权利要求1所述的方法,其特征在于,所述对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口,包括:与所述每个待测节点设备建立通信连接,所述通信连接的一端为所述每个待测节点设备的RPC端口;通过所述通信连接,向所述每个待测节点设备发送至少一个第一RPC请求;接收所述每个待测节点设备基于所述至少一个第一RPC请求发送的至少一个第一网络数据;当任一第一网络数据为任一第一RPC请求所对应的正常网络数据时,将所述任一第一网络数据对应的接口获取为目标RPC接口。4.根据权利要求3所述的方法,其特征在于,所述对所述目标待测节点设备集合中每个待测节点设备的RPC端口进行检测,得到所述RPC端口所绑定的存在安全风险的目标RPC接口之后,所述方法还包括:记录所述目标RPC接口的第一相关信息,所述第一相关信息包括所述任一第一RPC请求的内容、所述任一第一网络数据和所述目标RPC接口所在节点设备的节点信息中至少一项。5.根据权利要求1所述的方法,其特征在于,所述每个待测节点设备的RPC端口的获取过程,包括:获取所述每个待测节点设备的目标标识信息对应的端口;当所述目标标识信息对应的端口处于开启状态时,将所述目标标识信息对应的端口作为所述RPC端口;当所述目标标识信息对应的端口处于关闭状态时,扫描所述每个待测节点设备的所有端口,得到所述每个待测节点设备的至少一个网络端口;当任一个网络端口绑定有RPC接口时,将所述任一个网络端口获取为所述RPC端口。6.根据权利要求1所述的方法,其特征在于,所述每个待测节点设备的RPC端口的获取过程,包括:扫描所述每个待测节点设备的所有端口,得到所述每个待测节点设备的至少一个网络端口;当任一个网络端口绑定有RPC接口时,将所述任一个网络端口获取为所述RPC端口。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到任一设备发送的第二RPC请求时,提取所述第二RPC请求中携带的RPC接口;当所述RPC接口为目标接口时,根据所述目标接口的接口类型,获取所述接口类型对应的第一伪造数据,所述第一伪造数据用于表示不是所述目标接口返回的真实数据;向所述任一设备发送所述第一伪造数据;记录所述第二RPC请求的第二相关信息,所述第二相关信息包括所述任一设备的设备信息、所述第二RPC请求的内容以及所述第一伪造数据中至...

【专利技术属性】
技术研发人员:王凯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1