由于目前已知的IP電話攻擊并不多見,所以想說服CEO們和預(yù)算管理人員在IP電話安全方面增加資金投入還是有一定難度的,網(wǎng)絡(luò)管理員們應(yīng)該會認(rèn)同這一點(diǎn)。然而英國國家基礎(chǔ)建設(shè)安全響應(yīng)中心(NISCC)報(bào)導(dǎo)他們發(fā)現(xiàn)了目前被普遍認(rèn)為是在分組網(wǎng)上支持語音、圖像和數(shù)據(jù)業(yè)務(wù)最成熟的H.323協(xié)議的多個(gè)漏洞,而其中又以負(fù)責(zé)建立IP電話連接的H.225.0子協(xié)議里問題最多。如果漏洞遭到攻擊,結(jié)果可能造成惡意代碼的執(zhí)行或是拒絕服務(wù)攻擊(DoS)。
從原理上說,利用漏洞可以發(fā)起各種類型的攻擊。比如一旦網(wǎng)關(guān)被黑客攻破,IP電話不用經(jīng)過認(rèn)證就可隨意撥打,未經(jīng)保護(hù)的語音通話有可能遭到攔截和竊聽而且可以被隨時(shí)截?cái)唷:诳屠弥囟ㄏ蚬艨梢园颜Z音郵件地址替換成自己指定的特定IP地址,為自己打開秘密通道和后門等等。
與此同時(shí),其他流行的攻擊手段也會對網(wǎng)絡(luò)語音環(huán)境造成巨大的威脅,除了DoS和分布式DoS攻擊外,如果pc中了特洛伊木馬的話,竊聽就隨時(shí)可能發(fā)生,類似的,亂序語音數(shù)據(jù)報(bào)(比如媒體數(shù)據(jù)報(bào)在會話數(shù)據(jù)報(bào)之前被接收到)和過長的電話號碼都可能為緩沖區(qū)溢出攻擊打開方便之門,而VoIP濫用(類似垃圾郵件)則可以通過不停播打同一號碼使該號碼陷于癱瘓。
另一個(gè)復(fù)雜的問題是,如果在防火墻之上同時(shí)運(yùn)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)服務(wù)的話,外呼請求可能就無法正常工作。雖然NAT能夠轉(zhuǎn)換語音數(shù)據(jù)報(bào)中IP層和傳輸層的源地址與端口號,但NAT并不理會語音數(shù)據(jù)報(bào)中其他更底層的源地址信息,所以對VoIP來說這意味著主叫方的地址將是個(gè)內(nèi)部地址,而被叫方在試圖建立通話時(shí)則會被導(dǎo)向錯(cuò)誤的源地址。
當(dāng)涉及到外部呼叫者時(shí),VoIP面臨的安全挑戰(zhàn)就愈加復(fù)雜了。典型的情況是,對于一個(gè)公司搭建的IP電話網(wǎng)絡(luò)來說,防火墻只認(rèn)可從該網(wǎng)絡(luò)內(nèi)部發(fā)起的會話請求,然而對IP電話來說公司外部的人也可能需要打電話進(jìn)來。對于內(nèi)部用戶來說,為他們安裝VPN客戶端是個(gè)暫時(shí)的解決方案,但長遠(yuǎn)來說這肯定不夠,外部呼叫者可能是個(gè)陌生人所以不可能為他們預(yù)裝VPN客戶端。
防火墻保障IP電話安全的實(shí)現(xiàn)方案
為了對抗針對IP電話的攻擊,防火墻必須要更智能更高效地檢驗(yàn)進(jìn)來的數(shù)據(jù)報(bào)里與SIP相關(guān)的信息。對此,不同的防火墻廠商采取了不同的方案,但大體來看各方案或多或少都存在一些問題。
對于具有全狀態(tài)檢測(stateful-inspection)功能的防火墻來說,它本身并不具有應(yīng)付應(yīng)用層攻擊的防護(hù)能力,這種防火墻在傳輸層對數(shù)據(jù)進(jìn)行檢查,它首先跟蹤從公司IP電話網(wǎng)絡(luò)出去的會話連接,然后利用這些信息來決定哪些外部數(shù)據(jù)是安全的可以進(jìn)入公司網(wǎng)絡(luò)的數(shù)據(jù)。
基于代理的防火墻如TIS的Guantlet具有在應(yīng)用層對具體應(yīng)用進(jìn)行安全保護(hù)的能力,它的工作方式是首先檢測從外部進(jìn)來的會話連接,分析其所使用的協(xié)議,然后掐斷該外部連接,最后從自己這方重新發(fā)起一個(gè)到對方的新連接。這種防火墻雖然能直接在應(yīng)用層對不同的具體應(yīng)用提供相應(yīng)的保護(hù),但它是以犧牲性能為條件的,并且需要對每個(gè)具體應(yīng)用進(jìn)行特別調(diào)整。
沒有任何一款VoIP防火墻(包括全狀態(tài)檢測防火墻)是純粹工作在網(wǎng)絡(luò)層和傳輸層的,最起碼它們也要利用應(yīng)用層網(wǎng)關(guān)(ALG)在網(wǎng)絡(luò)層、傳輸層和應(yīng)用層查找地址信息并進(jìn)行相應(yīng)修改。ALG對終端設(shè)備來說是透明的,所以在處理SIP時(shí),它們并不會向請求連接一方發(fā)送TRYING消息。
有些防火墻在處理SIP數(shù)據(jù)報(bào)時(shí)會利用DPI查看數(shù)據(jù)報(bào)更細(xì)節(jié)的信息,比如在應(yīng)用層檢查數(shù)據(jù)報(bào)是否符合標(biāo)準(zhǔn)格式,這樣這些基于DPI的防火墻就能防住某些緩沖區(qū)溢出攻擊,比如如果數(shù)據(jù)報(bào)里的電話號碼超出標(biāo)準(zhǔn)規(guī)定的長度的話,防火墻會直接拒之門外。
基于代理的防火墻(用SIP領(lǐng)域的術(shù)語來說也叫背對背用戶代理,Back-2-Back User Agent,B2BUAs)位處主叫方和被叫方中間,截取兩端的通話信號和媒體流,這些設(shè)備工作方式類似SIP代理服務(wù)器,只不過它們同時(shí)還能進(jìn)行協(xié)議正確性校驗(yàn)和檢查。邊界會話控制器(Session Border Controllers,SBcs)是一種被眾多運(yùn)營商用于連接VoIP服務(wù)和支持QoS的設(shè)備,它們也屬于基于代理的防火墻這一類。很多制造SBC的廠商同時(shí)也為企業(yè)提供類似的防火墻產(chǎn)品,如Jasomi Networks、Kagoor Networks、Ingate Systems和Acme Packet等。