掌桥专利:专业的专利平台
掌桥专利
首页

攻击检测方法、装置及系统

文献发布时间:2023-06-19 13:48:08


攻击检测方法、装置及系统

技术领域

本申请涉及通信领域,尤其涉及攻击检测方法、装置及系统。

背景技术

基于互联网协议的版本6(internet protocol version 6,IPv6)的低功耗有损网络的路由协议(routing protocol for low-power and lossy networks,RPL),是IPv6无线个人区域网络(IPv6 over Low power wireless personal area network,6LoWPAN)中使用的主要路由协议。使用RPL路由协议建立的网络拓扑可以为一个或多个目标导向的有向无环图(destination oriented directed acyclic graph,DODAG),网络中的各节点、节点与外网之间均通过DODAG通信。示例性的,基于RPL路由协议建立的网络拓扑可以如图1所示。

在网络拓扑建立的过程中,首先可以确定一个或多个根节点。根节点工作后向周围节点发送DODAG信息对象(DODAG information object,DIO)消息;网络中除根节点外的其他节点可以根据DIO消息以及目标函数选择父节点,然后计算自身的Rank值向周围节点发送DIO消息,最终构建完整的DODAG。此外,非DODAG根节点选择父节点后,可以通过其父节点发送目的地通告(destination advertisement object,DAO)消息至DODAG根节点,使得根节点获知整个DODAG的拓扑。

然而,RPL路由协议仍存在安全问题。例如,恶意节点在DIO消息中承载虚假Rank,实现对子节点的吸引,影响DODAG拓扑,从而影响数据传输,增加网络传输开销;或者,恶意节点通过更新DIO消息中的目的地通告触发序列号(DAO trigger sequence number,DTSN),触发大量无意义的路由更新,增加网络传输开销。

发明内容

本申请实施例提供一种攻击检测方法、装置及系统,可以检测RPL路由协议中的多种攻击,降低攻击检测过程中的网络传输开销。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供了一种攻击检测方法。该方法中,根节点接收第一信息,该第一信息通过M个监控节点监控N个业务节点的DIO消息获取,该N个业务节点属于第一DODAG,M个监控节点属于第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG,根节点为第一DODAG和第二DODAG的根节点,M、N为正整数;根节点根据第一信息确定N个业务节点中的恶意节点。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括Rank值或DTSN等信息,因此监控节点向根节点发送的第二信息可以指示业务节点的Rank值或DTSN,从而使得根节点可以根据一个或多个第二信息确定发起Rank攻击或DTSN攻击的恶意节点,即可以使得根节点检测到Rank攻击或DTSN攻击,从而进行相应处理。综上,本申请的方案可以用于检测RPL中的多种攻击,此外,在攻击检测过程中不会增加业务网络的传输开销。

在一些可能的设计中,第一信息包括N个业务节点中每个业务节点的Rank值。基于该可能的设计,可以使得根节点获取每个业务节点的Rank值,从而根据Rank值检测Rank攻击。

在一些可能的设计中,根节点根据第一信息确定N个业务节点中的恶意节点,可以包括:根节点根据第一信息确定一个或多个潜在恶意节点,该潜在恶意节点为N个业务节点中Rank值与参考Rank值不同的业务节点;根节点将该一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为恶意节点。基于该可能的设计,由于恶意节点发起Rank攻击后可以吸引其他节点选择恶意节点为父节点,因此,选择恶意节点为父节点的业务节点的Rank值不会大于恶意节点的Rank值,从而,潜在恶意节点中Rank值最小的潜在恶意节点即可确定为恶意节点。

在一些可能的设计中,根节点根据第一信息确定N个业务节点中的恶意节点,包括:在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,根节点将第一节点确定为恶意节点,第一业务节点为N个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。基于该可能的设计,根节点在确定恶意节点时,无需计算个业务节点的Rank值,仅需进行比较运算,可以降低根据节点的计算复杂度。

在一些可能的设计中,第一信息包括一个或多个潜在恶意节点的Rank值,该潜在恶意节点为N个业务节点中Rank值与参考Rank值不同的业务节点;根节点根据第一信息确定N个业务节点中的恶意节点,包括:根节点将一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为恶意节点。基于该可能的设计,根节点无需确定潜在恶意节点,可以降低根节点的处理压力。

在一些可能的设计中,第一信息包括一个或多个候选恶意节点的标识,该候选恶意节点为监控节点根据业务节点的Rank值或业务节点的拓扑关系确定的该N个业务节点中的恶意节点。基于该可能的设计,根节点无需进行潜在恶意节点、候选恶意节点等的判断,可以降低根节点的处理压力和功耗。

在一些可能的设计中,该攻击检测方法还可以包括:根节点向M个监控节点中的每个监控节点分别发送各个监控范围内的属于第一DODAG的业务节点的参考Rank值。基于该可能的设计,可以使得监控节点根据业务节点的参考Rank值确定潜在恶意节点或候选恶意节点,从而减轻根节点的处理压力。

在一些可能的设计中,该攻击检测方法还可以包括:根节点向M个监控节点中的每个监控节点分别发送各自监控范围内的属于第一DODAG的业务节点的拓扑关系。基于该可能的设计,可以使得监控节点根据业务节点的拓扑关系确定候选恶意节点,从而减轻根节点的处理压力。

在一些可能的设计中,第一信息包括第三业务节点的标识和第三业务节点的DTSN,第三业务节点为该N个业务节点中的业务节点;根节点根据第一信息确定N个业务节点中的恶意节点,包括:在第三业务节点的DTSN与根节点确定的最新的DTSN不同的情况下,根节点将第三业务节点确定为恶意节点。基于该可能的设计,可以使得根节点检测到DTSN攻击或识别恶意节点。

第二方面,提供了一种攻击检测方法。该方法中,监控节点根据K个业务节点的DIO消息确定第二信息,该第二信息用于确定恶意节点,该K个业务节点位于该监控节点的监控范围内,该K个业务节点属于第一DODAG,监控节点属于第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG,第一DODAG的根节点和第二DODAG的根节点相同,K为小于或等于N的正整数,N为第一DODAG包括的业务节点的总数;监控节点向根节点发送第二信息。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括Rank值或DTSN等信息,因此监控节点向根节点发送的第二信息可以指示业务节点的Rank值或DTSN,从而使得根节点可以根据一个或多个第二信息确定发起Rank攻击或DTSN攻击的恶意节点,即可以使得根节点检测到Rank攻击或DTSN攻击,从而进行相应处理。综上,本申请的方案可以用于检测RPL中的多种攻击,此外,在攻击检测过程中不会增加业务网络的传输开销。

