即使是為了達(dá)到同一個目的,VoIP與傳統(tǒng)的電話相比擁有完全不同的體系結(jié)構(gòu)。在VoIP網(wǎng)絡(luò)中語音和信號是混合的并且和正常的數(shù)據(jù)一樣在局域網(wǎng)、廣域網(wǎng)或者互聯(lián)網(wǎng)上傳播,而在傳統(tǒng)的電話網(wǎng)中每一個會話維持一個私有的、物理的電路,并且獨(dú)占信道。VoIP語音是一種普通的IP數(shù)據(jù),但就服務(wù)的質(zhì)量和實(shí)用性來說它與傳統(tǒng)電話是沒有區(qū)別的。
隨著技術(shù)的不斷發(fā)展,VoIP面臨著許多新的安全風(fēng)險(xiǎn)而且遭受攻擊的機(jī)率也大大增加。由于網(wǎng)絡(luò)和電話的特點(diǎn),VoIP將遭受到來自全方位的安全問題。傳統(tǒng)電話的安全問題包括信令攻擊、盜用電話線路,相應(yīng)于VoIP網(wǎng)絡(luò)則是對特定協(xié)議進(jìn)行攻擊。他們的主要目的只有一個:欺騙。從物理層到應(yīng)用層,都與VoIP的安全問題相關(guān)。在安全性和可靠性不高的互聯(lián)網(wǎng)上傳輸語音數(shù)據(jù)更是增加了遭受攻擊的可能性,并且會導(dǎo)致更多的攻擊行為。
Voice over IP特性
當(dāng)研究VoIP安全的時候,許多人往往把它和一般的網(wǎng)絡(luò)應(yīng)用等同起來處理,這種普遍的現(xiàn)象實(shí)際上是非常錯誤的。他們并沒有認(rèn)識到VoIP與其他網(wǎng)絡(luò)應(yīng)用的本質(zhì)區(qū)別——VoIP的時間敏感性。
VoIP對技術(shù)的要求非?量。它不僅對時延特性要求敏感而且要求具有一個能夠充分保證服務(wù)質(zhì)量的有效機(jī)制。當(dāng)時延超過150ms或者丟包率超過3%時,通話質(zhì)量就會大大受到影響。此外,再加上擁塞等一些不可預(yù)見性的因素,因此我們可以推斷出VoIP最大的脆弱性就在于:對干擾具有高度的敏感性。
廣為人知的拒絕服務(wù)攻擊(DoS)就是一種干擾類型攻擊。針對VoIP的攻擊(例如大量發(fā)送經(jīng)過特殊構(gòu)造的數(shù)據(jù)包)將使VoIP設(shè)備產(chǎn)生拒絕服務(wù)。當(dāng)SIP電話終端處理大流量的數(shù)據(jù)時可能會造成系統(tǒng)的停止響應(yīng)或崩潰。
Voice over IP體系結(jié)構(gòu)
VoIP技術(shù)使用和標(biāo)準(zhǔn)電話通信相似的兩種類型的協(xié)議,即信令協(xié)議和媒體傳輸協(xié)議。目前,在全球范圍內(nèi)廣泛使用的VoIP結(jié)構(gòu)有兩種,它們分別是H.323結(jié)構(gòu)和SIP結(jié)構(gòu)。
H.323是國際電信同盟(ITU)為在基于數(shù)據(jù)包的網(wǎng)絡(luò)上傳輸音頻和視頻而制定的一種標(biāo)準(zhǔn)。H.323實(shí)際上是一種封裝標(biāo)準(zhǔn),它對H.225,H.245等標(biāo)準(zhǔn)進(jìn)行了封裝,每種協(xié)議都在呼叫建立的過程中扮演特定的角色。H.323使用RTP協(xié)議作為標(biāo)準(zhǔn)的媒體傳輸協(xié)議。H.323定義了四種邏輯組成部分:終端、網(wǎng)關(guān)、關(guān)守(gatekeeper)和多點(diǎn)控制單元(MCU)。
SIP是Internet工程工作小組(IETF)為發(fā)起雙向的通信會話而建立的協(xié)議。它是一種應(yīng)用層控制協(xié)議,用于和一個或多個參與者創(chuàng)建、修改和終止會話。SIP是基于文本的,并且結(jié)構(gòu)與HTTP相似?蛻魴C(jī)發(fā)出請求,并發(fā)送給服務(wù)器,服務(wù)器處理這些請求后給客戶機(jī)發(fā)送一個響應(yīng)。該請求與響應(yīng)形成一次事務(wù)。SIP可以運(yùn)行于TCP、UDP或者SCTP之上。
SIP網(wǎng)絡(luò)的結(jié)構(gòu)(參見圖1)與H.323的結(jié)構(gòu)不同。SIP網(wǎng)絡(luò)由端點(diǎn)、代理或者重定向服務(wù)器、定位服務(wù)器和注冊機(jī)組成。注冊機(jī)和定位服務(wù)器也可以同時運(yùn)行于代理服務(wù)器。
本文對VoIP安全威脅進(jìn)行討論的方法為分層的方法,采用分層的方法是基于以下兩點(diǎn)原因的考慮:首先,因?yàn)閷τ赥CP/IP協(xié)議棧和VoIP SIP協(xié)議體系結(jié)構(gòu)來說有些層可以看成是相似的。SIP會話初始階段和TCP的三次握手就具有很強(qiáng)的相似性,這在許多專業(yè)的文獻(xiàn)中經(jīng)常被引用例如文獻(xiàn)[7]。其次,采用基于源的分層方法可以迅速地找到安全威脅的解決方案,將攻擊限制在特定的層結(jié)構(gòu)中以便將初始解決方案的搜索空間縮小到該層,因此尋找問題的答案更加容易。通常來說,起源于某一層的問題可以在該層內(nèi)找到解決的方案。下面的內(nèi)容將集中討論兩個VoIP層:信令協(xié)議層和傳輸協(xié)議層。
基于SIP的拒絕服務(wù)攻擊
拒絕服務(wù)(DoS)是一種使得計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)無法向用戶提供服務(wù)的攻擊行為,一般通過消耗目標(biāo)網(wǎng)絡(luò)的帶寬或目標(biāo)系統(tǒng)的計(jì)算資源從而使網(wǎng)絡(luò)鏈接或服務(wù)失效。DoS攻擊可以通過很多方式進(jìn)行實(shí)施,下面列舉了三種基本的攻擊形式:
a.消耗計(jì)算資源,例如:帶寬、磁盤空間、或者CPU。
b.破壞配置信息,例如:路由信息。
c.破壞物理網(wǎng)絡(luò)部件。
1)SIP炸彈
這種攻擊向目標(biāo)VoIP系統(tǒng)發(fā)送大量偽造的SIP信息,而IP電話對有效性問題非常敏感。對大量偽造的SIP信息進(jìn)行譯碼和解釋將需要分配大量的計(jì)算資源。因?yàn)榇蟛糠值南到y(tǒng)資源都用于處理偽造的信息,正常數(shù)據(jù)的處理速度將會非常低并且整個VoIP通話的性能將會遭到巨大的衰減。
2)SIP-Cancel/Bye 拒絕服務(wù)攻擊
這兩種攻擊在某些情況下非常相似:攻擊者一旦檢測到目標(biāo)主機(jī)與另外一個主機(jī)建立了SIP/VoIP會話就向目標(biāo)用戶發(fā)送一個偽造的SIP信息。圖2解釋了這種類型的拒絕服務(wù)攻擊。
與SIP-CANCEL相反,SIP-BYE可以在VoIP會話開始后的任何時間發(fā)送。因此,有效的攻擊時間窗口就是整個會話時間。
但是在現(xiàn)實(shí)中這兩種攻擊方法很難實(shí)現(xiàn),主要原因有以下兩點(diǎn):
a.攻擊時機(jī)監(jiān)測:這兩種攻擊都是基于目標(biāo)的特定行為的,因此成功的攻擊必須與目標(biāo)的行為同步。
b.報(bào)頭復(fù)制:成功的攻擊必須能夠?qū)IP會話的原始報(bào)頭復(fù)制到CANCEL/BYE報(bào)文中以使其成為合法的報(bào)文。
基于SIP攻擊的解決方案
以上描述的所有攻擊都依賴于篡改和構(gòu)造欺騙性的SIP信息。如果沒有數(shù)字簽名或加密措施的保護(hù)的話,標(biāo)準(zhǔn)的SIP信息就會很容易偽造。
為了避免遭受這種攻擊,有效的解決方案是防止SIP的內(nèi)容被篡改,攔截,并且采用高度的加密和認(rèn)證機(jī)制。以下兩種解決方案為比較常用的方法:
1)使用TLS
在SIP的RFC中為了保護(hù)SIP信息采用將TLS(傳輸層安全)加入到代理服務(wù)器,重定向服務(wù)器和注冊機(jī)中的方法。TLS能夠保證SIP信息的完整性、私密性,它能夠?yàn)橥暾拿荑管理提供相互認(rèn)證和安全的密鑰分發(fā)機(jī)制。在SIP中使用TLS的要求是要有一個可靠的傳輸協(xié)議(基于TCP的SIP信令協(xié)議)。TLS不可以應(yīng)用于基于UDP的SIP信令協(xié)議。
2)使用IPsec
IPsec可以用于在網(wǎng)絡(luò)層為SIP報(bào)文提供加密服務(wù)。對于在SIP VPN下的SIP主機(jī)(SIP用戶代理),這種方法尤為適合。IPsec對所有基于UDP、TCP、和SCTP的SIP信令協(xié)議都起作用。IPsec可以用于為數(shù)據(jù)提供認(rèn)證,完整性和私密性并且支持端到端特性。在SIP的RFC中并沒有指定密碼管理機(jī)制,一種普遍接受的密鑰管理機(jī)制是Internet密鑰交換(IKE)。IKE協(xié)議能夠?yàn)镮Psec提供自動的密鑰交換和管理機(jī)制。
傳輸協(xié)議層
在SIP VoIP網(wǎng)絡(luò)中,基于傳輸層的威脅包括利用RTP/RTCP協(xié)議的弱點(diǎn)進(jìn)行的攻擊。它們依賴于沒有加密的RTP數(shù)據(jù)流。
竊聽
最簡單最易于實(shí)現(xiàn)的就是竊聽攻擊。竊聽是一種中途截獲并且讀取信息或通話而不被接收人察覺的行為。在VoIP中,竊聽使得攻擊者具有監(jiān)聽和記錄私密電話內(nèi)容的能力。人們通常會在電話中透露銀行卡賬號等重要信息,因此竊聽可以產(chǎn)生非常重要和意想不到的結(jié)果。在商業(yè)領(lǐng)域,竊聽也可以獲取重要的商業(yè)情報(bào)。
RTP使用標(biāo)準(zhǔn)的編碼方式對音頻進(jìn)行編碼,他的主要弱點(diǎn)在于使用過的編碼信息可以在每個RTP包的頭部找到。攻擊者截取VoIP媒體流之后對其進(jìn)行保存然后對RTP流進(jìn)行解碼便可以進(jìn)行竊聽。
RTP插入攻擊
這一類傳輸層攻擊的特征是攻擊者將帶有欺騙性的RTP包插入RTP流中。根據(jù)插入RTP包的形式不同,得到的結(jié)果也不相同。
1)SSRC沖突攻擊
一旦接收到兩個來自不同發(fā)送者的數(shù)據(jù)包但是卻具有相同的SSRC,RTP就會進(jìn)入沖突狀態(tài)。RTP的沖突處理機(jī)制很簡單:如果一個源發(fā)現(xiàn)另外一個源使用與他相同的SSRC,就必須發(fā)送RTCP BYE包然后再隨機(jī)選擇一個新的;如果接受者發(fā)現(xiàn)有兩個源發(fā)生碰撞,則它會保持其中一個的包而丟棄來自于另一個的包;兩個源會解決碰撞問題因此碰撞不會持續(xù)。
以下兩種DoS攻擊可以用來幫助理解RTP如何處理沖突:
a.當(dāng)攻擊者竊取其中一個對等點(diǎn)的SSRC后,將自己的RTP報(bào)文發(fā)送給另外一個對等點(diǎn)。接收者一旦接收到相同的SSRC,就選擇接收從單一源發(fā)送來的數(shù)據(jù)包。因此,攻擊者就可以有效地剔除一個VoIP用戶。
b.攻擊者向目標(biāo)主機(jī)發(fā)送帶有目標(biāo)自身的SSRC的RTP報(bào)文。目標(biāo)主機(jī)則被迫放棄當(dāng)前的RTP流而選擇一個新的,然后沖突釋放了SSRC。這使得所有目標(biāo)主機(jī)參與的會話都會產(chǎn)生中斷。
2)其他的SSRC操縱
SSRC操縱可以以更加復(fù)雜和創(chuàng)新的方式來實(shí)現(xiàn)。如果攻擊者知道其中一個對等點(diǎn)的SSRC,他就能夠用相同的SSRC和IP特性偽造報(bào)文,但是擁有比合法報(bào)文更高的時間戳和RTP序號值。在接收端RTP應(yīng)用將會首先處理攻擊者的數(shù)據(jù)包而丟棄合法的數(shù)據(jù)包,因?yàn)樗麄兊臅r間戳不合法并且更晚。這種攻擊使得虛假的內(nèi)容在真實(shí)的音頻內(nèi)容之前播放,這種攻擊也可以看作為一種拒絕服務(wù)攻擊。
基于RTP攻擊的解決方案
與一些基于SIP的攻擊的情況相同,大部分基于RTP的攻擊都依賴于偽造的欺騙性RTP包并將他們插入RTP中。要是沒有保護(hù)措施,可以認(rèn)為RTP是一種不安全的協(xié)議。如果攻擊者能夠截取到RTP包,那么偽造惡意的數(shù)據(jù)包并在合適的時候?qū)⑺麄儼l(fā)送出去只是微不足道的事。即使攻擊者無法獲取RTP流,只要攻擊者擁有對等點(diǎn)的一些信息,偽造欺騙性的RTP報(bào)文并且發(fā)動攻擊也并不是一件困難的事。
與SIP的情況相同,保護(hù)RTP流免受攻擊的解決方案就是引入加密機(jī)制和類似安全哈希的數(shù)字簽名。
結(jié)束語
目前VoIP安全的發(fā)展還處于初始階段,安全威脅和攻擊還有待于建立起一系列理論。但是在實(shí)踐中卻很難執(zhí)行,主要是因?yàn)橄嚓P(guān)基礎(chǔ)知識和攻擊檢測機(jī)會的缺乏。但是,隨著VoIP網(wǎng)絡(luò)數(shù)量的不斷壯大,攻擊者必將對這一新興的技術(shù)產(chǎn)生興趣。選擇分層的方法進(jìn)行分析強(qiáng)調(diào)了消除威脅的解決方案,而且當(dāng)新的攻擊模型出現(xiàn)時能夠更有效地對其進(jìn)行定義。
計(jì)算機(jī)與信息技術(shù)