恶意节点在接收到一个数据包后,除了丢弃该数据包外,还可能通过修改源和目的地址,选择一条错误的路径发送出去,从而导致网络的路由的混乱。如果恶意的节点将收到的数据包全部转向网络中的某一个固定节点,该节点可能会通信阻塞和能量耗尽而失效。
这种攻击方式与网络层协议相关。对于层次式路由协议,可以使用输出过滤的方法,即对源路由进行认证,确认一个数据包是否是从它的合法子节点发送过来的,直接丢弃不能认证的数据包。
2.选择性转发/不转发
恶意节点在转发数据包过程中丢弃部分或全部数据包,使得数据包不能到达目的节点。另外恶意节点也可能将自己的数据包以很高的优先级发送,破坏网络通信秩序。
通常采用多径路由来解决这个问题。即使恶意节点丢弃了数据包,数据包仍然可以通过其它的路径到达到目的节点。虽然多径路由方式增加了数据传输的可靠性,但是也引入了新的安全问题。
3.贪婪转发
即黑洞(sinkhole)攻击。攻击者利用收发能力强的特点吸引一个特定区域的几乎所有流量,创建一个以攻击者为中心的槽洞。基于距离向量的路由机制通过计算路径长短进行路由选择,这样收发能力强的恶意节点通过发送0距离(表明自己到达目标节点的距离为0)公告,吸引周围节点所有的数据包,在网络中形成一个路由黑洞,使数据包不能到达正确的目标节点。
黑洞攻击破坏性大,但较易被感知。通过认证、多路径路由等方法可以抵御黑洞攻击。
4.Sybil攻击[4]
在Sybil攻击中,一个节点以多个身份出现在网络中的其它节点面前,使其更易于成为路由路径中的节点,然后与其他攻击方法结合达到攻击目的。Sybil攻击能够明显地降低路由方案对于诸如分布式存储、分散和多路径路由、拓扑结构保持的容错能力。它对于基于位置信息的路由协议构成很大的威胁。这类位置敏感的路由为了高效地为用地理地址标识的包选路,通常要求节点与它们的邻居交换坐标信息。一个节点对于相邻节点来说应该只有唯一的一组合理坐标,但攻击者可以同时处在不同的坐标上。
对抗Sybil攻击,通常采用基于密钥分配、加密和身份认证等方法。
5.Wormholes攻击
Wormholes攻击通常需要两个恶意节点互相串通,合谋攻击。一个恶意节点在基站附近,另一个离基站较远。较远的节点声称自己和基站附近的节点可以建立低时延高带宽的链路,吸引周围节点的数据包。Wormholes攻击很可能与选择性转发或Sybil攻击相结合。当它与Sybil攻击相结合的时候,通常很难探测出。
在路由设计中加入安全等级策略可对抗wormholes攻击。文献[5]中给出了Ad hoc网络路由设计中添加安全等级的方法,可对之稍作改进,采用基站来完成监听和检测下一个节点信道的任务。改进后的路由协议可对抗sinkhole和wormhole攻击。基于地理位置类的路由协议,如Greedy Perimeter Stateless Routing[6],通过定期广播探测帧来检测黑洞区域,可有效地发现和抵御sinkhole攻击和wormholes攻击。
6.HELLO flood
很多路由协议需要节点定时发送HELLO包,以声明自己是其他节点的邻居节点。攻击者用足够大的发射功率广播HELLO包,使得网络中所有节点认为其是邻居节点,实际上却相距甚远。如其他节点以普通的发射功率向它发送数据包,则根本到达不了目的地,从而造成网络混乱。
在路由设计中加入广播半径的限制可对抗HELLO flood。限制节点的数据发送半径,使它只能对这个半径区域内的节点发送数据,而不是对全网广播,避免高能的攻击者在整个网络区域不断发送数据包,使得网络节点不停地处理这些数据,造成DOS和能源耗尽攻击。
2.4 传输层
传输层用于建立WSN与Internet或者其他外部网络的端到端的连接。目前在WSN大多数应用中,都没有对于传输层的需求,传输层协议一般采用传统网络协议。
2.5 应用层
应用层提供了WSN的各种实际应用,因此也面临各种安全问题。密钥管理和安全组播为整个WSN的安全机制提供了安全支撑。
WSN中采用对称加密算法、低能耗的认证机制和hash函数。目前普遍认为可行的密钥分配方案是预分配,即在节点在部署之前,将密钥预先配置在节点中。实现方法有多种:
基于密钥池的预配置方案。每个节点在部署前,从事先生成的密钥池中随机选取一定数目的密钥子集,节点部署到指定区域后,只与具有相同密钥的节点通信。
基于多项式的预配置方案。由C Blundo等人提出 [7],能有效地抵御节点被捕获,扩展性强,但计算开销大,也不支持邻居节点的身份认证。
利用节点部署信息的预配置方案。文献[8,9]均是将节点按照地理位置关系分组,给处于相同组或是相邻组的节点之间分配共享密钥,使节点的分组模式和查询更符合节点广播特征,提高密钥利用率,减少了密钥分配和维护代价。
4 结论
作为一种新的信息获取和处理技术,WSN在某些领域有着传统技术不可比拟的优势,但由于传感器网络和节点自身的一些限制,给它的安全性设计带来新的挑战。高效加密算法、安全的MAC协议和路由协议以及密钥管理和安全组播等都是值得深入研究的领域。
本文作者创新点在于从WSN协议栈的不同层次上探讨了安全性问题,对物理层的拥塞攻击提出了扩频的方法,以及完善传感器节点以对抗物理破坏。链路层的DOS攻击,可采用纠错码、访问控制和限制重传等抵御方法。网络层的路由协议中增加安全机制,可采用层次路由、多径传输、安全等级和广播半径限制等方法。密钥管理和安全组播为整个WSN提供了安全支撑