CN110730195A - 一种数据处理方法、装置以及计算机可读存储介质 - Google Patents
一种数据处理方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110730195A CN110730195A CN201911306107.8A CN201911306107A CN110730195A CN 110730195 A CN110730195 A CN 110730195A CN 201911306107 A CN201911306107 A CN 201911306107A CN 110730195 A CN110730195 A CN 110730195A
- Authority
- CN
- China
- Prior art keywords
- node
- detected
- list
- nodes
- target
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据处理方法、装置以及计算机可读存储介质,该方法包括:获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;从第一列表的至少一个第二节点中获取待检测节点;在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。采用本申请,可提高对恶意节点进行识别的效率,以确保数据传输的安全性。
Description
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种数据处理方法、装置以及计算机可读存储介质。
背景技术
在区块链网络中的每个节点均可以通过P2P网络与多个节点之间进行数据传输。然而,当与该区块链网络中的某个节点(例如,节点A)相连的多个节点中存在恶意节点(例如节点B)时,该节点B可以通过与该节点A之间所维持的会话连接,将与自己相关联的其他恶意节点的非法地址信息给到节点A,以建立与其他恶意节点之间的会话连接。换言之,现有技术中的该节点A会无差别的与发送连接请求的这些恶意节点之间建立会话连接。
比如,该节点B可以操控具有非法地址信息的其他恶意节点(比如,节点1、节点2、...、节点N)向该节点A发送连接请求,以使这些恶意节点能够在短时间内快速与节点A建立网络连接。当与该节点A建立网络连接的恶意节点的数量超过参与共识所需要的50%的节点时,该节点B可以通过这些恶意节点间接控制该节点A,比如,该节点B可以篡改与该节点A相关联的业务数据,以将一些包含虚假业务数据的区块写入区块链,以至于难以保障节点之间的数据传输的安全性。
发明内容
本申请提供了一种数据处理方法、装置以及计算机可读存储介质,可以提高对攻击节点进行识别的效率,以提高数据传输的安全性。
本申请一方面提供了一种数据处理方法,包括:
获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;
从第一列表的至少一个第二节点中获取待检测节点;
在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;
若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
本申请一方面提供了一种数据处理装置,包括:
列表获取模块,用于获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;
待测节点获取模块,用于从第一列表的至少一个第二节点中获取待检测节点;
关联特征检测模块,用于在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;
攻击节点确定模块,用于若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
其中,装置应用于区块链网络中的第一节点;
列表获取模块包括:
第一节点重启单元,用于响应针对第一节点的重启指令,重启第一节点,且将重启第一节点的时刻确定为第一时刻;
第二节点确定单元,用于将第一时刻的上一时刻确定为第二时刻,将第二时刻与第一节点具有历史网络连接关系的节点确定为第二节点;第二节点的数量为N个;N为正整数;
列表确定单元,用于将包含N个第二节点和N个第二节点的地址标识信息的历史连接列表确定为第一列表,在第一时刻时缓存第一列表;
则待检测节点获取模块,具体用于从第一列表所包含的N个第二节点中,遍历选取一个第二节点作为待检测节点。
其中,关联特征检测模块包括:
目标时长获取单元,用于获取与第一时刻相关联的目标时长;目标时长包含重启第一节点之前的且包含第二时刻的第一时长;
历史特征统计单元,用于基于第一节点与待检测节点在第一时长内的历史会话连接,统计第一节点与待检测节点之间的历史行为特征;
关联特征检测单元,用于将统计到的历史行为特征作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,历史特征统计单元包括:
拉取请求监测子单元,用于根据第一节点与待检测节点之间的历史会话连接,监测向待检测节点发送的地址拉取请求;
拉取请求统计子单元,用于统计在第一时长内发送地址拉取请求的频次;
第一确定子单元,用于基于统计到的地址拉取请求的频次确定第一节点与待检测节点之间的历史行为特征。
其中,第一确定子单元包括:
节点数量确定子单元,用于基于统计到的地址拉取请求的频次,在第一时长内确定获取到的由待检测节点所返回的第三节点的数量;第三节点的数量为M个;M为正整数;每个第三节点均为待检测节点在本地数据库中所维护的已连接列表中的节点;
目标节点确定子单元,用于在第一时长内,将在M个第三节点中所选取的用于接收第一节点所发送的主动连接请求的第三节点确定为目标第三节点;
主动请求监测子单元,用于监测向目标第三节点发送主动连接请求的频次;
历史特征确定子单元,用于将地址拉取请求的频次以及主动连接请求的频次确定为与第一节点与待检测节点之间的历史行为特征。
其中,待检测节点的本地数据库中包含已连接列表和待连接列表;已连接列表是由在第一时长内与待检测节点具有网络连接关系的节点所构成的;待连接列表是由在第一时长内接入区块链网络且不具有网络连接关系的节点所构成的;
历史特征统计单元包括:
传入请求统计子单元,用于根据第一节点与待检测节点之间的历史会话连接,统计在第一时长内接收到与待检测节点相关联的第四节点所发送的传入连接请求的数量;第四节点包括已连接列表和待连接列表中的节点;
第二确定子单元,用于将统计到的传入连接请求的数量确定为第一节点与待检测节点之间的历史行为特征。
其中,历史特征统计单元包括:
地址获取子单元,用于根据第一节点与待检测节点之间的历史会话连接,获取与所待检测节点相关联的第四节点的地址信息;
地址校验子单元,用于获取与区块链网络相关联的地址分配规则,基于地址分配规则对第四节点的地址信息的合法性进行校验,得到第四节点对应的校验结果;
第三确定子单元,用于将第四节点对应的校验结果确定为第一节点与待检测节点之间的历史行为特征。
其中,装置还包括:
请求拒绝模块,用于在确定待检测节点为攻击节点,且接收到待检测节点所发送的用于建立目标会话连接的传入连接请求时,拒绝传入连接请求;
地址移除模块,用于在第一列表中移除待检测节点的地址信息,并将待检测节点的地址信息添加至非法节点列表;
非法列表上链模块,用于将非法节点列表写入区块链网络中的区块链。
其中,目标时长还包含在重启第一节点之后的第二时长;
装置还包括:
诚实节点确定模块,用于若在第一时长内检测到关联行为特征不满足目标检测条件,则确定待检测节点为诚实节点;
会话建立模块,用于基于待检测节点的地址信息向待检测节点发送传出连接请求,以使待检测节点基于传出连接请求建立目标会话连接;
关联特征更新模块,用于基于目标会话连接,在第二时长内统计待检测节点的目标行为特征,根据目标行为特征更新关联行为特征。
其中,装置应用于区块链网络中的管理节点;目标时长还包含在重启第一节点之后的第三时长;
关联特征检测模块包括:
列表获取单元,用于在第一节点与待检测节点建立目标会话连接时,获取第一节点在第三时刻时所维护的第二列表和第三列表;第二列表为接入区块链网络且未建立会话连接的节点;第三列表是根据待检测节点的标识信息对第一列表进行更新后所确定的;第三时刻为第一时刻的下一时刻,且第三时刻属于第三时长;
关联节点确定单元,用于在第三时长内,将在第三列表和第二列表中的用于接收由第一节点所发送的传出连接请求的节点确定为关联节点,获取为关联节点所分配的标识信息;
节点匹配单元,用于将具有标识信息的关联节点与第一列表中的至少一个第二节点进行匹配,得到目标匹配结果;
特征检测单元,用于将目标匹配结果作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,目标检测条件包含若目标匹配结果中的具有标识信息的关联节点不属于第二列表中的节点,且具有标识信息的关联节点均属于第一列表中的节点;
装置还包括:
关联攻击确定模块,用于确定关联节点为由待检测节点所控制的攻击节点;
断开通知模块,用于断开第一节点与待检测节点之间的目标会话连接,并通知第一节点在接收到由关联节点所发送的攻击连接请求时,拒绝攻击连接请求。
本申请一方面提供了一种节点设备,包括存储器、处理器以及网络接口,处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,存储器用于存储程序代码,处理器用于调用程序代码,以执行如本申请实施例一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述一方面中的方法。
本申请可以获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;从第一列表的至少一个第二节点中获取待检测节点;在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。由此可见,本申请实施例可以在第一节点与待检测节点建立会话连接的过程中,在目标时长内对待检测节点和第一节点之间的行为特征进行监测。其中,目标时长可以包含重启该第一节点之前的一段时长;可选的,该目标时长还可以包含重启该第一节点之后的一段时长。进一步的,本申请可以将在该目标时长内所监测到的所有行为特征统称为与待检测节点相关联的关联行为特征,以通过该关联行为特征对该待检测节点进行识别,从而可以在该关联行为特征满足目标检测条件的情况下,快速将该待检测节点确定为攻击节点,以提高对攻击节点进行识别的效率。应当理解,本申请通过对第一列表中所存在的攻击节点进行识别,可以使该第一节点后续与其他节点之间进行数据传输的过程中,确保数据传输的安全性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络结构的示意图;
图2是本申请实施例提供的一种数据交互场景的示意图;
图3是本申请提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种进行获取第一列表的场景示意图;
图5是本申请实施例提供的一种获取历史行为特征的场景示意图;
图6是本申请实施例提供的一种获取历史行为特征的场景示意图;
图7是本申请实施例提供的一种获取历史行为特征的场景示意图;
图8是本申请实施例提供的一种数据处理方法的流程示意图;
图9是本申请实施例提供的一种建立目标会话连接的时序图;
图10是本申请提供的一种数据处理装置的结构示意图;
图11是本申请提供的一种节点设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种区块链网络结构的示意图。如图1所示的区块链网络结构可以应用于区块链系统,该区块链系统可以是由多个节点通过网络通信的形式连接形成的分布式系统。如图1所示的多个节点可以包括节点10a、节点10b、节点10c、节点10d、节点20a、节点20b、...、节点20c。
如图1所示,节点20a、节点20b、...、节点20c可以分别与节点10d进行网络连接,以便于能够通过与该节点10d之间的网络连接进行数据交互。此外,节点10a、节点10b、节点10c也可以分别与节点10d进行网络连接,以便于能够通过与该节点10d之间的网络连接进行数据交互。
其中,该区块链网络中的每个节点(例如,节点10a、节点10b、节点10c、节点10d、节点20a、节点20b、...、节点20c)可以为SPV(Simplified Payment Verification,简单支付验证)节点。本申请实施例可以将每个SPV节点称之为轻量节点,所谓轻量节点是指具备下述支付验证功能的节点,即轻量节点可以用于验证某个交易支付是否存在,还可以用于获知该交易(即业务数据)所在的区块已得到区块链网络(例如,比特币网络)中的多少个确认。
其中,可以理解的是,SPV节点可以通过本地所存储的区块头信息和一条连接某个交易与默克尔树根的默克尔路径,在该区块链网络中的区块链上快速定位到这笔交易所在区块,从而可以进一步验证该区块中是否真实存在这笔交易。若该交易确实存在于区块链上,则SPV节点可以通过查看这笔交易所在区块之后的区块个数,以进一步验证这笔交易没有被重花(即双重支付)。应当理解,区块个数越多,则说明该区块已被全网更多节点所共识。一般来说,一笔交易所属区块之后的区块个数达到6个时,可以说明这笔交易是被区块链网络中的共识节点所核准过(达成共识)的,没有重花,而且被篡改的可能性也很低。
其中,还可以理解的是,与每个轻量节点相关联的用于记账的共识节点可以称之为全量节点(图1并未示出)。应当理解,这些全量节点之间所构成的网络可以称之为共识网络,该共识网络中的任意两个全量节点之间可以形成点对点(P2P,Peer To Peer)网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为全量节点,其中,每个全量节点均可以包括硬件层、中间层、操作系统层和应用层。
其中,可以理解的是,本申请实施例可以为接入该区块链网络结构的任意一个角色(例如,任意一个企业、任意一个机构等)绑定一个轻量节点。所以,如图1所示的节点10a、节点10b、节点10c、节点10d、节点20a、节点20b、...、节点20c可以分别与需要接入该区块链网络中的相应角色之间存在一一对应关系。比如,在电子票据系统中,可以将开票企业所开具的电子票据称之为一笔交易。其中,开票企业A可以对应图1所示的节点20a,开票企业B可以对应图1所示的节点20b、...、开票企业C可以对应图1所示的节点20c。又比如,在电子资产转移系统中,用户之间的所展开的资产转移行为可以理解为一种交易。其中,用户1可以对应图1所示的节点10a,用户2可以对应图1所示的节点10b,以此类推,可以为该电子资产转移系统中的每个用户绑定一个轻节点。本申请实施例中的每个用户均可以为实体对象,其中,这里的用户可以包含个人用户以及企业用户等。
其中,还可以理解的是,由于每个用户均可以对应一个轻量节点,所以,本申请实施例可以以实体对象为上述企业用户(简称企业)为例。比如,该企业可以为上述开票企业A,与该开票企业相关联的轻量节点可以为上述图1所示的节点10d。可以理解的是,在区块链网络中,该节点10d需要依赖与其存在网络连接(也可以称之为会话连接)的其他节点来获取相应的业务数据信息(例如,可以依赖于其他节点来获取相应的待同步的区块头信息等)。
为确保不同节点之间数据传输的安全性和有效性,本申请实施例可以将上述节点10d称之为第一节点,以在该区块链网络中对与该节点10d进行网络连接的其他节点的行为特征进行监测,以识别与该第一节点相关联的其他节点是否为恶意节点(也可以称之为攻击节点)。应当理解,本申请实施例通过在特定时长内(即目标时长)对攻击节点的行为特征进行采集,可以提高对攻击节点进行识别的效率。此外,通过对攻击节点进行识别,本申请实施例可以在第一节点与其他节点进行连接的过程中,有效地防止日蚀攻击,从而可以确保与该第一节点相关联的节点之间进行数据传输的安全性。
其中,日蚀攻击(Eclipse Attack)是攻击节点针对区块链网络的一种攻击类型。攻击者对应的攻击节点通过操控特定数量的恶意节点(即特定节点),可以非法占满受害节点(例如,上述图1所示的节点10d,该节点10d可以为该区块链网络中的诚实节点)所维护的两个列表,从而导致受害节点难以继续从整个网络上得到其他诚实节点所发送的连接请求。这两个列表可以包含与该节点10d相关联的已连接列表和待连接列表。
其中,本申请实施例可以将该节点10d(即第一节点)在重启之前的那一刻(即第二时刻)所维护的已连接列表称之为第一列表。该已连接列表可以用于存储在第二时刻已与该节点10d(即上述第一节点)建立网络连接关系(这里指历史网络连接关系)的节点。其中,该节点10d在第二时刻所维护的待连接列表(即新接入列表)中可以包含该节点10d所感知到的新接入该区块链网络且尚未建立任何网络连接关系的节点。换言之,第一列表(该第一列表可以命名为tried表)中可以存储在第二时刻已与第一节点连接成功的节点,新接入列表(该新接入列表可以命名为new表)中可以存储在第二时刻加入区块链网络但在仍未与其他节点建立会话连接的节点。
比如,在上述区块链网络为比特币网络时,攻击节点可以通过上述特定节点完全控制受害节点对相应业务数据信息的访问。例如,攻击者可以通过某种方法把受害节点(即正常的比特币节点,例如,上述图1所对应实施例中的第一节点)的输出连接都连接到该攻击者所控制的恶意节点,与此同时,该受害节点的输入连接也都连接到该攻击者所控制的恶意节点,进而可以非法占满该受害节点所维护的两个列表。由此可见,攻击节点在进行日蚀攻击的过程中,可以通过控制僵尸网络不断地去连接这个受害节点,以达到刷新这两个列表的目的,从而使得这两个列表中可以保存了大量的恶意节点的地址信息。那么,在重启该受害节点(即前述第一节点)时,该第一节点节点所能够连接到的就是该攻击节点所控制的恶意节点。
为防止日蚀攻击,本申请实施例可以在上述第一节点与其他节点建立会话连接的过程中,通过具有行为特征检测功能的数据处理装置,对与该第一节点相关联的其他节点的行为特征进行监测,以从这些节点中识别出攻击节点,继而可以在该攻击节点试图向该第一节点发送用于建立会话连接(即目标会话连接)的连接请求之前,拒绝攻击节点所发送的连接请求,并可以一并在该第一节点所维护的第一列表中去除该攻击节点和该攻击节点的地址信息,以确保与该第一节点相关联的其他节点之间的数据传输的安全性。可选的,本申请还可以在第一节点与该攻击节点建立目标会话连接情况下,断开与该攻击节点之间的目标会话连接,从而可以确保与该第一节点相关联的其他节点之间的数据传输的安全性。
为便于理解,进一步的,请参见图2,是本申请实施例提供的一种数据交互场景的示意图。为便于理解,本申请实施例以在重启该第一节点30a之前,与该第一节点30a具有网络连接关系的节点为上述图1所对应实施例中的节点10a、节点10b、节点10c、节点20a、节点20b、...、节点20c为例。其中,与该第一节点30a相关联的实体对象可以为上述用户1。可以理解的是,用户1可以在该第一节点满足重启条件(例如,第一节点输出重启提示信息)的情况下,基于获取到的重启指令重启该第一节点30a。本申请实施例可以将重启该第一节点30a的时刻称之为第一时刻。可以理解的是,由于在重启该第一节点30a的前一刻(本申请实施例可以将该第一时刻的上一时刻称之为第二时刻),该第一节点30a所维护的第一列表中可以包含前述节点10a、节点10b、节点10c、节点20a、节点20b、...、节点20c等N个节点。所以,当用户1在第一时刻对该第一节点30a执行重启操作时,该第一节点30a可以对该包含N个节点的第一列表进行缓存,以得到图2所示的第一列表40。可以理解的是,第一节点30a在重启之后,需要重新访问该区块链网络,即需要重新与该区块链网络中的其他节点之间建立新的网络连接。比如,该第一节点在重启之后,可以首先尝试与该第一列表40中的节点(即第二节点)发送连接请求。为便于理解,本申请实施例以该第一列表40中的节点20b作为待检测节点30b为例,以阐述在第一节点30a与该待检测节点30b通过图2所示的网络1建立网络连接的过程中,通过图2所示的数据处理装置50对这两个节点的行为特征进行监测的具体过程。可以理解的是,通过该数据处理装置50对这两个节点之间的行为特征进行检查,可以快速判断这两个节点是否为攻击节点,进而可以确保参与建立新的网络连接(即目标会话连接)的两个节点之间的数据传输的安全性。
其中,如图2所示的数据处理装置50可以具备行为特征采集以及行为特征检测功能。应当理解,该数据处理装置50可以集成运行在图2所示的第一节点30a中,这样,集成有该数据处理装置的第一节点30a可以具备对图2所示的待检测节点30b的行为特征进行采集以及检测的功能,此时,该第一节点30a可以在与该待检测节点30b建立会话连接之前,预先判断该待检测节点30b是否为攻击节点。如果该待检测节点30b为攻击节点,则可以在获取到该待检测节点30b所发送的连接请求时,直接拒绝该连接请求,从而可以有效地防止该待检测节点30b所开展的日蚀攻击,进而可以确保数据传输的安全性。
可选的,如图2的数据处理装置50还可以独立运行在不同于该第一节点30a的管理节点(未在图2所对应实施例上示出)上,以使该管理节点可以在第一节点30a与待检测节点30b建立会话连接的过程中,对第一节点30a与待检测节点30b之间的行为特征进行采集与检测,以识别参与建立会话连接的这两个节点是否为攻击节点。为便于理解,本申请实施例可以将在该区块链网络中需要进行重启的节点称之为第一节点。该第一节点30a可以为诚实节点,通过集成有该数据处理装置50的管理节点可以对与该第一节点30a相关联的所有第二节点(即上述第一列表40中的节点)的行为特征(这里可以包含历史行为特征)进行采集与检测,以从这些节点中判断是否存在攻击节点,从而可以在第一节点30a与这些节点尚未建立会话连接的情况下,拒绝攻击节点所发送的连接请求。本申请实施例可以将在重启该第一节点之前的一段时长(即第一时长)内所统计到的行为特征称之为历史行为特征,并可以将在重启该第一节点之后的一段时长(即第二时长)内所统计到的行为特征称之为目标行为特征。
其中,本申请实施例可以将第一节点30a与待检测节点30b之间的行为特征(即前述历史行为特征和目标行为特征)统称为与该待检测节点30b相关联的关联行为特征。该关联行为特征可以包含:监测第一节点30a是否在目标时长内接收到大量的持续性的传入连接,这些传入连接可以是由与待检测节点30b相关联的第三节点所发送的连接请求。可选的,该关联行为特征还可以包括:监测该第一节点30a在目标时长内向待检测节点30b发送地址连接请求的频率。可选的,该关联行为特征还可以包括:监测目标时长内该待检测节点30b基于地址连接请求所返回的地址信息的有效性等;可选的,该关联行为特征还可以包括:该第一节点30a在重启之后,所传出的用于建立目标会话连接的连接请求中的第四节点是否均为第一列表中的节点,且在重启后的一段时长(即上述第二时长)内一直未曾向新的待接入列表中的节点发送过连接请求。
可选的,为便于提供对攻击节点进行识别的效率,本申请实施例还可以在识别到这些攻击节点的情况下,将这些攻击节点添加至非法节点列表,并将该非法节点列表进行上链处理,以帮助该区块链网络中的其他节点可以通过链上所存储的非法节点列表,提高对攻击节点进行识别的效率。
其中,数据处理装置50获取第一列表,对待检测节点相关联的关联行为特征进行攻击检测的具体过程,可以参见如下图3至图9所对应的实施例。
进一步的,请参见图3,是本申请提供的一种数据处理方法的流程示意图,如图3所示,方法由数据处理装置执行。可选的,方法可以应用于区块链网络中的第一节点,该第一节点中可以运行有具有行为特征采集和检测功能的数据处理装置,该数据处理装置可以为上述图2所对应实施例中的数据处理装置50;可以理解的是,数据处理装置也可以独立于第一节点。方法具体可以包括以下步骤S101-步骤S104:
步骤S101,获取区块链网络中的第一节点在第一时刻所缓存的第一列表;
具体的,数据处理装置可以响应针对第一节点的重启指令,重启第一节点,且将重启第一节点的时刻确定为第一时刻;进一步的,数据处理装置可以将第一时刻的上一时刻确定为第二时刻,并将第二时刻与第一节点具有历史网络连接关系的节点确定为第二节点;第二节点的数量可以为N个;其中,N为正整数;进一步的,数据处理装置可以将包含N个第二节点和N个第二节点的地址标识信息的历史连接列表确定为第一列表,进而可以在第一时刻时缓存第一列表,以便于可以进一步执行下述步骤S102,即该数据处理装置可以从第一列表所包含的N个第二节点中,遍历选取一个第二节点作为待检测节点。
其中,第一时刻可以为重启第一节点时的时刻;第一列表中可以包含至少一个第二节点;每个第二节点均可以为在第二时刻与第一节点之间存在历史网络连接关系的节点;第二时刻可以为第一时刻的上一时刻;
其中,重启该第一节点的主要情况可以大致包含:1)该第一节点需要进行服务升级;2)存在设备宕机等现象时,3)人为重启。这里将不一一对重启该第一节点的具体情况进行一一列举。
其中,可以理解的是,本申请实施例通过对该第一节点执行重启操作,可以帮助该第一节点在第一时刻时断开与该区块链网络中的相应节点之间的网络连接,从而可以在该第一节点重新接入该区块链网络时,预先对第一列表中所缓存的第二节点进行攻击检测。换言之,本申请实施例中的运行有数据处理装置的第一节点,可以在与第一列表中的第二节点建立目标会话连接之前,通过该数据处理装置对第一列表中的第二节点进行恶意节点的识别,以重新与在第一列表中所确定的诚实节点之间建立新的网络连接(也可以将该新的会话连接称之为目标会话连接),从而可以尽可能地与该区块链网络中的诚实节点之间进行数据传输。
为便于理解,进一步的,请参见图4,是本申请实施例提供的一种进行获取第一列表的场景示意图。其中,如图4所示的T1时刻可以为上述第一时刻,如图4所示的第一节点可以为集成有数据处理装置的节点60d。如图4所示,第一节点可以在T2时刻(即上述第二时刻,该第二时刻可以为图4所示的T1时刻的上一时刻),与图4所示的多个节点(例如,节点60a、节点60b、节点60c)之间建立有历史会话连接,即该第一节点可以在该第二时刻与多个节点之间存在历史网络连接关系。应当理解,本申请实施例仅示意性列举了该区块链网络中与该第一节点具有历史网络连接关系的部分第二节点。
其中,可以理解的是,本申请实施例可以将在T2时刻与该第一节点(即图4所示的节点60d)具有历史网络连接关系的节点统称为第二节点,比如,与该第一节点具有历史网络连接关系的第二节点的数量可以包含N个,N可以为正整数,且本申请实施例可以在T2时刻将该由这N个第二节点所构成的列表统称为已连接列表。所以,在本申请实施例中,该第一节点在该T2时刻所维护的N个第二节点中可以包含图4所示的节点60a、节点60b、节点60c。
其中,可以理解的是,本申请实施例中的第一节点(即节点60d)可以在获取到重启指令时,在图4所示的T1时刻根据该重启指令重启该第一节点,并可以将重启该第一节点的T1时刻称之为第一时刻。应当理解,该第一节点在第一时刻进行重启操作时,还可以同步缓存该第一节点在T2时刻所维护的已连接列表。可以理解的是,本申请实施例在重启该第一节点后,将该第一节点在T2时刻所维护的已连接列表称之为第一列表,该第一列表中可以包含图4所示的节点60a、节点60b、...、节点60c。
步骤S102,从第一列表的至少一个第二节点中获取待检测节点;
其中,如上述图4所示,该运行有数据处理装置的第一节点可以在图4所示的第一列表中,依次将节点60a、节点60b、...、节点60c确定为待检测节点,进而可以执行下述步骤S103,以通过该第一节点中所运行的数据处理装置,确定该第一节点与待检测节点之间的关联行为特征。
步骤S103,在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;
具体的,运行有数据处理装置的第一节点可以获取与第一时刻相关联的目标时长;其中,目标时长可以包含重启第一节点之前的且包含第二时刻的第一时长;进一步的,基于第一节点与待检测节点在第一时长内的历史会话连接,该第一节点可以通过数据处理装置统计第一节点与待检测节点之间的历史行为特征;进一步的,该第一节点可以将统计到的历史行为特征作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,应当理解,第一节点在重启之后,可以通过该第一节点中所缓存的第一列表中的第二节点快速接入区块链网络。但是,为例确保准备与该第一节点进行网络连接的这些第二节点的可靠性与安全性。本申请实施例可以引入上述图4所示的具有行为特征采集与检测功能的数据处理装置。该数据处理装置可以集成运行在上述图4所示的第一节点中。此时,该第一节点可以具备对准备与其进行网络连接的其他节点的行为特征进行攻击检测的功能。
换言之,该第一节点可以在指定时长(即目标时长)内对待与其连接的第二节点(即待与其连接的第二节点可以为从上述第一列表中所获取的待检测节点)的行为特征进行攻击检测,以识别该待检测节点是否为恶意节点,本申请实施例可以将识别到的恶意节点统称为攻击节点,进而可以在这些攻击节点与第一节点建立连接之前,有效地防止该攻击节点对该第一节点展开日蚀攻击。其中,应当理解,本申请实施例中的目标时长可以包含重启该第一节点之前的一段时长,这段时长可以为上述第一时长,此时,运行在第一节点中的数据处理装置所统计到的与该待检测节点相关联的关联行为特征:是指在该第一时长内所监测到的第一节点与待检测节点之间的历史行为特征。
其中,该运行有处理装置装置的第一节点在该第一时长内所统计到的历史行为特征可以包含以下至少一种类型的行为特征:
1)获取第一节点向上述待检测节点发送地址拉取请求的频率(即地址拉取请求的频次)。即该数据处理装置可以根据第一节点与待检测节点之间的历史会话连接,在第一时长内将监测到的第一节点向待检测节点发送地址拉取请求的频次称之为历史行为特征。
为便于理解,进一步的,请参见图5,是本申请实施例提供的一种获取历史行为特征的场景示意图。如图5所示,集成有数据处理装置的第一节点可以通过图5所示的网络2与待检测节点(例如,上述图4所对应实施例中的节点60c)进行网络连接(即第一节点与该待检测节点在第一时长内可以存在图5所示的历史会话连接)。在第一节点重启的过程中,图5所示的第一节点可以通过数据处理装置保存该第一节点与待检测节点(即上述图4所示的节点60c)之间的历史网络连接关系。所以,在重启该第一节点使该第一节点重新接入该区块链网络时,可以预先通过图5所示的数据处理装置对第一列表中所包含该节点60c在第一时长内所关联的历史行为特征1进行统计。
比如,如图5所示的数据处理装置可以根据第一节点与待检测节点(即上述图4所示的节点60c)之间的历史会话连接,监测向待检测节点发送的地址拉取请求,从而可以统计该第一节点在第一时长内发送地址拉取请求的频次;进一步的,该数据处理装置可以将统计到的地址拉取请求的频次作为第一节点与待检测节点之间的历史行为特征1。换言之,图5所示的数据处理装置通过获取第一节点向待检测节点主动发送地址拉取请求的频率,可以判断待与该第一节点进行网络连接的待检测节点是否为攻击节点。进而可以执行下述步骤S104。可以理解的是,本申请实施例可以根据获取到的第一时长内所发送的地址拉取请求的频次是否大于预设的地址拉取阈值,快速确定与待检测节点相关联的关联行为特征是否满足目标检测条件。比如,在检测到地址拉取请求的频次(例如,4次)大于预设的地址拉取阈值(例如,3次)时,可以间接确定该待检测节点为攻击节点。因为如果该待检测节点为攻击节点,则该待检测节点会不断在该区块链网络中刷新第一节点所维护的两个列表,进而导致第一节点在第一时长内频繁地向待检测节点发送地址拉取请求,以至于该第一节点会在短期内获取到大量的由该待检测节点所控制的恶意节点的地址信息。因此,本申请实施例通过反向侦测该第一节点(受害节点)所产生的异常的行为特征即可以帮助该第一节点从其所维护的第一列表中去除该待检测节点,以确保后续节点之间数据传输的安全性。
2)监测第一节点在连接到相应的待检测节点时,是否会主动且频繁地去连接与该待检测节点相关联的节点。本申请实施例可以在该第一时长内将与该待检测节点相关联的节点统称为第三节点,该第三节点的数量可以为M个。
为便于理解,进一步的,请参见图6,是本申请实施例提供的一种获取历史行为特征的场景示意图。如图6所示,集成有数据处理装置的第一节点可以通过上述图5所示的网络2与待检测节点(即图6所示的第一列表中的节点60c)进行网络连接(即第一节点与该待检测节点在第一时长内可以存在上述图5所示的历史会话连接)。同理,在重启该第一节点使该第一节点重新接入该区块链网络时,第一节点可以预先通过图6所示的数据处理装置对第一列表中的节点60c在第一时长内所关联的历史行为特征2进行统计。
比如,如图6所示的数据处理装置可以根据第一节点与待检测节点(即图6所示的节点60c)之间的历史会话连接,监测该第一节点在第一时长内发送地址拉取请求的频次;进一步的,如图6所示,该数据处理装置可以根据统计到的地址拉取请求的频次,在该第一时长内确定获取到的由待检测节点所返回的第三节点的数量;如图6所示,第三节点的数量可以为M个;其中,M可以为正整数;每个第三节点均为待检测节点在本地数据库中所维护的已连接列表中的节点;如图6所示,该待检测节点在本地所维护的已连接列表可以为图6所示的已连接列表1,该已连接列表1中可以包含多个节点。本申请实施例可以将该已连接列表1中所包含的每个节点统称为第三节点。如图6所示的这些第三节点可以包含:节点70a、节点70b、...、节点70c。如图6所示,该节点70a对应的地址标识信息可以为节点地址A1,节点70b对应的地址标识信息可以为节点地址A2,以此类推,节点地址70c对应的地址标识信息可以为节点地址A3。
如图6所示,该处理处理装置在获取到该待检测节点所返回的M个节点时,例如,M个节点的数量可以为图6所示的已连接列表1中的部分节点或者全部节点,这里将不对M的数量进行限制。如图6所示,该数据处理装置可以在第一时长内,将在M个第三节点中所选取的用于接收第一节点所发送的主动连接请求的第三节点确定为目标第三节点,比如,该目标第三节点可以为图6所示的节点70c。进一步的,该数据处理装置可以监测向图6所示的目标第三节点发送主动连接请求的频次,进而可以将地址拉取请求的频次以及主动连接请求的频次,确定为第一节点与待检测节点之间的历史行为特征2。
换言之,图6所示的数据处理装置可以在第一节点历史连接到待检测节点时(即第一节点在与待检测节点之间存在历史会话连接的情况下),获取该第一节点向该待检测节点主动发送地址拉取请求的频率(例如,4次),还可以进一步获取该第一节点向与该待检测节点相关联的第三节点发送主动连接请求的频次。可以理解的是,此时,该主动连接请求用于请求与该目标第三节点建立会话连接。所以,该数据处理装置可以在获取到图6所示的历史行为特征的情况下,可以执行下述步骤S104,以快速判断当前待与该第一节点进行网络连接的待检测节点是否为攻击节点。可以理解的是,本申请实施例可以根据获取到的第一时长内所发送的地址拉取请求的频次是否大于预设的地址拉取阈值,比如,在检测到地址拉取请求的频次(例如,4次)大于预设的地址拉取阈值(例如,3次)时,可以进一步检查获取到的主动连接请求的频次(例如,2次)是否大于预设的传出连接阈值(例如,1次),如果两者均大于预设的阈值,则可以间接确定该待检测节点为攻击节点。其中,本申请实施例可以将该第一节点向上述目标第三节点所发生的主动连接请求统称为传出连接请求。
3)监测第一节点是否在第一时长内收到持续性的大量的传入连接请求(例如,持续性的TCP连接请求),即可以监测第一节点在第一时长内所持续性收到的传入连接请求的数量是否大于传入连接阈值。其中,本申请实施例可以将其他节点向该第一节点所发生的主动连接请求统称为传入连接请求。本申请实施例可以将该第一节点向其他节点所发生的主动连接请求统称为传出连接请求。
为便于理解,进一步的,请参见图7,是本申请实施例提供的一种获取历史行为特征的场景示意图。如图7所示,第一节点可以在与待检测节点之间通过图7所示的网络2存在历史会话连接的情况下,通过图7所示的数据处理装置监测该第一节点在第一时长内是否接收到由待检测节点所维护的两个列表中的节点所发送的传入连接请求。本申请实施例可以将该待检测节点在该第一时长内所维护的两个列表称之为已连接列表1(该已连接列表1可以为上述图6所对应实施例中的已连接列表1)和待连接列表2(或者新接入列表2’)。其中,已连接列表1是由在第一时长内与待检测节点具有网络连接关系的节点所构成的;待连接列表2是由在第一时长内接入区块链网络且尚不存在网络连接关系的节点所构成的;此外,本申请实施例可以将这两个列表中的向第一节点发送传入连接请求的节点统称为与该待检测节点相关联的第四节点;如图6所示,这些第四节点可以包含图7所示的K个第四节点,K可以为在连续时间段内所接收到的三个及三个以上的正整数;这K个第四节点具体可以包含图7所示的向第一节点发送传入连接请求1的第四节点1、向第一节点发送传入连接请求2第四节点2、...、向第一节点发送传入连接请求k的第四节点k。如图7所示,本申请实施例可以将在第一时长内由该第一节点所持续性接收到这K个第四节点所发送的传入连接请求的数量称之为第一节点与待检测节点之间的历史行为特征3,例如在10秒内接收到由待检测节点所维护的两个列表中的20个第四节点所发送的传入连接。换言之,本申请实施例中的这K个第四节点可以包括由该待检测节点所维护的已连接列表1中的节点,还可以包含由该检测节点所维护的待连接列表2中的节点,这里将不对这K个第四节点的具体来源进行限制。
应当理解,当该第一节点在该第一时长内持续性的获取到大量的传入连接请求(即在10秒内持续性的接收到的传入连接请求的数量为上述K=20个)时,可以进一步执行下述步骤S104,以间接确定与该待检测节点相关联的关联行为特征满足目标检测条件,进而可以确定该待检测节点为攻击节点。其中,本申请实施例可以将在第一时长内所持续性收到的传入连接请求的数量(即上述历史行为特征3)大于预设的传入连接阈值(例如,18个)时的条件统称为目标检测条件,以提高攻击识别的准确度,进而可以确保后续数据传输的安全性。
4)与该待检测节点相关联的第四节点的地址信息是否是无效的。
可以理解的是,本申请实施例可以通过判断这些节点的地址标识信息(即第四节点的地址信息)是否满足与该区块链网络相关联的地址分配规则,来间接判断该待检测节点是否为攻击节点。应当理解,当待检测节点为攻击节点时,由该待检测节点所控制的第四节点的地址信息均是虚假的无效的地址标识信息。比如,这些地址标识信息可以是并未分配的IP地址(即非法地址信息)。
换言之,本申请实施例可以基于地址分配规则对第四节点的地址信息的合法性进行校验,进而可以得到第四节点(即上述图7所对应实施例中向第一节点发送传入连接请求的与待检测节点相关联的节点)对应的校验结果;进一步的,该数据处理装置可以将第四节点对应的校验结果确定为第一节点与待检测节点之间的历史行为特征(例如,历史行为特征4)。若检测到上述校验结果中的所有第四节点的地址信息不具备合法性时,可以确定该待检测节点为攻击节点。
步骤S104,若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
其中,可以理解的是,该运行有数据处理装置的第一节点所获取到的关联行为特征可以包含在上述步骤S103中所获取到的历史行为特征中的一个或者多个;比如,数据处理装置所获取到的关联行为特征具体可以包含上述历史行为特征1、上述历史行为特征2、历史行为特征3以及上述历史行为特征4,这里将不对获取到的历史行为特征的具体实现方式进行限制。
可选的,可以理解的是,集成有该数据处理装置的第一节点在执行完上述步骤S101-步骤S104之后,还可以执行下述步骤:
集成有该数据处理装置的第一节点可以在确定待检测节点为攻击节点,且接收到待检测节点所发送的用于建立目标会话连接的传入连接请求时,拒绝传入连接请求;进一步的,集成有该数据处理装置的第一节点可以在第一列表中移除待检测节点的地址信息,并将待检测节点的地址信息添加至非法节点列表;进一步的,该集成有该数据处理装置的第一节点还可以通过该区块链网络中的共识节点(即上述图1所对应实施例中的全量节点)将该非法节点列表通过共识算法达到共识之后,写入该区块链网络中的区块链,以便于该区块链网络中的其他节点可以基于链上所存储的所有的攻击节点快速进行恶意节点的识别。此外,通过将非法节点列表写入区块链网络中的区块链,还可以确保恶意节点识别的准确性和可靠性。
可以理解的是,在本申请实施例中,接入该区块链网络中的每个节点均可以从链上获取该非法节点列表,以确保可以在这些节点与区块链网络中的其他节点建立会话连接之前,预先从相应节点所维护的列表(即上述第一列表)中找到待检测节点,以通过该非法节点列表快速识别出该待检测节点是否为攻击节点,以提高对恶意节点识别的效率。
可选的,目标时长还包含在重启第一节点之后的第二时长;所以,集成有上述数据处理装置的第一节点在执行完上述步骤S101-步骤S103之后,还可以执行下述步骤:
集成有上述数据处理装置的第一节点若在第一时长内检测到关联行为特征不满足目标检测条件,则可以确定待检测节点为诚实节点;此时,集成有上述数据处理装置的第一节点可以基于待检测节点的地址信息向待检测节点发送传出连接请求,以使待检测节点基于传出连接请求建立目标会话连接。其中,可以理解的是,本申请实施例可以将由该区块链网络中的每个节点(例如,第一节点)所发送的连接请求统称为传出连接请求。并可以将由该区块链网络中的每个节点(例如,第一节点)所接收到的连接请求统称为传入连接请求。进一步的,集成有上述数据处理装置的第一节点可以基于目标会话连接,在第二时长内统计待检测节点的目标行为特征,根据目标行为特征更新关联行为特征,进而可以基于更新后的关联行为特征进行攻击检测。
换言之,本申请实施例中的该数据处理装置可以在第一列表中的第二节点待与该第一节点建立目标会话连接的过程中,对该第一列表中的与每个第二节点在目标时长中的第一时长内的关联行为特征(这里主要是指第一节点与待检测节点之间的历史行为特征)进行检测,以从这些第二节点中快速识别出恶意节点,进而可以通过对恶意节点的识别,确保与该第一节点建立目标会话连接的其他节点之间的数据传输的安全性。可选的,本申请实施例还可以在第一节点与第一节点中的某个第二节点(即上述从第一列表中选取的待检测节点)建立目标会话连接的情况下,进一步在目标时长中的第二时长内统计待检测节点的目标行为特征,进而可以基于统计到的目标行为特征不断更新前述与待检测节点相关联的关联行为特征,从而随着时间的推移,可以确保后续对恶意节点识别的效率。
可选的,上述具有行为特征检测功能的数据处理装置还可以集成运行在管理节点中,该管理节点可以在将上述图1所示的节点10d作为第一节点时,可以通过该管理节点对与该第一节点具有网络连接关系的其他节点(例如,上述图1所示的节点20b)的关联行为特征进行检测,以通过判断该关联行为特征是否满足目标检测条件来判断该节点20b是否为攻击节点,进而可以有效地在第一节点与待检测节点(即节点20b)进行网络连接的过程中,有效地捕捉出恶意节点,进而可以确保该区块链网络中的其他节点之间数据传输的安全性。
本申请可以获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;从第一列表的至少一个第二节点中获取待检测节点;在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。由此可见,本申请实施例可以在第一节点与待检测节点建立会话连接的过程中,在目标时长内对待检测节点和第一节点之间的行为特征进行监测。其中,目标时长可以包含重启该第一节点之前的一段时长;可选的,该目标时长还可以包含重启该第一节点之后的一段时长。进一步的,本申请可以将在该目标时长内所监测到的所有行为特征统称为与待检测节点相关联的关联行为特征,以通过该关联行为特征对该待检测节点进行识别,从而可以在该关联行为特征满足目标检测条件的情况下,快速将该待检测节点确定为攻击节点,以提高对攻击节点进行识别的效率。应当理解,本申请通过对第一列表中所存在的攻击节点进行识别,可以使该第一节点后续与其他节点之间进行数据传输的过程中,确保数据传输的安全性。
进一步的,请参见图8,是本申请实施例提供的一种数据处理方法的流程示意图。如图8所示,方法可以应用于区块链网络中的管理节点,该管理节点中可以运行有具有行为特征采集和检测功能的数据处理装置,该数据处理装置可以为上述图2所对应实施例中的数据处理装置50。方法具体可以包括以下步骤S201-步骤S209。
步骤S201,获取区块链网络中的第一节点在第一时刻所缓存的第一列表;
其中,本申请实施例中的管理节点可以为不同于该区块链网络中的第一节点的节点,该管理节点中可以运行有上述数据处理装置。此时,该管理节点可以用于对第一节点的行为特征进行采集和监测,与此同时,该管理节点还可以用于对于该第一节点相关联的其他节点(比如,第一节点所维护的第一列表中的节点)的行为特征进行采集和监测。
其中,本申请实施例可以将人为重启后且待接入区块链网络中的节点称之为第一节点。其中,第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻。
步骤S202,从第一列表的至少一个第二节点中获取待检测节点。
应当理解,该管理节点可以用于在重启第一节点后,从该第一节点所缓存的第一列表中选取一个第二节点作为待检测节点。可以理解的是,这里的待检测节点可以包含在上述第二时刻首次与该第一节点建立历史会话连接的节点,还可以包含在上述第二时刻非首次与该第一节点建立历史会话连接的节点,即会包含一些曾多次与该第一节点建立过历史会话连接的节点。
可以理解的是,本申请实施例通过重启该第一节点,可以暂时断开在上述第二时刻与该第一节点具有历史网络连接关系的每个第二节点之间的历史会话连接,以防止该第一节点在重启之前所维护的已连接列表(例如,前述第一列表)长期被某些攻击节点所占用,这样,第一节点在接入区块链网络的过程中,可以重新与该第一列表中的这些第二节点之间建立新的网络连接关系(即目标网络连接关系)。其中,该第一列表中的这些第二节点中可能存在由某个攻击节点所控制的其他节点(比如,其他非法节点),为避免该第一节点在重启后的第三时刻(即第一时刻的下一时刻)所维护的新的第一列表(即已连接列表)仍然被该攻击节点和该攻击节点所控制的其他非法节点所占满,可以在第一节点与这些节点建立连接之前,预先通过管理节点对这些节点进行攻击检测,以从上述该第一列表中优先过滤掉一些攻击节点,比如,对于非首次与该第一节点建立历史会话的待检测节点而言,管理节点可以参照对上述图3所对应实施例中的第一节点执行上述步骤S101-步骤S104的描述,以快速的从该第一列表中通过监测到的上述关联行为特征(例如,历史行为特征)过滤掉一些确定为攻击节点的待检测节点。
可选的,该管理节点还可以将该第一列表中的所有剩余的待检测节点称之为疑似攻击节点,以对于该第一列表中的这些疑似攻击节点的(例如,一些首次与该第一节点建立历史会话连接的)进行攻击检测,以执行下述步骤S203-步骤S209,以便于从上述第一列表中找出所有的攻击节点,以提高第一节点接入区块链网络的安全性。
可以理解的是,本申请实施例中的管理节点还可以在重启第一节点之后,将获取到第一列表中的所有第二节点称之为待检测节点,以将统计到的第一节点与待检测节点在上述第一时长内的历史行为特征、统计到的第一节点与待检测节点在第三时长内的目标行为特征统中的至少一个行为特征统称为关联行为特征,以执行下述步骤S203。
此时,该第一节点可以向这些待检测节点发送用于建立目标会话连接的连接请求。可以理解的是,待检测节点在接收到该连接请求时,可以根据该连接请求生成确认连接响应信息,并将该确认连接响应信息返回给第一节点,以与第一节点建立目标会话连接。
应当理解,在第一节点与待检测节点建立目标会话连接的过程中,该管理节点可以进一步在目标时长内监测与该待检测节点相关联的行为特征,并基于监测到的关联行为特征进行攻击检测。其中,这里的目标时长可以包含上述第一时长、还可以包含下述第三时长,这里将不对其进行限制。
步骤S203,在第一节点与待检测节点建立目标会话连接时,获取第一节点在第三时刻时所维护的第二列表和第三列表;
其中,第三时刻可以为第一时刻的下一时刻,且第三时刻属于第三时长,比如,本申请实施例可以将第一节点与待检测节点建立目标会话连接后的一段时长统称为第三时长,可以在该第三时长内对这两个节点之间的行为特征进行检测,以便于能够通过该第一节点当前所维护的两个列表,帮助第一节点识别出在该第三时长内与其(即第一节点)具有网络连接关系的待检测节点是否为攻击节点。可以理解的是,该第一节点在重启之后所维护的两个列表可以包括:第二列表和第三列表。
其中,第二列表为接入区块链网络且未建立会话连接的节点,其中,本申请实施例可以将该第一节点在第三时刻所维护的新接入列表称之为第二列表。其中,该新接入列表可以理解为第一节点在第三时刻所感知的新接入该区块链网络中的节点所构成的列表;
其中,第三列表是根据待检测节点的标识信息对第一列表进行更新后所确定的;换言之,第一节点在与待检测节点建立目标会话连接时,第一节点可以在上述第一列表中对待检测节点的连接状态进行标识,比如,可以在上述第一列表中将待检测节点的连接状态标识为已连接状态。
为便于理解,进一步的,请参见图9,是本申请实施例提供的一种建立目标会话连接的时序图。如图9所示的第一节点可以为节点60d。如图9所示的节点可以在获取到针对重启提示信息的重启指令(即上述图3所对应实施例中所列举的人为重启的情况下)时,将重启该第一节点的时刻称之为图9所示的第一时刻。如图9所示,本申请实施例可以将该第一时刻的上一时刻(也可以称之为前一时刻)称之为第二时刻。图9所示的第二时刻与第一时刻之间的间隔时长可以忽略不计。
该第一节点在重启的过程中所缓存的第一列表中可以包含图9所示的在该第二时刻与该第一节点具有网络连接关系(这里指历史网络连接关系)的节点,比如,图9的节点60a、节点60b、节点60c。应当理解,本申请实施例可以将在第二时刻与该第一节点(即节点10d)具有历史网络连接关系的节点统称为第二节点,即本申请实施例可以将节点60a、节点60b、节点60c等N个节点统称为第二节点。其中,N可以为正整数,这里将不对N的数量进行限制。所以,在第一节点重启的过程中,与该区块链网络中的第一节点相关联的管理节点可以获取该第一节点在第一时刻所缓存的第一列表,进而可以从第一列表中挑选相应的第二节点与该第一节点建立目标会话连接。
如图9所示,管理节点可以从该第一列表中将图9所示的节点60c确定为待检测节点,以使该待检测节点(即节点60c)可以在图9所示的第三时刻建立与该第一节点(即节点60d)之间的目标会话连接。应当理解,在图9所示的第一节点与待检测节点建立目标会话连接时,该运行有数据处理装置的管理节点还可以获取第一节点在第三时刻时所维护的第二列表和第三列表。其中,第二列表可以为新接入区块链网络且未建立会话连接的节点;其中,第三列表可以是由待检测节点对第一列表进行标识和更新后所确定的;如图9所示的第三时刻可以为第一时刻的下一时刻(图9所示的第三时刻与第一时刻之间的间隔时长可以忽略不计),且第三时刻属于第三时长;如图9所示,该管理节点在获取到图9所示的第二列表和第三列表之后可以进一步执行下述步骤S204。
步骤S204,在第三时长内,将在第三列表和第二列表中的用于接收由第一节点所发送的传出连接请求的节点确定为关联节点,获取为关联节点所分配的标识信息。
步骤S205,将具有标识信息的关联节点与第一列表中的至少一个第二节点进行匹配,得到目标匹配结果;
步骤S206,将目标匹配结果作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,可以理解的是,该管理节点可以在第一节点与待检测节点建立目标会话连接之前的一段时长(即上述第一时长)内对与待检测节点相关联的关联行为特征进行攻击检测,以从第一列表中初步过滤掉一些确定为攻击节点的待检测节点。比如,第一列表中包含40个第二节点,通过统计这40个第二节点与该第一节点之间的历史行为特征,可以从这40个第二节点中初步确定出多个(例如,18个)攻击节点。此时,管理节点可以将该第一列表中所剩下的22个第二节点统称为疑似攻击节点的待检测节点,此时,管理节点需要进一步通过在上述第一时长内所统计到的历史行为特征和在上述第三时长内所统计到的目标行为特征(即目标时长内的关联行为特征)进行攻击检测,以尽可能快速的找到所有的攻击节点。其中,管理节点对与该待检测节点相关联的关联行为特征进行攻击检测的具体实现方式可以参见上述图3所对应实施例中对集成有数据处理装置的第一节点的描述,这里将不再继续进行赘述。
可选的,可以理解的是,该管理节点还可以在第一节点与待检测节点建立目标会话连接之后的一段时长,在上述第一列表中为待检测节点设置标识信息,比如,可以将该待检测节点的标识信息设置为已标记状态,该已标记状态信息可以用于表征第一节点已经向待检测节点发送过用于建立目标会话连接的传出请求,可以理解的是,该第一节点每从自己所维护的两个列表中选择一个节点发送传出连接请求,则可以在相应的表中为这个节点设置标识信息。所以,该管理节点可以在第一节点与待检测节点建立目标会话连接时,获取到该第一节点在第三时刻时所维护的第二列表和第三列表(即更新后的第一列表)。进一步的,该管理节点可以在图9所示的第三列表和第二列表中获取用于接收传出连接请求的节点,并可以将这些从第三列表和第二列表中所获取到的用于接收该第一节点所发送的传出连接请求的节点统称为关联节点。进一步的,该管理节点可以还可以一并为这些关联节点所设置的标识信息,进而可以将具有标识信息的关联节点与第一列表中的至少一个第二节点进行匹配,得到目标匹配结果。可以理解的是,在第三时长内,这些具有标识信息的关联节点可以来自于上述第一列表,还可以来自于上述第二列表。所以,本申请实施例可以将在第三时长内与该第一节点具有目标网络连接关系的所有关联节点和待检测节点所构成的列表称之为最新的已连接列表(即新的第三列表,这是因为第三时长内该第一节点所维护的第三列表中的关联节点会不断刷新)。可以理解的是,为便于理解,本申请实施例可以将该第一节点在第三时长内不断刷新的已连接列表统称为第三列表。比如,当第二列表中的新加入区块链网络中的某些节点(例如,关联节点F)接收到该第一节点所发送的传入连接请求时,可以将节点F添加到第三列表中,所以,第三列表中的节点可能包含上述第一列表中的第二节点,还可以包含上述第二列表中的节点。
应当理解,本申请实施例可以首先将该第一节点所维护的第三列表中的每个关联节点与上述第一列表中的节点进行匹配(具体可以是进行每个节点的地址信息的匹配),以在第三时长内不断检测由第一节点所维护的第三列表中的关联节点是否均来自于上述第一列表,且在第三时长内未检测到由该第一节点所维护的第三列表中的关联节点来自于上述第二列表,若判断为是,则可以快速判断该第一节点已经被与其连接的待检测节点所控制。换言之,本申请实施例可以将目标匹配结果作为与待检测节点相关联的关联行为特征(此时,该关联行为特征可以为不同于上述图3所对应实施例中的4类历史行为特征的目标行为特征),进而基于关联行为特征进行攻击检测。其中,目标匹配结果具体可以是指:在第三时长内由该第一节点所维护的第三列表中的关联节点(例如,40个)的地址信息均与第一列表中的第二节点(例如,上述40个)的地址信息匹配,且在该第三时长内一直未检测到由该第一节点所维护的第三列表中的关联节点(例如,40个)的地址信息与第二列表中的节点(8个)的地址信息匹配)的匹配结果。
步骤S207,若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
可以理解的是,该管理节点可以根据目标匹配结果判断在上述第三时长内由该第一节点所维护的第三列表中的具有标识信息的关联节点是否均来自于上述图9所示的第一列表;如果确定具有标识信息的关联节点均来自于上述图9所示的第一列表,还可以进一步检查在第三时长内由第一节点所维护的第三列表中的具有标识信息的关联节点是否存在来自于图9所示的第二列表中的节点,如果确定为不存在,则可以间接确定该第一节点目前正在被待检测节点所控制(即管理节点可以在整个第三时长内监测到下述目标行为特征,即该第一节点均与第一列表中的所有第二节点建立目标会话连接的情况下,且一直未与新接入该区块链网络中的第二列表中的节点建立目标会话连接),以至于第一节点会在上述第三时长内主动且频繁地去连接上述第一列表中的恶意节点,且在该第三时长内都难以连接到上述第二列表中的节点。其中,目标检测条件可以包含上述目标匹配结果中的具有标识信息的关联节点不属于第二列表中的节点,且具有标识信息的关联节点均属于第一列表中的节点。通过在上述第三时长内所统计出的目标行为特征,也可以实现攻击检测,从而可以间接反映与该第一节点之间存在目标会话连接的待检测节点为攻击节点。
可选的,管理节点还可以在执行完上述步骤S207之后,继续执行下述步骤S208-步骤S209;
步骤S208,确定关联节点为由待检测节点所控制的攻击节点;
步骤S209,断开第一节点与待检测节点之间的目标会话连接,并通知第一节点在接收到由关联节点所发送的攻击连接请求时,拒绝攻击连接请求。
可以理解的是,若在上述目标匹配结果中存在具有标识信息的关联节点(即由第一节点所维护的第三列表中的关联节点)来自于上述第二列表中的节点,则可以说明在目标时长内由该第一节点所感知到的刚接入该区块链网络中的节点可以获取到的第一节点所发送的传出连接请求。换言之,在目标时长内由该第一节点所维护的第三列表中的关联节点并非都是来自于上述图9所示的第一列表,此时,该管理节点可以基于上述目标匹配结果确定关联行为特征不满足目标检测条件,从而可以确定上述第三时长内的检测测节点为诚实节点。
应当理解,在第二列表中的具有标识信息的关联节点可以在获取到前述第一节点所发送的传出连接请求时,确定与第一节点建立新的目标会话连接,此时,该第一节点可以在自己所维护的第二列表中去除该已建立新的目标会话连接的关联节点(例如,以上述图1所对应实施例中的节点10a为例),并将该节点10a添加至该第一节点所维护的第三列表中,并在该第三列表中为该节点10a设置新的标识信息,以动态刷新第三列表。
可选的,本申请实施例中的管理节点还可以在检测到由该待检测节点所控制的关联节点为攻击节点时,一并将这些关联节点添加至上述非法节点列表,以将该非法节点列表写入上述区块链网络中的区块链。
可选的,本申请实施例还可以在确定这些节点(即待检测节点和关联节点)为攻击节点的情况下,为这些攻击节点设置行为禁止时长,如果在该行为禁止时长内这些攻击节点不存在异常的关联行为特征(例如,上述行为特征1、上述行为特征2、上述行为特征3、上述行为特征4、上述目标行为特征),则可以将这些不存在异常的关联行为特征的攻击节点添加回白名单。
可选的,本申请实施例还可以在第一节点拿到待检测节点所返回的关联节点的地址信息时,通过对这些关联节点的行为特征进行统计,以得到基于这些行为特征所确定的连接置信度值,进而可以基于这些关联节点的置信度值选取具有较大置信度值得关联节点进行网络连接,以确保数据连接的成功率,也可以确保这些节点在进行网络连接之后,所传输的业务数据的安全性。可以理解的是,本申请实施例中的连接置信度值可以用于反映这些关联节点中哪些属于诚实节点,比如,连接置信度值越大,则为诚实节点的几率就越大。
可选的,本申请实施例还可以将上述第一节点所维护的两个列表中的连接量的阈值分别进行调整,比如,可以适当增大第一节点所维护的连接量的阈值,这样可以增加攻击节点非法攻击该第一节点的难度,因为攻击一个节点比较容易,那如果需要在短时间内攻击大量节点,则必然会增加攻击难度,从而也可以间接的确保数据传输的安全性。
在本申请实施例中,第一节点在与待检测节点建立会话连接的过程中,数据处理装置可以在目标时长内对待检测节点和第一节点之间的行为特征进行监测,该数据处理装置可以运行在上述管理节点中。其中,目标时长可以包含重启该第一节点之前的一段时长;可选的,该目标时长还可以包含重启该第一节点之后的一段时长。进一步的,本申请可以将在该目标时长内所监测到的所有行为特征统称为与待检测节点相关联的关联行为特征,以通过该关联行为特征对该待检测节点进行识别,从而可以在该关联行为特征满足目标检测条件的情况下,快速将该待检测节点确定为攻击节点,以提高对攻击节点进行识别的效率。应当理解,本申请通过对第一列表中所存在的攻击节点进行识别,可以使该第一节点后续与其他节点之间进行数据传输的过程中,确保数据传输的安全性。
进一步的,请参见图10,是本申请提供的一种数据处理装置的结构示意图。数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,数据处理装置1可应用于区块链网络中的第一节点,该第一节点可以为上述图2所对应实施例中的第一节点30a,应当理解,当该数据处理装置1运行在第一节点中时,第一节点可以用于对待与其进行会话连接的至少一个第二节点(例如,上述图2所对应实施例中的待检测节点30b)的行为特征进行采集和检测;可选的,该数据处理装置1还可以应用于该区块链网络中的管理节点,同理,当运行有该数据处理装置1的管理节点时,该管理节点可以用于对第一节点和待检测节点之间的行为特征进行采集和检测。如图10所示,数据处理装置1可以包括:列表获取模块10,待测节点获取模块20,关联特征检测模块30,攻击节点确定模块40;进一步的,该数据处理装置还可以包括:请求拒绝模块40,地址移除模块50,非法列表上链模块60,诚实节点确定模块80,会话建立模块90,关联特征更新模块100,关联攻击确定模块110,断开通知模块120;
列表获取模块10,用于获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;
其中,装置应用于区块链网络中的第一节点;
列表获取模块10包括:第一节点重启单元101,第二节点确定单元102,列表确定单元103;
第一节点重启单元101,用于响应针对第一节点的重启指令,重启第一节点,且将重启第一节点的时刻确定为第一时刻;
第二节点确定单元102,用于将第一时刻的上一时刻确定为第二时刻,将第二时刻与第一节点具有历史网络连接关系的节点确定为第二节点;第二节点的数量为N个;N为正整数;
列表确定单元103,用于将包含N个第二节点和N个第二节点的地址标识信息的历史连接列表确定为第一列表,在第一时刻时缓存第一列表;
待检测节点获取模块20,具体用于从第一列表所包含的N个第二节点中,遍历选取一个第二节点作为待检测节点。
其中,第一节点重启单元101,第二节点确定单元102,列表确定单元103的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
待测节点获取模块20,用于从第一列表的至少一个第二节点中获取待检测节点;
关联特征检测模块30,用于在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;
其中,关联特征检测模块30包括:目标时长获取单元301,历史特征统计单元302,关联特征检测单元303;
目标时长获取单元301,用于获取与第一时刻相关联的目标时长;目标时长包含重启第一节点之前的且包含第二时刻的第一时长;
历史特征统计单元302,用于基于第一节点与待检测节点在第一时长内的历史会话连接,统计第一节点与待检测节点之间的历史行为特征;
其中,历史特征统计单元302包括:拉取请求监测子单元3021,拉取请求统计子单元3022,第一确定子单元3023;可选的,历史特征统计单元302还可以进一步包括:传入请求统计子单元3024,第二确定子单元3025,地址获取子单元3026,地址校验子单元3027,第三确定子单元3028;
拉取请求监测子单3021,用于根据第一节点与待检测节点之间的历史会话连接,监测向待检测节点发送的地址拉取请求;
拉取请求统计子单元3022,用于统计在第一时长内发送地址拉取请求的频次;
第一确定子单元3023,用于基于统计到的地址拉取请求的频次确定第一节点与待检测节点之间的历史行为特征。
其中,第一确定子单元3023包括:节点数量确定子单元30231,目标节点确定子单元30232,主动请求监测子单元30233,历史特征确定子单元30234;
节点数量确定子单元30231,用于基于统计到的地址拉取请求的频次,在第一时长内确定获取到的由待检测节点所返回的第三节点的数量;第三节点的数量为M个;M为正整数;每个第三节点均为待检测节点在本地数据库中所维护的已连接列表中的节点;
目标节点确定子单元30232,用于在第一时长内,将在M个第三节点中所选取的用于接收第一节点所发送的主动连接请求的第三节点确定为目标第三节点;
主动请求监测子单元30233,用于监测向目标第三节点发送主动连接请求的频次;
历史特征确定子单元30234,用于将地址拉取请求的频次以及主动连接请求的频次确定为与第一节点与待检测节点之间的历史行为特征。
其中,节点数量确定子单元30231,目标节点确定子单元30232,主动请求监测子单元30233,历史特征确定子单元30234的具体实现方式可以参见上述图3所对应实施例中对获取历史行为特征2的描述,这里将不再继续进行赘述。
其中,拉取请求监测子单元3021,拉取请求统计子单元3022,第一确定子单元3023的具体实现方式可以参见上述图3所对应实施例中对获取历史行为特征1的描述,这里将不再继续进行赘述。
其中,待检测节点的本地数据库中包含已连接列表和待连接列表;已连接列表是由在第一时长内与待检测节点具有网络连接关系的节点所构成的;待连接列表是由在第一时长内接入区块链网络且不具有网络连接关系的节点所构成的;
可选的,传入请求统计子单元3024,用于根据第一节点与待检测节点之间的历史会话连接,统计在第一时长内接收到与待检测节点相关联的第四节点所发送的传入连接请求的数量;第四节点包括已连接列表和待连接列表中的节点;
第二确定子单元3025,用于将统计到的传入连接请求的数量确定为第一节点与待检测节点之间的历史行为特征。
其中,传入请求统计子单元3024,第二确定子单元3025的具体实现方式可以参见上述图3所对应实施例中对获取历史行为特征3的描述,这里将不再继续进行赘述。
可选的,地址获取子单元3026,用于根据第一节点与待检测节点之间的历史会话连接,获取与所待检测节点相关联的第四节点的地址信息;
地址校验子单元3027,用于获取与区块链网络相关联的地址分配规则,基于地址分配规则对第四节点的地址信息的合法性进行校验,得到第四节点对应的校验结果;
第三确定子单元3028,用于将第四节点对应的校验结果确定为第一节点与待检测节点之间的历史行为特征。
其中,地址获取子单元3026,地址校验子单元3027,第三确定子单元3028的具体实现方式可以参见上述图3所对应实施例中对获取历史行为特征4的描述,这里将不再继续进行赘述。
关联特征检测单元303,用于将统计到的历史行为特征作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,目标时长获取单元301,历史特征统计单元302,关联特征检测单元303的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
攻击节点确定模块40,用于若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
可选的,请求拒绝模块50,用于在确定待检测节点为攻击节点,且接收到待检测节点所发送的用于建立目标会话连接的传入连接请求时,拒绝传入连接请求;
地址移除模块60,用于在第一列表中移除待检测节点的地址信息,并将待检测节点的地址信息添加至非法节点列表;
非法列表上链模块70,用于将非法节点列表写入区块链网络中的区块链。
其中,目标时长还包含在重启第一节点之后的第二时长;
诚实节点确定模块80,用于若在第一时长内检测到关联行为特征不满足目标检测条件,则确定待检测节点为诚实节点;
会话建立模块90,用于基于待检测节点的地址信息向待检测节点发送传出连接请求,以使待检测节点基于传出连接请求建立目标会话连接;
关联特征更新模块100,用于基于目标会话连接,在第二时长内统计待检测节点的目标行为特征,根据目标行为特征更新关联行为特征。
可选的,其中,装置应用于区块链网络中的管理节点;目标时长还包含在重启第一节点之后的第三时长;
关联特征检测模块30包括:列表获取单元304,关联节点确定单元305,节点匹配单元306,特征检测单元307;
列表获取单元304,用于在第一节点与待检测节点建立目标会话连接时,获取第一节点在第三时刻时所维护的第二列表和第三列表;第二列表为接入区块链网络且未建立会话连接的节点;第三列表是根据待检测节点的标识信息对第一列表进行更新后所确定的;第三时刻为第一时刻的下一时刻,且第三时刻属于第三时长;
关联节点确定单元305,用于在第三时长内,将在第三列表和第二列表中的用于接收由第一节点所发送的传出连接请求的节点确定为关联节点,获取为关联节点所分配的标识信息;
节点匹配单元306,用于将具有标识信息的关联节点与第一列表中的至少一个第二节点进行匹配,得到目标匹配结果;
特征检测单元307,用于将目标匹配结果作为与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测。
其中,列表获取单元304,关联节点确定单元305,节点匹配单元306,特征检测单元307的具体实现方式可以参见上述图8所对应实施例中对获取目标行为特征的描述,这里将不再继续进行赘述。
其中,可选的,目标检测条件包含若目标匹配结果中的具有标识信息的关联节点不属于第二列表中的节点,且具有标识信息的关联节点均属于第一列表中的节点;
关联攻击确定模块110,用于确定关联节点为由待检测节点所控制的攻击节点;
断开通知模块120,用于断开第一节点与待检测节点之间的目标会话连接,并通知第一节点在接收到由关联节点所发送的攻击连接请求时,拒绝攻击连接请求。
其中,列表获取模块10,待测节点获取模块20,关联特征检测模块30,攻击节点确定模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。可选的,请求拒绝模块40,地址移除模块50,非法列表上链模块60,诚实节点确定模块80,会话建立模块90,关联特征更新模块100的具体实现方式可以参见上述图3所对应实施例中对集成有数据处理装置的第一节点的描述,这里将不再继续进行赘述。可选的,关联攻击确定模块110,断开通知模块120的具体实现方式可以参见上述图8所对应实施例中对关联节点的描述,这里将不再继续进行赘述。
在本申请实施例中,第一节点在与待检测节点建立会话连接的过程中,数据处理装置1可以在目标时长内对待检测节点和第一节点之间的行为特征进行监测,该数据处理装置1可以运行在上述管理节点中,可选的,该数据处理装置1也可以运行在上述第一节点中,这里将不对其进行限定。其中,目标时长可以包含重启该第一节点之前的一段时长;可选的,该目标时长还可以包含重启该第一节点之后的一段时长。进一步的,本申请可以将在该目标时长内所监测到的所有行为特征统称为与待检测节点相关联的关联行为特征,以通过该关联行为特征对该待检测节点进行识别,从而可以在该关联行为特征满足目标检测条件的情况下,快速将该待检测节点确定为攻击节点,以提高对攻击节点进行识别的效率。应当理解,本申请通过对第一列表中所存在的攻击节点进行识别,可以使该第一节点后续与其他节点之间进行数据传输的过程中,确保数据传输的安全性。
进一步地,请参见图11,是本申请实施例提供的一种节点设备的结构示意图。如图11所示,节点设备1000可以为上述图2对应实施例中的第一节点30a,也可以为上述图8所对应实施例中的管理节点,这里将不对其进行限制。节点设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,节点设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
该节点设备1000中的网络接口1004还可以与区块链网络中的第一节点所维护的第一列表中的节点之间进行连接,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图11所示的节点设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取区块链网络中的第一节点在第一时刻所缓存的第一列表;第一时刻为重启第一节点时的时刻;第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与第一节点之间存在历史网络连接关系;第二时刻为第一时刻的上一时刻;
从第一列表的至少一个第二节点中获取待检测节点;
在目标时长内监测与待检测节点相关联的关联行为特征,基于关联行为特征进行攻击检测;
若检测到关联行为特征满足目标检测条件,则确定待检测节点为攻击节点。
应当理解,本申请实施例中所描述的节点设备1000可执行本申请实施例提供的方法中的各个步骤。例如,节点设备1000可执行前文图3或图8所对应实施例中对数据处理方法的描述,也可执行前文图10所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图8所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种数据处理方法,其特征在于,包括:
获取区块链网络中的第一节点在第一时刻所缓存的第一列表;所述第一时刻为重启所述第一节点时的时刻;所述第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与所述第一节点之间存在历史网络连接关系;所述第二时刻为所述第一时刻的上一时刻;
从所述第一列表的所述至少一个第二节点中获取待检测节点;
在目标时长内监测与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测;
若检测到所述关联行为特征满足目标检测条件,则确定所述待检测节点为攻击节点。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于区块链网络中的第一节点;
所述获取区块链网络中的第一节点在第一时刻所缓存的第一列表,包括:
响应针对所述第一节点的重启指令,重启所述第一节点,且将重启所述第一节点的时刻确定为第一时刻;
将所述第一时刻的上一时刻确定为第二时刻,将所述第二时刻与所述第一节点具有历史网络连接关系的节点确定为第二节点;所述第二节点的数量为N个;N为正整数;
将包含N个第二节点和所述N个第二节点的地址标识信息的历史连接列表确定为第一列表,在所述第一时刻时缓存所述第一列表;
则所述从所述第一列表的所述至少一个第二节点中获取待检测节点,包括:
从所述第一列表所包含的N个第二节点中,遍历选取一个第二节点作为待检测节点。
3.根据权利要求2所述的方法,其特征在于,所述在目标时长内监测与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测,包括:
获取与所述第一时刻相关联的目标时长;所述目标时长包含重启所述第一节点之前的且包含所述第二时刻的第一时长;
基于所述第一节点与所述待检测节点在所述第一时长内的历史会话连接,统计所述第一节点与所述待检测节点之间的历史行为特征;
将统计到的历史行为特征作为与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一节点与所述待检测节点在所述第一时长内的历史会话连接,统计所述第一节点与所述待检测节点之间的历史行为特征,包括:
根据所述第一节点与所述待检测节点之间的历史会话连接,监测向所述待检测节点发送的地址拉取请求;
统计在所述第一时长内发送所述地址拉取请求的频次;
基于统计到的所述地址拉取请求的频次确定所述第一节点与所述待检测节点之间的历史行为特征。
5.根据权利要求4所述的方法,其特征在于,所述基于统计到的所述地址拉取请求的频次确定所述第一节点与所述待检测节点之间的历史行为特征,包括:
基于统计到的所述地址拉取请求的频次,在所述第一时长内确定获取到的由所述待检测节点所返回的第三节点的数量;所述第三节点的数量为M个;所述M为正整数;每个第三节点均为所述待检测节点在本地数据库中所维护的已连接列表中的节点;
在所述第一时长内,将在M个第三节点中所选取的用于接收所述第一节点所发送的主动连接请求的第三节点确定为目标第三节点;
监测向所述目标第三节点发送所述主动连接请求的频次;
将所述地址拉取请求的频次以及所述主动连接请求的频次确定为与所述第一节点与所述待检测节点之间的历史行为特征。
6.根据权利要求3所述的方法,其特征在于,所述待检测节点的本地数据库中包含已连接列表和待连接列表;所述已连接列表是由在所述第一时长内与所述待检测节点具有网络连接关系的节点所构成的;所述待连接列表是由在所述第一时长内接入所述区块链网络且不具有网络连接关系的节点所构成的;
所述基于所述第一节点与所述待检测节点在所述第一时长内的历史会话连接,统计所述第一节点与所述待检测节点之间的历史行为特征,包括:
根据所述第一节点与所述待检测节点之间的历史会话连接,统计在所述第一时长内接收到与所述待检测节点相关联的第四节点所发送的传入连接请求的数量;所述第四节点包括所述已连接列表和所述待连接列表中的节点;
将统计到的所述传入连接请求的数量确定为所述第一节点与所述待检测节点之间的历史行为特征。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一节点与所述待检测节点在所述第一时长内的历史会话连接,统计所述第一节点与所述待检测节点之间的历史行为特征,包括:
根据所述第一节点与所述待检测节点之间的历史会话连接,获取与所待检测节点相关联的所述第四节点的地址信息;
获取与所述区块链网络相关联的地址分配规则,基于所述地址分配规则对所述第四节点的地址信息的合法性进行校验,得到所述第四节点对应的校验结果;
将所述第四节点对应的校验结果确定为所述第一节点与所述待检测节点之间的历史行为特征。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:
在确定所述待检测节点为攻击节点,且接收到所述待检测节点所发送的用于建立目标会话连接的传入连接请求时,拒绝所述传入连接请求;
在所述第一列表中移除所述待检测节点的地址信息,并将所述待检测节点的地址信息添加至非法节点列表;
将所述非法节点列表写入所述区块链网络中的区块链。
9.根据权利要求3所述的方法,其特征在于,所述目标时长还包含在重启所述第一节点之后的第二时长;
所述方法还包括:
若在所述第一时长内检测到所述关联行为特征不满足所述目标检测条件,则确定所述待检测节点为诚实节点;
基于所述待检测节点的地址信息向所述待检测节点发送传出连接请求,以使所述待检测节点基于所述传出连接请求建立目标会话连接;
基于所述目标会话连接,在所述第二时长内统计所述待检测节点的目标行为特征,根据所述目标行为特征更新所述关联行为特征。
10.根据权利要求1所述的方法,其特征在于,所述方法应用于所述区块链网络中的管理节点;所述目标时长还包含在重启所述第一节点之后的第三时长;
所述在目标时长内监测与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测,包括:
在所述第一节点与所述待检测节点建立目标会话连接时,获取所述第一节点在第三时刻时所维护的第二列表和第三列表;所述第二列表为接入所述区块链网络且未建立会话连接的节点;所述第三列表是根据所述待检测节点的标识信息对所述第一列表进行更新后所确定的;所述第三时刻为所述第一时刻的下一时刻,且所述第三时刻属于所述第三时长;
在所述第三时长内,将在所述第三列表和所述第二列表中的用于接收由所述第一节点所发送的传出连接请求的节点确定为关联节点,获取为所述关联节点所分配的标识信息;
将具有所述标识信息的关联节点与所述第一列表中的所述至少一个第二节点进行匹配,得到目标匹配结果;
将所述目标匹配结果作为与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测。
11.根据权利要求10所述的方法,其特征在于,所述目标检测条件包含若所述目标匹配结果中的具有所述标识信息的关联节点不属于所述第二列表中的节点,且具有所述标识信息的关联节点均属于所述第一列表中的节点;
所述方法还包括:
确定所述关联节点为由所述待检测节点所控制的攻击节点;
断开所述第一节点与所述待检测节点之间的所述目标会话连接,并通知所述第一节点在接收到由所述关联节点所发送的攻击连接请求时,拒绝所述攻击连接请求。
12.一种数据处理装置,其特征在于,包括:
列表获取模块,用于获取区块链网络中的第一节点在第一时刻所缓存的第一列表;所述第一时刻为重启所述第一节点时的时刻;所述第一列表中包含至少一个第二节点;每个第二节点均在第二时刻与所述第一节点之间存在历史网络连接关系;所述第二时刻为所述第一时刻的上一时刻;
待测节点获取模块,用于从所述第一列表的所述至少一个第二节点中获取待检测节点;
关联特征检测模块,用于在目标时长内监测与所述待检测节点相关联的关联行为特征,基于所述关联行为特征进行攻击检测;
攻击节点确定模块,用于若检测到所述关联行为特征满足目标检测条件,则确定所述待检测节点为攻击节点。
13.一种节点设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供网络通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-11任意一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,当处理器执行所述程序指令时执行如权利要求1-11任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911306107.8A CN110730195B (zh) | 2019-12-18 | 2019-12-18 | 一种数据处理方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911306107.8A CN110730195B (zh) | 2019-12-18 | 2019-12-18 | 一种数据处理方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730195A true CN110730195A (zh) | 2020-01-24 |
CN110730195B CN110730195B (zh) | 2020-03-31 |
Family
ID=69226040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911306107.8A Active CN110730195B (zh) | 2019-12-18 | 2019-12-18 | 一种数据处理方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730195B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309762A (zh) * | 2020-02-18 | 2020-06-19 | 杭州复杂美科技有限公司 | 数据获取方法、设备和存储介质 |
CN111371801A (zh) * | 2020-03-13 | 2020-07-03 | 杭州复杂美科技有限公司 | 区块链节点扫描方法、设备和存储介质 |
CN112016922A (zh) * | 2020-08-22 | 2020-12-01 | 王红建 | 应用于区块链金融和在线支付的信息安全防护方法及设备 |
CN112055067A (zh) * | 2020-08-28 | 2020-12-08 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112202875A (zh) * | 2020-09-28 | 2021-01-08 | 北京八分量信息科技有限公司 | 基于区块链节点权重进行安全检测的方法、装置及相关产品 |
CN112653682A (zh) * | 2020-12-16 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
CN113656535A (zh) * | 2021-08-31 | 2021-11-16 | 上海观安信息技术股份有限公司 | 一种异常会话检测方法、装置及计算机存储介质 |
CN115208595A (zh) * | 2021-04-09 | 2022-10-18 | 中国移动通信有限公司研究院 | 一种检测方法、装置、设备以及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935609A (zh) * | 2015-07-17 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 网络攻击检测方法及检测设备 |
CN105337966A (zh) * | 2015-10-16 | 2016-02-17 | 中国联合网络通信集团有限公司 | 针对网络攻击的处理方法和装置 |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN108596617A (zh) * | 2018-04-23 | 2018-09-28 | 北京奇虎科技有限公司 | 基于算法类型的区块链攻击事件感知方法及装置 |
US20180332063A1 (en) * | 2017-05-15 | 2018-11-15 | Forcepoint, LLC | User Profile Definition and Management |
CN109194750A (zh) * | 2018-09-10 | 2019-01-11 | 杭州链汇通区块链科技有限公司 | 区块链系统以及区块链超级节点的防攻击方法、装置 |
CN109214190A (zh) * | 2018-08-30 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 确定漏洞利用样本文件的方法和设备 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
-
2019
- 2019-12-18 CN CN201911306107.8A patent/CN110730195B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935609A (zh) * | 2015-07-17 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 网络攻击检测方法及检测设备 |
CN105337966A (zh) * | 2015-10-16 | 2016-02-17 | 中国联合网络通信集团有限公司 | 针对网络攻击的处理方法和装置 |
US20180332063A1 (en) * | 2017-05-15 | 2018-11-15 | Forcepoint, LLC | User Profile Definition and Management |
CN107948172A (zh) * | 2017-11-30 | 2018-04-20 | 恒安嘉新(北京)科技股份公司 | 一种基于人工智能行为分析的车联网入侵攻击检测方法和系统 |
CN108596617A (zh) * | 2018-04-23 | 2018-09-28 | 北京奇虎科技有限公司 | 基于算法类型的区块链攻击事件感知方法及装置 |
CN109214190A (zh) * | 2018-08-30 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 确定漏洞利用样本文件的方法和设备 |
CN109194750A (zh) * | 2018-09-10 | 2019-01-11 | 杭州链汇通区块链科技有限公司 | 区块链系统以及区块链超级节点的防攻击方法、装置 |
CN109951500A (zh) * | 2019-04-29 | 2019-06-28 | 宜人恒业科技发展(北京)有限公司 | 网络攻击检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
钮丹阳: ""基于区块链的用电网安全防护技术的研究与实现"", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309762A (zh) * | 2020-02-18 | 2020-06-19 | 杭州复杂美科技有限公司 | 数据获取方法、设备和存储介质 |
CN111371801A (zh) * | 2020-03-13 | 2020-07-03 | 杭州复杂美科技有限公司 | 区块链节点扫描方法、设备和存储介质 |
CN111371801B (zh) * | 2020-03-13 | 2022-05-24 | 杭州复杂美科技有限公司 | 区块链节点扫描方法、设备和存储介质 |
CN112016922A (zh) * | 2020-08-22 | 2020-12-01 | 王红建 | 应用于区块链金融和在线支付的信息安全防护方法及设备 |
CN112055067A (zh) * | 2020-08-28 | 2020-12-08 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112055067B (zh) * | 2020-08-28 | 2023-04-18 | 杭州复杂美科技有限公司 | 节点连接方法、设备和存储介质 |
CN112202875A (zh) * | 2020-09-28 | 2021-01-08 | 北京八分量信息科技有限公司 | 基于区块链节点权重进行安全检测的方法、装置及相关产品 |
CN112653682A (zh) * | 2020-12-16 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
WO2022127342A1 (zh) * | 2020-12-16 | 2022-06-23 | 深圳前海微众银行股份有限公司 | 一种区块链日蚀攻击检测的方法及装置 |
CN115208595A (zh) * | 2021-04-09 | 2022-10-18 | 中国移动通信有限公司研究院 | 一种检测方法、装置、设备以及存储介质 |
CN113656535A (zh) * | 2021-08-31 | 2021-11-16 | 上海观安信息技术股份有限公司 | 一种异常会话检测方法、装置及计算机存储介质 |
CN113656535B (zh) * | 2021-08-31 | 2023-11-14 | 上海观安信息技术股份有限公司 | 一种异常会话检测方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110730195B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730195B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN111343208B (zh) | 基于区块链的数据检测方法、装置及计算机可读存储介质 | |
CN101136922B (zh) | 业务流识别方法、装置及分布式拒绝服务攻击防御方法、系统 | |
CN102739683B (zh) | 一种网络攻击过滤方法及装置 | |
CN114095258B (zh) | 攻击防御方法、装置、电子设备及存储介质 | |
CN103347016A (zh) | 一种攻击的防御方法 | |
CN107426241B (zh) | 一种网络安全防护的方法及装置 | |
CN105635044B (zh) | 一种信息同步方法和设备 | |
CN104768139A (zh) | 一种短信发送的方法及装置 | |
JP2013503552A (ja) | 電気通信ネットワークにおいて不正を検出するための方法および装置 | |
CN111565203B (zh) | 业务请求的防护方法、装置、系统和计算机设备 | |
CN109561090A (zh) | 一种web智能防御方法、装置、设备及可读存储介质 | |
CN115174279B (zh) | 一种以太坊智能合约漏洞实时检测方法、终端及存储介质 | |
CN111447201A (zh) | 一种扫描行为识别方法、装置及电子设备和存储介质 | |
CN112272175A (zh) | 一种基于dns的木马病毒检测方法 | |
CN108737421B (zh) | 一种发现网络内潜在威胁的方法、系统、装置及存储介质 | |
CN113242260A (zh) | 攻击检测方法、装置、电子设备及存储介质 | |
CN109005181A (zh) | 一种dns放大攻击的检测方法、系统及相关组件 | |
KR101268104B1 (ko) | 침입방지시스템 및 그 제어방법 | |
CN115037693B (zh) | 一种基于令牌桶的分布式限流方法和分布式限流装置 | |
CN111191234B (zh) | 一种病毒信息检测的方法及装置 | |
CN111294311B (zh) | 一种防止流量欺诈的流量计费方法及系统 | |
CN106878247A (zh) | 一种攻击识别方法和装置 | |
CN109104702B (zh) | 信息拦截方法、装置及存储介质 | |
CN113179247B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |