一种基于统计分析的物联网入侵检测方法转让专利

申请号 : CN202211636879.X

文献号 : CN115622820B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 童飞高凯

申请人 : 东南大学

摘要 :

本发明公开了一种基于统计分析的物联网攻击检测方法,包含以下步骤:根据物联网攻击对数据包数量的影响将攻击重分类为UDP类攻击和ICMP类攻击;在RPL网络稳定后,各节点统计自己的接收和发送的UDP数据包、ICMP控制包和邻居节点的数量;节点将统计信息封装在自定义的ICMP控制包DSI中;每经过时间间隔T并随机延迟几秒,各节点将DSI发给根节点;根节点收到消息后,分别计算各节点UDP数据包和ICMP控制包的信息熵;根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值;根节点执行异常检测等等;本发明利用恶意行为带来的数据包的波动完成了对攻击节点的识别,有较高的准确率与较低的通信代价。

权利要求 :

1.一种基于统计分析的物联网入侵检测方法,其特征在于,所述方法包括以下步骤:S1.根据物联网攻击对数据包数量的影响将攻击重分类为UDP类攻击和ICMP类攻击;

S2.在RPL网络稳定后,各节点统计自己的接收和发送的UDP数据包、ICMP控制包和邻居节点的数量;

S3.节点将统计信息封装在自定义的ICMP控制包DSI中;其中DSI为DODAG 统计信息;

S4.每经过时间间隔T并随机延迟几秒,各节点将DSI发给根节点;

S5.根节点收到消息后,分别计算各节点UDP数据包和ICMP控制包的信息熵;

S6.根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值;

S7.根节点执行异常检测,将计算的信息熵与设定的阈值进行比较,若信息熵小于对应的阈值,说明此节点可能存在异常,将其判定为可疑节点;

S8.可疑节点将进一步执行根据RPL组网的特性设定的特征分析;

S9.根据特征分析判断可疑节点是否为恶意节点以及确定攻击类别;

S10.根节点将恶意节点报告出去,其它节点做出响应;

其中,所述S5中,根节点收到消息后,分别根据下面公式计算UDP数据包和ICMP控制包的信息熵:;

其中 分别表示节点的UDP数据包和ICMP控制包的信息熵,分别表示节点收到和发送的UDP数据包占它们之和的比例;

则分别表示节点收到和发送的ICMP控制包的占比,它们通过下式计算:其中 分别表示节点发送和接收的UDP数据包的数量,T表示发送DSI的时间间隔,而 表示节点发送UDP数据包的间隔; 分别表示节点发送和接收的ICMP控制包的数量。

2.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S1中,根据物联网攻击对数据包数量的影响,有的攻击导致发送的UDP数据包增多,有的攻击使发送的数据包减少,有的则是使ICMP控制包发生类似变化,因此将物联网攻击重分类为UDP类攻击和ICMP类攻击。

3.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S2中,当网络稳定后,每个路由节点从它的邻居那里收集信息并存储到一个有多个条目的表中,第一个条目包含节点收到的UDP数据包的数量 ,第二项包含发送的UDP数据包数量,后面的条目依次存储收到ICMP控制包的数量即 、发送的ICMP控制包的数量即 和邻居节点数量 。

4.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S3中,节点将统计信息封装在自定义的ICMP控制包DSI中,它为单跳数据包,避免选择转发恶意丢包攻击。

5.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S6中,根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值 。

6.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S7中,采用粗粒度的异常检测方法,当 时,说明节点可能发生异常,将其判定为可疑节点。

7.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S8中,可疑节点的信息将进一步采用细粒度的特征分析方法,该方法是根据RPL组网的特性设定的:对于UDP数据包,各节点每单位时间向边界路由发送一条UDP数据包;对于ICMP数据包,新加入网络的节点每单位时间发送一条DIS包,节点按照遵循等比数列的涓流算法广播DIO数据包,可以计算T间隔内DIO最大广播数量 ,此外节点定时向邻居以大于T的频率单播DIO数据包,邻居节点数量为 ,计算间隔T时间内的DIS和DIO最大数量分别为 。

8.如权利要求1所述的基于统计分析的物联网入侵检测方法,其特征在于,所述S9中,特征分析判断可疑节点是否为恶意节点并确定攻击类别,当节点转发的UDP数据包大于节点接收的数据包时,说明节点在恶意增加UDP的发送频率,判定其为UDP泛洪攻击;当节点转发的UDP数据包小于节点接收的数据包时,说明节点在恶意丢弃数据包,判定其为选择转发攻击或者黑洞攻击;当节点发送的DIS控制包的数量大于 时,判定其为DIS攻击;当节点发送的DIO控制包的数量大于 时,判定其为Replay攻击。

说明书 :

一种基于统计分析的物联网入侵检测方法

技术领域

[0001] 本发明涉及基于RPL协议的IoT网络中常见物联网攻击的检测,特别涉及一种基于统计分析的物联网入侵检测方法。

背景技术

[0002] 物联网(Internet of Things,IoT)是一个广泛的技术和研究领域,它由数十亿个联网设备组成,这些设备收集和通信实时数据。据预测,到2025年,物联网设备的数量将达到750亿台。此外物联网的经济影响力将达到11万亿美元,其中相当大的一部分将存在于商业和工业领域。低功耗和有损网络(Low Power and Lossy Networks,LLNs)是由许多有限功耗、内存和处理资源的异构嵌入设备组成的,为物联网的实现提供了重要的促进作用。这些网络被广泛应用于生活各领域,如智能家居、医疗保健、环境监测、智能城市、智能电网等。
[0003] 由于无线传感网络中的路由方法不能有效地在物联网中工作,并且传统的互联网路由协议不适合资源受限的物联网设备,被低功耗和有损网络路由协议(Routing Protocol for Low Power and Lossy Networks,RPL)被提出来了。RPL是物联网唯一的标准路由协议。因此,许多物联网应用都依赖于RPL。RPL有很多显著的特性,包括涓流算法,灵活改变RPL控制消息格式和频率,使用不同的路由度量和目标函数支持动态连接和多拓扑路由进程。虽然RPL特别适合于各种物联网应用,但它仍然存在一些问题,最重要的是该协议暴露于各种攻击,因为它主要使用无线媒体进行通信。
[0004] 默认情况下,RPL包括安全特性,以确保消息的完整性和机密性。但是,由于当前标准对密钥管理的疏忽,预定义的安全性没有实现。因此,RPL容易受到各种各样的攻击,从而降低其路由性能。此外,使用加密算法来对付已识别的攻击需要额外的内存和CPU周期,会降低资源受限设备的效率。尽管有MAC层的安全性,但RPL的内部攻击是一个重要问题。RPL相关的攻击的恶意行为,其目的包括:(1)耗尽节点资源,以显著降低网络的寿命和可用性;(2)破坏网络结构,面向目的的有向无环图(Destination‑Oriented Directed Acyclic Graph,DODAG)是节点通信的基础,它会在数据包丢失和端到端延迟方面影响网络性能;(3)监控和拦截网络流量的被动攻击,如嗅探、流量分析,并不在本文的讨论范围内,因为它们并不只涉及RPL。然而,面对多种攻击,以往的方法是一对一,即面对不同的攻击采取不同的策略,这样降低了异常检测的效率,也带来了严重的开销。

发明内容

