防火墻封阻應(yīng)用攻擊技術(shù)大全
你已經(jīng)決心下大力氣搞好應(yīng)用安全嗎?畢竟,例如金融交易、信用卡號碼、機密資料、用戶檔案等信息,對于企業(yè)來說太重要了。不過這些應(yīng)用實在太龐大、太復(fù)雜了,最困難的就是,這些應(yīng)用在通過網(wǎng)絡(luò)防火墻上的端口80(主要用于HTTP)和端口443(用于SSL)長驅(qū)直入的攻擊面前暴露無遺。這時防火墻可以派上用場,應(yīng)用防火墻發(fā)現(xiàn)及封阻應(yīng)用攻擊所采用的八項技術(shù)如下:
深度數(shù)據(jù)包處理
深度數(shù)據(jù)包處理有時被稱為深度數(shù)據(jù)包檢測或者語義檢測,它就是把多個數(shù)據(jù)包關(guān)聯(lián)到一個數(shù)據(jù)流當(dāng)中,在尋找攻擊異常行為的同時,保持整個數(shù)據(jù)流的狀態(tài)。深度數(shù)據(jù)包處理要求以極高的速度分析、檢測及重新組裝應(yīng)用流量,以避免給應(yīng)用帶來時延。下面每一種技術(shù)代表深度數(shù)據(jù)包處理的不同級別。
TCP/IP終止
應(yīng)用層攻擊涉及多種數(shù)據(jù)包,并且常常涉及多種請求,即不同的數(shù)據(jù)流。流量分析系統(tǒng)要發(fā)揮功效,就必須在用戶與應(yīng)用保持互動的整個會話期間,能夠檢測數(shù)據(jù)包和請求,以尋找攻擊行為。至少,這需要能夠終止傳輸層協(xié)議,并且在整個數(shù)據(jù)流而不是僅僅在單個數(shù)據(jù)包中尋找惡意模式。
SSL終止
如今,幾乎所有的安全應(yīng)用都使用HTTPS確保通信的保密性。然而,SSL數(shù)據(jù)流采用了端到端加密,因而對被動探測器如入侵檢測系統(tǒng)(IDS)產(chǎn)品來說是不透明的。為了阻止惡意流量,應(yīng)用防火墻必須終止SSL,對數(shù)據(jù)流進行解碼,以便檢查明文格式的流量。這是保護應(yīng)用流量的最起碼要求。如果你的安全策略不允許敏感信息在未加密的前提下通過網(wǎng)絡(luò)傳輸,你就需要在流量發(fā)送到Web服務(wù)器之前重新進行加密的解決方案。
URL過濾
一旦應(yīng)用流量呈明文格式,就必須檢測HTTP請求的URL部分,尋找惡意攻擊的跡象,譬如可疑的統(tǒng)一代碼編碼(unicode encoding)。對URL過濾采用基于特征的方案,僅僅尋找匹配定期更新的特征、過濾掉與已知攻擊如紅色代碼和尼姆達有關(guān)的URL,這是遠遠不夠的。這就需要一種方案不僅能檢查RUL,還能檢查請求的其余部分。其實,如果把應(yīng)用響應(yīng)考慮進來,可以大大提高檢測攻擊的準確性。雖然URL過濾是一項重要的操作,可以阻止通常的腳本少年類型的攻擊,但無力抵御大部分的應(yīng)用層漏洞。
請求分析
全面的請求分析技術(shù)比單單采用URL過濾來得有效,可以防止Web服務(wù)器層的跨站腳本執(zhí)行(cross-site scripting)漏洞和其它漏洞。全面的請求分析使URL過濾更進了一步:可以確保請求符合要求、遵守標準的HTTP規(guī)范,同時確保單個的請求部分在合理的大小限制范圍之內(nèi)。這項技術(shù)對防止緩沖器溢出攻擊非常有效。然而,請求分析仍是一項無狀態(tài)技術(shù)。它只能檢測當(dāng)前請求。正如我們所知道的那樣,記住以前的行為能夠獲得極有意義的分析,同時獲得更深層的保護。
用戶會話跟蹤
更先進的下一個技術(shù)就是用戶會話跟蹤。這是應(yīng)用流量狀態(tài)檢測技術(shù)的最基本部分:跟蹤用戶會話,把單個用戶的行為關(guān)聯(lián)起來。這項功能通常借助于通過URL重寫(URL rewriting)來使用會話信息塊加以實現(xiàn)。只要跟蹤單個用戶的請求,就能夠?qū)π畔K實行極其嚴格的檢查。這樣就能有效防御會話劫持(session-hijacking)及信息塊中毒(cookie-poisoning)類型的漏洞。有效的會話跟蹤不僅能夠跟蹤應(yīng)用防火墻創(chuàng)建的信息塊,還能對應(yīng)用生成的信息塊進行數(shù)字簽名,以保護這些信息塊不被人篡改。這需要能夠跟蹤每個請求的響應(yīng),并從中提取信息塊信息。
響應(yīng)模式匹配
響應(yīng)模式匹配為應(yīng)用提供了更全面的保護:它不僅檢查提交至Web服務(wù)器的請求,還檢查Web服務(wù)器生成的響應(yīng)。它能極其有效地防止網(wǎng)站受毀損,或者更確切地說,防止已毀損網(wǎng)站被瀏覽。對響應(yīng)里面的模式進行匹配相當(dāng)于在請求端對URL進行過濾。響應(yīng)模式匹配分三個級別。防毀損工作由應(yīng)用防火墻來進行,它對站點上的靜態(tài)內(nèi)容進行數(shù)字簽名。如果發(fā)現(xiàn)內(nèi)容離開Web服務(wù)器后出現(xiàn)了改動,防火墻就會用原始內(nèi)容取代已毀損頁面。至于對付敏感信息泄露方面,應(yīng)用防火墻會監(jiān)控響應(yīng),尋找可能表明服務(wù)器有問題的模式,譬如一長串Java異常符。如果發(fā)現(xiàn)這類模式,防火墻就會把它們從響應(yīng)當(dāng)中剔除,或者干脆封阻響應(yīng)。
采用“停走”字(‘stop and go’word)的方案會尋找必須出現(xiàn)或不得出現(xiàn)在應(yīng)用生成的響應(yīng)里面的預(yù)定義通用模式。譬如說,可以要求應(yīng)用提供的每個頁面都要有版權(quán)聲明。
行為建模
行為建模有時稱為積極的安全模型或“白名單”(white list)安全,它是唯一能夠防御最棘手的應(yīng)用漏洞——零時間漏洞的保護機制。零時間漏洞是指未寫入文檔或“還不知道”的攻擊。對付這類攻擊的唯一機制就是只允許已知是良好行為的行為,其它行為一律禁止。這項技術(shù)要求對應(yīng)用行為進行建模,這反過來就要求全面分析提交至應(yīng)用的每個請求的每次響應(yīng),目的在于識別頁面上的行為元素,譬如表單域、按鈕和超文本鏈接。這種級別的分析可以發(fā)現(xiàn)惡意表單域及隱藏表單域操縱類型的漏洞,同時對允許用戶訪問的URL實行極其嚴格的監(jiān)控。行為建模是唯一能夠有效對付全部16種應(yīng)用漏洞的技術(shù)。行為建模是一種很好的概念,但其功效往往受到自身嚴格性的限制。
某些情況譬如大量使用JavaScript或者應(yīng)用故意偏離行為模型都會導(dǎo)致行為建模犯錯,從而引發(fā)誤報,拒絕合理用戶訪問應(yīng)用。行為建模要發(fā)揮作用,就需要一定程度的人為干預(yù),以提高安全模型的準確性。行為自動預(yù)測又叫規(guī)則自動生成或應(yīng)用學(xué)習(xí),嚴格說來不是流量檢測技術(shù),而是一種元檢測(meta-inspection)技術(shù),它能夠分析流量、建立行為模型,并且借助于各種關(guān)聯(lián)技術(shù)生成應(yīng)用于行為模型的一套規(guī)則,以提高精確度。行為建模的優(yōu)點在于短時間學(xué)習(xí)應(yīng)用之后能夠自動配置。保護端口80是安全人員面臨的最重大也是最重要的挑戰(zhàn)之一。所幸的是,如今已出現(xiàn)了解決這一問題的創(chuàng)新方案,而且在不斷完善。如果在分層安全基礎(chǔ)設(shè)施里面集成了能夠封阻16類應(yīng)用漏洞的應(yīng)用防火墻,你就可以解決應(yīng)用安全這一難題。
防火墻封阻應(yīng)用攻擊技術(shù)大全
下一篇:Windows2003防火墻簡介