WLAN中VoIP的安全隱患
在捕捉了SIP呼叫中的SIPsetup消息,并找到SIP用戶之后,這個(gè)軟件就能很容易的尋找系統(tǒng)相應(yīng)的缺陷并發(fā)起攻擊。PROTOS主要針對(duì)的缺陷有以下幾個(gè):
ExpressTalkv.1.03:INVITE消息中包含Content-Lengh長(zhǎng)度呈負(fù)值導(dǎo)致對(duì)系統(tǒng)的沖擊
CallConductorv.1.03:與Express Talk相同
X-Lite1103:INVITE消息中包含Content-Lengh長(zhǎng)度等于或超過(guò)1073741823byte導(dǎo)致明顯的大量占用系統(tǒng)資源
如果掃到了描軟件電話和PBX的缺陷掃描,就能對(duì)基站和無(wú)線基站進(jìn)行攻擊了。使用相應(yīng)的Wifitap軟件后,你可以在不用和網(wǎng)絡(luò)直接聯(lián)接的情況下發(fā)起攻擊,它能讓你直接對(duì)與基站關(guān)聯(lián)的接入點(diǎn)寫入命令,“不要與基站相連接”、“不要與其他節(jié)點(diǎn)交互”。這時(shí),WiFi網(wǎng)絡(luò)中的通信業(yè)務(wù)已經(jīng)完全阻塞了。
5呼叫中斷攻擊
在呼叫過(guò)程中,發(fā)送前向的BYE消息,可立刻中斷呼叫。如果攻擊者要利用這個(gè)缺點(diǎn)攻擊,他首先必須想辦法獲得Call-Dialog中的Call-ID。Call-ID的作用是一組意義明確的標(biāo)識(shí)符,它存儲(chǔ)在呼叫雙方用戶代理?yè)芴?hào)時(shí),所發(fā)送的請(qǐng)求和響應(yīng)的消息中。因此攻擊者會(huì)在會(huì)在呼叫建立時(shí)截取它,并用它來(lái)發(fā)起攻擊。
還可以使用CANCEL的方法來(lái)中斷呼叫,利用Pythonscript來(lái)實(shí)施攻擊,在控制模式下的無(wú)線接口建立一個(gè)端口。這個(gè)軟件可以捕獲SIP的呼叫建立,特別是其中的INVITE消息。當(dāng)攻擊者截獲了INVITE消息,自己建立了一個(gè)AdhocSIPCANCEL消息,其中包含的Call-ID與INVITE請(qǐng)求消息中的標(biāo)簽是完全一樣的。
偽造的CANCEL消息被插入到了無(wú)線信道里去。插入的數(shù)據(jù)包中包含的目的地址和源地址,無(wú)論從IP層或MAC層來(lái)看,都是和INVITE請(qǐng)求消息一樣的。
6建立錯(cuò)誤呼叫
攻擊者能創(chuàng)建一條SIPINVITE消息,分別發(fā)給呼叫雙方的用戶代理,在他們之間建立一次錯(cuò)誤的呼叫,這時(shí)被攻擊者根本無(wú)法察覺(jué)到有任何的異常。INVITE消息中包含了相同的Call-ID,Cseq以及帶寬參數(shù),但是兩條消息中的源地址和目的地址是被抹去了的。由于SDP協(xié)議的要求,INVITE消息中必須包含相同的關(guān)于語(yǔ)音編碼的要求信息,一個(gè)簡(jiǎn)單的對(duì)RTP業(yè)務(wù)流的分析就能獲得相關(guān)的UDP端口值等信息。
在發(fā)送了兩份INVITE消息之后,被攻擊的設(shè)備開始振鈴和發(fā)送SIP180Ringing消息給發(fā)送出INVITErequest請(qǐng)求的對(duì)端,由于這次是一次非法的呼叫,設(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ì)對(duì)同樣的源地址和目的地址發(fā)送自己的INVITE請(qǐng)求。大部分的SIP軟件電話能至少同時(shí)處理三個(gè)呼叫,因此攻擊者也能在同一個(gè)WLAN同時(shí)對(duì)三個(gè)呼叫發(fā)起攻擊,至少能使一個(gè)呼叫失敗。這是因?yàn)?,RTP的數(shù)據(jù)包將會(huì)發(fā)送到目的地,但是不會(huì)送到發(fā)起呼叫的一方,并且這個(gè)消息會(huì)被丟棄。這種攻擊會(huì)造成在網(wǎng)絡(luò)中同時(shí)存在多個(gè)SIP呼叫。即使持續(xù)時(shí)間很短,這些呼叫仍然會(huì)造成網(wǎng)絡(luò)的擁塞,如果情況一直持續(xù),所有的在配置好路由表中的終端都會(huì)無(wú)法呼叫。
7結(jié)論
為了解決這些安全隱患,必須用安全機(jī)制來(lái)保證通話的私密性和對(duì)數(shù)據(jù)的鑒權(quán),我們選擇的安全機(jī)制WPA標(biāo)準(zhǔn)是基于802.1x/EAP協(xié)議來(lái)鑒權(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ò)有如此多的安全性問(wèn)題,但VoIP技術(shù)把語(yǔ)音和數(shù)據(jù)結(jié)合起來(lái)的優(yōu)勢(shì)讓人無(wú)法拒絕,并且我們說(shuō)明的發(fā)起攻擊的方式并不僅僅只針對(duì)與無(wú)線網(wǎng)絡(luò)連接的SIP協(xié)議,而是指向了整個(gè)網(wǎng)絡(luò),包括語(yǔ)音的通信,數(shù)據(jù)的交互,系統(tǒng)帶寬的飽和。大部分的攻擊的目標(biāo)都是指向系統(tǒng)固有的缺陷(例如,如果SIP服務(wù)器不能準(zhǔn)確的保證Call-ID的正確性,或者攻擊者有機(jī)會(huì)截取Call-ID)。
由于VoIP在價(jià)格上的優(yōu)勢(shì),在很多企業(yè)內(nèi)部,使用軟件電話很容易就可以成為VoIP的用戶,這就把VoIP網(wǎng)絡(luò)(企業(yè)內(nèi)部網(wǎng)絡(luò))完全的暴露在攻擊者面前。隨著VoIP在無(wú)線網(wǎng)絡(luò)的拓展,通話的安全性和私密性問(wèn)題更加突出。使用有效的安全機(jī)制(如內(nèi)含EAP的802.11i/AES)802.11i/AES作為安全性的保障十分重要。
評(píng)論