在一些可能的设计中,第二信息包括K个业务节点中每个业务节点的Rank值。基于该可能的设计,可以使得根节点获取业务节点的Rank值,从而根据Rank值检测Rank攻击。

在一些可能的设计中,第二信息包括一个或多个潜在恶意节点的Rank值,潜在恶意节点为K个业务节点中Rank值与参考Rank值不同的业务节点。基于该可能的设计,由于第二信息包括潜在恶意节点的Rank值,从而根节点无需再确定潜在恶意节点,可以降低根节点的处理压力。

在一些可能的设计中,第二信息包括候选恶意节点的标识,该候选恶意节点为监控节点确定的K个业务节点中的恶意节点。基于该可能的设计,由于第二信息包括候选恶意节点的标识,从而根节点无需再确定候选恶意节点,可以降低根节点的处理压力。

在一些可能的设计中,该攻击检测方法还可以包括:监控节点将一个或多个潜在恶意节点中,Rank值最小的潜在恶意节点确定为候选恶意节点,该潜在恶意节点为K个业务节点中Rank值与参考Rank值不同的业务节点。

在一些可能的设计中,该攻击检测方法还可以包括:监控节点接收来自根节点的该K个业务节点中每个业务节点的参考Rank值。基于该可能的设计,可以使得监控节点根据业务节点的参考Rank值确定潜在恶意节点或候选恶意节点,从而减轻根节点的处理压力。

在一些可能的设计中,该攻击检测方法还可以包括:在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,监控节点将第一业务节点确定为候选恶意节点,第一业务节点为K个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。

在一些可能的设计中,该攻击检测方法还可以包括:监控节点接收来自根节点的该K个业务节点的拓扑关系。基于该可能的设计,可以使得监控节点根据业务节点的拓扑关系确定候选恶意节点,从而减轻根节点的处理压力。

在一些可能的设计中,该第二信息包括第三业务节点的标识和第三业务节点的DTSN,该第三业务节点的DTSN与预设DTSN不同,该第三业务节点为该K个业务节点中的业务节点。基于该可能的设计,可以使得根节点检测到DTSN攻击或识别恶意节点。

第三方面,提供了一种通信装置用于实现上述各方面方法的任意一种。一些实现方式中,该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。所述通信装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。

第四方面,提供了一种通信装置,包括:存储器和至少一个处理器;该存储器用于存储计算机指令,当该处理器执行该指令时,以使该通信装置执行上述任一方面所述的方法。该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。

第五方面,提供了一种通信装置,包括:接口电路和至少一个处理器,该接口电路可以为代码/数据读写接口电路,该接口电路用于接收计算机执行指令(计算机执行指令存储在存储器中,可能直接从存储器读取,或可能经过其他器件)并传输至该处理器;该处理器用于运行所述计算机执行指令以执行上述任一方面所述的方法。该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。

第六方面,提供了一种通信装置,包括:至少一个处理器;所述处理器用于与存储器耦合,并读取存储器中的指令之后,根据所述指令执行如上述任一方面所述的方法。该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。

第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在通信装置上运行时,使得通信装置可以执行上述任一方面所述的方法。该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。

第八方面,提供了一种包含指令的计算机程序产品,当其在通信装置上运行时,使得通信装置可以执行上述任一方面所述的方法。该通信装置可以为上述第一方面中的根节点,或者包含上述根节点的装置,或者上述根节点中包含的装置,比如芯片;或者,又一些实现方式中,该通信装置可以为上述第二方面中的监控节点,或者包含上述监控节点的装置,或者上述监控节点中包含的装置。

第九方面,提供了一种通信装置(例如,该通信装置可以是芯片或芯片系统),该通信装置包括至少一个处理器,用于实现上述任一方面中所涉及的功能。在一种可能的设计中,该通信装置还包括存储器,该存储器,用于保存必要的程序指令和/或数据。该通信装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。

其中,第三方面至第九方面中任一种设计方式所带来的技术效果可参见上述第一方面或第二方面中不同设计方式所带来的技术效果,此处不再赘述。

第十方面,提供一种通信系统,该通信系统包括上述方面所述的根节点以及上述方面所述的监控节点。

附图说明

图1为本申请实施例提供的一种DODAG的拓扑示意图;

图2为本申请实施例提供的一种DIO消息的结构示意图;

图3为本申请实施例提供的一种DAO消息的结构示意图;

图4为本申请实施例提供的一种通信系统的结构示意图;

图5为本申请实施例提供的另一种通信系统的结构示意图;

图6为本申请实施例提供的一种通信设备的结构示意图;

图7为本申请实施例提供的一种攻击检测方法的流程示意图;

图8为本申请实施例提供的另一种攻击检测方法的流程示意图;

图9为本申请实施例提供的又一种攻击检测方法的流程示意图;

图10为本申请实施例提供的一种根节点的结构示意图;

图11为本申请实施例提供的一种监控节点的结构示意图。

具体实施方式

为了方便理解本申请实施例的技术方案,首先给出本申请相关技术的简要介绍如下。

第一、RPL中的相关元素:

1、网络(NETWORK):一个网络包括一个或多个RPL实例(RPLInstance),每个RPLInstance由RPLInstanceID唯一标识。

2、RPLInstance:一个RPLInstance包括一个或多个DODAG,每个DODAG用DODAGID标识。同一RPLInstance中不同的DODAG具有相同的RPLInstanceID。

3、DODAG:每个DODAG仅包括一个根节点(root),除根节点之外的其他节点都为node。

第二、DIO消息、DAO消息:

运行RPL路由协议的节点之间通过交换DIO消息、DAO消息、以及DODAG信息收集(DODAG information solicitation,DIO)消息来建立拓扑和路由。

