DPI命運(yùn)如何
近期許多公司紛紛發(fā)表調(diào)查報(bào)告,報(bào)告里聲稱盡管現(xiàn)在特定于具體應(yīng)用的防火墻越來越多,但他們?nèi)匀粰z測到應(yīng)用層蠕蟲和病毒的數(shù)量正在不斷增加。這時,帶有深度包檢測(Deep PacketInspection,DPI)功能的防火墻成為了舌戰(zhàn)的焦點(diǎn)。我們知道,DPI功能將使得網(wǎng)絡(luò)管理員能夠配置數(shù)字位匹配模式用以匹配和鑒別特定的數(shù)據(jù)包。然而,恐怕這些防火墻廠商正在犯著十幾年前以太網(wǎng)網(wǎng)橋制造商就曾經(jīng)犯過的錯誤。那時候,為了對抗路由器,網(wǎng)橋制造商引入了能按位模式來轉(zhuǎn)發(fā)數(shù)據(jù)包的所謂智能網(wǎng)橋,他們宣稱這些智能網(wǎng)橋融合了路由器的優(yōu)點(diǎn)同時擯棄了路由器的缺點(diǎn)。也許他們說的沒錯,但事實(shí)是,配置這些智能網(wǎng)橋的門檻實(shí)在太高了,如果你的腦袋沒有博士級別的智商,那恐怕你很難能有機(jī)會懂明白這些智能網(wǎng)橋的配置細(xì)節(jié)。
現(xiàn)在看來DPI的實(shí)現(xiàn)似乎避免不了與這些智能網(wǎng)橋相同的命運(yùn)。目前多數(shù)DPI引擎的缺省設(shè)置是不分青紅皂白就把所有外部數(shù)據(jù)通通拒之門外,因此表面上看起來好像確實(shí)提供了強(qiáng)有力的安全防護(hù),然而對管理員來說真正的挑戰(zhàn)在于如何配置這些引擎使其具有識別數(shù)據(jù)的能力,如何可以讓它過濾掉那些無用或帶攻擊性的數(shù)據(jù)而只讓真正有用的數(shù)據(jù)進(jìn)來,對很多防火墻管理員來說這個任務(wù)顯得是否艱巨。
就算對那些經(jīng)驗(yàn)豐富腦筋靈光的工程師來說這也是夠嗆的。Nokia的產(chǎn)品概念工程師在談到DPI時直言“感覺不太好”,他說“我們有一個內(nèi)部應(yīng)用需要用到防火墻,我最終把所謂的智能應(yīng)用(CheckPoint描述DPI引擎時所使用的術(shù)語)給徹底關(guān)了,實(shí)在是礙手礙腳,它缺省把所有的數(shù)據(jù)都給擋住了,這不是添亂嘛。”
先把易用性放在一邊。很難想象通用防火墻軟件廠商能保證自己的軟件能夠?qū)崿F(xiàn)各種紛繁的IP語音(Voice overIP,VoIP)標(biāo)準(zhǔn)和協(xié)議。即使是那些做專業(yè)防火墻的公司在處理各種標(biāo)準(zhǔn)、RFC、VoIP相關(guān)的重要草案時也是相當(dāng)頭疼,所以通用防火墻公司很難象那些專用防火墻公司一樣又快又省地及時支持新標(biāo)準(zhǔn),更不用說那些標(biāo)準(zhǔn)的擴(kuò)展了。
碰到這些情況網(wǎng)絡(luò)管理員該如何抉擇呢?對于通話量較低并且對IP電話要求比較簡單的情況,升級通用防火墻加入DPI支持是個可行的方案。另一方面,對高通話量的情況,通常需要把VoIP數(shù)據(jù)轉(zhuǎn)移到專用的防火墻上,只有一種情況例外,就是如果防火墻軟件廠商和IP專用分組交換機(jī)(IPPBX)廠商在技術(shù)上有合作的話,可以做到讓通用DPI防火墻更好地支持IP PBX的特殊功能,那么通用防火墻也有可能可以應(yīng)付高通話量的要求。
部署專用安全設(shè)備可能可以比較快地解決問題,提供所謂的“單項(xiàng)優(yōu)勢”(best-of-breed)安全防護(hù),但這也意味著你要管理和維護(hù)更多的專業(yè)設(shè)備,從長期來看會造成成本的增加。雖然無法完全避免此類問題,但如果網(wǎng)絡(luò)管理員能充分發(fā)揮聰明才智考慮那些支持安全管理平臺的安全設(shè)備的話是可以將影響降到最低的。
如果網(wǎng)絡(luò)管理員和防火墻廠商剛好是DPI的追隨者的話,應(yīng)該說也還是很有盼頭的?;旧细倪M(jìn)DPI防火墻軟件人機(jī)交互和功能的方式有兩種,其一自然是通過內(nèi)部開發(fā)改進(jìn)完善,另一種就是通過收購那些剛起步的專業(yè)防火墻軟件公司并融合他們的技術(shù)優(yōu)勢。
IP電話面臨諸多挑戰(zhàn)
由于目前已知的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é)議的多個漏洞,而其中又以負(fù)責(zé)建立IP電話連接的H.225.0子協(xié)議里問題最多。如果漏洞遭到攻擊,結(jié)果可能造成惡意代碼的執(zhí)行或是拒絕服務(wù)攻擊(DoS)。
從原理上說,利用漏洞可以發(fā)起各種類型的攻擊。比如一旦網(wǎng)關(guān)被黑客攻破,IP電話不用經(jīng)過認(rèn)證就可隨意撥打,未經(jīng)保護(hù)的語音通話有可能遭到攔截和竊聽而且可以被隨時截?cái)?。黑客利用重定向攻擊可以把語音郵件地址替換成自己指定的特定IP地址,為自己打開秘密通道和后門等等。
與此同時,其他流行的攻擊手段也會對網(wǎng)絡(luò)語音環(huán)境造成巨大的威脅,除了DoS和分布式DoS攻擊外,如果PC中了特洛伊木馬的話,竊聽就隨時可能發(fā)生,類似的,亂序語音數(shù)據(jù)報(bào)(比如媒體數(shù)據(jù)報(bào)在會話數(shù)據(jù)報(bào)之前被接收到)和過長的電話號碼都可能為緩沖區(qū)溢出攻擊打開方便之門,而VoIP濫用(類似垃圾郵件)則可以通過不停播打同一號碼使該號碼陷于癱瘓。
另一個復(fù)雜的問題是,如果在防火墻之上同時運(yùn)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)服務(wù)的話,外呼請求可能就無法正常工作。雖然NAT能夠轉(zhuǎn)換語音數(shù)據(jù)報(bào)中IP層和傳輸層的源地址與端口號,但NAT并不理會語音數(shù)據(jù)報(bào)中其他更底層的源地址信息,所以對VoIP來說這意味著主叫方的地址將是個內(nèi)部地址,而被叫方在試圖建立通話時則會被導(dǎo)向錯誤的源地址。
當(dāng)涉及到外部呼叫者時,VoIP面臨的安全挑戰(zhàn)就愈加復(fù)雜了。典型的情況是,對于一個公司搭建的IP電話網(wǎng)絡(luò)來說,防火墻只認(rèn)可從該網(wǎng)絡(luò)內(nèi)部發(fā)起的會話請求,然而對IP電話來說公司外部的人也可能需要打電話進(jìn)來。對于內(nèi)部用戶來說,為他們安裝VPN客戶端是個暫時的解決方案,但長遠(yuǎn)來說這肯定不夠,外部呼叫者可能是個陌生人所以不可能為他們預(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ā)起一個到對方的新連接。這種防火墻雖然能直接在應(yīng)用層對不同的具體應(yīng)用提供相應(yīng)的保護(hù),但它是以犧牲性能為條件的,并且需要對每個具體應(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時,它們并不會向請求連接一方發(fā)送TRYING消息。
有些防火墻在處理SIP數(shù)據(jù)報(bào)時會利用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 UserAgent,B2BUAs)位處主叫方和被叫方中間,截取兩端的通話信號和媒體流,這些設(shè)備工作方式類似SIP代理服務(wù)器,只不過它們同時還能進(jìn)行協(xié)議正確性校驗(yàn)和檢查。邊界會話控制器(Session BorderControllers,SBCs)是一種被眾多運(yùn)營商用于連接VoIP服務(wù)和支持QoS的設(shè)備,它們也屬于基于代理的防火墻這一類。很多制造SBC的廠商同時也為企業(yè)提供類似的防火墻產(chǎn)品,如Jasomi Networks、Kagoor Networks、Ingate Systems和AcmePacket等。
防火墻的復(fù)雜性
每種防火墻實(shí)現(xiàn)方案都面臨著諸如應(yīng)用層復(fù)雜性和性能及價格等方面的問題。還有數(shù)據(jù)加密的問題,或多或少都有,只不過有些比較明顯而已。
顯然,如果通話數(shù)據(jù)被加密的話防火墻是沒法對數(shù)據(jù)進(jìn)行檢查的。而基于代理的防火墻可能可以繞過這個問題,但同時又造成其他的安全隱患,因?yàn)榇祟惙阑饓ξ挥谕ㄔ拑啥说男盘柡兔襟w流之間,通話方會“認(rèn)為”他們已經(jīng)和對方建立了直接的安全對話,但實(shí)際上他們只是和防火墻建立了安全會話,因此基于代理的防火墻實(shí)際上有著潛在的不安全因素。
應(yīng)用層的復(fù)雜性又是另一個問題。有些基于代理的防火墻自詡其有強(qiáng)大的檢查校驗(yàn)數(shù)據(jù)報(bào)SIP正確性的能力,但我們恐怕不能盡信其言。SIP是一個極端復(fù)雜的協(xié)議,涉及到60多個RFC和標(biāo)準(zhǔn)草案,僅僅是準(zhǔn)確實(shí)現(xiàn)這些紛繁的特性和功能就足夠把這些防火墻廠商壓得喘不過氣來。
SIP還具有極強(qiáng)的擴(kuò)展性,許多廠商在此基礎(chǔ)上進(jìn)行了很多專有的擴(kuò)展,如果沒有這些廠商的支持的話是幾乎不可能對其功能和正確性進(jìn)行檢查的,所以在購買此類產(chǎn)品之前建議進(jìn)行認(rèn)真細(xì)致的試用和評估。
絕大多數(shù)防火墻廠商的產(chǎn)品只實(shí)現(xiàn)了一小部分SIP的RFC和標(biāo)準(zhǔn)草案,而且廠商對這類事實(shí)一般都秘而不宣,顯然,如果公布他們的產(chǎn)品具體實(shí)現(xiàn)了哪些RFC不就直接暴露了他們產(chǎn)品在SIP支持方面的局限性了嗎?
然而SIP也僅僅只是眾多IP電話協(xié)議中的一個而已。Nortel、Avaya和Cisco在連接電話終端和他們的IPPBX時都使用了其專有的基于H.323協(xié)議的變種協(xié)議。目前市場上有許多H.323協(xié)議的變種,媒體網(wǎng)關(guān)控制協(xié)議(MGCP和MEGACO)也不例外。為了進(jìn)行企業(yè)電話客戶端和這些IP PBX的安全防護(hù),對防火墻來說支持這些專有H.323變種協(xié)議就顯得相當(dāng)重要。比如CheckPoint的安全解決方案主管Sharon Besser就說他們的CheckPoint防火墻同時支持Pingtel、Nortel和其他設(shè)備廠商的專有擴(kuò)展協(xié)議。
然而,僅僅只是能支持這些協(xié)議還遠(yuǎn)遠(yuǎn)不夠,網(wǎng)絡(luò)管理員還非常重視防火墻部署時的簡易性。美國勞倫斯.利弗莫爾國家實(shí)驗(yàn)室安全應(yīng)急主管Jon Diaz就說過:“我研究過DPI的實(shí)現(xiàn),但問題是要具有很多相關(guān)的專業(yè)知識才可能弄明白整個配置過程。”
放棄防火墻?
由于目前沒有任何一個防火墻方案能完美地解決VoIP安全問題,因此有些安全專家認(rèn)為在應(yīng)用層這個級別可能最好的處理辦法就是完全放棄防火墻。RTFM安全咨詢公司的主管兼?zhèn)鬏攲影踩?TLS)工作小組副主席EricRescorla認(rèn)為防火墻并不是像想象的那么好,“看看電子郵件蠕蟲是如何突破防火墻的吧”,他說。
Dynamicsoft公司的CTO和SIP創(chuàng)建者之一JonathanRosenberg也贊同這種觀點(diǎn),他在一封電子郵件里寫道“防火墻廠商必須要非常熟悉SIP和其他IP電話協(xié)議,這樣才能保證他們產(chǎn)品的質(zhì)量,而實(shí)際上他們做不到這一點(diǎn),結(jié)果就是當(dāng)一個新的應(yīng)用或協(xié)議出現(xiàn)時,在部署它們的時候你不得不尋求廠商的幫助。這種情況就完全體現(xiàn)不出網(wǎng)絡(luò)的主要好處。”
Rosenberg建議采用一種新的模式,即防火墻不用理會SIP和其他應(yīng)用層協(xié)議。他說現(xiàn)在一些客戶端技術(shù)如簡單UDP穿越NAT協(xié)議(STUN)、交互式連通建立方式(ICE)、通過中繼方式穿越NAT技術(shù)(TURN)使得防火墻不需要處理SIP就能讓IP通話穿過防火墻。這些協(xié)議和技術(shù)為客戶端獲取NAT和防火墻所使用的外部傳輸層地址提供了途徑,這樣SIP客戶端就能在會話描述協(xié)議(SDP)中規(guī)定的數(shù)據(jù)報(bào)域內(nèi)加入外部地址,使得回來的數(shù)據(jù)報(bào)能被導(dǎo)向正確的地址。
Rosenberg相信那些開發(fā)基于SIP的應(yīng)用的開發(fā)人員會比較傾向于支持該協(xié)議,而網(wǎng)絡(luò)管理員就不一定了。過去的經(jīng)驗(yàn)表明安全問題從來都是很棘手的,開發(fā)人員并不總是愿意或者說并不總是有能力在開發(fā)的時候完全解決安全問題。而從CERT和NISCC發(fā)布的安全報(bào)告來看,我們也沒什么理由期待SIP開發(fā)人員會與眾不同。
企業(yè)部署VoIP防火墻十分必要
盡管當(dāng)今絕大多數(shù)公司的VoIP網(wǎng)絡(luò)都是不對外開放的,但仍然有必要在企業(yè)內(nèi)部部署VoIP防火墻。越來越多的攻擊開始從VoIP網(wǎng)絡(luò)內(nèi)部發(fā)起,對此進(jìn)行防衛(wèi)是必不可少的,作為對策,第一步可以將所有網(wǎng)絡(luò)語音數(shù)據(jù)隔離在虛擬局域網(wǎng)中,與此同時在可信任的域內(nèi)部署代理和網(wǎng)閘同樣很重要。
對于帶DPI的全狀態(tài)檢測防火墻,部署過程是一個在不受信任的網(wǎng)絡(luò)和受信任的企業(yè)之間的隔離帶里的防火墻端口上安裝SIP代理的過程。而實(shí)現(xiàn)了SIP背對背用戶代理的防火墻則有所不同,因?yàn)樗鼈兊墓δ茴愃拼矸?wù)器,用戶代理(UserAgent)可以在上面注冊。這類防火墻可以和全狀態(tài)檢測防火墻一起部署在隔離帶中,只要使用不同的端口即可,或者單獨(dú)部署在公司網(wǎng)絡(luò)的其他地方。
除了技術(shù)實(shí)現(xiàn)細(xì)節(jié)之外,網(wǎng)絡(luò)管理員也要留意協(xié)議問題。由于絕大多數(shù)IP PBX在和其他設(shè)備終端連接時使用了專有協(xié)議和SIP或H.323中繼,所以在部署時很可能需要廠商的直接支持。