首頁(yè)>>>技術(shù)>>>VoIP

研究:基于分層方法的VoIP安全問(wèn)題

2007/12/26

  通信服務(wù)與IP網(wǎng)絡(luò)特別是Internet的結(jié)合,是一個(gè)伴隨著e-Mail、即時(shí)消息的產(chǎn)生而不斷發(fā)展的自然過(guò)程。VoIP——在包轉(zhuǎn)換的IP網(wǎng)絡(luò)上傳輸語(yǔ)音——是電信領(lǐng)域呈現(xiàn)的一個(gè)最重要的發(fā)展趨勢(shì)。VoIP網(wǎng)絡(luò)發(fā)展迅猛有兩個(gè)重要因素:從傳統(tǒng)的電話到VoIP網(wǎng)絡(luò)的轉(zhuǎn)變帶來(lái)成本的降低,而且允許將新的服務(wù)和應(yīng)用(視頻傳輸、會(huì)議,等等)加入到標(biāo)準(zhǔn)的電話服務(wù)中去。

  即使是為了達(dá)到同一個(gè)目的,VoIP與傳統(tǒng)的電話相比擁有完全不同的體系結(jié)構(gòu)。在VoIP網(wǎng)絡(luò)中語(yǔ)音和信號(hào)是混合的并且和正常的數(shù)據(jù)一樣在局域網(wǎng)、廣域網(wǎng)或者互聯(lián)網(wǎng)上傳播,而在傳統(tǒng)的電話網(wǎng)中每一個(gè)會(huì)話維持一個(gè)私有的、物理的電路,并且獨(dú)占信道。VoIP語(yǔ)音是一種普通的IP數(shù)據(jù),但就服務(wù)的質(zhì)量和實(shí)用性來(lái)說(shuō)它與傳統(tǒng)電話是沒(méi)有區(qū)別的。

  隨著技術(shù)的不斷發(fā)展,VoIP面臨著許多新的安全風(fēng)險(xiǎn)而且遭受攻擊的機(jī)率也大大增加。由于網(wǎng)絡(luò)和電話的特點(diǎn),VoIP將遭受到來(lái)自全方位的安全問(wèn)題。傳統(tǒng)電話的安全問(wèn)題包括信令攻擊、盜用電話線路,相應(yīng)于VoIP網(wǎng)絡(luò)則是對(duì)特定協(xié)議進(jìn)行攻擊。他們的主要目的只有一個(gè):欺騙。從物理層到應(yīng)用層,都與VoIP的安全問(wèn)題相關(guān)。在安全性和可靠性不高的互聯(lián)網(wǎng)上傳輸語(yǔ)音數(shù)據(jù)更是增加了遭受攻擊的可能性,并且會(huì)導(dǎo)致更多的攻擊行為。

  Voice over IP特性

  當(dāng)研究VoIP安全的時(shí)候,許多人往往把它和一般的網(wǎng)絡(luò)應(yīng)用等同起來(lái)處理,這種普遍的現(xiàn)象實(shí)際上是非常錯(cuò)誤的。他們并沒(méi)有認(rèn)識(shí)到VoIP與其他網(wǎng)絡(luò)應(yīng)用的本質(zhì)區(qū)別——VoIP的時(shí)間敏感性。

  VoIP對(duì)技術(shù)的要求非?量獭K粌H對(duì)時(shí)延特性要求敏感而且要求具有一個(gè)能夠充分保證服務(wù)質(zhì)量的有效機(jī)制。當(dāng)時(shí)延超過(guò)150ms或者丟包率超過(guò)3%時(shí),通話質(zhì)量就會(huì)大大受到影響。此外,再加上擁塞等一些不可預(yù)見(jiàn)性的因素,因此我們可以推斷出VoIP最大的脆弱性就在于:對(duì)干擾具有高度的敏感性。

  廣為人知的拒絕服務(wù)攻擊(DoS)就是一種干擾類型攻擊。針對(duì)VoIP的攻擊(例如大量發(fā)送經(jīng)過(guò)特殊構(gòu)造的數(shù)據(jù)包)將使VoIP設(shè)備產(chǎn)生拒絕服務(wù)。當(dāng)SIP電話終端處理大流量的數(shù)據(jù)時(shí)可能會(huì)造成系統(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是國(guó)際電信同盟(ITU)為在基于數(shù)據(jù)包的網(wǎng)絡(luò)上傳輸音頻和視頻而制定的一種標(biāo)準(zhǔn)。H.323實(shí)際上是一種封裝標(biāo)準(zhǔn),它對(duì)H.225,H.245等標(biāo)準(zhǔn)進(jìn)行了封裝,每種協(xié)議都在呼叫建立的過(guò)程中扮演特定的角色。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ā)起雙向的通信會(huì)話而建立的協(xié)議。它是一種應(yīng)用層控制協(xié)議,用于和一個(gè)或多個(gè)參與者創(chuàng)建、修改和終止會(huì)話。SIP是基于文本的,并且結(jié)構(gòu)與HTTP相似。客戶機(jī)發(fā)出請(qǐng)求,并發(fā)送給服務(wù)器,服務(wù)器處理這些請(qǐng)求后給客戶機(jī)發(fā)送一個(gè)響應(yīng)。該請(qǐng)求與響應(yīng)形成一次事務(wù)。SIP可以運(yùn)行于TCP、UDP或者SCTP之上。

  SIP網(wǎng)絡(luò)的結(jié)構(gòu)(參見(jiàn)圖1)與H.323的結(jié)構(gòu)不同。SIP網(wǎng)絡(luò)由端點(diǎn)、代理或者重定向服務(wù)器、定位服務(wù)器和注冊(cè)機(jī)組成。注冊(cè)機(jī)和定位服務(wù)器也可以同時(shí)運(yùn)行于代理服務(wù)器。

  本文對(duì)VoIP安全威脅進(jìn)行討論的方法為分層的方法,采用分層的方法是基于以下兩點(diǎn)原因的考慮:首先,因?yàn)閷?duì)于TCP/IP協(xié)議棧和VoIP SIP協(xié)議體系結(jié)構(gòu)來(lái)說(shuō)有些層可以看成是相似的。SIP會(huì)話初始階段和TCP的三次握手就具有很強(qiáng)的相似性,這在許多專業(yè)的文獻(xiàn)中經(jīng)常被引用例如文獻(xiàn)[7]。其次,采用基于源的分層方法可以迅速地找到安全威脅的解決方案,將攻擊限制在特定的層結(jié)構(gòu)中以便將初始解決方案的搜索空間縮小到該層,因此尋找問(wèn)題的答案更加容易。通常來(lái)說(shuō),起源于某一層的問(wèn)題可以在該層內(nèi)找到解決的方案。下面的內(nèi)容將集中討論兩個(gè)VoIP層:信令協(xié)議層和傳輸協(xié)議層。


