6 建立错误呼叫
攻击者能创建一条SIP INVITE 消息,分别发给呼叫双方的用户代理,在他们之间建立一次错误的呼叫,这时被攻击者根本无法察觉到有任何的异常。INVITE消息中包含了相同的Call-ID ,Cseq以及带宽参数,但是两条消息中的源地址和目的地址是被抹去了的。由于SDP协议的要求,INVITE消息中必须包含相同的关于语音编码的要求信息,一个简单的对RTP业务流的分析就能获得相关的UDP端口值等信息。
在发送了两份INVITE消息之后,被攻击的设备开始振铃和发送SIP 180 Ringing消息给发送出INVITE request请求的对端,由于这次是一次非法的呼叫,设备不能识别,所以选择了丢弃。当用户选择了应答呼叫,软件电话发送SIP 200 OK的消息给它认为是发送INVITE request的那一方,同样的,这个消息也被丢弃。
当攻击者成功的捕获了关于错误呼叫(建立在有正确Call-ID的基础上)的200 OK的消息,就会对同样的源地址和目的地址发送自己的INVITE请求。大部分的SIP软件电话能至少同时处理三个呼叫,因此攻击者也能在同一个WLAN同时对三个呼叫发起攻击,至少能使一个呼叫失败。这是因为,RTP的数据包将会发送到目的地,但是不会送到发起呼叫的一方,并且这个消息会被丢弃。这种攻击会造成在网络中同时存在多个SIP呼叫。即使持续时间很短,这些呼叫仍然会造成网络的拥塞,如果情况一直持续,所有的在配置好路由表中的终端都会无法呼叫。[Page]
7 结论
为了解决这些安全隐患,必须用安全机制来保证通话的私密性和对数据的鉴权,我们选择的安全机制WPA标准是基于802.1 x/EAP协议来鉴权。WPA系统的密码标准能够阻止VoIP呼叫被窃听,呼叫建立信息被截取,从而提高系统的安全性。在数据鉴权方面,把鉴权服务器(Radius Server)加到网络的架构中去。
尽管整个网络有如此多的安全性问题,但VoIP技术把语音和数据结合起来的优势让人无法拒绝,并且我们说明的发起攻击的方式并不仅仅只针对与无线网络连接的SIP协议,而是指向了整个网络,包括语音的通信,数据的交互,系统带宽的饱和。大部分的攻击的目标都是指向系统固有的缺陷(例如,如果SIP服务器不能准确的保证Call-ID的正确性,或者攻击者有机会截取Call-ID)。
由于VoIP在价格上的优势,在很多企业内部,使用软件电话很容易就可以成为VoIP的用户,这就把VoIP网络(企业内部网络)完全的暴露在攻击者面前。随着VoIP在无线网络的拓展,通话的安全性和私密性问题更加突出。使用有效的安全机制(如内含EAP的802.11i/AES)802.11i/AES作为安全性的保障十分重要。
VoIP的安全问题主要集中在SIP 和RTP协议上,由于无线网络(802.11b)的加入,以及对无线网络安全管理的缺乏,安全问题更加突出。如果对VoWiFi系统中不增强对安全的鉴权和对数据的保密,将会对系统造成很大的威胁,本文分析了几种安全上的潜在的威胁和存在的攻击的方式:窃听(Eavesdropping)和嗅探(Sniffing)VoIP呼叫,中间人(Man in the Middle)攻击,拒绝服务(Denial of Service)攻击,呼叫中断(Call Interruption)和建立错误呼叫等,这些普遍存在于无线局域网当中的威胁。