[0005] 本发明要解决的技术问题是在面向RPL协议的物联网场景中,提出了一种新颖的轻量级和有效的机制来识别恶意攻击。
[0006] 为此目的,本发明提出的技术方案为一种基于统计分析的物联网入侵检测方法,包括以下步骤:
[0007] S1.根据物联网攻击对数据包数量的影响将攻击重分类为UDP类攻击和ICMP类攻击;
[0008] S2.在RPL网络稳定后,各节点统计自己的接收和发送的UDP数据包、ICMP控制包和邻居节点的数量;
[0009] S3.节点将统计信息封装在自定义的ICMP控制包DSI中;
[0010] S4.每经过时间间隔T并随机延迟几秒,各节点将DSI发给根节点;
[0011] S5.根节点收到消息后,分别计算各节点UDP数据包和ICMP控制包的信息熵;
[0012] S6.根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值;
[0013] S7.根节点执行异常检测,将计算的信息熵与设定的阈值进行比较,若信息熵小于对应的阈值,说明此节点可能存在异常,将其判定为可疑节点;
[0014] S8.可疑节点将进一步执行根据RPL组网的特性设定的特征分析;
[0015] S9.根据特征分析判断可疑节点是否为恶意节点以及确定攻击类别;
[0016] S10.根节点将恶意节点报告出去,其它节点做出响应。
[0017] 进一步,前述S1中,根据物联网攻击对数据包数量的影响,例如有的攻击导致发送的UDP数据包增多,有的攻击使发送的数据包减少,而有的则是使ICMP控制包发生类似变化,因此可将物联网攻击重分类为UDP类攻击和ICMP类攻击。
[0018] 进一步,前述S2中,当网络稳定后,每个路由节点从它的邻居那里收集信息并存储到一个有多个条目的表中,第一个条目包含节点收到的UDP数据包的数量 ,第二项包含发送的UDP数据包数量 。后面的条目依次存储收到ICMP控制包(包括DIS、DIO、DAO)的数量 、发送的ICMP控制包的数量和邻居节点数量 。
[0019] 进一步,前述S3中,由于统计信息很重要,并且网络中存在丢包攻击的影响,节点将统计信息封装在自定义的ICMP控制包DSI(DODAG Statistic Information)中,它为单跳数据包,可以避免选择转发等恶意丢包攻击。其格式如下表所示。
[0020] 。
[0021] 进一步,前述S4中,对于每个时间间隔T,各节点将统计的信息发给根节点,为了避免节点同时发包而引起网络拥塞,每个节点会随机地延迟几秒到几十秒再发包,有效避免了拥塞引起的丢包。
[0022] 进一步,前述S5中,根节点收到消息后,分别根据下面公式计算UDP数据包和ICMP控制包的信息熵:
[0023] ;
[0024] 其中 分别表示节点的UDP数据包和ICMP控制包的信息熵,分别表示节点收到和发送的UDP数据包占它们之和的比例;
则分别表示节点收到和发送的ICMP控制包的占比,它们通过下式计算:
[0025] ,
[0026] 其中 分别表示节点发送和接收的UDP数据包的数量,T表示发送DSI的时间间隔而 表示节点发送UDP数据包的间隔; 分别表示
节点发送和接收的ICMP控制包的数量。
[0027] 进一步,前述S6中,根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值 和 。根据RPL规范,当网络稳定时,接收和转发的UDP数据包接近1:1,而ICMP控制包接近1:2,计算其信息熵可得 设置为1, 为0.9。
[0028] 进 一步 ,前 述 S7 中 ,根 节 点 采 用粗 粒 度的 异 常 检 测方 法 ,当时,说明节点可能发生异常,判定为可疑节点。
[0029] 进一步,前述S8中,可疑节点的信息将进一步采用细粒度的特征分析方法,该方法是根据RPL组网的特性设定的:对于UDP数据包,各节点每单位时间向边界路由发送一条UDP数据包;对于ICMP数据包,新加入网络的节点每单位时间发送一条DIS包,加入后则不发DIS包,节点按照遵循等比数列的涓流算法广播DIO数据包,可以计算T时间内的DIO广播数量最大为 ,此外节点会向邻居节点单播发送DIO包维持网络稳定,发送间隔一般大于 ,可以得知 时间内的DIO单播数量最大为 。因此可以计算间隔 时间内的节点发送的DIS包的最大数量不超过T,发送DIO最大数量 。
[0030] 进一步,前述S9中,通过特征分析,进一步判断可疑节点是否为恶意节点并明确攻击类别。当节点转发的UDP数据包大于节点接收的数据包时,说明节点在恶意增加UDP的发送频率,判定其为UDP泛洪攻击;当节点转发的UDP数据包小于节点接收的数据包时,说明节点在恶意丢弃数据包,判定其为选择转发攻击或者黑洞攻击;当节点发送的DIS控制包的数量大于 时,判定其为DIS攻击;当节点发送的DIO控制包大于 时,判定其为Replay攻击。
[0031] 最后,前述S10中,恶意节点被识别后,根节点将恶意节点信息发布出去,其它节点做出响应。
[0032] 本发明具有如下有益效果:本发明提出的基于统计分析的物联网入侵检测方法,将粗粒度的异常检测和细粒度的特征分析结合,可以在不增加较大开销的情况下有效检测多种恶意攻击,并判定恶意攻击的种类。本发明定义了一种全新的ICMP控制包DSI用于传输重要的信息并且能够避免丢包攻击的影响。本发明将常见物联网攻击进行了重分类,将其分为UDP攻击和ICMP攻击两类,并且引入了信息熵衡量网络是否存在恶意攻击,是一种一对多的轻量级的和有效的入侵检测方法。和传统的一种方法检测一种攻击的方法相比,增加了可检测攻击种类的同时几乎没有带来更大的能量消耗,在额外内存开销方面更是降低了超过50%,在检测精度上对所有攻击的检测精度都达到了90%以上。

附图说明

