一种基于数据帧监听的无线自组网黑洞攻击检测方法转让专利

申请号 : CN202210600884.9

文献号 : CN114978732B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金绍威喻典雅陈亮

申请人 : 南通大学

摘要 :

本发明提供了一种基于数据帧监听的无线自组网黑洞攻击检测方法,包括:静默节点的检测、恶意节点的检测、备用路由启用三个步骤;本发明的优点:利用802.11数据链路层的数据帧监听功能,实现无线自组网流量黑洞检测,可以有效解决传统检测的资源开销大与恶意节点串谋协作问题,可以有效检测路由黑洞,减小检测延迟,提高分组接收数量,保障网络业务流量,此外,由于不涉及网络层路由协议的修改,仅利用节点数据链路层的监听功能,不会给检测带来额外的系统开销,便于推广与实现。

权利要求 :

1.一种基于数据帧监听的无线自组网黑洞攻击检测方法,其特征在于,包括以下步骤:步骤一,静默节点的检测,源节点在上层业务驱动后,首先发送业务数据帧,其次,接收节点自主决定是否转发,再次,基站监听接收节点是否转发数据帧,根据是否转发,判定接收节点是静默节点或正常节点,最后,基站将收集到的静默节点相关信息保存;

步骤二,恶意节点的检测,利用基站对静默节点进一步测试,检查静默节点是否故意不转发数据帧;基站选择静默节点周围一跳可达的非沉默节点作为测试目的节点,在网络层与数据链路层分别构建IP数据报和数据帧,通过静默节点向目的节点发送数据;基站继续监听静默节点是否转发基站的数据帧;如果静默节点持续静默,则判定该静默节点为恶意节点;如果静默节点转发来自基站的数据帧,则目的节点校验转发数据帧的载荷有效性,载荷无法通过验证,则判定静默节点为恶意节点;

步骤三,备用路由启用,节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能;

所述步骤一中静默节点的检测具体包括以下步骤:

(1)业务驱动下,发送节点Xi发送frame‑I型帧;

(2)接收节点Yj收到frame‑I型帧后,自主决定是否将该帧载荷转发至下一跳节点;

(3)基站在MAC层上监听,探测接收节点Yj是否在设定的超时时间T内发送frame‑II型帧;

Step1:计算超时时间T;

Step2:如果在设定的超时时间T内,Yj节点一直不发送任何frame‑II型数据帧,判断该节点为静默节点Sm;

Step3:如果在设定的超时T时间内,Yj节点发送任何一个frame‑II型数据帧,判定该节点为正常节点;基站检测frame‑II型数据帧的目的节点MAC_Zk是否注册,如果未注册,则通告全网节点将Zk节点从所有路由表中剔除;

(4)所有的静默节点组成静默节点集合{S},基站将该集合中所有静默节点Sm的MAC地址与IP地址信息存入数据库;

所述步骤二中恶意节点的检测具体包括以下步骤:

(1)基站选取测试目的节点,并在数据库中获取其有关信息;基站根据数据库中的无线节点注册信息,在沉默节点Sm周围一跳范围内,随机选取非沉默节点Cn,并获取其IP地址IP_Cn与MAC地址MAC_Cn;

(2)基站获取自身IP地址;为了防止恶意节点记录基站的静态IP地址,基站在其IP地址池中,随机选取一个未使用过的IP地址作为自身的源IP地址;则基站的IP地址为IP_Base‑random;

(3)基站在网络层构造IP数据报,其IP数据报首部的地址域填入相应内容,源IP地址为IP_Base‑random,目的IP地址为IP_Cn;

(4)基站随机生成一个48位秘钥key,再以非沉默节点Cn的MAC地址MAC_Cn作为明文clear_text,将其与生成的48位秘钥key异或运算,产生48位的数据秘文cipher_text,并将该秘文作为IP数据报的上层应用载荷;

(5)基站在其MAC地址池中随机选取一个MAC地址MAC_Base‑random,作为自身的MAC地址,以防止基站使用的静态MAC地址被恶意节点记录,在数据链路层构造frame‑III型数据帧,并向静默节点Sm发送该数据帧;

(6)静默节点Sm收到frame‑III型帧后,自主决定是否转发该帧载荷至节点Cn;

(7)基站在MAC层上监听静默节点Sm是否正常发送frame‑IV型数据帧;

Step1:如果在超时时间T内,基站能够监听到Sm转发的frame‑IV型数据帧;即存在源节点MAC地址为MAC_Sm、目的MAC地址为MAC_Cn的数据帧,则基站直接向节点Cn发送包含秘钥key的数据帧frame‑key;基站更新秘钥以备下次使用;

Step2:如果在超时时间T内,基站没有监听到Sm转发的frame‑IV型数据帧;即不存在源节点MAC地址为Sm、目的MAC地址为MAC_Cn的数据帧,则基站可判定Sm节点为恶意节点,并通过全网广播通告;

(8)接收节点Cn在接收到Sm节点转发的frame‑IV型数据帧后,应用层检测载荷数据的有效性,判定Sm节点是否为故意伪造无效数据帧的恶意节点;

Step1:节点Cn从Sm节点转发的frame‑IV型数据帧中提取48位秘文cipher_text;

