發新話題
打印

[轉貼] 深入理解防火牆 封阻應用攻擊八項技術

深入理解防火牆 封阻應用攻擊八項技術

你已經決心下大力氣搞好應用安全嗎?畢竟,例如金融交易、信用卡號碼、機密資料、用戶檔案等信息,對於企業來說太重要了。

不過這些應用實在太龐大、太複雜了,最困難的就是,這些應用在通過網絡防火牆上的端口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規範,同時確保單個的請求部分在合理的大小限制範圍之內。這項技術對防止緩衝器溢出攻擊非常有效。然而,請求分析仍是一項無狀態技術。它只能檢測當前請求。正如我們所知道的那樣,記住以前的行為能夠獲得極有意義的分析,同時獲得更深層的保護。

用戶會話跟蹤

更先進的下一個技術就是用戶會話跟蹤。這是應用流量狀態檢測技術的最基本部分:跟蹤用戶會話,把單個用戶的行為關聯起來。這項功能通常借助於通過URL重寫(URL rewriting)來使用會話信息塊加以實現。只要跟蹤單個用戶的請求,就能夠對信息塊實行極其嚴格的檢查。這樣就能有效防禦會話劫持(session-hijacking)及信息塊中毒(cookie-poisoning)類型的漏洞。有效的會話跟蹤不僅能夠跟蹤應用防火牆創建的信息塊,還能對應用生成的信息塊進行數字簽名,以保護這些信息塊不被人篡改。這需要能夠跟蹤每個請求的響應,並從中提取信息塊信息。

響應模式匹配

響應模式匹配為應用提供了更全面的保護:它不僅檢查提交至Web服務器的請求,還檢查Web服務器生成的響應。它能極其有效地防止網站受毀損,或者更確切地說,防止已毀損網站被瀏覽。對響應裡面的模式進行匹配相當於在請求端對URL進行過濾。響應模式匹配分三個級別。防毀損工作由應用防火牆來進行,它對站點上的靜態內容進行數字簽名。如果發現內容離開Web服務器後出現了改動,防火牆就會用原始內容取代已毀損頁面。至於對付敏感信息洩露方面,應用防火牆會監控響應,尋找可能表明服務器有問題的模式,譬如一長串Java異常符。如果發現這類模式,防火牆就會把它們從響應當中剔除,或者乾脆封阻響應。

採用「停走」字(『stop and go』word)的方案會尋找必須出現或不得出現在應用生成的響應裡面的預定義通用模式。譬如說,可以要求應用提供的每個頁面都要有版權聲明。

行為建模

行為建模有時稱為積極的安全模型或「白名單」(white list)安全,它是唯一能夠防禦最棘手的應用漏洞——零時間漏洞的保護機制。零時間漏洞是指未寫入文檔或「還不知道」的攻擊。對付這類攻擊的唯一機制就是只允許已知是良好行為的行為,其它行為一律禁止。這項技術要求對應用行為進行建模,這反過來就要求全面分析提交至應用的每個請求的每次響應,目的在於識別頁面上的行為元素,譬如表單域、按鈕和超文本鏈接。這種級別的分析可以發現惡意表單域及隱藏表單域操縱類型的漏洞,同時對允許用戶訪問的URL實行極其嚴格的監控。行為建模是唯一能夠有效對付全部16種應用漏洞的技術。行為建模是一種很好的概念,但其功效往往受到自身嚴格性的限制。

某些情況譬如大量使用JavaScript或者應用故意偏離行為模型都會導致行為建模犯錯,從而引發誤報,拒絕合理用戶訪問應用。行為建模要發揮作用,就需要一定程度的人為干預,以提高安全模型的準確性。行為自動預測又叫規則自動生成或應用學習,嚴格說來不是流量檢測技術,而是一種元檢測(meta-inspection)技術,它能夠分析流量、建立行為模型,並且借助於各種關聯技術生成應用於行為模型的一套規則,以提高精確度。行為建模的優點在於短時間學習應用之後能夠自動配置。保護端口80是安全人員面臨的最重大也是最重要的挑戰之一。所幸的是,如今已出現了解決這一問題的創新方案,而且在不斷完善。如果在分層安全基礎設施裡面集成了能夠封阻16類應用漏洞的應用防火牆,你就可以解決應用安全這一難題。

TOP

發新話題