[0033] 图1是基于统计分析的物联网入侵检测的流程图;
[0034] 图2是入侵检测整个系统架构的示意图;
[0035] 图3是所提方法与以往的方法在不同场景中对选择转发攻击检测准确率的比较;
[0036] 图4是所提方法与以往的方法在不同场景中对选择转发攻击检测时间的比较;
[0037] 图5是所提方法与以往的方法在不同场景中对节点能量消耗的比较;
[0038] 图6是所提方法与以往的方法在内存使用开销的比较;
[0039] 图7是所提方法在检测其他恶意攻击时的准确率。

具体实施方式

[0040] 以下结合附图,对本发明的技术方案和效果进行详细说明。还提供一个和现有的物联网入侵检测方案进行比较的仿真结果作为实施例,但此实施例仅作为示例,目的在于解释本发明,不能理解为本发明的限制。
[0041] 实施例:本发明利用恶意攻击带来的数据包波动,通过计算数据包的信息熵,结合RPL组网的特性,提出了一种轻量级的和有效的分布式入侵检测方法。
[0042] 如图1所示,本发明实施例的基于统计分析的入侵检测方法包括如下步骤。
[0043] S1. 根据物联网攻击对数据包数量的影响,例如有的攻击导致发送的UDP数据包增多,有的攻击使发送的数据包减少,而有的则是使ICMP控制包发生类似变化,因此可将物联网攻击重分类为UDP类攻击和ICMP类攻击;
[0044] S2.在RPL网络稳定后,各节点统计自己的接收和发送的UDP数据包、ICMP控制包和邻居节点的数量。当网络稳定后,每个路由节点从它的邻居那里收集信息并存储到一个有多个条目的表中,第一个条目包含节点收到的UDP数据包的数量 ,第二项包含发送的UDP数据包数量 ,后面的条目依次存储收到ICMP控制包(包括DIS、DIO、DAO)的数量、发送的ICMP控制包的数量 和邻居节点数量 。
[0045] S3.节点将统计信息封装在自定义的ICMP控制包DSI中。S3中,由于统计信息很重要,并且网络中存在丢包攻击的影响,节点将统计信息封装在自定义的ICMP控制包DSI(DODAG Statistic Information)中,它为单跳数据包,可以避免选择转发等恶意丢包攻击。其格式如下表所示。
[0046] 。
[0047] S4.每经过时间间隔T并随机延迟几秒,各节点将DSI发给根节点。
[0048] 具体地,分布式入侵检测地架构如图2所示,需要更多能量的中心IDS代理将位于负责主要计算和操作的边界路由上。此外,在每个网络节点上实现了一种轻量级检测代理,而不需要健壮的处理资源。这些代理负责收集网络分析所需的信息,并在预定义的时间间隔内将节点的具体信息发送给边界路由器。
[0049] S5.根节点收到消息后,分别根据下面公式计算各节点UDP数据包和ICMP控制包的信息熵:
[0050] ;
[0051] 其中 分别表示节点的UDP数据包和ICMP控制包的信息熵,分别表示节点收到和发送的UDP数据包占它们之和的比例;
则分别表示节点收到和发送的ICMP控制包的占比,它们通过下式计算:
[0052] ,
[0053] 其中 分别表示节点发送和接收的UDP数据包的数量,T表示发送DSI的时间间隔而 表示节点发送UDP数据包的间隔; 分别表示节点
发送和接收的ICMP控制包的数量。
[0054] S6.根据网络稳定时UDP数据包和ICMP控制包的关系分别设定两个阈值 和 。根据RPL规范,当网络稳定时,接收和转发的UDP数据包接近1:1,而ICMP控制包接近1:2,计算其信息熵可得 设置为1, 为0.9。
[0055] S7.当节点被入侵后,与之相关的数据包变得紊乱,熵值会减小。根节点采用粗粒度的异常检测方法,当 时,说明节点发生异常。
[0056] 异常检测算法如下:
[0057] ,
[0058] S8.可疑节点的信息将进一步采用细粒度的特征分析方法,该方法是根据RPL组网的特性设定的。对于UDP数据包,节点是周期发送的。当节点发送的UDP数据包的数量不等于节点收到的数据包与时间窗口内节点向根节点传输的总数时,节点存在恶意丢包或恶意增加包的行为。对于ICMP控制包,节点请求加入网络时才会发出DIS消息。维持网络时,节点一方面定时传送单播DIO,以及遵循涓流机制的广播DIO。DAO是对DIO数据包的回复。
[0059] 特征分析方法如下:
[0060] ,
[0061] S9.通过特征分析,可以进一步判断可疑节点是否为恶意节点并明确攻击类别。当节点转发的UDP数据包大于节点接收的数据包时,说明节点在恶意增加UDP的发送频率,判定其为UDP泛洪攻击;当节点转发的UDP数据包小于节点接收的数据包时,说明节点在恶意丢弃数据包,判定其为选择转发攻击或者黑洞攻击;当节点发送的DIS控制包大于一定数量时,判定其为DIS攻击;当节点发送的DIO控制包大于一定数量时,判定其为Replay攻击。
[0062] S10.恶意节点被识别后,根节点将恶意节点信息发布出去,其它节点做出响应。
[0063] 以下为仿真实验结果:
[0064] 仿真实验参数配置如下:
[0065] (1).仿真平台:Contiki 3.0中的Cooja仿真平台。
[0066] (2).仿真时间:30分钟至1小时。
[0067] (3).仿真网络中节点数量:20到40个Z1节点。
[0068] (4).仿真攻击节点占比:5%到25%。
[0069] (5).数据传输间隔:每单位时间各节点发送一个数据包。
[0070] (6).时间窗口T:5分钟。
[0071] (7).阈值设立: 为1, 为0.9。
[0072] 本发明所设计的方案将与Raza等人在2013年《Ad Hoc Networks》上发表的“SVELTE: Real‑time intrusion detection in the Internet of Things”和George Violettas等人在2021年《Future Generation Computer  Systems》上发表的“A SoftwarizedIntrusion Detection System for the RPL‑based Internet of Things networks”进行仿真对比。
[0073] 图3显示了每种方法对选择转发攻击检测的准确率随攻击者节点数量增加而减少。SVELTE采用的是基于规范的检测,是根据包的间隔设置阈值来判断攻击的,对于选择转发攻击,其准确率较低。以K‑means聚类算法检测攻击的ASSET,通过对接收的数据包进行聚类从而判断恶意节点,但由于父节点会影响子节点的判断,所以检测率也会逐渐下降。另一方面,由于本方法是基于节点本身的行为判定的,任何可疑节点都避免不了被检测。我们的方法在恶意节点占比达到25%仍能将准确率保持在接近100%。
[0074] 图4显示了每种方法对选择转发攻击的检测时间。SVELTE的时间窗口设置为2分钟,即每2分钟会输出一次网络的异常节点名单,由于攻击的不稳定,会导致检测结果也不稳定,所以检测时间随着恶意节点占比的增加而增加。ASSET的窗口设置为5分钟,由于它需要利用数量来聚类分析,网络之前运行了一段时间,因此需要一定的时间积累差异才可以聚类,当网络运行更长时间,所需要的检测时间也会更长。而在本方案中,窗口设置为5分钟,再经过随机的几秒或几十秒后,节点会向边界路由发送自己的统计信息,边界路由收到统计信息后就可以根据特征判断恶意节点。它只需要一个窗口时间,平均检测时间大约为6分钟。
[0075] 图5描述了不同数量攻击节点情形下每个节点的能量消耗。节点的能量开销主要分为计算开销和通信开销。SVELTE没有额外的计算,它仅仅是通信开销较大,发送的数据包大。采用Slim模式的ASSET的通信开销主要是发送节点收到和发送的UDP数据包,计算开销则是计算多个时隙内ICMP控制包的Dixon‑Q值。本方案在通信开销上比ASSET要多,计算开销比其少。在检测性能方面更优越的情况下,没有增加较大的能量开销,因此是轻量级的。
[0076] 图6显示了各方案额外占用的RAM和ROM。由于本方案仅有一个额外的信息度量,在RAM使用上增加了272字节的开销。此外,提出的方法没有复杂的计算,只有1390个字节的开销发生在ROM上。提出的方案比其他方案额外使用的内存要低。
[0077] 图7展示了恶意节点占比25%情况下各种攻击的准确率。可以看到,所有的准确率都接近100%,说明本发明的检测算法是高效的。
[0078] 综上所述,本发明基于统计分析的物联网入侵检测方法,提出了一种新颖的、有效的方法来检测基于RPL的物联网攻击。本方法简化了攻击者节点的识别。通过多组模拟场景确定本发明的优越性。实验表明,本方法在内存和能源消耗方面是轻量级的,有效的和准确的。
[0079] 需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本相同的方式或按相反的顺序,来执行功能,这应被专利的实施例所属技术领域的技术人员所理解。
[0080] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包括于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0081] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。