深度檢測技術簡介

  狀態檢測防火牆是目前使用最廣泛的防火牆,用來防護黑客攻擊。但是,隨著專門針對應用層的Web攻擊現象的增多,在攻擊防護中,狀態檢測防火牆的有效性越來越低。

  設計狀態檢測防火牆時,並沒有專門針對Web應用程式攻擊,為了適應不斷增長的Web應用程式的威脅,新一代的深度檢測防火牆出現了。

  本文先介紹了防火牆技術的演變過程,然後介紹了深度檢測技術的四個基本特徵。

  1、防火牆技術的演變過程

  防火牆技術的演變過程,如圖1所示。到目前為止,主要有包過濾防火牆、狀態檢測防護牆和深度檢測防火牆三種類型。

  1.1 包過濾防火牆***Packet Filter Firewall***

  包過濾防火牆----第一代防火牆,沒有狀態的概念。通過包過濾,管理員能夠允許或禁止ACLs***Access Control Lists,訪問控制列表***中的選項,包過濾防火牆主要具有以下屬性:

  ★ 資料包到達的物理網路介面;

  ★ 源IP地址和埠;

  ★ 目標IP地址和埠;

  但是,包過濾防火牆的安全性有一定的缺陷,因為系統對應用層資訊無感知,也就是說,防火牆不理解通訊的內容,所以可能被黑客所攻破。

  由於種種原因,人們認為包過濾防火牆不過安全,於是逐漸被狀態檢測防火牆所取代。

  1.2 狀態檢測防火牆***Stateful Inspection Firewall***

  狀態檢測防火牆出現,併成為市場上的絕對領導者,主要有以下原因,包括效能,部署能力和擴充套件能力。他們在90年代中期得到了迅速發展。1993年,Check Point公司成功推出了世界上第一臺商用的狀態檢測防火牆產品。

  狀態檢測防火牆工作於網路層,與包過濾防火牆相比,狀態檢測防火牆判斷允許還是禁止資料流的依據也是源IP地址,目的IP地址,源埠,目的埠和通訊協議等。與包過濾防火牆不同的是,狀態檢測防火牆是基於會話資訊做出決策的,而不是包的資訊;

  狀態檢測防火牆驗證進來的資料包時,判斷當前資料包是否符合先前允許的會話,並在狀態表中儲存這些資訊。狀態檢測防火牆還能阻止基於異常TCP的網路層的攻擊行為。網路裝置,比如路由器,會將資料包分解成更小的資料幀,因此,狀態檢測裝置,通常需要進行IP資料幀的重組,按其原來順序組裝成完整的資料包。

  1.3 深度檢測防火牆***Deep Inspection Firewall***

  深度檢測防火牆,將狀態檢測和應用防火牆技術結合在一起,以處理應用程式的流量,防範目標系統免受各種複雜的攻擊。結合了狀態檢測的所有功能,深度檢測防火牆能夠對資料流量迅速完成網路層級別的分析,並做出訪問控制決;對於允許的資料流,根據應用層級別的資訊,對負載做出進一步的決策。

  深度檢測防火牆深入分析了TCP或UDP資料包的內容,以便對負載有個總的認識。

  2、深度檢測技術的四個基本特徵

  新的深度檢測技術仍在不斷出現,以實現不同的深度檢測功能,但是我們需要了解深度檢測技術所具有的基本特徵。

  高階的深度檢測防火牆整合了包過濾防火牆和狀態檢測防火牆的所有功能,如圖1所示。

  高階的深度檢測技術一般具有以下四個方面的特徵:

  ◆ 應用層加密/解密;

  ◆ 正常化;

  ◆ 協議一致性;

  ◆ 雙向負載檢測;

  這四種特徵,為Web應用程式提供了重要防護,如果其中一種特徵沒有實現的話,深度檢測防火牆在抵制應用層攻擊時,效果會大打折扣。

  2.1 應用層加密/解密

  SSL廣泛被應用於各種場合,以確保相關資料的安全性。這就對防火牆提出了新要求:必須能夠處理資料加密/解密。如果不對SSL加密的資料進行解密,防火牆就不能對負載的資訊進行分析,更不可能判斷資料包中是否含有應用層攻擊資訊。如果沒有解密功能,深度檢測的所有優點都無法體現出來。

  由於SSL加密的安全性很高,企業常使用SSL技術,以確保關鍵應用程式的通訊資料的安全性。如果深度檢測不能對企業中關鍵應用程式提供深度檢測安全性的話,整個深度檢測的優勢將失去意義。

  2.2 正常化

  防範應用層攻擊,很大程度上依賴於字串匹配。不正常的匹配會造成安全漏洞。比如,為了探知某種請求的安全策略是否被啟用,防火牆通常根據請求的URL與安全策略來進行匹配。一旦與某種策略條件完全匹配,防火牆就採用對應的安全策略。指向同一個資源的URL或許有多種不同形態,如果該URL的編碼方式不同的話,二進位制方式的比較就不起作用了。攻擊者會利用各種技術,對輸入的URL進行偽裝,企圖避開字串匹配,以達到越過安全裝置的目的。

  這些攻擊行為,在欺騙IDS和IPS方面,特別有效,因為攻擊程式碼只要與安全裝置的特徵庫有一點點不同的話,就能夠達到目的。

  解決字串匹配問題需要利用正常化技術,深度檢測能夠識別和阻止大量的攻擊。對於防範隱藏在幀資料、Unicode、URL編碼,雙重URL編碼和多形態的Shell等型別的攻擊行為,必須要用到正常化技術。

  2.3 協議一致性

  應用層協議,如HTTP、SMTP、POP3、DNS、IMAP和FTP,在應用程式中經常用到。每個協議,都由RFC***Request For Comments***相關規範建立。

  深度檢測防火牆,必須確認應用層資料流是否與這些協議定義相一致,以防止隱藏其中的攻擊。

  深度檢測在應用層進行狀態檢測。協議一致性,通過對協議報文的不同欄位進行解密而實現,當協議中的欄位被識別出來後,防火牆採用RFC定義的應用規則,來檢查其合法性。

  2.4 雙向負載檢測

  深度檢測具有強大功能,能夠允許資料包通過,拒絕資料包,檢查或修改第4到7層資料包,包括包頭或負載。HTTP深度檢測能夠檢視到訊息體中的URL,包頭和引數等資訊。深度檢測防火牆能夠自動進行動態配置,以便正確檢測服務變數,如最大長度,隱藏欄位和Radio按鈕等等。如果請求的變數不匹配,不存在或者不正確的話,深度檢測防火牆會將請求丟棄掉,將該事件寫入日誌,並給管理員發出警告資訊。

  深度檢測技術允許修改或轉換URL,包頭和引數,這一點與應用層上的NAT類似。

  3、總結

  在複雜的Web環境中,為了提供全面的應用程式防護,深度檢測是必需的。為了能夠有效的阻止Web攻擊,防火牆必須能夠應用基於源IP地址、目的IP地址、埠以及應用程式內容的安全策略。

  深度檢測技術還在不斷髮展,但是深度檢測技術一般具有應用層加密/解密、正常化、協議一致性、雙向負載檢測等四個方面的特徵。

  企業部署Web應用程式時,應該要確保防火牆能夠滿足這些應用程式要求得的安全需求,並且防火牆能夠滿足深度檢測技術中的四項基本特徵。