DIO消息包括节点自身的信息,示例性的,其消息结构如图2所示。其中,IP指互联网协议(internet protocol,IP),ICMP指互联网控制报文协议(internet controlmessage protocol,ICMP)。DIO字段进一步包括如下字段:

RPLInstanceID:RPL实例标识;

Version Number:版本号;

Rank:该字段的值可以称为Rank值。Rank值的大小表示节点与根节点的距离,Rank值越小表示节点距离根节点越近,Rank值越大表示节点距离根节点越远。

DTSN:目的地通告触发序列号。DTSN在初始构建DODAG时由根节点确定,除根节点外的其他节点不改变DTSN,也就是说,初始构建DODAG时各个节点的DIO消息中的DTSN相同。后续根节点可以通过更新DTSN发起拓扑更新,即DTSN的更新由根节点进行,其他节点通常不会更新DTSN。

Flags:标记;

Reserved:预留;

DODAGID:DODAG标识。

DAO消息可以用于建立下行路由,示例性的,其消息结构如图3所示。相关字段的解释可参考图2的相关描述,在此不再赘述。

第三、业务节点、监控节点:

本申请实施例中,业务节点指DODAG中除根节点外,用于业务传输的节点;监控节点指DODAG中除根节点外,用于监控业务节点的节点。

可以理解的是,监控节点可以由业务节点充当。也就是说,监控节点也可以是业务节点。

第四、Rank攻击、DTSN攻击:

Rank攻击:恶意节点通过篡改其Rank值,实现对子节点的吸引,使得子节点更新其父节点以改变原有拓扑。Rank攻击会使得恶意节点周围的拓扑发生变化,从而影响数据包传递,增加网络传输延迟和传输开销。

DTSN攻击:恶意节点A向其子节点B发送DIO消息,当DIO消息中携带的DTSN与初始构建拓扑时的DTSN相比发生变化(例如增大)时,将会触发子节点B更新DAO消息,并继续触发子节点B向该子节点B的子节点C发送DIO消息,以及子节点C回复DAO消息。因此,当恶意节点具有较多子节点时,DTSN攻击将会造成大量无意义的路由更新,造成网络传输开销。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。

此外,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请实施例提供通信系统,该通信系统可以是以RPL为路由协议的6LoWPAN网络。一种可能的实现方式中,该通信系统包括根节点、N个业务节点、以及M个监控节点,N和M为正整数。

其中,业务节点与监控节点不同,该M个监控节点用于监控该N个业务节点,或者说,N个业务节点位于M个监控节点的监控范围内。

其中,根节点、业务节点、以及监控节点运行RPL路由协议,N个业务节点与根节点构成第一DODAG,M个监控节点与根节点构成第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG。

可选的,M小于或等于N,即监控节点的数目不大于业务节点的数目。

示例性的,以N为8,M为2为例,如图4所示,为本申请实施例提供的一种通信系统40。其中,节点A为根节点,节点B、节点C、节点D、节点E、节点F、节点G、节点H、以及节点I为业务节点,节点M1、以及节点M2为监控节点。

示例性的,如图4所示,位于监控节点M1的监控范围内的业务节点为节点B、节点C、节点E、以及节点F;位于监控节点M2的监控范围内的业务节点为节点D、节点G、节点H、以及节点I。

另一种可能的实现方式中,该通信系统包括根节点以及N个业务节点。其中,该N个业务节点中的M个业务节点作为监控节点。也就是说,在该N个业务节点中,有M个业务节点既作为业务节点也作为监控节点,N和M为正整数,M小于或等于N。

其中,该M个监控节点用于监控该N个业务节点。也就是说,该N个业务节点中,有M个业务节点既用于传输业务,又用于监控自身以及其他业务节点。

其中,根节点、业务节点、以及监控节点运行RPL路由协议。该N个业务节点与根节点构成第一DODAG,M个监控节点与根节点构成第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG。也就是说,在该N个业务节点中,有M个业务节点既属于第一DODAG,也属于第二DODAG。

示例性的,以N为8,M为2为例,如图5所示,为本申请实施例提供的另一种通信系统50。其中,节点A为根节点,节点B、节点C、节点D、节点E、节点F、节点G、节点H、以及节点I为业务节点,同时节点B和节点D作为监控节点。

示例性的,如图5所示,位于监控节点B的监控范围内的业务节点为节点B、节点C、节点E、以及节点F;位于监控节点D的监控范围内的业务节点为节点D、节点G、节点H、以及节点I。

本申请实施例中,监控节点根据其监控范围内的K个业务节点的DIO消息确定第二信息,并向根节点发送第二信息,该第二信息用于确定恶意节点。根节点接收一个或多个监控节点的第二信息(以下统称为第一信息),并根据第一信息确定业务节点中的恶意节点。也就是说,第一信息通过M个监控节点监控N个业务节点的DIO消息获得,其中,该N个业务节点属于第一DODAG,M个监控节点属于第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG,该根节点为第一DODAG和第二DODAG的根节点,M、N为正整数。

可以理解的是,本申请实施例中,“恶意节点”指发起Rank攻击和/或DTSN攻击的业务节点。

需要说明的是,本申请实施例中,“恶意节点”也可以称为“攻击节点”或“攻击者”,可以相互替换,本申请对此不做具体限定。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括Rank值或DTSN等信息,因此监控节点向根节点发送的第二信息可以指示业务节点的Rank值或DTSN,从而使得根节点可以根据一个或多个第二信息确定发起Rank攻击或DTSN攻击的恶意节点,即可以使得根节点检测到Rank攻击或DTSN攻击,从而进行相应处理。综上,本申请的方案可以用于检测RPL中的多种攻击,此外,在攻击检测过程中不会增加业务网络的传输开销。

可选的,本申请实施例中的根节点、业务节点或监控节点也可以称之为通信设备,其可以是一个通用设备或者是一个专用设备,本申请实施例对此不作具体限定。

示例性的,本申请实施例中的根节点、业务节点或监控节点的相关功能可以通过图6中的通信设备60来实现。图6所示为本申请实施例提供的通信设备60的结构示意图。该通信设备60包括一个或多个处理器601,通信线路602,以及至少一个通信接口(图6中仅是示例性的以包括通信接口604,以及一个处理器601为例进行说明),可选的还可以包括存储器603。

处理器601可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。

