VoIP的安全問題主要集中在SIP和RTP協(xié)議上,由于無線網(wǎng)絡(luò)的加入,以及對無線網(wǎng)絡(luò)安全管理的缺乏,安全問題更加突出。如果對VoWiFi系統(tǒng)中不增強(qiáng)對安全的鑒權(quán)和對數(shù)據(jù)的保密,將會(huì)對系統(tǒng)造成很大的威脅,本文分析了幾種安全上的潛在的威脅和存在的攻擊的方式:竊聽(Eavesdropping)和嗅探(Sniffing)VoIP呼叫,中間人(ManintheMiddle)攻擊,拒絕服務(wù)(Denial of Service)攻擊,呼叫中斷(Call Interruption)和建立錯(cuò)誤呼叫等,這些普遍存在于無線局域網(wǎng)當(dāng)中的威脅。
1簡介
VoIP技術(shù)使得基于類似Internet這樣的數(shù)據(jù)網(wǎng)絡(luò)實(shí)現(xiàn)電話業(yè)務(wù)成為可能。與傳統(tǒng)電話業(yè)務(wù)相比,這種實(shí)現(xiàn)模式能夠提供更多的集成功能、更高的通信帶寬、更穩(wěn)定的通信質(zhì)量以及更靈活的管理能力,并能夠顯著降低成本。
2竊聽和嗅探
竊聽一個(gè)電話呼叫,并隨之轉(zhuǎn)發(fā)通信中的相關(guān)部分,這就是最明顯的一種對VoIP的一種攻擊,它可以通過很多技術(shù)漏洞對有線網(wǎng)絡(luò)發(fā)起中間人攻擊。例如利用ARP病毒強(qiáng)行攻擊SIP服務(wù)器,導(dǎo)致具有威脅性的第三方介入而使通話失敗。而在無線通信環(huán)境中,在沒有安全機(jī)制的保護(hù)下,VoIP更加容易受到攻擊。任何人只要有一臺(tái)電腦,合適的無線適配器,再加上一個(gè)竊聽軟件,很容易就能竊聽到WiFi網(wǎng)絡(luò)中的VoIP呼叫。
Etherea竊聽軟件可以在竊聽到的數(shù)據(jù)包中識(shí)別出其中的VoIP呼叫,利用SIP協(xié)議,甚至還可以從竊聽到的RTP數(shù)據(jù)包中恢復(fù)出語音流。Etherea竊聽軟件還可以用圖表的方式查看通信雙方的通話記錄。
更有甚者,Etherea竊聽軟件還可以從捕獲的包中識(shí)別出不同的RTP流,而后,從不同的包抽取出語音的內(nèi)容,重新恢復(fù)通話雙方的談話內(nèi)容并保存下來。
3中間人攻擊
在有線交換網(wǎng)絡(luò)中,中間人攻擊的對象大多是對網(wǎng)絡(luò)業(yè)務(wù)的嗅聽,根據(jù)802.11LAN中分享媒體網(wǎng)絡(luò)的定義,一旦你獲得了密碼,就可以竊聽所有在LAN中的數(shù)據(jù)包。在兩個(gè)無線主機(jī)之間一旦出現(xiàn)了這樣一個(gè)“中間人”,很容易就可以對業(yè)務(wù)流中發(fā)起攻擊。中間人對WLAN的攻擊集中在OSI模型中的第一層和第二層,對第一層的攻擊往往會(huì)干擾已經(jīng)存在的無線接入點(diǎn),這些干擾通常用特殊的干擾軟件來進(jìn)行,或者直接用垃圾業(yè)務(wù)來堵塞接入點(diǎn)信道。這些非法接入點(diǎn)的參數(shù)正是從合法接入點(diǎn)的參數(shù)那里獲取的。
第二層的攻擊主要集中在使用大量的偽造的結(jié)束連接或者結(jié)束鑒權(quán)幀進(jìn)行攻擊,使得正在與合法接入點(diǎn)聯(lián)接的目標(biāo)主機(jī)被刪除。這比簡單的信道干擾有效的多,有經(jīng)驗(yàn)的攻擊者往往把第一層第二層的攻擊結(jié)合起來,以獲得更好的效果。
攻擊者的目標(biāo)往往集中于介入到已存在的無線用戶和合法的接入點(diǎn)之間的傳輸通道中去。如果要攻擊某個(gè)目標(biāo),必須在相同的計(jì)算機(jī)上安裝無線適配器,我們能模擬下這個(gè)過程,我們使用適配器IPW2200b/g,和能夠與之相配的無線適配器DWL-G650,它能使IPW2200b/g成為一個(gè)接入點(diǎn),利用這個(gè)非法接入點(diǎn)來探測無線接入點(diǎn)的具體參數(shù)。驅(qū)動(dòng)程序Madwifi將會(huì)允許Dwl-G650的無線網(wǎng)卡工作在控制模式下,能建立實(shí)際的無線接口,并且還能使DWL-G650還能同時(shí)工作在不同的模式下。
當(dāng)兩個(gè)接入點(diǎn)的信號(hào)功率能夠估計(jì)時(shí),就可以發(fā)動(dòng)攻擊了。想要控制在合法接入點(diǎn)相應(yīng)信道中傳送的信號(hào)是非常困難的,非法節(jié)點(diǎn)通常侵入到不同的信道來增加攻擊的可能性。可以利用前面說到的方法,對OSI模型中的第一層和第二層進(jìn)行攻擊,它能大大削弱甚至刪除合法接入點(diǎn)的信號(hào)。
DWL-G650的網(wǎng)卡和Madwifi驅(qū)動(dòng)程序能建立兩個(gè)網(wǎng)絡(luò)邏輯接口,其中一個(gè)工作在監(jiān)控模式(ath0),另一個(gè)工作在操作模式(ath1),他們和合法接入點(diǎn)一起工作在channelno.1,IPW2200b/g的適配器(eth2)工作在channelno. 9,并經(jīng)由無線網(wǎng)卡配置(ESSID)成一個(gè)“默認(rèn)”的合法接入點(diǎn)。
除了DWL-G650,其他設(shè)備想要工作在不同的信道就必須駐留成為無線設(shè)備,這是因?yàn)橛蒑adwifi創(chuàng)造的邏輯接口不能工作在不同信道,除非它是在監(jiān)控模式下。
從上面命令序列中,命令“brctl”建立了一個(gè)以太網(wǎng)網(wǎng)橋,能夠與其他的以太網(wǎng)互聯(lián)。在命令的最后一行,描述了對“ath0”界面的配置和對aireplay軟件的使用,aireplay軟件通過“ath0”界面把偽造的結(jié)束幀框架強(qiáng)行插入到無線網(wǎng)絡(luò)中去,這會(huì)導(dǎo)致用戶無法連接到合法的接入點(diǎn),并且降低channelno.1的信號(hào)質(zhì)量。
有很多原因?qū)е禄九c非法接入點(diǎn)連接,并聯(lián)接到其他合法接入點(diǎn)中去。比如接入點(diǎn)都是工作在同一個(gè)信道內(nèi)的,最主要的原因是,大部分接入點(diǎn)的信號(hào)功率都是可以相互比較而獲得的,我們很難有足夠的設(shè)備來監(jiān)控合法接入點(diǎn)的信號(hào)。由于在ESSID中有存儲(chǔ)著很多的交換過的幀,只要把轉(zhuǎn)發(fā)信標(biāo)隱藏于ESSID中,就會(huì)導(dǎo)致網(wǎng)絡(luò)的不可用。一旦合法接入點(diǎn)中的信標(biāo)轉(zhuǎn)發(fā)幀被監(jiān)測到,只需要少量的偽造結(jié)束認(rèn)證幀,剛才提到的那些攻擊就會(huì)成倍的增加,即使合法接入點(diǎn)的信號(hào)功率要比非法接入點(diǎn)的高時(shí),也不例外。
這時(shí)正常的無線用戶無法通過channelno.1連接到網(wǎng)絡(luò)時(shí),就會(huì)搜索其他的信道。如果運(yùn)氣好的話,還能搜索到channelno. 9中,預(yù)先設(shè)置好參數(shù)的接入點(diǎn)還能使用。
在非法接入點(diǎn)連接到基站期間,合法接入點(diǎn)也在發(fā)送信標(biāo)幀,偽造的結(jié)束認(rèn)證幀必須插入到活動(dòng)的通信信道中去才能達(dá)到攻擊的效果。在無線基站之間,接入點(diǎn)之間的網(wǎng)橋,使得攻擊者很容易得檢測并發(fā)送任何形式得數(shù)據(jù)包到網(wǎng)絡(luò)中去,竊聽者已經(jīng)完全控制了基站間得VoIP業(yè)務(wù)流,用Linux下得Netfilter/iptables就可以輕松的過濾交換的數(shù)據(jù)包。
4DOS(拒絕服務(wù))攻擊
拒絕服務(wù)攻擊同樣威脅著VoIP,一個(gè)SIP無用信息就可能導(dǎo)致一項(xiàng)SIP業(yè)務(wù)(或者是一個(gè)用戶,或者是一個(gè)SIP服務(wù)器)的失效,這些都是顯而易見的缺陷,如果服務(wù)器沒有有效的機(jī)制來控制(有時(shí)只是簡單的忽略)這些錯(cuò)誤的信息,很容易成為被攻擊的目標(biāo)。
PROTOSSuiteTest軟件就能監(jiān)測用戶和SIP服務(wù)器的操作情況,檢查每一個(gè)PBX(Private Branch Exchange)執(zhí)行的命令。PROTOS利用SIP的底部消息,主要是INVITE命令,找出服務(wù)器及相關(guān)的SIP用戶中的缺陷。這個(gè)監(jiān)測軟件能轉(zhuǎn)發(fā)由Ad hoc生成的SIP消息,并在其中附加上一些錯(cuò)誤的語法,錯(cuò)誤的語法是系統(tǒng)中的異常因素,往往會(huì)導(dǎo)致無法接入的情況。
[page]
在捕捉了SIP呼叫中的SIPsetup消息,并找到SIP用戶之后,這個(gè)軟件就能很容易的尋找系統(tǒng)相應(yīng)的缺陷并發(fā)起攻擊。PROTOS主要針對的缺陷有以下幾個(gè):
ExpressTalkv.1.03:INVITE消息中包含Content-Lengh長度呈負(fù)值導(dǎo)致對系統(tǒng)的沖擊
CallConductorv.1.03:與Express Talk相同
X-Lite1103:INVITE消息中包含Content-Lengh長度等于或超過1073741823byte導(dǎo)致明顯的大量占用系統(tǒng)資源
如果掃到了描軟件電話和PBX的缺陷掃描,就能對基站和無線基站進(jìn)行攻擊了。使用相應(yīng)的Wifitap軟件后,你可以在不用和網(wǎng)絡(luò)直接聯(lián)接的情況下發(fā)起攻擊,它能讓你直接對與基站關(guān)聯(lián)的接入點(diǎn)寫入命令,“不要與基站相連接”、“不要與其他節(jié)點(diǎn)交互”。這時(shí),WiFi網(wǎng)絡(luò)中的通信業(yè)務(wù)已經(jīng)完全阻塞了。
5呼叫中斷攻擊
在呼叫過程中,發(fā)送前向的BYE消息,可立刻中斷呼叫。如果攻擊者要利用這個(gè)缺點(diǎn)攻擊,他首先必須想辦法獲得Call-Dialog中的Call-ID。Call-ID的作用是一組意義明確的標(biāo)識(shí)符,它存儲(chǔ)在呼叫雙方用戶代理撥號(hào)時(shí),所發(fā)送的請求和響應(yīng)的消息中。因此攻擊者會(huì)在會(huì)在呼叫建立時(shí)截取它,并用它來發(fā)起攻擊。
還可以使用CANCEL的方法來中斷呼叫,利用Pythonscript來實(shí)施攻擊,在控制模式下的無線接口建立一個(gè)端口。這個(gè)軟件可以捕獲SIP的呼叫建立,特別是其中的INVITE消息。當(dāng)攻擊者截獲了INVITE消息,自己建立了一個(gè)AdhocSIPCANCEL消息,其中包含的Call-ID與INVITE請求消息中的標(biāo)簽是完全一樣的。
偽造的CANCEL消息被插入到了無線信道里去。插入的數(shù)據(jù)包中包含的目的地址和源地址,無論從IP層或MAC層來看,都是和INVITE請求消息一樣的。
6建立錯(cuò)誤呼叫
攻擊者能創(chuàng)建一條SIPINVITE消息,分別發(fā)給呼叫雙方的用戶代理,在他們之間建立一次錯(cuò)誤的呼叫,這時(shí)被攻擊者根本無法察覺到有任何的異常。INVITE消息中包含了相同的Call-ID,Cseq以及帶寬參數(shù),但是兩條消息中的源地址和目的地址是被抹去了的。由于SDP協(xié)議的要求,INVITE消息中必須包含相同的關(guān)于語音編碼的要求信息,一個(gè)簡單的對RTP業(yè)務(wù)流的分析就能獲得相關(guān)的UDP端口值等信息。
在發(fā)送了兩份INVITE消息之后,被攻擊的設(shè)備開始振鈴和發(fā)送SIP180Ringing消息給發(fā)送出INVITErequest請求的對端,由于這次是一次非法的呼叫,設(shè)備不能識(shí)別,所以選擇了丟棄。當(dāng)用戶選擇了應(yīng)答呼叫,軟件電話發(fā)送SIP 200 OK的消息給它認(rèn)為是發(fā)送INVITE request的那一方,同樣的,這個(gè)消息也被丟棄。
當(dāng)攻擊者成功的捕獲了關(guān)于錯(cuò)誤呼叫(建立在有正確Call-ID的基礎(chǔ)上)的200OK的消息,就會(huì)對同樣的源地址和目的地址發(fā)送自己的INVITE請求。大部分的SIP軟件電話能至少同時(shí)處理三個(gè)呼叫,因此攻擊者也能在同一個(gè)WLAN同時(shí)對三個(gè)呼叫發(fā)起攻擊,至少能使一個(gè)呼叫失敗。這是因?yàn)椋琑TP的數(shù)據(jù)包將會(huì)發(fā)送到目的地,但是不會(huì)送到發(fā)起呼叫的一方,并且這個(gè)消息會(huì)被丟棄。這種攻擊會(huì)造成在網(wǎng)絡(luò)中同時(shí)存在多個(gè)SIP呼叫。即使持續(xù)時(shí)間很短,這些呼叫仍然會(huì)造成網(wǎng)絡(luò)的擁塞,如果情況一直持續(xù),所有的在配置好路由表中的終端都會(huì)無法呼叫。
7結(jié)論
為了解決這些安全隱患,必須用安全機(jī)制來保證通話的私密性和對數(shù)據(jù)的鑒權(quán),我們選擇的安全機(jī)制WPA標(biāo)準(zhǔn)是基于802.1x/EAP協(xié)議來鑒權(quán)。WPA系統(tǒng)的密碼標(biāo)準(zhǔn)能夠阻止VoIP呼叫被竊聽,呼叫建立信息被截取,從而提高系統(tǒng)的安全性。在數(shù)據(jù)鑒權(quán)方面,把鑒權(quán)服務(wù)器(RadiusServer)加到網(wǎng)絡(luò)的架構(gòu)中去。
盡管整個(gè)網(wǎng)絡(luò)有如此多的安全性問題,但VoIP技術(shù)把語音和數(shù)據(jù)結(jié)合起來的優(yōu)勢讓人無法拒絕,并且我們說明的發(fā)起攻擊的方式并不僅僅只針對與無線網(wǎng)絡(luò)連接的SIP協(xié)議,而是指向了整個(gè)網(wǎng)絡(luò),包括語音的通信,數(shù)據(jù)的交互,系統(tǒng)帶寬的飽和。大部分的攻擊的目標(biāo)都是指向系統(tǒng)固有的缺陷(例如,如果SIP服務(wù)器不能準(zhǔn)確的保證Call-ID的正確性,或者攻擊者有機(jī)會(huì)截取Call-ID)。
由于VoIP在價(jià)格上的優(yōu)勢,在很多企業(yè)內(nèi)部,使用軟件電話很容易就可以成為VoIP的用戶,這就把VoIP網(wǎng)絡(luò)(企業(yè)內(nèi)部網(wǎng)絡(luò))完全的暴露在攻擊者面前。隨著VoIP在無線網(wǎng)絡(luò)的拓展,通話的安全性和私密性問題更加突出。使用有效的安全機(jī)制(如內(nèi)含EAP的802.11i/AES)802.11i/AES作為安全性的保障十分重要。