你已經決心下大力氣搞好應用安全嗎?畢竟,例如金融交易、信用卡號碼、機密資料、用戶檔案等信息,對於企業來說太重要了。不過這些應用實在太龐大、太復雜了,最困難的就是,這些應用在通過網絡防火牆上的端口80 (主要用於HTTP)和端口443(用於SSL)長驅直入的攻擊面前暴露無遺。這時防火牆可以派上用場,應用防火牆發現及封阻應用攻擊所采用的八項技術如下:
深度數據包處理 深度數據包處理有時被稱為深度數據包檢測或者語義檢測,它就是把多個數據包關聯到一個數據流當中,在尋找攻擊異常行為的同時,保持整個數據流的狀態。深度數據包處理要求以極高的速度分析、檢測及重新組裝應用流量,以避免給應用帶來時延。下面每一種技術代表深度數據包處理的不同級別。
TCP/IP終止 應用層攻擊涉及多種數據包,並且常常涉及多種請求,即不同的數據流。流量分析系統要發揮功效,就必須在用戶與應用保持互動的整個會話期間,能夠檢測數據包和請求,以尋找攻擊行為。至少,這需要能夠終止傳輸層協議,並且在整個數據流而不是僅僅在單個數據包中尋找惡意模式。
SSL終止 如今,幾乎所有的安全應用都使用HTTPS確保通信的保密性。然而,SSL數據流采用了端到端加密,因而對被動探測器如入侵檢測系統(IDS)產品來說是不透明的。為了阻止惡意流量,應用防火牆必須終止SSL,對數據流進行解碼,以便檢查明文格式的流量。這是保護應用流量的最起碼要求。如果你的安全策略不允許敏感信息在未加密的前提下通過網絡傳輸,你就需要在流量發送到Web服務器之前重新進行加密的解決方案。
URL過濾 一旦應用流量呈明文格式,就必須檢測HTTP請求的URL部分,尋找惡意攻擊的跡象,譬如可疑的統一代碼編碼(unicode encoding)。對URL過濾采用基於特征的方案,僅僅尋找匹配定期更新的特征、過濾掉與已知攻擊如紅色代碼和尼姆達有關的URL,這是遠遠不夠的。這就需要一種方案不僅能檢查RUL,還能檢查請求的其余部分。其實,如果把應用響應考慮進來,可以大大提高檢測攻擊的准確性。雖然URL過濾是一項重要的操作,可以阻止通常的腳本少年類型的攻擊,但無力抵御大部分的應用層漏洞。
請求分析 全面的請求分析技術比單單采用URL過濾來得有效,可以防止Web服務器層的跨站腳本執行(cross-site scripting)漏洞和其它漏洞。全面的請求分析使URL過濾更進了一步:可以確保請求符合要求、遵守標准的HTTP規范,同時確保單個的請求部分在合理的大小限制范圍之內。這項技術對防止緩沖器溢出攻擊非常有效。然而,請求分析仍是一項無狀態技術。它只能檢測當前請求。正如我們所知道的那樣,記住以前的行為能夠獲得極有意義的分析,同時獲得更深層的保護。