通信线路602可包括一通路,用于连接不同组件之间。

通信接口604,可以是收发模块用于与其他设备或通信网络通信,如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。例如,所述收发模块可以是收发器、收发机一类的装置。可选的,所述通信接口604也可以是位于处理器601内的收发电路,用以实现处理器的信号输入和信号输出。

存储器603可以是具有存储功能的装置。例如可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路602与处理器相连接。存储器也可以和处理器集成在一起。

其中,存储器603用于存储执行本申请方案的计算机执行指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的计算机执行指令,从而实现本申请实施例中提供的攻击检测方法。

或者,可选的,本申请实施例中,也可以是处理器601执行本申请下述实施例提供的攻击检测方法中的处理相关的功能,通信接口604负责与其他设备或通信网络通信,本申请实施例对此不作具体限定。

可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。

在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,例如图6中的CPU0和CPU1。

在具体实现中,作为一种实施例,通信设备60可以包括多个处理器,例如图6中的处理器601和处理器608。这些处理器中的每一个可以是一个单核(single-core)处理器,也可以是一个多核(multi-core)处理器。这里的处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。

在具体实现中,作为一种实施例,通信设备60还可以包括输出设备605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。例如,输出设备605可以是液晶显示器(liquid crystal display,LCD),发光二极管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。

输入设备606和处理器601通信,可以以多种方式接收用户的输入。例如,输入设备606可以是鼠标、键盘、触摸屏设备或传感设备等。

下面结合图1至图6,对本申请实施例提供的攻击检测方法进行描述。

可以理解的,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。

此外,本申请实施例中,根节点或监控节点可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。

需要说明的是,本申请下述实施例中各个节点之间的消息名字或消息中各参数的名字等只是一个示例,具体实现中也可以是其他的名字,本申请实施例对此不作具体限定。

本申请实施例提供的攻击检测方法,首先需要建立第一DODAG和第二DODAG,根节点可以发送第一DIO消息以建立用于业务传输的第一DODAG,发送第二DIO消息以建立用于监控第一DODAG的第二DODAG。

其中,第一DIO消息可以包括;第二DIO消息可以包括。也就是说,第一DODAG和第二DODAG可以是同一RPLInstance中的不同DODAG。

可选的,用于业务传输的节点可以根据第一DIO消息加入第一DODAG作为业务节点,直至第一DODAG构建完成;用于监控业务节点的节点可以根据第二DIO消息加入第二DODAG作为监控节点,直至第二DODAG构建完成。

可以理解的是,监控节点可以是不同于业务节点的节点,也可以由业务节点充当。在监控节点由业务节点充当的情况下,作为监控节点的业务节点既可以根据第一DIO消息加入第一DODAG用于业务传输,也可以根据第二DIO消息加入第二DODAG用于监控其他业务节点。也就是说,在该情况下,无需额外部署监控节点,可以降低网络复杂度以及开销。

可选的,用作监控节点的业务节点可以是根节点信任的安全等级较高(例如,支持密钥加密)的业务节点。

本申请实施例中,以最终构建的第一DODAG包括N个业务节点,第二DODAG包括M个监控节点,即M个监控节点监控N个业务节点为例进行说明。

需要说明的是,本申请下述实施例以第二DODAG包括监控节点1和监控节点2,即M为2为例进行说明。可以理解的是,本申请实施例提供的攻击检测方法并不限于两个监控节点的场景,当存在多于两个监控节点时,本申请实施例提供的攻击检测方法仍然适用。

如图7所示,为本申请实施例提供的一种攻击检测方法,该攻击检测方法包括如下步骤:

S701、监控节点1获取K个业务节点中每个业务节点的DIO消息。监控节点2获取J个业务节点中每个业务节点的DIO消息。

其中,K为小于或等于N的正整数,该K个业务节点位于监控节点1的监控范围内;J等于N-K,该J个业务节点位于监控节点2的监控范围内。

可选的,本申请实施例中,业务节点位于监控节点的监控范围内,可以理解为:业务节点发送的DIO消息能够被监控节点收到。

可以理解的是,监控节点1可以是该K个业务节点中的一个业务节点;监控节点2可以是该J个业务节点中的一个业务节点。

S702、监控节点1根据K个业务节点的DIO消息确定第二信息,以及,监控节点2根据J个业务节点的DIO消息确定第二信息。

可选的,监控节点1确定的第二信息可以包括该K个业务节点中每个业务节点的Rank值;监控节点2确定的第二信息可以包括该J个业务节点中每个业务节点的Rank值。

可选的,监控节点1在获取到某个业务节点的DIO消息后,可以先判断DIO消息中包括的RPLInsteanceID与监控节点1的RPLInsteanceID是否相同,若是,将DIO消息中的该业务节点的Rank值确定为第二信息包括的参数;若否,可以丢弃该DIO消息等,本申请实施例对此不做具体限定。或者,监控节点1也可以不进行判断,在获取到某个业务节点的DIO消息后,将DIO消息中的该业务节点的Rank值确定为第二信息包括的参数。

其中,监控节点2获取到业务节点的DIO消息后的处理方式可参考监控节点1,在此不再赘述。

S703、监控节点1和监控节点2分别向根节点发送第二信息。相应的,根节点接收来自监控节点1的第二信息以及来自监控节点2的第二信息。

本申请实施例中,将各个监控节点的第二信息统称为第一信息。即对于根节点,该步骤S703也可以为:根节点接收第一信息,该第一信息是通过M个监控节点监控N个业务节点的DIO消息获得的。

可以理解的,由于监控节点1发送的第二信息包括K个业务节点中每个业务节点的Rank值,监控节点2发送的第二信息包括J个业务节点中每个业务节点的Rank值,则可以认为第一信息包括N个业务节点中每个业务节点的Rank值。

可选的,监控节点1可以在获取到K个业务节点中的某个业务节点的DIO消息后,即向根节点发送DIO消息中的该业务节点的Rank值,即监控节点1将第二信息包括的各个业务节点的Rank值分别发送给根节点;或者,监控节点1可以在获取到K个业务节点中每个业务节点的DIO消息后,向根节点发送每个业务节点的Rank值,本申请实施例对此不做具体限定。