(點(diǎn)擊看大圖)


  信令協(xié)議層

  該層是最重要并且是VoIP攻擊最多的層。許多源于這一層的攻擊可以利用最少的攻擊達(dá)到最大的攻擊效果。其中,最重要、最有效的攻擊如下。

  基于SIP的拒絕服務(wù)攻擊

  拒絕服務(wù)(DoS)是一種使得計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)無(wú)法向用戶提供服務(wù)的攻擊行為,一般通過(guò)消耗目標(biāo)網(wǎng)絡(luò)的帶寬或目標(biāo)系統(tǒng)的計(jì)算資源從而使網(wǎng)絡(luò)鏈接或服務(wù)失效。DoS攻擊可以通過(guò)很多方式進(jìn)行實(shí)施,下面列舉了三種基本的攻擊形式:

  a.消耗計(jì)算資源,例如:帶寬、磁盤空間、或者CPU。

  b.破壞配置信息,例如:路由信息。

  c.破壞物理網(wǎng)絡(luò)部件。

  1)SIP炸彈

  這種攻擊向目標(biāo)VoIP系統(tǒng)發(fā)送大量偽造的SIP信息,而IP電話對(duì)有效性問(wèn)題非常敏感。對(duì)大量偽造的SIP信息進(jìn)行譯碼和解釋將需要分配大量的計(jì)算資源。因?yàn)榇蟛糠值南到y(tǒng)資源都用于處理偽造的信息,正常數(shù)據(jù)的處理速度將會(huì)非常低并且整個(gè)VoIP通話的性能將會(huì)遭到巨大的衰減。

  2)SIP-Cancel/Bye 拒絕服務(wù)攻擊

  這兩種攻擊在某些情況下非常相似:攻擊者一旦檢測(cè)到目標(biāo)主機(jī)與另外一個(gè)主機(jī)建立了SIP/VoIP會(huì)話就向目標(biāo)用戶發(fā)送一個(gè)偽造的SIP信息。圖2解釋了這種類型的拒絕服務(wù)攻擊。