Step2:从基站直接发送的数据帧frame‑key中提取加密秘钥key;

Step3:将秘文cipher_text与秘钥key进行“异或”运算,获得48位明文result;

Step4:如果获得的result明文是节点Cn自身的MAC地址,则接收的数据有效,判定Sm节点为正常节点;

Step5:如果获得的result明文不是节点Cn自身的MAC地址,则接收的数据无效,判定Sm节点为伪造数据帧的恶意节点,节点Cn将接收数据帧的源MAC地址MAC_Sm告知基站,并由基站通报全网;

(9)基站更新恶意节点信息,组成恶意节点集合{E}。

2.根据权利要求1所述的基于数据帧监听的无线自组网黑洞攻击检测方法,其特征在于,所述步骤三中备用路由启用具体包括以下步骤:(1)节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能。

说明书 :

一种基于数据帧监听的无线自组网黑洞攻击检测方法

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种基于数据帧监听的无线自组网黑洞攻击检测方法。

背景技术

[0002] 无线自组网是由独立无线节点合作组成的多跳、无中心、自组织的无线网络;在无线自组网中,由于单个终端无线覆盖范围有限,两个无法直接进行通信的节点可以借助其它节点进行分组转发;各节点既可能是数据收发的终端,又可能是路由器,具有发现以及维持到其它节点路由的功能。
[0003] 由于具有组网灵活、部署快速及无中心自组成网等特点,无线自组网广泛应用于应急通信、灾害及反恐等领域;在遭受自然灾害或其他原因导致的公用通信网络传输链路中断等复杂环境下,无线自组网可以提供网络信号和数据传输,实现远距离数据通信,快速恢复基站正常通信或临时应急通信。
[0004] 但无线自组网传输机制及特点也带来一些问题。首先,无线多跳的传输机制,造成传输带宽受限;其次,由于网络通过无线方式传输,容易受到攻击与窃听;因为数据经过中间节点转发,网络中各个节点需要建立信任机制,以保障节点的安全性;再次,随着节点的增加,网络性能下降,扩展性不佳。
[0005] 由于没有管理控制的中心节点,分组路由转发是无线自组网技术最重要的问题之一。为此,节点必须建立高效与安全的路由转发机制;快速变化的拓扑结构会使路由有效时间缩短,路由信息利用率下降。由于带宽资源有限、拓扑结构不断变化,无线自组网需要传输大量的网络控制信息以维护路由,维护任意两个节点之间路由信息的开销较大。。
[0006] 为了减少定时维护路由的通信资源开销,基于业务需求建立和维护路由成为研究热点,研究人员提出了无线自组网按需距离矢量路由协议AODV(Ad‑hoc On‑Demand Distance Vector Routing);对于按需路由的AODV,节点不需要存储网络中所有节点的路由信息,只有在需要向目的节点传输数据时,才会检查路由表,如果没有路由,则会向网络广播发送路由请求,获取到目的节点的路由,这就是路由发现过程;因此,AODV无需实时维护路由表,只在需要时,才寻求路由和更新路由表,提高了收敛速度,避免了路由循环。
[0007] 作为一种主流的动态路由协议,AODV路由协议也存在路由发现过程需要广播报文,路由延时较大及安全性问题;由于源节点发往目的节点的消息需要被中间节点接收并转发,在安全性方面有先天隐患;而去中心化的网络结构,又使节点互相信任机制的实现比较复杂;因此,AODV路由协议很容易遭受各种攻击,黑洞攻击就是其中一种较为常见的攻击方式;此类攻击的原理如图5所示,路由查找过程中,恶意节点E通过发送虚假路由信息欺骗源节点S或路由节点B,宣称自己有到达目的节点D的路由,并且吸收发向目标节点D的数据包,形成数据黑洞,严重影响网络性能。
[0008] 针对无线自组网中的黑洞攻击,研究者提出了很多防御方法;黑洞攻击的应对策略通常是在网络层或应用层,利用数字签名、加密等方法设计安全认证机制,采取端对端认证,防止黑洞节点企图发送应答分组来获取源节点发往目的节点的数据,但由于无线自组网终端的计算能力和存储容量均有限,节点的数据业务具有随机性和突发性,所有的端到端节点均执行加密和验证算法,除了消耗计算资源和能耗,还会引起较大的时延。
[0009] 为了减少网络系统开销,有关研究提出了一种源节点对响应节点的下游邻居节点进行检测的方法,如图5所示;源节点S对应答节点E的下一跳节点F发送验证包,F节点收到验证包后向源节点S发送回复数据包,若源节点S在规定的时间内收到该回复数据包,则源节点继续通过目的节点D发送数据,否则放弃该路由。利用上述方法虽然能够解决单个中间恶意节点的黑洞攻击,但无法抵御相互合作恶意节点的黑洞攻击。此外,随着网络跳数的增加,源节点为了检测恶意节点,所有途经节点都要参与计算和通信,所需要的延迟也在快速增加。综上所述,现有的黑洞攻击检测方法存在通信资源开销大,无法有效防御多恶意节点协作攻击的问题。

发明内容