可选的,监控节点1为K个业务节点中的一个业务节点的情况下,在监控节点1向根节点发送第二信息时,可以采用第一密钥对第二信息进行加密和/或签名,以提高第二信息在传输过程中的安全性。根节点在收到加密的第二信息后,可以根据第一密钥进行签名验证和/或解密,从而获取第二信息。

可选的,该第一密钥可以是根节点和监控节点1协商的,也可以是监控节点和根节点在出厂时预置的,本申请实施例对此不做具体限定。

可选的,监控节点2也可以采用与监控节点1相同的方式发送第二信息,可参考监控节点1发送第二信息的相关描述,在此不再赘述。

S704、根节点根据第一信息确定N个业务节点中的恶意节点。

在本申请的不同实施场景下,根节点可以通过如下两种方式确定恶意节点:

一种可能的实现方式中,根节点根据第一信息确定N个业务节点中的恶意节点,可以包括:

根节点根据第一信息确定一个或多个潜在恶意节点,并将该一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为该恶意节点。其中,潜在恶意节点为N个业务节点中Rank值与参考Rank值不同的业务节点。

可选的,N个业务节点中每个业务节点的参考Rank值可以是根节点在第一DODAG初始建立时根据网络拓扑确定的。

可选的,根节点可以通过比较第一信息包括的业务节点的Rank值与该业务节点的参考Rank值,将Rank值与参考Rank值不同的业务节点确定为潜在恶意节点,之后将该一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为该恶意节点。

示例性的,以图4或图5所示的系统为例,根节点在第一DODAG初始建立时确定的各个业务节点的参考Rank值可以如表1所示。

表1

示例性的,基于图4或图5所示的系统,以监控节点1为M1,监控节点2为M2,节点G发起Rank攻击,即节点G发送的DIO消息中的Rank值为1为例,监控节点1上报的其监控范围内的各个业务节点的Rank值可以如表2所示,监控节点2上报的其监控范围内的各个业务节点的Rank值可以图表3所示。

可以理解的是,表3中节点H和节点I的Rank值发生变化的原因是,节点G发起了Rank攻击,通过DIO消息广播较小的Rank值,使得节点H和节点I相应的改变了其Rank值。

表2

表3

基于上述示例,根节点可以将各个业务节点的参考Rank值与监控节点上报的Rank值进行比较,确定潜在恶意节点。示例性的,比较结果可以如下表4所示:

表4

也就是说,根节点根据第一信息确定的潜在恶意节点为节点G、节点H、以及节点I,而在三个潜在恶意节点中,潜在恶意节点G的Rank值最小,因此,根节点可以确定节点G为业务节点中的恶意节点。

另一种可能的实现方式中,根节点根据第一信息确定N个业务节点中的恶意节点,可以包括:

在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,根节点将第一节点确定为恶意节点,第一业务节点为N个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。

可选的,根节点收到第一信息后,可以比较某个业务节点的Rank值与其父节点的Rank值的大小,在该业务节点的Rank值小于或等于其父节点的Rank值的情况下,将该节点确定为恶意节点。

在该方式中,根节点无需计算每个业务节点的参考Rank值,仅需进行简单的比较运算,从而可以降低根节点的计算复杂度。

示例性的,基于图4或图5所示的系统,比较结果可以如下表5所示:

表5

也就是说,根节点可以根据第一信息确定业务节点G的Rank值1小于其父节点D的Rank值2,因此,根节点可以确定业务节点G为恶意节点。

可以理解的是,节点B和节点C的父节点为根节点A,根节点A可以获取其自身的Rank值与节点B和节点C的Rank值进行比较。由于根节点的Rank值通常为0,因此,根节点可以确定节点B或节点C不为恶意节点。

至此,根节点可以确定业务节点中的恶意节点。

可选的,根节点确定恶意节点后可以进行相关处理,例如降低该恶意节点的可信度,或将其加入黑名单等,本申请实施例对此不做具体限定。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括Rank值,因此监控节点向根节点发送的第二信息可以指示业务节点的Rank值,从而使得根节点可以根据一个或多个第二信息确定发起Rank攻击的恶意节点,即可以使得根节点检测到Rank攻击或识别恶意节点。

上述实施例中,相关处理和存储功能均由根节点实现。下面提供一种攻击检测方法,该攻击检测方法中,部分处理和存储功能由监控节点实现,如图8所示,该攻击检测方法包括如下步骤:

S801、同上述步骤S701,可参考上述相关说明,在此不再赘述。

S802、监控节点1根据K个业务节点的DIO消息确定第二信息,和/或,监控节点2根据J个业务节点的DIO消息确定第二信息。

在本申请的不同实施场景下,监控节点根据业务节点的DIO消息第二信息也可能不同,下面以监控节点1为例进行说明。

一种可能的实现方式中,监控节点1可以根据K个业务节点的DIO消息确定该K个业务节点中是否存在潜在恶意节点,若是,监控节点1可以继续根据K业务节点的DIO消息确定第二信息;若否,监控节点1可以不确定第二信息,或者确定第三信息并向根节点发送第三信息,该第三信息可以用于指示监控节点1的监控范围内不存在潜在恶意节点。

可以理解的,对于监控节点1,潜在恶意节点即指该K个业务节点中Rank值与参考Rank值不同的业务节点。

可选的,监控节点1在获取到某个业务节点的DIO消息后,可以比较DIO消息包括的业务节点的Rank值与该业务节点的参考Rank值,将Rank值与参考Rank值不同的业务节点确定为潜在恶意节点。

可选的,确定潜在恶意节点后,第二信息可以有如下两种方式:

方式一、第二信息包括监控节点1确定的一个或多个潜在恶意节点的Rank值。

也就是说,监控节点1可以将潜在恶意节点的Rank值确定为第二信息中的参数。

方式二、第二信息包括候选恶意节点的标识。

其中,该候选恶意节点为监控节点确定的K个业务节点中的恶意节点。

可选的,该方式二中,本申请实施例提供的攻击检测方法还可以包括:监控节点1将其确定的一个或多个潜在恶意节点中,Rank值最小的潜在恶意节点确定为候选恶意节点。

可选的,该可能的实现方式中,K个业务节点的参考Rank值可以是根节点发给监控节点1的。