(點(diǎn)擊看大圖)


  有效的SIP-CANCLE攻擊應(yīng)該在INVITE發(fā)送之后并且在接收最后一個(gè)ACK之前發(fā)送。這對(duì)攻擊者的要求非常高?紤]到SIP-CANCLE拒絕服務(wù)攻擊的時(shí)間窗口非常小,我們可以推斷這種攻擊只有在目標(biāo)主機(jī)的本地網(wǎng)絡(luò)才會(huì)成功。在這種情況下,攻擊者一旦檢測(cè)到目標(biāo)主機(jī)接收到INVITE請(qǐng)求就向其發(fā)送CANCEL報(bào)文。攻擊者如何檢測(cè)該事件則超出本文討論范圍。

  與SIP-CANCEL相反,SIP-BYE可以在VoIP會(huì)話開始后的任何時(shí)間發(fā)送。因此,有效的攻擊時(shí)間窗口就是整個(gè)會(huì)話時(shí)間。

  但是在現(xiàn)實(shí)中這兩種攻擊方法很難實(shí)現(xiàn),主要原因有以下兩點(diǎn):

  a.攻擊時(shí)機(jī)監(jiān)測(cè):這兩種攻擊都是基于目標(biāo)的特定行為的,因此成功的攻擊必須與目標(biāo)的行為同步。

  b.報(bào)頭復(fù)制:成功的攻擊必須能夠?qū)IP會(huì)話的原始報(bào)頭復(fù)制到CANCEL/BYE報(bào)文中以使其成為合法的報(bào)文。

  基于SIP攻擊的解決方案

  以上描述的所有攻擊都依賴于篡改和構(gòu)造欺騙性的SIP信息。如果沒(méi)有數(shù)字簽名或加密措施的保護(hù)的話,標(biāo)準(zhǔn)的SIP信息就會(huì)很容易偽造。

  為了避免遭受這種攻擊,有效的解決方案是防止SIP的內(nèi)容被篡改,攔截,并且采用高度的加密和認(rèn)證機(jī)制。以下兩種解決方案為比較常用的方法:

  1)使用TLS

  在SIP的RFC中為了保護(hù)SIP信息采用將TLS(傳輸層安全)加入到代理服務(wù)器,重定向服務(wù)器和注冊(cè)機(jī)中的方法。TLS能夠保證SIP信息的完整性、私密性,它能夠?yàn)橥暾拿荑管理提供相互認(rèn)證和安全的密鑰分發(fā)機(jī)制。在SIP中使用TLS的要求是要有一個(gè)可靠的傳輸協(xié)議(基于TCP的SIP信令協(xié)議)。TLS不可以應(yīng)用于基于UDP的SIP信令協(xié)議。

  2)使用IPsec

  IPsec可以用于在網(wǎng)絡(luò)層為SIP報(bào)文提供加密服務(wù)。對(duì)于在SIP VPN下的SIP主機(jī)(SIP用戶代理),這種方法尤為適合。IPsec對(duì)所有基于UDP、TCP、和SCTP的SIP信令協(xié)議都起作用。IPsec可以用于為數(shù)據(jù)提供認(rèn)證,完整性和私密性并且支持端到端特性。在SIP的RFC中并沒(méi)有指定密碼管理機(jī)制,一種普遍接受的密鑰管理機(jī)制是Internet密鑰交換(IKE)。IKE協(xié)議能夠?yàn)镮Psec提供自動(dòng)的密鑰交換和管理機(jī)制。

  傳輸協(xié)議層

  在SIP VoIP網(wǎng)絡(luò)中,基于傳輸層的威脅包括利用RTP/RTCP協(xié)議的弱點(diǎn)進(jìn)行的攻擊。它們依賴于沒(méi)有加密的RTP數(shù)據(jù)流。

  竊聽(tīng)

  最簡(jiǎn)單最易于實(shí)現(xiàn)的就是竊聽(tīng)攻擊。竊聽(tīng)是一種中途截獲并且讀取信息或通話而不被接收人察覺(jué)的行為。在VoIP中,竊聽(tīng)使得攻擊者具有監(jiān)聽(tīng)和記錄私密電話內(nèi)容的能力。人們通常會(huì)在電話中透露銀行卡賬號(hào)等重要信息,因此竊聽(tīng)可以產(chǎn)生非常重要和意想不到的結(jié)果。在商業(yè)領(lǐng)域,竊聽(tīng)也可以獲取重要的商業(yè)情報(bào)。

  RTP使用標(biāo)準(zhǔn)的編碼方式對(duì)音頻進(jìn)行編碼,他的主要弱點(diǎn)在于使用過(guò)的編碼信息可以在每個(gè)RTP包的頭部找到。攻擊者截取VoIP媒體流之后對(duì)其進(jìn)行保存然后對(duì)RTP流進(jìn)行解碼便可以進(jìn)行竊聽(tīng)。

  RTP插入攻擊

  這一類傳輸層攻擊的特征是攻擊者將帶有欺騙性的RTP包插入RTP流中。根據(jù)插入RTP包的形式不同,得到的結(jié)果也不相同。

  1)SSRC沖突攻擊

  一旦接收到兩個(gè)來(lái)自不同發(fā)送者的數(shù)據(jù)包但是卻具有相同的SSRC,RTP就會(huì)進(jìn)入沖突狀態(tài)。RTP的沖突處理機(jī)制很簡(jiǎn)單:如果一個(gè)源發(fā)現(xiàn)另外一個(gè)源使用與他相同的SSRC,就必須發(fā)送RTCP BYE包然后再隨機(jī)選擇一個(gè)新的;如果接受者發(fā)現(xiàn)有兩個(gè)源發(fā)生碰撞,則它會(huì)保持其中一個(gè)的包而丟棄來(lái)自于另一個(gè)的包;兩個(gè)源會(huì)解決碰撞問(wèn)題因此碰撞不會(huì)持續(xù)。

  以下兩種DoS攻擊可以用來(lái)幫助理解RTP如何處理沖突:

  a.當(dāng)攻擊者竊取其中一個(gè)對(duì)等點(diǎn)的SSRC后,將自己的RTP報(bào)文發(fā)送給另外一個(gè)對(duì)等點(diǎn)。接收者一旦接收到相同的SSRC,就選擇接收從單一源發(fā)送來(lái)的數(shù)據(jù)包。因此,攻擊者就可以有效地剔除一個(gè)VoIP用戶。

  b.攻擊者向目標(biāo)主機(jī)發(fā)送帶有目標(biāo)自身的SSRC的RTP報(bào)文。目標(biāo)主機(jī)則被迫放棄當(dāng)前的RTP流而選擇一個(gè)新的,然后沖突釋放了SSRC。這使得所有目標(biāo)主機(jī)參與的會(huì)話都會(huì)產(chǎn)生中斷。

  2)其他的SSRC操縱

  SSRC操縱可以以更加復(fù)雜和創(chuàng)新的方式來(lái)實(shí)現(xiàn)。如果攻擊者知道其中一個(gè)對(duì)等點(diǎn)的SSRC,他就能夠用相同的SSRC和IP特性偽造報(bào)文,但是擁有比合法報(bào)文更高的時(shí)間戳和RTP序號(hào)值。在接收端RTP應(yīng)用將會(huì)首先處理攻擊者的數(shù)據(jù)包而丟棄合法的數(shù)據(jù)包,因?yàn)樗麄兊臅r(shí)間戳不合法并且更晚。這種攻擊使得虛假的內(nèi)容在真實(shí)的音頻內(nèi)容之前播放,這種攻擊也可以看作為一種拒絕服務(wù)攻擊。

