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