即该实现方式中,本申请实施例提供的攻击检测方法还可以包括:根节点向M个监控节点中的每个监控节点分别发送各自监控范围内的属于第一DODAG的业务节点的参考Rank值。相应的,各个监控节点接收各自监控范围内的属于第一DODAG的业务节点的参考Rank值。对于监控节点1,即为监控节点1接收来自根节点的K个业务节点中每个业务节点的参考Rank值;对于监控节点2,即为监控节点2接收来自根节点的J个业务节点中每个业务节点的参考Rank值。

示例性的,基于图4或图5所示的系统,以监控节点1为M2,监控节点2为M1为例,根节点向监控节点1发送的K个业务节点的参考Rank值可以如表6所示,向监控节点2发送的J个业务节点的参考Rank值可以如表7所示。

表6

表7

示例性的,基于图4或图5所示的系统,以节点G发起Rank攻击,即节点G发送的DIO消息中的Rank值为1为例,监控节点1获取的其监控范围内的各个业务节点的Rank值如表8所示:

表8

示例性的,基于上述示例,监控节点1可以将其获取的各个业务节点的Rank值与参考Rank值进行比较,确定潜在恶意节点。比较结果可以如下表9所示:

表9

也就是说,监控节点1确定的潜在恶意节点为节点G、节点H、以及节点I,因此,若第二信息为上述方式一,监控节点1确定的该第二信息包括监控节点1获取的节点G的Rank值、节点H的Rank值、以及节点I的Rank值;若第二信息为上述方式二,监控节点1确定的该第二信息可以包括节点G的标识。

可以理解的是,监控节点2根据J个业务节点的DIO消息确定第二信息的方法可参考监控节点1根据K个业务节点的DIO消息确定第二信息的方法,在此不再赘述。

示例性的,基于图4或图5所示的系统,根据上述示例以及方法,可知监控节点2比较各个业务节点的Rank值与参考Rank值后,比较结果可以如下表10所示:

表10

也就是说,监控节点2不确定第二信息,或确定第三信息,该第三信息指示监控节点2的监控范围内不存在潜在恶意节点。

另一种可能的实现方式中,监控节点1获取到第一业务节点的DIO消息后,可以比较该DIO消息包括的第一业务节点的Rank值与第二业务节点的Rank值的大小,在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,监控节点1将第一业务节点确定为候选恶意节点。其中,第一业务节点为该K个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。

相应的,该可能的实现方式中,监控节点1确定第二信息可以包括候选恶意节点的标识。

可选的,该可能的实现方式中,监控节点1需要获取K个业务节点的拓扑关系,该K个业务节点的拓扑关系可以是根节点发送给监控节点1的。

即本申请实施例提供的攻击检测方法还可以包括:根节点向M个监控节点中的每个监控节点分别发送其各自监控范围内的属于第一DODAG的业务节点的拓扑关系。相应的,各个监控节点接收各自监控范围内的属于第一DODAG的业务节点的拓扑关系。对于监控节点1,即为监控节点1接收来自根节点的K个业务节点的拓扑关系;对于监控节点2,即为监控节点2接收来自根节点的J个业务节点的拓扑关系。

可选的,该可能的实现方式中,若监控节点1不能获取K个业务节点中的某个业务节点的父节点的Rank值,即该业务节点的父节点不在监控节点1的监控范围内,监控节点1可以将该业务节点的Rank值上报至根节点,由根节点比较该业务节点的Rank值与其父节点的Rank值,从而确定该业务节点是否为恶意节点。

示例性的,基于图4或图5所示的系统,以监控节点1为M2,监控节点2为M1为例,根节点向监控节点1发送的K个业务节点的拓扑关系可以如表11所示,向监控节点2发送的J个业务节点的拓扑关系可以如表12所示。

表11

表12

示例性的,基于图4或图5所示的系统,以节点G发起Rank攻击,即节点G发送的DIO消息中的Rank值为1为例,监控节点1获取的其监控范围内的各个业务节点、其父节点的Rank值、以及比较结果可以如表13所示:

表13

也就是说,监控节点1可以确定业务节点G的Rank值1小于其父节点D的Rank值2,因此,监控节点1可以确定业务节点G为候选恶意节点,第二信息中即包括节点G的标识。

可选的,由于监控节点1无法获取节点D的父节点(即节点B)的Rank值,因此,监控节点1可以将节点D的Rank值上报至根节点,由根节点进行判断。

可以理解的是,监控节点2根据J个业务节点的DIO消息确定第二信息的方法可参考监控节点1根据K个业务节点的DIO消息确定第二信息的方法,在此不再赘述。

示例性的,基于图4或图5所示的系统,根据上述示例以及方法,可知监控节点2获取的其监控范围内的各个业务节点、其父节点的Rank值、以及比较结果可以如表14所示:

表14

也就是说,监控节点2的监控范围内不存在某个业务节点的Rank值小于或等于其父节点的Rank值的情况,此时,监控节点2可以不确定第二信息。

S803、监控节点1向根节点发送第二信息,和/或,监控节点2向根节点发送第二信息。相应的,根节点接收来自监控节点1的第二信息和/或来自监控节点2的第二信息。

可以理解的是,在监控节点1向根节点发送了第二信息的情况下,根节点接收来自监控节点1的第二信息;在监控节点2向根节点发送了第二信息的情况下,根节点接收来自监控节点2的第二信息。

其中,监控节点发送第二信息的相关描述可参考上述步骤S703,在此不再赘述。

S804、根节点根据第一信息确定N个业务节点中的恶意节点。

可以理解的是,在多个监控节点上报了第二信息的情况下,第一信息包括该多个第二信息;在仅有一个监控节点上报了第二信息的情况下,第一信息与该第二信息相同。

可选的,在监控节点上报的第二信息不同的情况下,根节点根据第一信息确定N个业务节点中的恶意节点的方式也可以不同。

一种可能的实现方式中,在第二信息包括一个或多个潜在恶意节点的Rank值的情况下,第一信息也包括一个或多个潜在恶意节点的Rank值,此时,根节点根据第一信息确定N个业务节点中的恶意节点可以包括:根节点将该一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为恶意节点。