[0010] 本发明的目的在于如何解决上述技术问题;
[0011] 近年来,边缘计算(edge computing,MEC)技术快速发展并逐渐普及;在无线网络边缘部署服务器,就近为无线终端提供计算与存储功能,可以降低延迟并减轻云服务器的负担;MEC可以实现应用、服务和内容的本地化、近距离及分布式部署,从而缓解云计算带来的带宽占用和大时延问题,最终使用户获得高质量的网络体验。
[0012] 由于无线自组网的各节点地位对等且独立,缺失中心控制会导致网络安全性较差;而MEC中的边缘服务器可以就近为终端提供各类服务,并且边缘服务器具有较高的安全等级和计算存储资源;相较普通无线终端,基站连接的服务器首先具有更多的计算和能耗资源,可以支持更多的并发检测任务;其次,基站具有更高的安全性,在终端接入基站时,相关安全协议的握手机制已经解决了认证问题,所有终端节点均可以信任基站;如图6所示,本发明引入带服务器的无线基站,作为网络安全检测的关键节点,及时、可靠地向各无线节点提供安全服务。
[0013] 无线自组网中的所有节点,其数据链路层均一直在监听数据帧;如果节点接收数据帧的目的MAC地址是自身MAC地址或广播地址,则向上层提交数据帧;如果节点接收数据帧的目的MAC地址不是自身MAC地址,则丢弃该数据帧;当黑客发动黑洞攻击时,恶意节点MAC层发送帧的流量特性会出现明显异常,主要表现为数据帧发送停止或发送无效帧载荷的数据帧;这些异常信息均可以通过基站在数据链路层上检测获得。
[0014] 为了实现数据帧监听流量黑洞,需要了解IEEE 802.11帧结构与帧交换流程;802.11帧的一般组成结构如图7所示;图中的frame control域(2字节)中,本发明需要检测“帧类型”(Type)字段;“帧类型”(Type)字段为10,则代表为数据帧;“帧类型”(Type)字段为
01,则代表为控制帧;本发明也需要检测两个“MAC地址”(Address)字段,分别为该帧的发送端和接收端MAC地址(每个地址为6字节,即48位)。
[0015] 以节点A向节点B传送数据为例,802.11网络的帧交换流程如图8所示。A节点如果检测信道空闲,则先等待DIFS时间后,若检测信道仍然空闲,则等待一个退避BackOff(BO)时间。此后,节点A先向B节点发送RTS帧,表明自己准备向B节点发送数据。B节点收到RTS帧后,向周围广播CTS帧,表明准备接收。此时A节点可发送数据,其余站必须处于静默状态。B节点接收完DATA帧后,即向周围广播ACK帧,最终完成传输过程。可见,无线自组网要实现用户的数据交换,必须传输数据帧(DATA)帧。通过监听数据帧,可以检测转发节点是否成为恶意的黑洞节点。
[0016] 因此,本发明利用802.11数据链路层的数据帧监听功能,提出一种基于数据帧监听的黑洞攻击检测(Frame Sense,FS)方法,实现无线自组网流量黑洞检测,可以有效解决传统检测的资源开销大与恶意节点串谋协作问题,最终提高网络的分组投递情况。一方面,由于不需要设计新的路由安全算法或额外的节点信任认证机制,新方法易于编程实现;另一方面,由于利用数据链路层已有的监听功能,新方法也不会增加无线节点计算及能耗开销。
[0017] 本发明是通过如下措施实现的:一种基于数据帧监听的无线自组网黑洞攻击检测方法,包括以下步骤:
[0018] 步骤一,静默节点的检测,源节点在上层业务驱动后,首先发送业务数据帧,其次,接收节点自主决定是否转发,再次,基站监听接收节点是否转发数据帧,根据是否转发,判定接收节点是静默节点或正常节点,最后,基站将收集到的静默节点相关信息保存;
[0019] 步骤二,恶意节点的检测,利用基站对静默节点进一步测试,检查静默节点是否故意不转发数据帧;基站选择静默节点周围一跳可达的非沉默节点作为测试目的节点,在网络层与数据链路层分别构建IP数据报和数据帧,通过静默节点向目的节点发送数据;基站继续监听静默节点是否转发基站的数据帧;如果静默节点持续静默,则判定该静默节点为恶意节点;如果静默节点转发来自基站的数据帧,则目的节点校验转发数据帧的载荷有效性,载荷无法通过验证,则判定静默节点为恶意节点;
[0020] 步骤三,备用路由启用,节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能。
[0021] 进一步地,所述步骤一中静默节点的检测具体内容为:
[0022] 无线自组网中终端众多,业务以突发流量为主;源节点或转发节点(下文将这两种节点统称为发送节点),不会一直处于发送状态;为了减少无效监听,本发明以按需检测为原则,源节点在上层业务驱动后,首先发送业务数据帧;其次,接收节点自主决定是否转发;再次,基站监听接收节点是否转发数据帧,根据是否转发,判定接收节点是静默节点或正常节点;最后,基站将收集到的静默节点相关信息保存;
[0023] (1)业务驱动的数据帧发送,发送节点Xi发送frame‑I型帧;
[0024] 在应用层业务驱动下,发送节点集合{X}中的Xi节点在数据链路层发送如下表1所示特征的数据帧,记为frame‑I型帧;
[0025] 表1 frame‑I型帧的关键特征
[0026]
[0027] 上表的frame‑I型帧首部中,地址域中的[源MAC地址MAC_Xi,目的MAC地址MAC_Yj]包含两个各48位的MAC地址,分别代表该帧由节点Xi(MAC地址为MAC_Xi)发出,由节点Yj(MAC地址为MAC_Yj)接收,i与j均为大于零的正整数;帧类型中的[10]为二进制数值,代表该帧为数据帧;
[0028] (2)接收节点收到frame‑I型帧后,自主决定是否将该帧载荷转发至下一跳节点;
[0029] 接收节点Yj在收到Xi节点的frame‑I型帧后,会在静默与转发两种状态中做出选择;所谓转发状态,是指节点Yj并非端到端业务的目的节点,此时节点Yj将根据自己的路由表,将帧载荷转发至下一跳节点;所谓静默状态,是指节点Yj不发送任何数据帧;需要说明的是,造成节点Yj静默的原因有两个;一是节点Yj恰好是端到端的目的节点,则节点Yj不会再转发接收到的该数据帧,而是将该数据帧载荷上交高层协议;二是节点Yj被黑客控制,成为了流量黑洞节点,此时它也不会转发任何数据帧;
[0030] (3)基站在MAC层上监听,探测接收节点Yj是否在设定的超时时间T内发送如下表2所示特征的数据帧,记为frame‑II型帧;
[0031] 表2 frame‑II型帧的关键特征
[0032]
[0033] 上表的frame‑II型帧首部中,地址域中的[源MAC地址MAC_Yj,目的MAC地址MAC_Zk]包含两个各48位的MAC地址,分别代表该帧由节点Yj(MAC地址为MAC_Yj)发出,目的为节点Zk(MAC地址为MAC_Zk),k为大于零的正整数;帧类型中的[10]为二进制数值,代表该帧为数据帧;
[0034] 接收节点Yj由于种种原因,可能无法立刻转发数据帧,而基站在MAC层上不可能永远监听下去;因此,需要给基站设置一个超时时间T,一旦基站开始监听,即启动计时器;当基站在设定的超时时间T内监听到接收节点Yj转发数据帧,则判定Yj为正常节点;当基站在设定的超时时间T内没有监听到接收节点Yj转发数据帧,则判定Yj为静默节点;
[0035] Step1:计算超时时间T;
[0036] 为了简化建模,超时时间T为
[0037] T=TSIFS+TACK+TSIFS+TBO‑max+TDIFS+TRTS+TSIFS+TCTS+TSIFS+TDATA   (1)[0038] =4TSIFS+TDIFS+TACK+TRTS+TCTS+TBO‑max+TDATA
[0039] 式(1)中,TDIFS、TSIFS、TACK、TRTS及TCTS分别为分布式帧间间隙、短帧间间隙、Ack帧、RTS帧及CTS帧的传输时间;
[0040] 退避时间TBO‑max仅与最小竞争窗口CWmin值相关,取
[0041] TBO‑max=CWminTσ   (2)
[0042] 式(2)中,Tσ为802.11协议预先设置的时隙,单位为秒;
[0043] 数据帧传输时间TDATA取决于数据帧长度L与发送速率Rate,有
[0044] TDATA=L/Rate   (3)
[0045] 公式(1)至(3)涉及的MAC层数见表3所示;
[0046] 表3 IEEE802.11p协议MAC层参数设置
[0047]
[0048] Step2:如果在设定的超时时间T内,Yj节点一直不发送任何frame‑II型数据帧,判断该节点为静默节点Sm,m为大于零的正整数;
[0049] Step3:如果在设定的超时T时间内,Yj节点发送任何一个frame‑II型数据帧,判定该节点为正常节点;基站检测frame‑II型数据帧的目的节点MAC_Zk是否注册,如果未注册,则通告全网节点将Zk节点从所有路由表中剔除;
[0050] (4)所有的静默节点组成静默节点集合{S},基站将该集合中所有静默节点Sm的MAC地址与IP地址信息存入数据库。
[0051] 进一步地,所述步骤二中恶意节点的检测具体包括以下内容:
[0052] 步骤一只能获得本基站覆盖范围内的所有静默节点,但静默节点不一定是恶意的黑洞节点,也可能是正常的端到端目的节点;所以还需要继续测试节点Sm是否为恶意节点;传统的恶意节点的特征是,通过伪造最短路由,诱骗其他节点将数据帧发至恶意节点,但不会转发自身收到的所有数据帧,造成数据转发的中断;但黑客为应对黑洞检测,恶意节点可能故意伪造无效的数据帧并发送;为此,基站需要在转发数据帧的应用载荷中添加安全加密信息,目的节点接收数据帧后,可校验数据帧的合法性,以发现伪造数据帧的恶意节点;
[0053] 因此,本发明利用基站对静默节点进一步测试,检查静默节点是否故意不转发数据帧;首先,由基站随机选择静默节点周围一跳可达的非沉默节点Cn(其中n为大于零的正整数)作为测试目的节点,从服务器数据库中获取其IP地址与MAC地址;其次,基站随机生成一个秘钥,将节点Cn的MAC地址与该秘钥“异或”加密,获得的密文作为应用层载荷,在网络层与数据链路层分别构建IP数据报和数据帧,尝试通过静默节点向目的节点Cn发送包含秘文载荷的数据;再次,基站继续监听静默节点Sm是否转发基站的数据帧;如果静默节点接收基站数据帧后,不转发数据帧至目的节点,则可以认定该静默节点为恶意节点,并在基站追加该恶意节点信息;如果静默节点接收基站的数据帧后,转发数据帧至目的节点Cn,则基站直接向目的节点Cn发送包含秘钥的数据帧;目的节点Cn对转发数据帧的应用载荷进行“异或”解密,获得的明文如果不是节点Cn的MAC地址,则可以认定该静默节点为恶意节点,并向基站报告;获得的明文如果是节点Cn的MAC地址,则可以认定该静默节点Sm为正常节点;
[0054] (1)基站选取测试目的节点,并在数据库中获取其有关信息;基站根据数据库中的无线节点注册信息,在沉默节点Sm周围一跳范围内,随机选取非沉默节点Cn,并获取其IP地址IP_Cn与MAC地址MAC_Cn;
[0055] (2)基站获取自身IP地址;为了防止恶意节点记录基站的静态IP地址,基站在其IP地址池中,随机选取一个未使用过的IP地址作为自身的源IP地址;则基站的IP地址为IP_Base‑random;
[0056] (3)基站在网络层构造IP数据报,其IP数据报首部的地址域填入相应内容,源IP地址为IP_Base‑random,目的IP地址为IP_Cn;
[0057] (4)基站随机生成一个48位秘钥key,再以非沉默节点Cn的MAC地址MAC_Cn作为明文clear_text,将其与生成的48位秘钥key异或运算,产生48位的数据秘文cipher_text,并将该秘文作为IP数据报的上层应用载荷;IP报文的主要结构为如表4所示;
[0058] 表4IP数据报的关键结构
[0059]
[0060] 异或密码(XOR cipher)是密码学中一种加密算法,是指对信息进行“异或”运算操作以达到加密和解密目的;因此,文本字符串的每个字符可以通过与给定的密钥进行按位“异或”运算来加密;如果要解密,只需要将加密后的密文与密钥再次进行按位“异或”运算即可;根据“异或”加密规则,有
[0061] cipher_text=key Xor clear_text
[0062] 以非沉默节点Cn的MAC地址MAC_Cn作为明文clear_text,将其与基站生成的48位秘钥key异或运算,则有
[0063] cipher_text=key Xor MAC_Cn
[0064] (5)基站在其MAC地址池中随机选取一个MAC地址MAC_Base‑random,作为自身的MAC地址,以防止基站使用的静态MAC地址被恶意节点记录,在数据链路层构造如下表5所示特征的数据帧,记为frame‑III型帧,并向静默节点Sm发送该数据帧;frame‑III型帧的帧载荷为表4所示的IP数据报;
[0065] 表5 frame‑III型帧的关键特征
[0066]
[0067] (6)静默节点Sm收到frame‑III型帧后,自主决定是否转发该帧载荷至节点Cn;
[0068] (7)基站在MAC层上监听静默节点Sm是否正常发送如下表6所示特征的数据帧,记为frame‑IV型数据帧;
[0069] 表6 frame‑IV型帧的关键特征
[0070]
[0071] Step1:如果在超时时间T内,基站能够监听到Sm转发的frame‑IV型数据帧;即存在源节点MAC地址为MAC_Sm、目的MAC地址为MAC_Cn的数据帧,则基站直接向节点Cn发送包含秘钥key的数据帧frame‑key;基站更新秘钥以备下次使用;
[0072] Step2:如果在超时时间T内,基站没有监听到Sm转发的frame‑IV型数据帧;即不存在源节点MAC地址为Sm、目的MAC地址为MAC_Cn的数据帧,则基站可判定Sm节点为恶意节点,并通过全网广播通告;
[0073] (8)接收节点Cn在接收到Sm节点转发的frame‑IV型数据帧后,应用层检测载荷数据的有效性,判定Sm节点是否为故意伪造无效数据帧的恶意节点;
[0074] 为了防止恶意节点伪造并传输没有意义的数据帧,诱骗基站认定其为合法节点,接收节点Cn从Sm节点发送的frame‑IV型帧中提取秘文,再从基站直接发送的数据帧frame‑key中提取秘钥key,解密秘文后,验证接收到的frame‑IV型数据帧中的载荷是否有效。
[0075] Step1:节点Cn从Sm节点转发的frame‑IV型数据帧中提取48位秘文cipher_text;
[0076] Step2:从基站直接发送的数据帧frame‑key中提取加密秘钥key;
[0077] Step3:将秘文cipher_text与秘钥key进行“异或”运算,获得48位明文result,[0078] result=key Xor cipher_text;
[0079] Step4:如果获得的result明文是节点Cn自身的MAC地址,则接收的数据有效,判定Sm节点为正常节点;
[0080] Step5:如果获得的result明文不是节点Cn自身的MAC地址,则接收的数据无效,判定Sm节点为伪造数据帧的恶意节点,节点Cn将接收数据帧的源MAC地址MAC_Sm告知基站,并由基站通报全网;
[0081] (9)基站更新恶意节点信息,组成恶意节点集合{E}。
[0082] 进一步地,所述步骤三中备用路由启用具体包括以下内容:
[0083] (1)节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能。
[0084] 与现有技术相比,本发明的有益效果为:
[0085] 本发明从数据链路层入手,提出一种基于数据帧监听的黑洞攻击检测(Frame Sense,FS)方法,利用802.11数据链路层的数据帧监听功能,实现无线自组网流量黑洞检测,可以有效解决传统检测的资源开销大与恶意节点串谋协作问题,最终提高网络的分组投递情况;一方面,由于不需要设计新的路由安全算法或额外的节点信任认证机制,新方法易于编程实现;另一方面,由于利用数据链路层已有的监听功能,新方法也不会增加无线节点计算及能耗开销。

