CN114040407A - 一种基于路由回路的虫洞攻击检测与定位方法 - Google Patents
一种基于路由回路的虫洞攻击检测与定位方法 Download PDFInfo
- Publication number
- CN114040407A CN114040407A CN202111309867.1A CN202111309867A CN114040407A CN 114040407 A CN114040407 A CN 114040407A CN 202111309867 A CN202111309867 A CN 202111309867A CN 114040407 A CN114040407 A CN 114040407A
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- packet
- wormhole
- rldw
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000001514 detection method Methods 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000010276 construction Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000000428 dust Substances 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/006—Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于路由回路的虫洞攻击检测与定位方法,包含以下步骤:1.使用RPL协议组成DODAG网络的各节点利用数据包的Time To Live数据位或IPv6的保留域构造Packet ID;2.在数据包路由过程中,各节点收集并比较数据包的Packet ID判断是否收到相同的数据包;3.收到相同数据包的节点采用RLDW或RLDW‑G方法对恶意节点进行定位;4.若采用RLDW,Border Router(BR)在收集到的Palert对应的下一跳节点ID中找出攻击节点ID。若采用RLDW‑G,则BR收到的下一跳节点ID即为攻击节点ID。本发明利用了虫洞攻击产生的路由回路完成了对攻击节点的发现与定位,不需要额外的硬件支持,有较快的检测速度与较低的通信代价。
Description
技术领域
本发明涉及基于RPL协议的IoT网络中虫洞攻击的检测与定位,特别涉及一种基于路由回路的虫洞攻击检测与定位方法。
背景技术
随着物联网技术的不断发展,越来越多的设备相互连接构成IoT网络,Ericsson预计全球的IoT设备在2021年会达到160亿。IoT网络可以被视为一种低功耗有损网络(Low-Power Lossy Network,LLN),其由小型、异构的设备组成,这些设备相应的能量、内存和处理资源往往很有限。IoT网络在现实中得到了非常广泛的应用,如智能家具、医疗保健、智慧城市、水资源管理和工业智能电网系统等。
与计算机网络类似,物联网设备间的数据包传输依赖于不同层中的各类协议,其中隶属于网络层的路由协议决定了数据包传输的路径,到目前为止,IoT网络事实上的标准路由协议是RPL协议。RPL协议是一种针对LLN网络的IPv6路由协议,旨在为各类应用场景中的IoT网络提供高效的路由过程。RPL协议使得各IoT设备间相互连接,形成DODAG图,任意两点间的数据包传输按照特定的路由路径,并支持多点对点(Multipoint-to-Point,MP2P),点对多点(Point-to-Multipoint,P2MP)与点对点(Point-to-Point,P2P)三种流量。对于RPL协议的安全性,它可以借助数据链路层的安全机制保障路由过程。此外,其本身还设计了诸如预安装安全模式(preinstalled secure mode)、身份验证安全模式(authenticatedsecure mode)以及一系列自愈机制来保障路由过程。可是,上述机制并没有办法防御常见的路由攻击,如虫洞攻击。此外,绝大多数的主流IoT操作系统如Contiki OS与TinyOS并没有在RPL协议中实现上述安全机制,所以大部分的IoT网络面临着严重的路由攻击风险。
虫洞攻击是当前IoT网络中最难以发现的攻击之一,其利用了无线网络内在特性。虫洞攻击需要两个恶意节点配合发起,两个攻击者利用它们之间的私有信道,将收到的全部或部分数据包在彼此间传输。对于虫洞攻击的实现,有三种方法:数据包封装(PacketEncapsulation)、数据包中继(Packet Relay)与带外链接(Out-of-Band Link),对应于两种类型的虫洞隧道:带外隧道(out-of-band tunnel)与带内隧道(in-band tunnel)。虫洞攻击可以对IoT网络造成非常显著的影响,例如它可以导致严重的端到端延迟、网络服务质量下降、节点能耗增加和网络拓补混乱等。此外,虫洞攻击往往还会与灰洞攻击相结合,恶意丢弃部分接收到的数据包,进而变得更具威胁性。作为IoT网络事实上的标准路由协议,RPL也面临着严重的虫洞攻击的威胁,但是其本身的安全机制并不能消除虫洞攻击的影响。因而在RPL场景中设计虫洞攻击检测方案十分必要。
现有基于RPL协议的虫洞攻击检测方法十分有限。在DODAG图中,数据包可以分为两种类型:控制数据包与传输数据包。现有大多数RPL场景下的虫洞攻击检测方案是利用虫洞攻击转发控制数据包而导致的网络拓补特性,这些方法会在虫洞攻击仅仅转发传输数据包时失效,此外这些方法往往还需要额外的硬件设备,有较高的能量消耗,在能量和资源受限的IoT网络中,无法取得较好的效果。故设计一种低功耗、针对于转发传输数据包的虫洞攻击检测与定位方案十分必要。
发明内容
本发明要解决的技术问题是在虫洞攻击仅仅转发传输数据包的场景中,提供一种高效、低功耗的虫洞攻击检测与定位的方法。
为了实现上述目的,本发明提出的技术方案为一种基于路由回路的虫洞攻击检测与定位方法,包括以下步骤:
S1.使用RPL协议组成DODAG网络的各节点利用数据包中的Time To Live数据位或IPv6的保留域构造Packet ID;
S2.在数据包路由过程中,各节点收集并比较数据包的Packet ID判断是否收到相同的数据包;
S3.收到相同数据包的节点采用RLDW或RLDW-G方法对恶意节点进行定位:(1)RLDW:将重复接收到数据包对应的路由类型、下一跳节点ID等信息以Palert数据包的形式发送至Border Router(BR)节点;(2)RLDW-G:将自己的rank值以Pb数据包的形式进行广播,比较自己与收到的Pb数据包中的rank值进而判定是否与虫洞节点相连,若相连则将重复接收到的数据包对应的下一跳节点ID发送至BR;
S4.若采用RLDW,BR在收集到的Palert对应的下一跳节点ID中找出攻击节点ID。若采用RLDW-G,则BR收到的下一跳节点ID即为攻击节点ID。
进一步,前述S1中,各节点可以利用两种方式构建Packet ID,使得DODAG中的每一个节点能够区分收到的数据包并发现是否收到相同的数据包。具体Packet ID构造方式如下:
(1)利用数据包的Time To Live数据位构造Packet ID。IoT网络中各节点利用RPL协议建立DODAG图后,数据包在图中每一对节点间的路由一定会遵循特定的路径。假设一对节点N1与N2,其中N1代表数据包源节点,N2代表数据包路由的目的节点或中间节点,N2接收到的来自于N1的所有数据包都对应一个特殊的Time To Live(TTL)值。
(2)利用IPv6的保留域构造Packet ID。在IPv6的扩展报头,添加一个新的字段Pid。Pid由数据包的源节点ID和数据包对应序号组成。例如,当节点19发送其第三个数据包时,该数据包对应的Pid为1903。
进一步,前述S2中,DODAG图中各节点根据不同的Packet ID构造方式,存储对应的信息,并比较发现是否收到了相同的数据包:
(1)若利用数据包的Time To Live数据位构造Packet ID,则节点需要存储收到或转发的数据包对应的源节点ID和TTL值,存储的每一个元素用[S,TTL]表示,其中S表示存储的数据包源节点ID,TTL表示数据包对应的TTL值。当节点收到的数据包对应的源节点与存储的某个元素中S相同,但是TTL值不同时,则意味着收到了相同的数据包并可以判定有虫洞攻击的存在。
(2)若利用IPv6的保留域构造Packet ID,则节点需要存储收到或转发的数据包中添加的新字段Pid。当节点收到的数据包对应的Pid值与某一个存储的Pid相同时,则意味着收到了相同的数据包并可以判定有虫洞攻击的存在。
进一步,前述S3中,当DODAG中各节点判定有虫洞攻击存在时,可以根据不同场景执行相应的虫洞定位过程RLDW或RLDW-G:
(1)若利用RLDW对虫洞攻击进行定位,则检测收到相同数据包的节点发送Palert数据包至BR节点,Palert中包含的信息可以用[ranki,next_hop,route_type,WPid]表示,其中ranki表示收到相同数据包的节点i对应rank值,next_hop代表重复收到的数据包对应下一跳节点ID,route_type代表该数据包对应的路由类型,WPid用以区分来自不同路由路径的Palert,若利用数据包Time To Live数据位构造Packet ID,则WPid由重复接收数据包的源节点和目标节点组成;若利用IPv6的保留域构造Packet ID,则WPid是Pid的值。
(2)若利用RLDW-G对虫洞攻击进行定位,每一个节点需要设定两个定时器T1、T2与一个标志位Falert。检测收到相同数据包的节点保存该数据包对应的下一跳节点ID(next_hop),路由类型(route_type)和WPid,并当T2定时器到期时,广播Pb数据包,Pb中包含的信息可以用[ranki,WPid]表示,其中ranki与WPid含义与RLDW中相同。收到Pb数据包的节点,首先将保存的WPid与Pb数据包中的WPid进行比较,以确定发出Pb数据包的节点收到的相同的数据包是否与自己收到的相同,若不同,则忽略Pb,若相同,则比较自己的rank值与Pb中的ranki,当保存的route_type为向上路由且节点的rank大于Pb中的ranki,或保存的route_type为向下路由且节点的rank小于Pb中的ranki,意味着该节点并没有与虫洞攻击节点相连,此时重置Falert标志位。当定时器T1到期时,未被重置Falert标志位的节点即为与虫洞攻击者相连的节点,它们会将保存的next_hop发送至BR。
进一步,前述S4中,根据不同的虫洞定位方法,BR节点会执行相应的过程:
(1)若利用RLDW对虫洞攻击进行定位,则BR节点会收到相应的Palert数据包。对于收到的Palert数据包,首先根据相应的WPid将其分为若干个组,并记录每一个WPid对应的route_type,随后将每组中的Palert根据对应的ranki值从低到高进行排列。根据每一组对应的route_type类型,当route_type为向下路由时,rank值越大的节点越靠近虫洞攻击者,故选取该组中最后一个Palert对应的next_hop为虫洞攻击节点ID,当route_type为向上路由时,rank值越小的节点越靠近虫洞攻击者,故选取该组中第一个Palert对应的next_hop为虫洞攻击节点ID,特别的是,当某一组对应的route_type既包含向上路由又包含向下路由时,则忽略该组中所有路由类型为向上路由的Palert,在剩余的Palert中,rank值最高的Palert对应的next_hop为虫洞攻击节点ID。
(2)若利用RLDW-G对虫洞攻击进行定位,则BR节点收到的下一跳节点ID即为虫洞攻击节点ID。
相对于现有技术,本发明具有如下有益效果:本发明提出的基于路由回路的虫洞攻击检测与定位方法可以高效地识别并定位仅仅转发传输数据包的攻击节点(在后文“具体实施方式”中将展示与已有方案的性能对比)。本发明提供了两种Packet ID的设计方法以及两种不同的虫洞攻击节点定位方法,适用于不同特性的网络以及不同的虫洞攻击方式,有较高的检测与定位准确率,较快的定位速度以及较低的资源消耗;此外,不需要添加额外的硬件设备,系统的软件实现复杂度较低,更易部署。
附图说明
图1是基于路由回路的虫洞攻击检测与定位方法的流程图;
图2是虫洞攻击在DODAG拓补中的示意图;
图3是RLDW方法与LiDL方法在不同场景中平均每对虫洞攻击节点识别耗时的示意图;
图4是在不同虫洞攻击的场景下,RLDW,LiDL和传统的RPL协议间的性能比较;
图5在虫洞攻击与灰洞攻击结合的情况下,RLDW与RLDW-G识别准确率的比较;
图6在虫洞攻击与灰洞攻击结合的情况下,RLDW,RLDW-G与LiDL方法在不同场景中的性能比较。
具体实施方式
以下结合附图,对本发明的技术方案和效果进行详细说明。还提供一个和现有的LiDL虫洞攻击检测方案进行比较的仿真结果作为实施例,但此实施例仅作为示例,目的在于解释本发明,不能理解为本发明的限制。
实施例:本发明利用虫洞攻击产生的路由回路,针对不同的网络与攻击场景,提出了相应的RLDW与RLDW-G方法,不需要额外硬件、以较低的计算代价和通信代价和较快的速度完成对虫洞攻击进行检测与定位。
如图1所示,本发明实施例的基于路由回路的虫洞攻击检测与定位方法包括如下步骤。
S1.使用RPL协议组成DODAG网络的各节点利用数据包中的Time To Live数据位或IPv6的保留域构造Packet ID;
如图2所示,假设节点16向节点2发送数据包,用<16,2>表示,类似地,<2,18>表示节点2向节点18发送数据包。当节点发送数据包时相应的Packet ID构造方式如下:
(1).利用数据包的Time To Live数据位构造Packet ID。假设TTL初始值为64,对于<16,2>数据包传递,数据包的路由路径为16→11→8→15→16→11→8→2,节点11第一次收到该数据包对应的TTL的值为64,第二次收到该数据包时对应的TTL的值为60。对于<2,18>数据包传递,数据包的路由路径为2→9→12→10→3→BR→2→9→12→18,节点9第一次收到该数据包对应的TTL的值为64,第二次收到该数据包时对应的TTL的值为58。
(2)利用IPv6的保留域构造Packet ID。假设<16,2>对应的数据包为节点16发送的第三个数据包,那么该数据包对应的Pid为1603。假设<2,18>对应的数据包为节点2发送的第二个数据包时,该数据包对应的Pid为202。
S2在数据包路由过程中,各节点收集并比较数据包的Packet ID判断是否收到相同的数据包;
(1)若利用数据包的Time To Live数据位构造Packet ID,则节点11第一次收到<16,2>对应的数据包时,记录其源节点ID与TTL的值[16,64],当节点11第二次收到该数据包时,通过比较可以发现来自于相同源节点16的数据包对应着不同TTL,因而可以判定重复收到了该数据包,有虫洞攻击的存在。类似地,节点9也可以判定有虫洞攻击的存在。
(2)若利用IPv6的保留域构造Packet ID,则节点11第一次收到<16,2>对应的数据包时,记录相应的Pid,即1603,当节点11第二次收到该数据包时,通过与存储的Pid进行比较可以发现收到了两次Pid等于1603的数据包,故可以判定有虫洞攻击的存在。类似地,节点9也可以判定有虫洞攻击的存在。
节点16与节点2可以通过比较数据包对应的源节点ID和自己的ID发现收到了自己发送的数据包,进而判定有虫洞攻击的存在。需要注意的是,利用Time To Live标志位构造Packet ID仅适用于诸如智能家居等物联网设备位置相对固定且拓补稳定的场景,而利用IPv6保留域构造Packet ID适用场景更为广泛,但是需要提前对数据包进行修改。
S3收到相同数据包的节点采用RLDW或RLDW-G方法对恶意节点进行定位:(1)RLDW:将重复接收到数据包对应的路由类型、下一跳节点ID等信息以Palert数据包的形式发送至Border Router(BR)节点;(2)RLDW-G:将自己的rank值以Pb数据包的形式进行广播,比较自己与收到的Pb数据包中的rank值进而判定是否与虫洞节点相连,若相连则将重复接收到的数据包对应的下一跳节点ID发送至BR;
(1)若利用RLDW对虫洞攻击进行定位,节点16、11与节点2、9因为收到了相同的数据包发现了虫洞攻击的存在,此时它们会发送Palert数据包至BR节点,对于节点16,其rank值等于4,<16,2>对应的下一跳节点ID为11,路由类型为向上路由。对于WPid,若利用Time ToLive位构造Packet ID,则利用重复收到数据包对应的源节点和目的节点对作为WPid,对应的WPid为[16,2],相应的Palert的内容可以表示为[4,11,1,16,2],其中1表示向上路由;若利用IPv6的保留域构造Packet ID,则直接将Pid的值作为WPid,对应的WPid为1603,相应的Palert的内容可以表示为[4,11,1,1603]。类似地,节点11、2、9对应的Palert可以分别表示为[3,8,1,16,2]、[1,9,0,2,18]、[2,12,0,2,18]或[3,8,1,1603]、[1,9,0,202]、[2,12,0,202]。
(2)若利用RLDW-G对虫洞攻击进行定位,DODAG中的所有节点会在初始化阶段设定定时器T1、T2和标志位Falert。节点16、11与节点2、9首先发现了虫洞攻击的存在,并保存了重复接收到的数据包对应的next_hop、route_type、WPid。当定时器T2到期时,它们会广播数据包Pb,对于节点16,Pb数据包相应的内容可以表示为[4,16,2]或[4,1603],当节点11接收到来自节点16的Pb数据包后,首先比较自己的WPid与Pb数据包中的WPid是否相同,随后比较自己的rank值与Pb中的rank值,因为是向上路由,rank值越小,代表离虫洞攻击节点越近,重复接收到相同数据包的节点中rank值最小的节点一定与虫洞攻击节点相连,因为节点11的rank值比Pb数据包中的rank值小,所以节点11并不会重置标志位Falert。类似地,节点16收到来自节点11的Pb数据包后,会重置Falert,因为节点16的rank值比来自节点11的Pb数据包中的rank值大。当T1到期时,没有重置Falert的节点会发送自己的下一跳节点ID至BR,故节点11将自己的下一跳节点ID,即8,发送至BR。对于节点2和9,与上述过程类似,但因为是向下路由,rank值越大,代表离虫洞攻击节点越近,所以节点2的Falert会被重置,而节点9将自己的下一跳节点ID,即12,发送至BR。
S4若采用RLDW,BR在收集到的Palert对应的下一跳节点ID中找出攻击节点ID。若采用RLDW-G,则BR收到的下一跳节点ID即为攻击节点ID;
(1).若利用RLDW对虫洞攻击进行定位,BR需在初始时刻设定定时器,当到期时,处理收到的Palert。假设当定时器到期时,BR收到了来自节点11、16、2和9的Palert,首先BR节点会将收到的Palert根据WPid进行分组并记录每一组对应的路由类型,故收到的Palert可以分为两组:11、16与2、9,对应的路由类型分别是向上路由和向下路由。随后将每组中的Palert按照相应的rank值从低到高进行排序,并根据对应路由类型选择每组中第一个或最后一个Palert对应的下一跳节点ID作为攻击节点ID。对于第一组,因为是向上路由,rank值越小节点离攻击节点越近,所以选择第一个Palert,即节点11发送的Palert,对应的下一跳节点ID,即8作为虫洞攻击节点。类似地,对于第二组,因为是向下路由,所以选择最后一个Palert,即节点9的Palert,对应的下一跳节点ID,即12作为虫洞攻击节点。
(2)若利用RLDW-G对虫洞攻击进行定位,BR收到的来自于节点11与节点9的下一跳节点ID,8与12,即为虫洞攻击节点。
以下为仿真实验结果:
仿真实验参数配置如下:
(1)仿真平台:Contiki 3.0中的Cooja仿真平台。
(2)仿真时间:对于时变场景,120秒至360秒。对于其它场景,300秒。
(3)仿真网络中节点数量:对于节点数量变化场景,14至66个sky节点。对于其它场景,66个sky节点。
(4)仿真攻击节点占比:对于攻击者数量变化场景,3%至15%。对于其它场景,15%。
(5)DODAG节点rank值:0。
(6)RLDW对应定时器值:4秒。
(7)RLDW-G对应定时器值:T1为65秒,T2为60秒。
(8)路由协议:结合了RLDW与RLDW-G的RPL协议。
(9)网络流量类型:多点对点流量(Multipoint-to-Point,MP2P),点对多点流量(Point-to-Multipoint,P2MP)与点对点流量(Point-to-Point,P2P)。
(10)网络流量速率:每分钟各节点发送三个数据包。
本发明所设计的方案将与Kaliyar等人在2020年《Computer&Security》上发表的“LiDL:Localization with early detection of sybil and wormhole attack in IoTNetworks”进行仿真对比。LiDL方案与本发明中的虫洞攻击检测与定位方案类似,都利用了DODAG网络拓补的性质且可以检测出仅仅转发传输数据包的虫洞节点。LiDL提出了最高等级共同祖先节点(Highest Rank Common Ancestor,HRCA)的概念,HRCA是DODAG网络中一对节点对应的拥有最高rank值的共同祖先节点,其可以计算和比较数据包的验证转发跳数与数据包的实际转发跳数来确定当前路径中是否有虫洞攻击的存在。下面以图2为例更详细地解释LiDL方案的具体检测过程,假设节点9向节点11传输数据包,用<9,11>表示。节点2会发现其为节点9与节点11对应的HRCA,因为节点9与节点11都是它的子节点,当节点2收到该数据包后,它会记录下对应的源节点rank值和数据包的源节点与目的节点ID。当节点11收到该数据包后,其会发送这一轻量级数据包至BR,中的信息包括数据包对应的源节点与目的节点、源节点与目的节点的rank值,以及数据包的实际跳数。因为节点2是节点9与节点11的HRCA,所以节点11发送的一定会被节点2所接收,节点2利用公式可以计算得到数据包的验证转发跳数为3,而实际转发跳数为5,故节点2可以判定<9,11>对应的路由路径中有虫洞攻击的存在并通知BR节点,而BR节点根据其存储的DODAG全局拓补可以定位最终的虫洞攻击节点8。需要注意的是该方法虽然可以判定数据包路由路径中是否有虫洞攻击的存在,但是虫洞攻击节点的定位只有在特殊情况下才可以做到,例如数据包的源节点和目标节点间只有少量的中间节点的存在,而这无疑会大大降低攻击的检测效率。
图3给出了在虫洞攻击节点不随机丢弃数据包、网络丢包率较低的情况下,RLDW方案与LiDL方案相应的每对虫洞攻击节点的平均发现时间对比。图中所示的结果是在仿真时间一定(300s)、攻击节点占比一定(15%)、拓补中节点数量变化(从14至66)的情况下得到的,可以发现RLDW方案的识别速度最快,且随着网络规模的增加,每对虫洞攻击节点发现所需的平均时间不断减少。对于LiDL方案,随着其定时器Ptimer的值的增加,识别速度不断变快,当Ptimer等于60s时,拥有最快的识别速度。
图4给出了有虫洞攻击存在时,不同场景下RLDW、LiDL(Ptimer=60s)与传统RPL协议相应的平均数据包到达率(Average Packet Delivery Ratio,APDR)和平均端到端延迟(Average End-to-End Delivery Ratio)。图4(a)是在网络拓补中节点数量一定(66)、虫洞攻击者占比一定(15%)、仿真时间变化(从120s至360s)的情况下得到的,可以发现RLDW始终保持着最高的APDR,这是因为相较于LiDL,RLDW拥有更快的虫洞攻击节点识别速度,可以更快地移除虫洞攻击节点,进而减少虫洞攻击对网络的影响,而传统的RPL协议,因为虫洞攻击的存在会扰乱网络中的正常数据包传递,使得部分数据包因为节点的数据包缓存区溢出而被合法节点所丢弃,故其相应的APDR最低。类似地,在网络拓补中节点数量(图4(c))与攻击者占比(图4(e))变化的场景中,RLDW方案依然保持着最高的APDR。对于平均端到端延迟,如图4(b)、(d)、(f)所示,由于虫洞攻击所导致的路由回路和流量堵塞等原因,传统RPL协议相应的平均端到端延迟最高,而RLDW在不同场景中延迟始终保持最低,因为它可以比LiDL更快地检测和定位恶意节点。
当虫洞攻击与灰洞攻击结合,会恶意丢弃数据包时,RLDW方法随着其定时器值的增加,识别准确率会提高,但是定时器的增加又会导致识别速度的减慢,故在虫洞攻击与灰洞攻击结合的场景下,设定RLDW定时器的值为120s。图5给出了在虫洞攻击与灰洞攻击结合的场景下,RLDW与RLDW-G两种方案识别的真阳率(True Positive Rate,TPR)。可以发现在不同的网络场景中,RLDW-G的TPR相对稳定且始终高于RLDW,这是因为RLDW定位过程依赖于Palert,由于攻击节点会随机丢弃数据包,所以Palert会被随机丢弃使得RLDW定位结果具有一定的随机性。而RLDW-G则通过广播避免了RLDW中Palert的传递过程,因而不会受到攻击节点的影响,具有很高的稳定性。
图6给出了当虫洞攻击与灰洞攻击结合后,在不同场景下,RLDW、RLDW-G与LiDL(Ptimer=60s)相应的平均数据包到达率和平均端到端延迟。图6(a)是在网络拓补中节点数量一定(66)、虫洞攻击者占比一定(15%)、仿真时间变化(从4min至20min)的情况下得到的,可以发现由于RLDW与RLDW-G两者较快的识别速度,相应的APDR均高于LiDL的APDR。类似地,在网络拓补中节点数量(图6(c))与攻击者占比(图6(e))变化的场景中,RLDW与RLDW-G方案依然保持着较高的APDR。对于平均端到端延迟,如图6(b)、(d)、(f)所示,RLDW与RLDW-G较快的攻击识别速度使得它们在不同场景中数据包传输延迟始终保持最低,而LiDL则相对较高。在图6所示的不同场景中,RLDW与RLDW-G相应的性能指标差距并不大,但是RLDW相应的代价是较高的识别错误率,会对正常节点造成浪费。
综上所述,本发明基于路由回路的虫洞攻击检测与定位方法,提供了RLDW与RLDW-G两种针对不同网络环境与攻击形式的虫洞攻击检测与定位方式,在不需要任何额外硬件的前提下,可以较快地完成对虫洞攻击节点的检测与定位,同时具有较高的识别准确率。
需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本相同的方式或按相反的顺序,来执行功能,这应被专利的实施例所属技术领域的技术人员所理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包括于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (5)
1.一种基于路由回路的虫洞攻击检测与定位方法,其特征在于,包括以下步骤:
S1使用RPL协议组成DODAG网络的各节点利用数据包中的Time To Live数据位或IPv6的保留域构造Packet ID;
S2在数据包路由过程中,各节点收集并比较数据包的Packet ID判断是否收到相同的数据包;
S3收到相同数据包的节点采用RLDW或RLDW-G方法对恶意节点进行定位:(1)RLDW:将重复接收到数据包对应的路由类型、下一跳节点ID等信息以Palert数据包的形式发送至BorderRouter(BR)节点;(2)RLDW-G:将自己的rank值以Pb数据包的形式进行广播,比较自己与收到的Pb数据包中的rank值进而判定是否与虫洞节点相连,若相连则将重复接收到的数据包对应的下一跳节点ID发送至BR;
S4若采用RLDW,BR在收集到的Palert对应的下一跳节点ID中找出攻击节点ID,若采用RLDW-G,则BR收到的下一跳节点ID即为攻击节点ID。
2.如权利要求1所述的基于路由回路的虫洞攻击检测与定位方法,其特征在于,所述S1中,各节点利用两种方式构建Packet ID,使得DODAG中的每一个节点能够区分收到的数据包并发现是否收到相同的数据包,具体Packet ID构造方式如下:
(1)利用数据包的Time To Live数据位构造Packet ID,IoT网络中各节点利用RPL协议建立DODAG图后,数据包在图中每一对节点间的路由一定会遵循特定的路径,设一对节点N1与N2,其中N1代表数据包源节点,N2代表数据包路由的目的节点或中间节点,N2接收到的来自于N1的所有数据包都对应一个特殊的Time To Live(TTL)值;
(2)利用IPv6的保留域构造Packet ID,在IPv6的扩展报头,添加一个新的字段Pid,Pid由数据包的源节点ID和数据包对应序号组成。
3.如权利要求1所述的基于路由回路的虫洞攻击检测与定位方法,其特征在于,所述S2中,DODAG图中各节点根据不同的Packet ID构造方式,存储对应的信息,并比较发现是否收到了相同的数据包:
(1)若利用数据包的Time To Live数据位构造Packet ID,则节点需要存储收到或转发的数据包对应的源节点ID和TTL值,存储的每一个元素用[S,TTL]表示,其中S表示存储的数据包源节点ID,TTL表示数据包对应的TTL值,当节点收到的数据包对应的源节点与存储的某个元素中S相同,但是TTL值不同时,则意味着收到了相同的数据包并可以判定有虫洞攻击的存在;
(2)若利用IPv6的保留域构造Packet ID,则节点需要存储收到或转发的数据包中添加的新字段Pid,当节点收到的数据包对应的Pid值与某一个存储的Pid相同时,则意味着收到了相同的数据包并可以判定有虫洞攻击的存在。
4.如权利要求1所述的基于路由回路的虫洞攻击检测与定位方法,其特征在于,所述S3中,当DODAG中各节点判定有虫洞攻击存在时,根据不同场景执行相应的虫洞定位过程RLDW或RLDW-G:
(1)若利用RLDW对虫洞攻击进行定位,则检测收到相同数据包的节点发送Palert数据包至BR节点,Palert中包含的信息用[ranki,next_hop,route_type,WPid]表示,其中ranki表示收到相同数据包的节点i对应rank值,next_hop代表重复收到的数据包对应下一跳节点ID,route_type代表该数据包对应的路由类型,WPid用以区分来自不同路由路径的Palert,若利用数据包Time To Live数据位构造Packet ID,则WPid由重复接收数据包的源节点和目标节点组成;若利用IPv6的保留域构造Packet ID,则WPid是Pid的值;
(2)若利用RLDW-G对虫洞攻击进行定位,每一个节点需要设定两个定时器T1、T2与一个标志位Falert,检测收到相同数据包的节点保存该数据包对应的下一跳节点ID(next_hop),路由类型(route_type)和WPid,并当T2定时器到期时,广播Pb数据包,Pb中包含的信息可以用[ranki,WPid]表示,其中ranki与WPid含义与RLDW中相同,收到Pb数据包的节点,首先将保存的WPid与Pb数据包中的WPid进行比较,以确定发出Pb数据包的节点收到的相同的数据包是否与自己收到的相同,若不同,则忽略Pb,若相同,则比较自己的rank值与Pb中的ranki,当保存的route_type为向上路由且节点的rank大于Pb中的ranki,或保存的route_type为向下路由且节点的rank小于Pb中的ranki,意味着该节点并没有与虫洞攻击节点相连,此时重置Falert标志位,当定时器T1到期时,未被重置Falert标志位的节点即为与虫洞攻击者相连的节点,它们会将保存的next_hop发送至BR。
5.如权利要求1所述的基于路由回路的虫洞攻击检测与定位方法,其特征在于,所述S4中,根据不同的虫洞定位方法,BR节点会执行相应的过程:
(1)若利用RLDW对虫洞攻击进行定位,则BR节点会收到相应的Palert数据包,对于收到的Palert数据包,首先根据相应的WPid将其分为若干个组,并记录每一个WPid对应的route_type,随后将每组中的Palert根据对应的ranki值从低到高进行排列,根据每一组对应的route_type类型,当route_type为向下路由时,rank值越大的节点越靠近虫洞攻击者,故选取该组中最后一个Palert对应的next_hop为虫洞攻击节点ID,当route_type为向上路由时,rank值越小的节点越靠近虫洞攻击者,故选取该组中第一个Palert对应的next_hop为虫洞攻击节点ID,当某一组对应的route_type既包含向上路由又包含向下路由时,则忽略该组中所有路由类型为向上路由的Palert,在剩余的Palert中,rank值最高的Palert对应的next_hop为虫洞攻击节点ID;
(2)若利用RLDW-G对虫洞攻击进行定位,则BR节点收到的下一跳节点ID即为虫洞攻击节点ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111309867.1A CN114040407B (zh) | 2021-11-07 | 2021-11-07 | 一种基于路由回路的虫洞攻击检测与定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111309867.1A CN114040407B (zh) | 2021-11-07 | 2021-11-07 | 一种基于路由回路的虫洞攻击检测与定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114040407A true CN114040407A (zh) | 2022-02-11 |
CN114040407B CN114040407B (zh) | 2024-02-06 |
Family
ID=80136547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111309867.1A Active CN114040407B (zh) | 2021-11-07 | 2021-11-07 | 一种基于路由回路的虫洞攻击检测与定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114040407B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622820A (zh) * | 2022-12-20 | 2023-01-17 | 东南大学 | 一种基于统计分析的物联网入侵检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104507082A (zh) * | 2014-12-16 | 2015-04-08 | 南京邮电大学 | 一种基于哈希双向认证的无线传感网络定位安全方法 |
CN109905404A (zh) * | 2019-03-29 | 2019-06-18 | 南京邮电大学 | 一种物联网环境下基于信任的RPL路由协议Rank攻击检测和隔离的方法 |
-
2021
- 2021-11-07 CN CN202111309867.1A patent/CN114040407B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104507082A (zh) * | 2014-12-16 | 2015-04-08 | 南京邮电大学 | 一种基于哈希双向认证的无线传感网络定位安全方法 |
CN109905404A (zh) * | 2019-03-29 | 2019-06-18 | 南京邮电大学 | 一种物联网环境下基于信任的RPL路由协议Rank攻击检测和隔离的方法 |
Non-Patent Citations (1)
Title |
---|
F. TUZ ZAHRA等: "Proposing a Hybrid RPL Protocol for Rank and Wormhole Attack Mitigation using Machine Learning", 2020 2ND INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCES (ICCIS) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622820A (zh) * | 2022-12-20 | 2023-01-17 | 东南大学 | 一种基于统计分析的物联网入侵检测方法 |
CN115622820B (zh) * | 2022-12-20 | 2023-03-14 | 东南大学 | 一种基于统计分析的物联网入侵检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114040407B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Melamed et al. | Octopus: A fault-tolerant and efficient ad-hoc routing protocol | |
Dangore et al. | Detecting and overcoming blackhole attack in aodv protocol | |
Sekar et al. | Lightweight reliable and secure multicasting routing protocol based on cross‐layer for MANET | |
CN114040407B (zh) | 一种基于路由回路的虫洞攻击检测与定位方法 | |
Dongare et al. | Implementing energy efficient technique for defense against Gray-Hole and Black-Hole attacks in wireless sensor networks | |
Yi et al. | Performance analysis of mobile ad hoc networks under flooding attacks | |
Malik et al. | Comprehensive study of selective forwarding attack in wireless sensor networks | |
Triki et al. | A novel secure and multipath routing algorithm in wireless sensor networks | |
Gujral et al. | Secure qos enabled on-demand link-state multipath routing in manets | |
CN111654558B (zh) | Arp交互与内网流量转发方法、装置和设备 | |
Patil et al. | Preventing vampire attack in wireless sensor network by using trust model | |
Soliyal et al. | Preventing packet dropping attack on AODV based routing in mobile ad-hoc MANET | |
Thamizhmaran et al. | Reduced End-To-End Delay for Manets using SHSP-EA3ACK Algorithm | |
Lin et al. | A novel location-fault-tolerant geographic routing scheme for wireless ad hoc networks | |
Diwaker et al. | Detection Of Blackhole Attack In Dsr Based Manet | |
Murugan et al. | A Timer Based Acknowledgement Scheme for Node Misbehavior Detection and Isolation in MANET. | |
Ashouri et al. | FOMA: Flexible overlay multi-path data aggregation in wireless sensor networks | |
Triki et al. | Threshold based multipath routing algorithm in mobile adhoc and sensor networks | |
Mallapur et al. | Multi-constrained reliable multicast routing protocol for MANETs | |
Prakash et al. | Enhancing Network Duration by Secured Node Disjoint Clustering for Mobile Adhoc Network | |
Rajanarayanan et al. | Wireless sensor network based detection of malicious packets drops and cluster performance study using energy with security aware LEACH (ES-LEACH) | |
Verma et al. | An improved weighted clustering for ad-hoc network security new | |
Schmittner | Scalable and secure multicast routing for mobile ad-hoc networks | |
Behzad et al. | A hybrid method for detection and removal black hole attacks in mobile Ad-Hoc networks | |
Guo et al. | An Overlapping Routing Tree Transmission Model Based on Segment Identification: OTSI Model |
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 |