另一种可能的实现方式中,在第二信息包括候选恶意节点的标识的情况下,第一信息包括一个或多个候选恶意节点的标识,此时,若第一信息包括一个候选恶意节点的标识,根节点可以将该一个候选恶意节点确定为恶意节点;若第一信息包括多个候选恶意节点的标识,根节点可以继续根据该多个候选恶意节点的Rank值或拓扑关系确定恶意节点,例如,将多个候选恶意节点中Rank值最小的候选恶意节点确定为恶意节点;或者,若多个候选恶意节点中,第一候选恶意节点的Rank值小于或等于第二候选恶意节点的Rank值,将第一候选恶意节点确定为恶意节点,第二候选恶意节点为第一候选恶意节点的父节点。

至此,根节点可以确定业务节点中的恶意节点。

可选的,根节点确定恶意节点后可以进行相关处理,例如降低该恶意节点的可信度,或将其加入黑名单等,本申请实施例对此不做具体限定。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括Rank值,因此监控节点向根节点发送的第二信息可以指示潜在恶意节点的Rank值或候选恶意节点的标识,从而使得根节点可以根据一个或多个第二信息确定发起Rank攻击的恶意节点,即可以使得根节点检测到Rank攻击或识别恶意节点。此外,本实施例中,由监控节点进行潜在恶意节点或候选恶意节点的判断,可以降低根节点的处理压力和功耗。

上述实施例介绍了基于本申请提供的通信系统检测Rank攻击的方法,下面对检测DTSN攻击的方法进行说明。

如图9所示,为本申请实施例提供的又一种攻击检测方法,该方法包括如下步骤:

S901、同上述步骤S701,可参考上述相关说明,在此不再赘述。

S902、监控节点1根据K个业务节点的DIO消息确定第二信息,和/或,监控节点2根据J个业务节点的DIO消息确定第二信息。

可选的,监控节点获取某个业务节点的DIO消息后,可以判断DIO消息包括的该业务节点的DTSN与预设DTSN是否相同,若否,监控节点可以确定第二信息包括该业务节点的标识和该业务节点的DTSN。

可选的,该预设DTSN为初始构建第一DODAG时,根节点发送的第一DIO消息中的DTSN。

也就是说,第二信息包括第三业务节点的标识和第三业务节点的DTSN,第三业务节点的DTSN与预设DTSN不同。对于监控节点,第三业务节点为其监控范围内的业务节点。

可选的,该第二信息还可以包括时间信息,该时间信息用于指示监控节点收到第三业务节点的DIO消息的时间。

S903、监控节点1向根节点发送第二信息,和/或,监控节点2向根节点发送第二信息。相应的,根节点接收来自监控节点1的第二信息和/或来自监控节点2的第二信息。

可以理解的是,在监控节点1向根节点发送了第二信息的情况下,根节点接收来自监控节点1的第二信息;在监控节点2向根节点发送了第二信息的情况下,根节点接收来自监控节点2的第二信息。

其中,监控节点发送第二信息的相关描述可参考上述步骤S703,在此不再赘述。

S904、根节点根据第一信息确定N个业务节点中的恶意节点。

可以理解的是,在多个监控节点上报了第二信息的情况下,第一信息包括该多个第二信息;在仅有一个监控节点上报了第二信息的情况下,第一信息包括该一个第二信息。

可选的,在第一信息包括一个第二信息的情况下,第一信息包括一个第三业务节点的DTSN和该第三业务节点的标识。此时,根节点根据第一信息确定N个业务节点中的恶意节点可以包括:在该第三业务节点的DTSN与根节点确定的最新的DTSN不同的情况下,根节点将该第三业务节点确定为恶意节点。

可选的,根节点确定的最新的DTSN可以是根节点最近一次更新第一DODAG的拓扑时所使用的DTSN;或者也可以是初始构建第一DODAG时所使用的DTSN,该情况下,可以认为根节点未发起拓扑更新。

可选的,在第一信息包括多个第二信息的情况下,第一信息包括多个第三业务节点的标识以及各个第三业务节点的DTSN。此时,根节点根据第一信息确定N个业务节点中的恶意节点可以包括:根节点将DTSN与最新的DTSN不同的第三业务节点确定为候选恶意节点,之后,将最早收到的第二信息所对应的候选恶意节点确定为恶意节点;或者,将特定的第二信息所对应的候选恶意节点确定为恶意节点,该特定的第二信息为包括的时间信息所指示的时间最早的第二信息。

至此,根节点可以确定业务节点中的恶意节点。

可选的,根节点确定恶意节点后可以进行相关处理,例如降低该恶意节点的可信度,或将其加入黑名单等,本申请实施例对此不做具体限定。

基于该方案,通过监控节点来监控业务节点,使得监控节点可以获取业务节点的DIO消息,由于DIO消息中包括DTSN,因此监控节点向根节点发送的第二信息可以指示DTSN与预设DTSN不同的业务节点的标识和DTSN,从而使得根节点可以根据一个或多个第二信息确定发起DTSN攻击的恶意节点,即可以使得根节点检测到DTSN攻击或识别恶意节点。

其中,上述图7至图9所示的实施例中,根节点或监控节点的动作可以由图6所示的通信设备60中的处理器601调用存储器603中存储的应用程序代码以指令该根节点或监控节点执行,本实施例对此不作任何限制。

在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。

可以理解的是,以上各个实施例中,由各个节点实现的方法和/或步骤,也可以由可用于该节点的部件(例如芯片或者电路)实现。

上述主要从各个节点之间交互的角度对本申请实施例提供的方案进行了介绍。相应的,本申请实施例还提供了通信装置,该通信装置用于实现上述各种方法。该通信装置可以为上述方法实施例中的根节点,或者包含上述根节点的装置,或者为可用于根节点的部件;或者,该通信装置可以为上述方法实施例中的监控节点,或者包含上述监控节点的装置,或者为可用于监控节点的部件。可以理解的是,该通信装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法实施例对通信装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

比如,以通信装置为上述方法实施例中的根节点为例。图10示出了一种根节点100的结构示意图。该根节点100包括处理模块1001和收发模块1002。所述收发模块1002,也可以称为收发单元用以实现发送和/或接收功能,例如可以是收发电路,收发机,收发器或者通信接口。

其中,收发模块1002,用于接收第一信息,该第一信息通过M个监控节点监控N个业务节点的DIO消息获得,该N个业务节点属于第一DODAG,该N个监控节点属于第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG;处理模块1001,用于根据第一信息确定N个业务节点中的恶意节点。

可选的,处理模块1001,用于根据第一信息确定N个业务节点中的恶意节点,包括:处理模块1001,用于根据第一信息确定一个或多个潜在恶意节点,该潜在恶意节点为N个业务节点中Rank值与参考Rank值不同的业务节点;处理模块1001,还用于将一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为恶意节点。

可选的,处理模块1001,用于根据第一信息确定N个业务节点中的恶意节点,包括:处理模块1001,用于在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,将第一节点确定为恶意节点,该第一业务节点为N个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。

可选的,处理模块1001,用于根据第一信息确定N个业务节点中的恶意节点,包括:处理模块1001,用于将一个或多个潜在恶意节点中Rank值最小的潜在恶意节点,确定为恶意节点。

可选的,收发模块1002,还用于向M个监控节点中的每个监控节点分别发送各自监控范围内的属于第一DODAG的业务节点的参考Rank值。

可选的,收发模块1002,还用于向M个监控节点中的每个监控节点分别发送各自监控范围内的属于第一DODAG的业务节点的拓扑关系。

可选的,处理模块1001,用于根据第一信息确定N个业务节点中的恶意节点,包括:处理模块1001,用于在第三业务节点的DTSN与根节点确定的最新DTSN不同的情况下,将第三业务节点确定为恶意节点。

其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

可选的,根节点100还可以包括存储模块(图10中未示出),用于存储数据和/或指令,处理模块1001可以读取存储模块中的数据或者指令,实现上述各个实施例对应的方法。

可以理解的是,上述各个模块可以独立设置,也可以集成,本申请实施例对此不做限定。

一种可能的方式中,根节点100以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该根节点100可以采用图6所示的通信设备60的形式。

比如,图6所示的通信设备60中的处理器601可以通过调用存储器603中存储的计算机执行指令,使通信设备60执行上述方法实施例中的攻击检测方法。

具体的,图10中的处理模块1001和收发模块1002的功能/实现过程可以通过图6所示的通信设备60中的处理器601调用存储器603中存储的计算机执行指令来实现。或者,图10中的处理模块1001的功能/实现过程可以通过图6所示的通信设备60中的处理器601调用存储器603中存储的计算机执行指令来实现,图10中的收发模块1002的功能/实现过程可以通过图6所示的通信设备60中的通信接口604来实现。

由于本实施例提供的根节点100可执行上述的攻击检测方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。

或者,比如,以通信装置为上述方法实施例中的监控节点为例。图11示出了一种监控节点110的结构示意图。该监控节点110包括处理模块1101和收发模块1102。所述收发模块1102,也可以称为收发单元用以实现发送和/或接收功能,例如可以是收发电路,收发机,收发器或者通信接口。

其中,处理模块1101,用于根据K个业务节点的DIO消息,确定第二信息,该第二信息用于确定恶意节点,该K个业务节点位于该监控节点110的监控范围内,该K个业务节点属于第一DODAG,监控节点110属于第二DODAG,第一DODAG用于业务传输,第二DODAG用于监控第一DODAG,第一DODAG的根节点和第二DODAG的根节点相同,K为小于或等于N的正整数,N为第一DODAG包括的业务节点的总数;收发模块1102,用于向根节点发送该第二信息。

可选的,处理模块1101,还用于将一个或多个潜在恶意节点中,Rank值最小的潜在恶意节点确定为候选恶意节点,潜在恶意节点为该K个业务节点中Rank值与参考Rank值不同的业务节点。

可选的,收发模块1102,还用于接收来自根节点的该K个业务节点中每个业务节点的参考Rank值。

可选的,处理模块1101,还用于在第一业务节点的Rank值小于或等于第二业务节点的Rank值的情况下,将第一业务节点确定为候选恶意节点,该第一业务节点为K个业务节点中的业务节点,第二业务节点为第一业务节点的父节点。

可选的,收发模块1102,用于接收来根节点的该K个业务节点的拓扑关系。

其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

可选的,监控节点110还可以包括存储模块(图11中未示出),用于存储数据和/或指令,处理模块1101可以读取存储模块中的数据或者指令,实现上述各个实施例对应的方法。

可以理解的是,上述各个模块可以独立设置,也可以集成,本申请实施例对此不做限定。

一种可能的实现方式中,监控节点110以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到该监控节点110可以采用图6所示的通信设备60的形式。

比如,图6所示的通信设备60中的处理器601可以通过调用存储器603中存储的计算机执行指令,使通信设备60执行上述方法实施例中的攻击检测方法。

具体的,图11中的处理模块1101和收发模块1102的功能/实现过程可以通过图6所示的通信设备60中的处理器601调用存储器603中存储的计算机执行指令来实现。或者,图11中的处理模块1101的功能/实现过程可以通过图6所示的通信设备60中的处理器601调用存储器603中存储的计算机执行指令来实现,图11中的收发模块1101的功能/实现过程可以通过图6所示的通信设备60中的通信接口604来实现。

由于本实施例提供的监控节点110可以执行上述的攻击检测方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。

可选的,本申请实施例还提供了一种通信装置(例如,该通信装置可以是芯片或芯片系统),该通信装置包括处理器,用于实现上述任一方法实施例中的方法。在一种可能的设计中,该通信装置还包括存储器。该存储器,用于保存必要的程序指令和数据,处理器可以调用存储器中存储的程序代码以指令该通信装置执行上述任一方法实施例中的方法。当然,存储器也可以不在该通信装置中。在另一种可能的设计中,该通信装置还包括接口电路,该接口电路为代码/数据读写接口电路,该接口电路用于接收计算机执行指令(计算机执行指令存储在存储器中,可能直接从存储器读取,或可能经过其他器件)并传输至该处理器。该通信装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state drive,SSD))等。本申请实施例中,计算机可以包括前面所述的装置。

尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 存储式跨站脚本攻击检测方法、装置及系统及攻击检测装置
  • 攻击检测装置、攻击检测方法和攻击检测程序
技术分类

06120113818402