王静 杨海迎 王振寰
云南师范大学信息学院 云南 650092
无线传感器网络(Wireless Sensor Networks, WSN)是一种由大量微小的集成(包括传感器、数据处理单元和短距离无线通信模块)的节点组成的以数据为中心的无线组织网络。它是一种全新的信息获取和处理技术,能够协作的实时监测、感知和采集网络分布区域内的各种环境或检测对象的信息。与传统网络相比,WSN大规模、随机布设、多跳通信方式、自组织和协同工作等特点使得它在军事、工业、家居、环境等诸多领域都有着广阔的应用前景。随着对 WSN的深入研究和广泛应用,其安全性已受到了研究人员的普遍重视。
由于WSN节点间通过多跳转发机制进行数据通信,所有节点都处于平等地位,每个节点兼备路由器和主机两种功能,不但执行自己的应用任务,还要参与路由的发现、维护,以及网络的组织构建。因此,路由安全已成为无线传感器网络安全研究的热点之一。
WSN中,大量的节点密集地分布在一个区域里,数据通过多跳广播的方式进行传输,由于传感器网络的动态性,没有固定基础结构,每一个节点都是潜在的路由节点,没有受到保护的路由信息很容易遭受多种形式的攻击。根据恶意节点对路由的破坏性,可以将它对路由的攻击分为主动式攻击和被动式攻击。在被动是攻击中,恶意节点只是通过侦听网络获取通信中的机密信息,并不破坏网络正常运行和路由协议的执行,这种攻击破坏性较小。而主动式攻击是主动改变通信数据,增加网络的负担,破坏网络操作或使某些节点不能有效的使用网络中的服务,这种攻击危害较大。传感器网络中的路由攻击主要有以下几种。
通过欺骗、篡改和重发路由信息,攻击者可以创建路由环,吸引或者拒绝网络信息流通量,延长或者缩短路由路径,形成虚假错误信息,以分割网络,增加端到端的时延。
在污水坑攻击中,攻击者发送虚假路由通告,表示通过部分俘虏节点的路径是一条高效路由路径,这样,攻击者周围的每个邻居节点很可能乐意把数据包交给攻击者转发,并且还向各自的邻居节点传播这个颇具吸引力的路由消息,使得俘虏节点成为网络中的一个污水坑。攻击者的目标是吸引几乎所有的数据流通过俘虏节点转发,这样,攻击者可以伪造数据包源地址和目的地址,以任意合法节点的名义发送虚假信息,重定向网络数据流,同时也易于实现选择转发攻击。
在 Sybil攻击中,攻击者对网络中的其他节点以多个身份出现。这使攻击者具有更高的概率被其他节点选作下一跳目标,并能结合其他的攻击方法破坏网络。这种攻击方式降低了诸如分布式存储路由、分散路由和多路径路由等具有容错功能的路由方案的容错效果,攻击还给基于位置信息的路由协议造成了很大的威胁。位置感知路由协议通常需要节点与其邻近节点交换坐标信息,从而有效地发送标有指定地址的数据包。一般情况,节点仅从与其相邻的节点接收惟一的一组坐标值,但是使用 Sybil攻击的攻击者可以“同时拥有多个位置的坐标”。事实上,这种攻击对基于投票的网络数据融合策略的危害也很大。
在虫洞攻击中,如图所示,通常需要两个恶意节点相互串通,合谋进行攻击。一般情况下,一个恶意节点位于基站附近,另一个恶意节点离基站较远。这样,两个节点间可以通过攻击者隧道传输消息。在一个端节点所在的网络近域中收到的消息通过隧道传输后,及时地在另一端节点所在的网络近域里被重放。因此,一个在多跳以外的恶意节点可以假冒成为其他节点的一两跳距离邻居。值得注意的是,无需任何加密密钥信息即可发起这种攻击。
虫洞攻击可导致污水坑攻击:一个远离基站的恶意节点,由于存在一条通往基站附近的隧道,因此可声称自己就在基站附近,可以和基站建立低时延高带宽的链路,以重定向或控制网络数据流,发起污水坑攻击。另外,虫洞攻击可以使两个远离的节点相信他们自己是通信邻居,这样可能会严重扰乱通信。
Hello泛洪攻击是一种新型的针对传感器网络的攻击方法。在许多协议中,节点需要通过广播Hello报文来声明自己是其他节点的邻居节点,而收到该Hello报文的节点则会假定自身处在发送者正常无线传输范围内,但当一个较强的恶意节点以大功率广播Hello包时,距离较远的合法节点也会收到此包,这些节点会认为这个恶意节点是他们的邻居。在以后的路由中,这些节点很可能会使用这条到恶意节点的路径,而向恶意节点发送数据包。事实上,由于这些节点离恶意节点距离较远,以普通的发射功率传输的数据包根本到不了目的地。这将使得网络处于混乱状态,导致网络不能正常运行。
一些传感器网络路由算法依赖于潜在的或者明确的链路层确认。在 ACK欺骗中,攻击者可借助链路层确认包欺骗邻居节点。发起这种攻击的目的包括:使发送者相信一个弱链路是健壮的,或者是相信一个原本已经失效死掉的节点还活着可用。因为沿着弱连接或者失效链接发送的包会发生丢失,这样攻击者可以强化发送者沿着这些链路传输数据包,从而发起DoS攻击。
与有线网络甚至和Ad hoc网络相比,传感器网络中网络流模型种类很少,通常包括:从基站到节点传输的命令流;从节点到基站的数据流;以及一些和簇头节点选举或数据融合相关的局部通信。攻击者通过侦听通信,可以发起流量分析攻击,试图从诸如数据包头、数据流模式、路由协商信息等方面发现那些为网络提供关键服务的节点(诸如簇头节点,密钥管理节点、甚至基站或靠近基站的节点等)位置,然后重点发动其他攻击,谋求更大攻击利益。
受攻击者控制的恶意节点收到数据包后,可以再简单的丢掉部分数据包后再做转发,必然这样导致数据包不能正确到达目的地,成功扰乱正常的网络功能。由于正常节点也可能时不时因某种原因如拥塞或冲突出现丢包现象,因此恶意节点的异常行为很难被区分处理。不难想象,当攻击者确定自身就在数据流传输路径中时,攻击是最有效的。攻击者对感兴趣的数据流实施阻塞也可达到同样的攻击目的。
为了保证无线传感器网络在存在恶意节点的情况下,从源端到目的端的路由发现功能正常,所有的无线传感器网络路由安全协议必须满足以下的条件:路由发现过程中,孤立未授权节点;敌人不能获得网络的拓扑结构;对攻击者发起的造成路由环的路由欺骗免疫;识别伪造的路由消息;未授权接点不能更改路由信息。为了提供无线传感器网络路由安全,需要解决以下的问题:为无线传感器网络提供低计算和通信开销的认证机制;安全路由发现;路由维护;隔离错误通信链路;预防路由错误;预防泛洪攻击等。
对路由面临的攻击和威胁,采用有效的密钥管理技术,对节点间的通信实施加密,以增大路由的安全性。Newsome J 等人就应用对称密钥管理技术,提出了针对 Sybil 攻击的防御方案。该方案首先对Sybil 攻击进行定义和分类,把攻击类型分为直接通信和非直接通信、虚构认证和偷窃认证、模仿和非模仿等;针对攻击目标又分为分布式存储、路由、数据融合、投票、公正资源分配、误行为检测等。然后在每个节点与一个可信赖的基站之间建立惟一的对称密钥,两个节点之间使用一个像Needham - Schroeder 样的协议进行身份认证并且建立一个共享密钥,相邻节点使用产生的共享密钥对它们之间的连接实现加密。虽然一个入侵者仍能利用一个Wormhole 在两个节点间建立一个虚假的连接使它们确信它们是邻居,但是入侵者将不能窃听或修改在它们之间的任何将来的连接信息。
此安全方案设计方便,针对性强,但是安全措施仅采用对称密钥,整个网络易受到攻击;另外把安全性作为主要设计目标,而忽略了能耗问题。
理想状态下,如果我们知道遭受到某种确定的攻击,正确的对策或许有用。然而,由于噪声和动态环境的影响,在传感器网络中,攻击和错误很难被检测,并正确区分。同时,由于网络冗余特点,只要错误或攻击源被检测出来,遭受攻击的传感器网络仍然可以继续发挥其功能。因此,为在安全路由设计中降低节点安全操作能源损耗,提高网络生命周期,发展能够容忍攻击的路由协议,提高其抗攻击弹性非常必要。
(1)SPINS(Security Privacy In Sensor Network)协议
该协议旨在解决具有有限资源的无线传感器网络的安全通信问题。基本思路是先广播一个通过对称密钥K生成的数据包,在一个确定的时间后发送方公布该密钥,接收方负责缓存这个数据包直到相应的密钥被公开,这使得在密钥被公布之前,没有人能够得到认证密钥的任何消息,也就没有办法在广播数据包正确认证之前伪造出正确的广播数据包;在密钥公开后,接收方能够认证该数据包。即通过延迟对称密钥的公开来取得与非对称密钥近似的效果。它引入了SNEP 和μTESLA两个安全构件。SNEP协议通过在通信双方采用两个同步的计数器,并运用于加密和消息认证码(MAC,Message Authentication Code)计算中,从而获得了数据机密性(满足语义安全、数据认证、完整性、弱新鲜性及重放保护功能,并具有低通信开销(每个报文仅增加 8 Byte)。协议还通过发送者在请求报文中向接收者发送一个不重复随机数,并在接收者应答报文中的MAC计算中纳入该随机数,而实现了强新鲜性,可用于时间同步。可验证广播的实现需要非对称机制,否则,恶意节点就可以随意更改收到的消息。
(2)INSENS协议
INSENS是一个面向无线传感器网络的安全的入侵容忍路由协议。协议的设计思想主要有3点: 第一,在确定路由路径的时候,尽量绕过恶意节点,限制恶意节点的作用范围。第二,由于传感器节点的资源有限,而Sink的资源相对要丰富一些。所以尽量将计算、通信和存储方面的工作交给Sink来做,以减轻传感器节点的负担。第三,采用“双路径”的路由方法,即使在一条路由路径被攻击后还可以通过另外的路由路径进行通信。INSENS包含路由建立和数据转发两个阶段。路由建立主要是确定网络拓扑结构,选择合适的路由路径,数据转发则是处理节点和Sink之间的数据传输。它借鉴了 SPINS协议某些思想。例如,利用类似 SNEP的密码MAC来验证控制数据包的真实性和完整性,密码MAC是验证发送到基站的拓扑信息完整性的关键。它还利用μTESLA中单向散列函数链所实现的单向认证机制来认证基站发出的所有信息,这是限制各种拒绝服务攻击的关键。另外,该协议还通过每个节点只与基站共享一个密钥、丢弃重复报文、速率控制以及构建多路径路由等的方法,限制了洪泛攻击,并使得恶意节点所能造成的破坏被限制在局部范围,而不会导致整个网络的失效。除了通过采用对称密钥密码系统和单向散列函数这些低复杂度安全机制外,该协议还将诸如路由表计算等复杂性工作从传感节点转移到资源相对丰富的基站进行,以解决节点资源约束问题。尽管INSENS协议将破坏限制在入侵者周围及其下游区域,但是,当一个内部攻击者处在基站附近时,造成的破坏范围仍会很大。
上述这些安全路由协议一般采用加密和认证、多路径路由、身份认证、双向连接认证和认证广播等机制来有效抵御虚假路由信息、Sybil攻击和Hello泛洪攻击但这些措施只有在路由协议设计完成以前加人到协议中,才可能对攻击的抵御起到一定的作用,并且当发生内部攻击时,这些方案将起不到应有的作用,另外由于传感节点的物理安全得不到保障,路由协议容易遭到捕获攻击,单个节点的泄密甚至可能接管整个网络或阻碍全网的通信。入侵检测可以提供第二道防线来进行内部节点攻击的防御,这一方面的研究目前还不多见。
综上所述,无论是采用加密机制、增加安全机制的安全路由协议,还是提供入侵检测的安全防御方案,都要在复杂性、能量损耗和安全性等方面加以平衡,才能适合各种无线传感器网络的应用需求。
由于无线传感器网络自身的一些特点,为其安全路由的设计和实现带来了很多新的挑战。目前,无线传感器网络路由安全中还有一些尚未解决的问题:
抗流量分析攻击越来越重要,应该得到广泛的关注。重新设计传感器网络结构,以减少可被分析的脆弱性很重要。否则,特别是在敌对环境中部署和运行传感器网络将非常困难。
路由协议应具有容错性。由于WSNs节点容易发生故障或受到攻击,因此应尽量利用节点易获得的网络信息计算路由,以确保在路由出现故障或受到攻击时仍然能安全及时的将数据传送到目的地,保证数据传输的可靠性。如何利用大量低成本节点的集合来提供更为安全可靠的网络将是传感器网络安全研究的一个重要方向。入侵检测技术在传感器网络安全中的应用,对防御内部节点的攻击,显得十分重要。
[1]李晓维,徐勇军,任丰原等.无线传感器网络技术.北京理工大学出版社.
[2]范新运,王福豹,任丰原.无线传感器网络的路由协议[J].计算机测量与控制.2005.
[3]宋建华,马传香,何晓冰.无线传感器网络的路由攻击与防范[J].湖北大学学报.2007.
[4]付志威,叶晓慧,张海波.无线传感器网络安全威胁及对策[J].网络安全.2008.
[5]郑弋晖.无线传感器网络的安全研究[J].计算机安全技术.2008.
[6]覃伯平,周贤伟,杨军,宋存义.无线传感器网络的安全路由技术研究[J].传感技术学报.2006.
[7]张志,郑艳.无线传感器网络路由安全问题研究[J].软件导刊.2008.
[8]Adrian Perrig, Robert Szewczyk, Victor Wen, David Culler, J.D. Tygar. SPINS: Security Protocols for Sensor Networks.Mobile Computing and Networking.2001.
[9]Karlof C,Wagner D.Secure Routing in Wireless Sensor Networks:Attacks and Countermeasures.Elseviers’AdHoc Networks Journal.2003.[10]Newsome J, Shi E, Song D, et al. The Sybil Attack in Sensor Networks: Analysis & Defenses. In: Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks (IPSN’04).April.2004.