附图说明

[0086] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
[0087] 图1为本发明中一种基于数据帧监听的无线自组网黑洞攻击检测(FS)方法整体流程示意图;
[0088] 图2为本发明实施例中FS方法的所需延迟的性能对比图;
[0089] 图3为本发明实施例中FS方法的接收分组数量性能对比图;
[0090] 图4为本发明实施例中FS方法的节点参与度性能对比图;
[0091] 图5为黑洞攻击示意图;
[0092] 图6为带边缘服务器的基站测试恶意节点示意图;
[0093] 图7为IEEE 802.11帧的一般结构图;
[0094] 图8为IEEE 802.11网络的帧交换流程图。

具体实施方式

[0095] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明;当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0096] 参见图1至图6,本发明提供其技术方案为,基于数据帧监听的无线自组网黑洞攻击检测方法,包括以下步骤:
[0097] 步骤一,静默节点的检测,源节点在上层业务驱动后,首先发送业务数据帧,其次,接收节点自主决定是否转发,再次,基站监听接收节点是否转发数据帧,根据是否转发,判定接收节点是静默节点或正常节点,最后,基站将收集到的静默节点相关信息保存;
[0098] 步骤二,恶意节点的检测,利用基站对静默节点进一步测试,检查静默节点是否故意不转发数据帧;基站选择静默节点周围一跳可达的非沉默节点作为测试目的节点,在网络层与数据链路层分别构建IP数据报和数据帧,通过静默节点向目的节点发送数据;基站继续监听静默节点是否转发基站的数据帧;如果静默节点持续静默,则判定该静默节点为恶意节点;如果静默节点转发来自基站的数据帧,则目的节点校验转发数据帧的载荷有效性,载荷无法通过验证,则判定静默节点为恶意节点;
[0099] 步骤三,备用路由启用,节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能。
[0100] 本实例中进一步地,所述步骤一中静默节点的检测具体内容为:
[0101] 无线自组网中终端众多,业务以突发流量为主;源节点或转发节点(下文将这两种节点统称为发送节点),不会一直处于发送状态;为了减少无效监听,本发明以按需检测为原则,源节点在上层业务驱动后,首先发送业务数据帧;其次,接收节点自主决定是否转发;再次,基站监听接收节点是否转发数据帧,根据是否转发,判定接收节点是静默节点或正常节点;最后,基站将收集到的静默节点相关信息保存;
[0102] (1)业务驱动的数据帧发送,发送节点Xi发送frame‑I型帧;
[0103] 在应用层业务驱动下,发送节点集合{X}中的Xi节点在数据链路层发送如下表1所示特征的数据帧,记为frame‑I型帧;
[0104] 表1 frame‑I型帧的关键特征
[0105]
[0106] 上表的frame‑I型帧首部中,地址域中的[源MAC地址MAC_Xi,目的MAC地址MAC_Yj]包含两个各48位的MAC地址,分别代表该帧由节点Xi(MAC地址为MAC_Xi)发出,由节点Yj(MAC地址为MAC_Yj)接收,i与j均为大于零的正整数;帧类型中的[10]为二进制数值,代表该帧为数据帧;
[0107] (2)接收节点收到frame‑I型帧后,自主决定是否将该帧载荷转发至下一跳节点;
[0108] 接收节点Yj在收到Xi节点的frame‑I型帧后,会在静默与转发两种状态中做出选择;所谓转发状态,是指节点Yj并非端到端业务的目的节点,此时节点Yj将根据自己的路由表,将帧载荷转发至下一跳节点;所谓静默状态,是指节点Yj不发送任何数据帧;需要说明的是,造成节点Yj静默的原因有两个;一是节点Yj恰好是端到端的目的节点,则节点Yj不会再转发接收到的该数据帧,而是将该数据帧载荷上交高层协议;二是节点Yj被黑客控制,成为了流量黑洞节点,此时它也不会转发任何数据帧;
[0109] (3)基站在MAC层上监听,探测接收节点Yj是否在设定的超时时间T内发送如下表2所示特征的数据帧,记为frame‑II型帧;
[0110] 表2 frame‑II型帧的关键特征
[0111]
[0112] 上表的frame‑II型帧首部中,地址域中的[源MAC地址MAC_Yj,目的MAC地址MAC_Zk]包含两个各48位的MAC地址,分别代表该帧由节点Yj(MAC地址为MAC_Yj)发出,目的为节点Zk(MAC地址为MAC_Zk),k为大于零的正整数;帧类型中的[10]为二进制数值,代表该帧为数据帧;
[0113] 接收节点Yj由于种种原因,可能无法立刻转发数据帧,而基站在MAC层上不可能永远监听下去;因此,需要给基站设置一个超时时间T,一旦基站开始监听,即启动计时器;当基站在设定的超时时间T内监听到接收节点Yj转发数据帧,则判定Yj为正常节点;当基站在设定的超时时间T内没有监听到接收节点Yj转发数据帧,则判定Yj为静默节点;
[0114] Step1:计算超时时间T;
[0115] 为了简化建模,超时时间T为
[0116] T=TSIFS+TACK+TSIFS+TBO‑max+TDIFS+TRTS+TSIFS+TCTS+TSIFS+TDATA   (1)[0117] =4TSIFS+TDIFS+TACK+TRTS+TCTS+TBO‑max+TDATA
[0118] 式(1)中,TDIFS、TSIFS、TACK、TRTS及TCTS分别为分布式帧间间隙、短帧间间隙、Ack帧、RTS帧及CTS帧的传输时间;
[0119] 退避时间TBO‑max仅与最小竞争窗口CWmin值相关,取
[0120] TBO‑max=CWminTσ  (2)
[0121] 式(2)中,Tσ为802.11协议预先设置的时隙,单位为秒;
[0122] 数据帧传输时间TDATA取决于数据帧长度L与发送速率Rate,有
[0123] TDATA=L/Rate   (3)
[0124] 公式(1)至(3)涉及的MAC层数见表3所示;
[0125] 表3 IEEE802.11p协议MAC层参数设置
[0126]
[0127] Step2:如果在设定的超时时间T内,Yj节点一直不发送任何frame‑II型数据帧,判断该节点为静默节点Sm,m为大于零的正整数;
[0128] Step3:如果在设定的超时T时间内,Yj节点发送任何一个frame‑II型数据帧,判定该节点为正常节点;基站检测frame‑II型数据帧的目的节点MAC_Zk是否注册,如果未注册,则通告全网节点将Zk节点从所有路由表中剔除;
[0129] (4)所有的静默节点组成静默节点集合{S},基站将该集合中所有静默节点Sm的MAC地址与IP地址信息存入数据库。
[0130] 本实例中进一步地,所述步骤二中恶意节点的检测具体包括以下内容:
[0131] 步骤一只能获得本基站覆盖范围内的所有静默节点,但静默节点不一定是恶意的黑洞节点,也可能是正常的端到端目的节点;所以还需要继续测试节点Sm是否为恶意节点;传统的恶意节点的特征是,通过伪造最短路由,诱骗其他节点将数据帧发至恶意节点,但不会转发自身收到的所有数据帧,造成数据转发的中断;但黑客为应对黑洞检测,恶意节点可能故意伪造无效的数据帧并发送;为此,基站需要在转发数据帧的应用载荷中添加安全加密信息,目的节点接收数据帧后,可校验数据帧的合法性,以发现伪造数据帧的恶意节点;
[0132] 因此,本发明利用基站对静默节点进一步测试,检查静默节点是否故意不转发数据帧;首先,由基站随机选择静默节点周围一跳可达的非沉默节点Cn(其中n为大于零的正整数)作为测试目的节点,从服务器数据库中获取其IP地址与MAC地址;其次,基站随机生成一个秘钥,将节点Cn的MAC地址与该秘钥“异或”加密,获得的密文作为应用层载荷,在网络层与数据链路层分别构建IP数据报和数据帧,尝试通过静默节点向目的节点Cn发送包含秘文载荷的数据;再次,基站继续监听静默节点Sm是否转发基站的数据帧;如果静默节点接收基站数据帧后,不转发数据帧至目的节点,则可以认定该静默节点为恶意节点,并在基站追加该恶意节点信息;如果静默节点接收基站的数据帧后,转发数据帧至目的节点Cn,则基站直接向目的节点Cn发送包含秘钥的数据帧;目的节点Cn对转发数据帧的应用载荷进行“异或”解密,获得的明文如果不是节点Cn的MAC地址,则可以认定该静默节点为恶意节点,并向基站报告;获得的明文如果是节点Cn的MAC地址,则可以认定该静默节点Sm为正常节点。
[0133] (1)基站选取测试目的节点,并在数据库中获取其有关信息;基站根据数据库中的无线节点注册信息,在沉默节点Sm周围一跳范围内,随机选取非沉默节点Cn,并获取其IP地址IP_Cn与MAC地址MAC_Cn;
[0134] (2)基站获取自身IP地址;为了防止恶意节点记录基站的静态IP地址,基站在其IP地址池中,随机选取一个未使用过的IP地址作为自身的源IP地址;则基站的IP地址为IP_Base‑random;
[0135] (3)基站在网络层构造IP数据报,其IP数据报首部的地址域填入相应内容,源IP地址为IP_Base‑random,目的IP地址为IP_Cn;
[0136] (4)基站随机生成一个48位秘钥key,再以非沉默节点Cn的MAC地址MAC_Cn作为明文clear_text,将其与生成的48位秘钥key异或运算,产生48位的数据秘文cipher_text,并将该秘文作为IP数据报的上层应用载荷;IP报文的主要结构为如表4所示;
[0137] 表4 IP数据报的关键结构
[0138]
[0139] 异或密码(XOR cipher)是密码学中一种加密算法,是指对信息进行“异或”运算操作以达到加密和解密目的;因此,文本字符串的每个字符可以通过与给定的密钥进行按位“异或”运算来加密;如果要解密,只需要将加密后的密文与密钥再次进行按位“异或”运算即可;根据“异或”加密规则,有
[0140] cipher_text=key Xor clear_text;
[0141] 以非沉默节点Cn的MAC地址MAC_Cn作为明文clear_text,将其与基站生成的48位秘钥key异或运算,则有cipher_text=key Xor MAC_Cn;
[0142] (5)基站在其MAC地址池中随机选取一个MAC地址MAC_Base‑random,作为自身的MAC地址,以防止基站使用的静态MAC地址被恶意节点记录,在数据链路层构造如下表5所示特征的数据帧,记为frame‑III型帧,并向静默节点Sm发送该数据帧;frame‑III型帧的帧载荷为表4所示的IP数据报;
[0143] 表5 frame‑III型帧的关键特征
[0144]
[0145] (6)静默节点Sm收到frame‑III型帧后,自主决定是否转发该帧载荷至节点Cn;
[0146] (7)基站在MAC层上监听静默节点Sm是否正常发送如下表6所示特征的数据帧,记为frame‑IV型数据帧;
[0147] 表6 frame‑IV型帧的关键特征
[0148]
[0149] Step1:如果在超时时间T内,基站能够监听到Sm转发的frame‑IV型数据帧;即存在源节点MAC地址为MAC_Sm、目的MAC地址为MAC_Cn的数据帧,则基站直接向节点Cn发送包含秘钥key的数据帧frame‑key;基站更新秘钥以备下次使用;
[0150] Step2:如果在超时时间T内,基站没有监听到Sm转发的frame‑IV型数据帧;即不存在源节点MAC地址为Sm、目的MAC地址为MAC_Cn的数据帧,则基站可判定Sm节点为恶意节点,并通过全网广播通告;
[0151] (8)接收节点Cn在接收到Sm节点转发的frame‑IV型数据帧后,应用层检测载荷数据的有效性,判定Sm节点是否为故意伪造无效数据帧的恶意节点;
[0152] 为了防止恶意节点伪造并传输没有意义的数据帧,诱骗基站认定其为合法节点,接收节点Cn从Sm节点发送的frame‑IV型帧中提取秘文,再从基站直接发送的数据帧frame‑key中提取秘钥key,解密秘文后,验证接收到的frame‑IV型数据帧中的载荷是否有效;
[0153] Step1:节点Cn从Sm节点转发的frame‑IV型数据帧中提取48位秘文cipher_text;
[0154] Step2:从基站直接发送的数据帧frame‑key中提取加密秘钥key;
[0155] Step3:将秘文cipher_text与秘钥key进行“异或”运算,获得48位明文result,[0156] result=key Xor cipher_text;
[0157] Step4:如果获得的result明文是节点Cn自身的MAC地址,则接收的数据有效,判定Sm节点为正常节点;
[0158] Step5:如果获得的result明文不是节点Cn自身的MAC地址,则接收的数据无效,判定Sm节点为伪造数据帧的恶意节点,节点Cn将接收数据帧的源MAC地址MAC_Sm告知基站,并由基站通报全网;
[0159] (9)基站更新恶意节点信息,组成恶意节点集合{E}。
[0160] 本实例中进一步地,所述步骤三中备用路由启用具体包括以下内容:
[0161] (1)节点被基站确认为恶意节点后,基站通告全网,全网节点进行路由更新,合法节点不再转发数据至恶意节点,无线自组网使用备用路由节点转发数据,恢复网络性能。
[0162] 实验:流量黑洞检测实验
[0163] 在无线自组网中设置12个无线终端节点,1个基站节点,各无线节点的MAC层带宽均为1.0Mb/s,MAC层参数如表1所示,针对4跳传输和8跳传输,使用源节点检测及数据帧监听(FS)方法检测流量黑洞;检测延迟、接收分组数量及节点参与度三种性能比较分别如图2至图4所示;
[0164] 图2可见,同样跳数情况下,FS方法比源节点检测的延迟要小,而且随着跳数的增加,FS方法延迟性能明显优于源节点检测;
[0165] 图3可见,跳数较小情况下,FS方法接收分组数略高于源节点检测,但随着跳数的增加,FS方法接收分组性能明显优于源节点检测;
[0166] 终端节点参与度是指,参与检测的终端节点数与整网终端节点总数之比,该性能指标反映了检测算法对网络资源的消耗;图4可见,跳数较小情况下,源节点检测方法的终端节点参与度接近50%,而FS方法仅不到30%;随着跳数的增加,源节点检测的终端节点参与度大幅增长,而FS方法几乎没有变化;由于FS方法主要利用供电与计算资源充足的基站检测恶意节点,只需要很少的终端节点协助检测,可以有效减轻无线终端的能耗与计算负载。
[0167] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。