基于RTP攻擊的解決方案

  與一些基于SIP的攻擊的情況相同,大部分基于RTP的攻擊都依賴于偽造的欺騙性RTP包并將他們插入RTP中。要是沒(méi)有保護(hù)措施,可以認(rèn)為RTP是一種不安全的協(xié)議。如果攻擊者能夠截取到RTP包,那么偽造惡意的數(shù)據(jù)包并在合適的時(shí)候?qū)⑺麄儼l(fā)送出去只是微不足道的事。即使攻擊者無(wú)法獲取RTP流,只要攻擊者擁有對(duì)等點(diǎn)的一些信息,偽造欺騙性的RTP報(bào)文并且發(fā)動(dòng)攻擊也并不是一件困難的事。

  與SIP的情況相同,保護(hù)RTP流免受攻擊的解決方案就是引入加密機(jī)制和類似安全哈希的數(shù)字簽名。

  結(jié)束語(yǔ)

  目前VoIP安全的發(fā)展還處于初始階段,安全威脅和攻擊還有待于建立起一系列理論。但是在實(shí)踐中卻很難執(zhí)行,主要是因?yàn)橄嚓P(guān)基礎(chǔ)知識(shí)和攻擊檢測(cè)機(jī)會(huì)的缺乏。但是,隨著VoIP網(wǎng)絡(luò)數(shù)量的不斷壯大,攻擊者必將對(duì)這一新興的技術(shù)產(chǎn)生興趣。選擇分層的方法進(jìn)行分析強(qiáng)調(diào)了消除威脅的解決方案,而且當(dāng)新的攻擊模型出現(xiàn)時(shí)能夠更有效地對(duì)其進(jìn)行定義。

計(jì)算機(jī)與信息技術(shù)



相關(guān)鏈接:
Jangl和Pluggd可讓Gmail成殺手級(jí)應(yīng)用 2007-12-26
IP PBX電話系統(tǒng):對(duì)你的業(yè)務(wù)有極大的好處 2007-12-26
互聯(lián)網(wǎng)周刊:通信進(jìn)化 2007-12-25
IP通信將是中小企業(yè)壯大拐點(diǎn) 2007-12-24
8大VoIP網(wǎng)絡(luò)電話插件 2007-12-24

分類信息: