论文部分内容阅读
摘要:针对无线传感网络低功耗分簇型路由算法LEACH易遭受HELLO flood等安全攻击的问题,提出一种轻量级的基于接收信号强度值的HELLO flood攻击检测算法。在充分分析无线传感网络自身特点与LEACH算法原理的基础上,无需获得距离等辅助信息或多次发送广播包辅助判断,采用信号强度阈值即可直接检测HELLO flood攻击。仿真实验证明,算法可以有效检测并隔离HELLO flood恶意攻击节点,保证网络正常运行,同时算法带来的额外能量消耗极低,适宜于低功耗型无线传感网络环境。
关键词:无线传感网络; HELLO flood攻击;接收信号强度值;通信距离;测试数据包
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)27-0034-03
1 概述
无线传感网络(Wireless Sensor Network,WSN工作在开放的无线传输环境下,信号易被侦听和破坏,容易收到:节点捕获、信息窃听、信息完整性攻击、DoS攻击、重放攻击、虚假路由攻击、选择性转发、虫洞攻击、黑洞攻击、Sybil攻击、HELLO flood攻擊等安全威胁。同时,WSN中节点的计算、存储、能量等资源严重受限,拓扑结构的动态变化,使传统的网络安全技术难以直接应用到WSN中。安全问题已成为WSN目前研究的重点与难点。
其中HELLO flood攻击可以破坏LEACH等分簇型路由协议的网络拓扑结构,并与信息完整性攻击、重放攻击、选择性转发攻击、黑洞攻击等手段结合带来更大危害。本文针对LEACH算法中可能遭受的HELLO flood攻击情况,提出一种基于接收信号强度(Received Signal Strength Indication,RSSI)的轻量级攻击检测算法——基于LEACH的HELLO flood攻击检测算法,实验证明该算法可以以较低能耗代价检测出LEACH算法中的HELLO flood攻击。
2 相关研究
2.1 LEACH算法中的HELLO flood攻击
HELLO flood攻击是通过恶意节点以足够大的功率发送虚假路由等信息给大部分甚至所有WSN节点,使其误以为该恶意节点为自己的最佳下一跳路由节点,造成网络拓扑结构的混乱。
LEACH算法中攻击者往往在其簇建立阶段高功率发送虚假簇头信息,诱导大部分甚至全部普通节点以其为簇头,从而收集数据。因LEACH算法的簇建立过程为单向的,缺乏必要的双向认证机制,导致即使节点错误地接入“恶意簇头”也无法发现,破坏正常建网规则。恶意节点得以肆意截获网络数据,并结合其他攻击手段对网络造成破坏,如,信息窃取、数据丢弃、数据篡改等。
2.2 研究现状分析
目前对于HELLO flood攻击的防范措施大致可分为基于密码的和非密码的两大类。其中基于密码的方法通常需要较多的存储空间存放密钥、消耗较高的能量进行密码计算与传输、需要较多时间进行密钥周期性变更等。相对而言基于非密码的攻击检测方式大多以接收信号强度值RSSI为判断依据,对资源的需求与消耗更少。
文献[1]通过簇头两次发送带有其剩余能量信息的广播包,普通节点接比较两次接收信号的剩余能量值与RSSI的差异,若两差值均超过异常判断阈,则说明该簇头为HELLO flood恶意攻击节点。该算法在每轮簇建立过程中都需要簇头额外发送广播数据包消耗较多能量,且延长了成簇时间带来一定网络时延。
文献[2]中节点检测接收到簇头HELLO广播包的RSSI,并将之与按距离计算出的值比较,相同则为合法簇头,差值过大为恶意节点,介于两者之间则发送一个测试包判断。该算法需要知道两节点间距离,而这在实际应用中是难以直接得到的,算法具有一定的局限性。
文献[3]中簇头将自己的坐标包含到HELLO广播包内一起发送,普通节点据此计算距离阈值与RSSI阈值,若实际值均超过二者,则可判定为恶意攻击节点。该算法需要每个节点知道自己的坐标,而这在实际应用往往中难以准确计量,尤其是在大规模、环境复杂的WSN中。
针对以上算法的优缺点,本文提出一种基于LEACH的HELLO flood攻击检测算法——LEACH-HADA,该算法根据接收广播包的RSSI值即可直接判断,有效节省能量。
3 LEACH-HADA算法
LEACH算法每轮中簇头与普通节点间的交互过程如图2所示:
如图1所示,LEACH算法中各簇头在发送HELLO广播包时采用相同功率,则WSN中节点接收到合法簇头数据包的RSSI值必定有一个上限。而HELLO flood攻击的目的是让尽可能多的普通节点接收到广播信息并引其加入,发射功率需要足够大且越大越好,网络中必定会有节点接收到的RSSI值远超过合法簇头的。基于此分析,本文提出一种基于RSSI的轻量级HELLO flood攻击检测算法LEACH-HADA (HELLO flood Attack Detection Algorithm Based on LEACH Protocol)。
当普通节点在接收到各簇头发送的HELLO数据包时,首先检测其信号强度值[RSSIi]([i]为簇头序号),若[RSSIi≤RSSIMAX]则簇头[i]合法;若[RSSIi>RSSIMAX]则簇头[i]异常,其数据包发送功率过高,为HELLO flood恶意攻击节点。随后该普通节点向全网广播发送恶意节点ID。其余普通节点若在簇建立阶段收到两个以上广播消息,则将该ID号列入黑名单,将该节点隔离。后续的LEACH轮次中,在簇建立阶段若再次收到该恶意节点ID发送的广播包,节点可以直接凭借黑名单识别该恶意节点,并拒绝与之通信。
WSN中往往采用大量低成本传感器节点以较大密度部署于检测区域内,若传感器节点距离HELLO flood恶意攻击节点过远,HELLO广播包衰减后信号接收强度值RSSI可能小于[RSSIMAX]而无法判断,但鉴于WSN的高密度必定有多个距恶意节点较近的传感器节点存在,一旦检测到RSSI值高于[RSSIMAX]即向全网直接广播或以多跳形式广播,保证全网节点都能接收到恶意节点信息,从而有效避免遭受HELLO flood攻击。 4 實验结果与分析
为验证本算法性能,本文采用MATLAB仿真软件对LEACH算法、LEACH-HADA算法在表1所述参数下进行实验仿真,实验结果及相应分析如下。
从图2可以看出当遭受HELLO flood攻击时,LEACH算法中除5个簇头外所有普通节点均被更高功率发送HELLO广播包的恶意节点截获,而LEACH-HADA算法则可以有效防止HELLO flood攻击,网络可以第一时间发现恶意节点并通过广播手段使全网所有节点知道其存在,将其隔离,进而网络可以正常组网。正常进行簇建立,恶意节点不会对WSN数据采集等工作产生任何影响。
(2) HELLO flood攻击下基站接收数据对比
从图3显示在LEACH与LEACH-HADA两种算法运行到第1500轮时WSN遭遇HELLO flood攻击情况下,WSN基站正常接收数据包数量的对比。从图中可以明显看出,当LEACH遭遇HELLO flood攻击后完全无法抵抗,几乎所有节点采集的数据均被非法丢弃,基站只能接收到少数几个簇头发送的数据。而LEACH-HADA算法却可以完全隔离HELLO flood攻击,恶意节点的入侵机会对网络正常接收数据未造成任何影响。
说明:该模拟实验中HELLO flood攻击只针对普通节点,簇头可将自己采集的数据正常发往基站。LEACH算法中1500-2500轮接收到的数据均为簇头数据
(3) HELLO flood攻击下能耗对比
图4对比了未受HELLO flood攻击情况下LEACH算法正常工作的网络节点总能量变化与在LEACH-HADA算法工作下第1500轮受HELLO flood攻击的网络节点总能量变化。图4显示,受攻击后LEACH-HADA算法网络节点总能量较正常LEACH协议下的能量降低量非常小,即以极低的能耗代价完成HELLO flood攻击检测与隔离。
5 总结
本文分析WSN安全问题的基础上,针对典型的分簇算法LEACH易遭受HELLO flood攻击的问题,克服传统非密码攻击检测算法需要提前得知网络中节点间距离、坐标等难以获取的物理量或需要发送多个广播数据包判断的缺陷,提出一种轻量级的HELLO flood攻击检测算法LEACH-HADA。仿真结果表明,算法能够完全识别并隔离HELLO flood攻击,保证网络数据的正常传输,且该检测HELLO flood攻击过程能耗极低,极适用于能源严重受限的WSN应用。
参考文献:
[1] 王江涛,杨庚,孙源,等.攻击检测安全LEACH路由协议[J].应用科学学报,2007,25(6):557-563.
[2] Virendra Pal Singh, Aishwarya S Anand Ukey, Sweta Jain. Signal Strength based HELLO Flood Attack Detection and Prevention in Wireless Sensor Networks[J].International Journal of Computer Applications (0975 — 8887), 2013, 62.
[3] Shikha Magotra, Krishan Kumar. Detection of HELLO flood Attack on LEACH Protocol[J]. Advance Computing Conference (IACC), 2014 IEEE International: 193-198.
关键词:无线传感网络; HELLO flood攻击;接收信号强度值;通信距离;测试数据包
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)27-0034-03
1 概述
无线传感网络(Wireless Sensor Network,WSN工作在开放的无线传输环境下,信号易被侦听和破坏,容易收到:节点捕获、信息窃听、信息完整性攻击、DoS攻击、重放攻击、虚假路由攻击、选择性转发、虫洞攻击、黑洞攻击、Sybil攻击、HELLO flood攻擊等安全威胁。同时,WSN中节点的计算、存储、能量等资源严重受限,拓扑结构的动态变化,使传统的网络安全技术难以直接应用到WSN中。安全问题已成为WSN目前研究的重点与难点。
其中HELLO flood攻击可以破坏LEACH等分簇型路由协议的网络拓扑结构,并与信息完整性攻击、重放攻击、选择性转发攻击、黑洞攻击等手段结合带来更大危害。本文针对LEACH算法中可能遭受的HELLO flood攻击情况,提出一种基于接收信号强度(Received Signal Strength Indication,RSSI)的轻量级攻击检测算法——基于LEACH的HELLO flood攻击检测算法,实验证明该算法可以以较低能耗代价检测出LEACH算法中的HELLO flood攻击。
2 相关研究
2.1 LEACH算法中的HELLO flood攻击
HELLO flood攻击是通过恶意节点以足够大的功率发送虚假路由等信息给大部分甚至所有WSN节点,使其误以为该恶意节点为自己的最佳下一跳路由节点,造成网络拓扑结构的混乱。
LEACH算法中攻击者往往在其簇建立阶段高功率发送虚假簇头信息,诱导大部分甚至全部普通节点以其为簇头,从而收集数据。因LEACH算法的簇建立过程为单向的,缺乏必要的双向认证机制,导致即使节点错误地接入“恶意簇头”也无法发现,破坏正常建网规则。恶意节点得以肆意截获网络数据,并结合其他攻击手段对网络造成破坏,如,信息窃取、数据丢弃、数据篡改等。
2.2 研究现状分析
目前对于HELLO flood攻击的防范措施大致可分为基于密码的和非密码的两大类。其中基于密码的方法通常需要较多的存储空间存放密钥、消耗较高的能量进行密码计算与传输、需要较多时间进行密钥周期性变更等。相对而言基于非密码的攻击检测方式大多以接收信号强度值RSSI为判断依据,对资源的需求与消耗更少。
文献[1]通过簇头两次发送带有其剩余能量信息的广播包,普通节点接比较两次接收信号的剩余能量值与RSSI的差异,若两差值均超过异常判断阈,则说明该簇头为HELLO flood恶意攻击节点。该算法在每轮簇建立过程中都需要簇头额外发送广播数据包消耗较多能量,且延长了成簇时间带来一定网络时延。
文献[2]中节点检测接收到簇头HELLO广播包的RSSI,并将之与按距离计算出的值比较,相同则为合法簇头,差值过大为恶意节点,介于两者之间则发送一个测试包判断。该算法需要知道两节点间距离,而这在实际应用中是难以直接得到的,算法具有一定的局限性。
文献[3]中簇头将自己的坐标包含到HELLO广播包内一起发送,普通节点据此计算距离阈值与RSSI阈值,若实际值均超过二者,则可判定为恶意攻击节点。该算法需要每个节点知道自己的坐标,而这在实际应用往往中难以准确计量,尤其是在大规模、环境复杂的WSN中。
针对以上算法的优缺点,本文提出一种基于LEACH的HELLO flood攻击检测算法——LEACH-HADA,该算法根据接收广播包的RSSI值即可直接判断,有效节省能量。
3 LEACH-HADA算法
LEACH算法每轮中簇头与普通节点间的交互过程如图2所示:
如图1所示,LEACH算法中各簇头在发送HELLO广播包时采用相同功率,则WSN中节点接收到合法簇头数据包的RSSI值必定有一个上限。而HELLO flood攻击的目的是让尽可能多的普通节点接收到广播信息并引其加入,发射功率需要足够大且越大越好,网络中必定会有节点接收到的RSSI值远超过合法簇头的。基于此分析,本文提出一种基于RSSI的轻量级HELLO flood攻击检测算法LEACH-HADA (HELLO flood Attack Detection Algorithm Based on LEACH Protocol)。
当普通节点在接收到各簇头发送的HELLO数据包时,首先检测其信号强度值[RSSIi]([i]为簇头序号),若[RSSIi≤RSSIMAX]则簇头[i]合法;若[RSSIi>RSSIMAX]则簇头[i]异常,其数据包发送功率过高,为HELLO flood恶意攻击节点。随后该普通节点向全网广播发送恶意节点ID。其余普通节点若在簇建立阶段收到两个以上广播消息,则将该ID号列入黑名单,将该节点隔离。后续的LEACH轮次中,在簇建立阶段若再次收到该恶意节点ID发送的广播包,节点可以直接凭借黑名单识别该恶意节点,并拒绝与之通信。
WSN中往往采用大量低成本传感器节点以较大密度部署于检测区域内,若传感器节点距离HELLO flood恶意攻击节点过远,HELLO广播包衰减后信号接收强度值RSSI可能小于[RSSIMAX]而无法判断,但鉴于WSN的高密度必定有多个距恶意节点较近的传感器节点存在,一旦检测到RSSI值高于[RSSIMAX]即向全网直接广播或以多跳形式广播,保证全网节点都能接收到恶意节点信息,从而有效避免遭受HELLO flood攻击。 4 實验结果与分析
为验证本算法性能,本文采用MATLAB仿真软件对LEACH算法、LEACH-HADA算法在表1所述参数下进行实验仿真,实验结果及相应分析如下。
从图2可以看出当遭受HELLO flood攻击时,LEACH算法中除5个簇头外所有普通节点均被更高功率发送HELLO广播包的恶意节点截获,而LEACH-HADA算法则可以有效防止HELLO flood攻击,网络可以第一时间发现恶意节点并通过广播手段使全网所有节点知道其存在,将其隔离,进而网络可以正常组网。正常进行簇建立,恶意节点不会对WSN数据采集等工作产生任何影响。
(2) HELLO flood攻击下基站接收数据对比
从图3显示在LEACH与LEACH-HADA两种算法运行到第1500轮时WSN遭遇HELLO flood攻击情况下,WSN基站正常接收数据包数量的对比。从图中可以明显看出,当LEACH遭遇HELLO flood攻击后完全无法抵抗,几乎所有节点采集的数据均被非法丢弃,基站只能接收到少数几个簇头发送的数据。而LEACH-HADA算法却可以完全隔离HELLO flood攻击,恶意节点的入侵机会对网络正常接收数据未造成任何影响。
说明:该模拟实验中HELLO flood攻击只针对普通节点,簇头可将自己采集的数据正常发往基站。LEACH算法中1500-2500轮接收到的数据均为簇头数据
(3) HELLO flood攻击下能耗对比
图4对比了未受HELLO flood攻击情况下LEACH算法正常工作的网络节点总能量变化与在LEACH-HADA算法工作下第1500轮受HELLO flood攻击的网络节点总能量变化。图4显示,受攻击后LEACH-HADA算法网络节点总能量较正常LEACH协议下的能量降低量非常小,即以极低的能耗代价完成HELLO flood攻击检测与隔离。
5 总结
本文分析WSN安全问题的基础上,针对典型的分簇算法LEACH易遭受HELLO flood攻击的问题,克服传统非密码攻击检测算法需要提前得知网络中节点间距离、坐标等难以获取的物理量或需要发送多个广播数据包判断的缺陷,提出一种轻量级的HELLO flood攻击检测算法LEACH-HADA。仿真结果表明,算法能够完全识别并隔离HELLO flood攻击,保证网络数据的正常传输,且该检测HELLO flood攻击过程能耗极低,极适用于能源严重受限的WSN应用。
参考文献:
[1] 王江涛,杨庚,孙源,等.攻击检测安全LEACH路由协议[J].应用科学学报,2007,25(6):557-563.
[2] Virendra Pal Singh, Aishwarya S Anand Ukey, Sweta Jain. Signal Strength based HELLO Flood Attack Detection and Prevention in Wireless Sensor Networks[J].International Journal of Computer Applications (0975 — 8887), 2013, 62.
[3] Shikha Magotra, Krishan Kumar. Detection of HELLO flood Attack on LEACH Protocol[J]. Advance Computing Conference (IACC), 2014 IEEE International: 193-198.