據(jù)美國計算機安全協(xié)會(CSI)/美國聯(lián)邦調查局(FBI)的研究表明,在接受調查的公司中,2004年有52%的公司的系統(tǒng)遭受過外部攻擊(包括系統(tǒng)入侵、濫用Web應用系統(tǒng)、網(wǎng)頁置換、盜取私人信息及拒絕服務等等),這些攻擊給269家受訪公司帶來的經濟損失超過1.41億美元,但事實上他們中有 98%的公司都裝有防火墻。

為什么防火墻沒有防住攻擊?因為他們安裝的是網(wǎng)絡防火墻,而真正能防御這些攻擊的是應用防火墻。早在2002年,IDC就曾在報告中認為,“網(wǎng)絡防火墻對應用層的安全已起不到什么作用了,因為為了確保通信,網(wǎng)絡防火墻內的端口都必須處于開放狀態(tài)。”

從概念走向實用

應用防火墻其實是個安全“老兵”了。在十幾年前,就已經出現(xiàn)了應用防火墻的概念。但是為什么遲遲沒有產品出現(xiàn)呢?華城技術有限公司負責人楊磊說:“因為系統(tǒng)的硬件平臺跟不上。以前,網(wǎng)絡層數(shù)據(jù)的轉發(fā)處理就占用了CPU大量的資源,CPU根本無法再做應用層的處理;而可以進行高速網(wǎng)絡數(shù)據(jù)處理的ASIC技術又處理不了應用層數(shù)據(jù)的復雜性,所以應用防火墻沒有誕生的條件。”隨著NP(網(wǎng)絡處理器)性能的迅速提升,特別是基于通用CPU的多核NP 體系(例如Broadcom的雙核NP 1250,將2個64位MIPS芯片集成在一塊處理器芯片里面,而且后續(xù)推出了集成4個CPU的處理器;而Cavium公司也推出了集成16個MIPS CPU和硬件加速處理單元的網(wǎng)絡服務處理器OCTEON)產生之后,利用多CPU的并行處理能力和軟件的靈活性,應用防火墻可以實現(xiàn)對復雜應用的安全處理,并且能夠達到千兆線速的性能。

在2004年,應用防火墻終于沖破概念的圍城,真正實現(xiàn)了產品化。國外有Teros、Sanctum、Netcontinuum和Kavado等廠商推出了Web應用防火墻,目前在國內記者看到的產品僅僅有華城技術(secnumen)的AppRock和F5網(wǎng)絡公司的TrafficShield。

現(xiàn)在我們所說的應用防火墻,一般是指Web應用防火墻和數(shù)據(jù)庫防火墻(也叫SQL防火墻),而現(xiàn)在我們所能見到的產品基本都是Web應用防火墻。

應用前面的銅墻鐵壁

安裝了網(wǎng)絡防火墻和IDS,就能抵擋應用層攻擊嗎?不能。因為在保護應用方面,網(wǎng)絡防火墻和IDS各有不足。

網(wǎng)絡防火墻有洞

網(wǎng)絡防火墻技術的發(fā)展已經非常成熟,也是目前網(wǎng)絡安全技術中最實用和作用最大的技術。

但是,作為目前應用最為廣泛的HTTP服務器等應用服務器,通常是部署在防火墻的DMZ區(qū)域,防火墻完全向外部網(wǎng)絡開放HTTP應用端口,這種方式對于 HTTP應用沒有任何的保護作用。即使使用HTTP代理型的防火墻,防火墻也只是驗證HTTP協(xié)議本身的合法性,完全不能理解HTTP協(xié)議所承載的數(shù)據(jù),也無從判斷對HTTP服務器的訪問行為是否合法。攻擊者知道正面攻破網(wǎng)絡防火墻十分困難,于是從簡單的端口掃描攻擊轉向通過應用層協(xié)議進入企業(yè)內部,目前,利用網(wǎng)上隨處可見的攻擊軟件,攻擊者不需要對網(wǎng)絡協(xié)議有深厚的理解,即可完成諸如更換Web網(wǎng)站主頁、盜取管理員密碼、破壞整個網(wǎng)站數(shù)據(jù)等攻擊。而這些攻擊過程中產生的網(wǎng)絡層數(shù)據(jù),和正常數(shù)據(jù)沒有什么區(qū)別。一個最簡單的例子就是在請求中包含SQL注入代碼,或者提交可以完成獲取其他用戶認證信息的跨站腳本,這些數(shù)據(jù)不管是在傳統(tǒng)防火墻所處理的網(wǎng)絡層和傳輸層,還是在代理型防火墻所處理的協(xié)議會話層,都會認為是合法的。

明白了防火墻的工作原理,我們就知道,對于應用層攻擊,網(wǎng)絡防火墻是無能為力的。

入侵檢測有限

目前最成熟的入侵檢測技術就是攻擊特征檢測。入侵檢測系統(tǒng)首先建立一個包含目前大多已知攻擊特征的數(shù)據(jù)庫,然后檢測網(wǎng)絡數(shù)據(jù)中的每一個報文,判斷是否含有 數(shù)據(jù)庫中的任何一個攻擊特征,如果有,則認為發(fā)生相應的攻擊,否則認為是合法的數(shù)據(jù)。

入侵檢測系統(tǒng)作為防火墻的有力補充,加強了網(wǎng)絡的安全防御能力。但是,入侵檢測技術的作用存在一定的局限性。由于需要預先構造攻擊特征庫來匹配網(wǎng)絡數(shù)據(jù), 對于未知攻擊和不能有效提取攻擊特征的攻擊,入侵檢測系統(tǒng)不能檢測和防御。另外就是其技術實現(xiàn)的矛盾,如果需要防御更多的攻擊,那么就需要很多的規(guī)則,但 是隨著規(guī)則的增多,系統(tǒng)出現(xiàn)的虛假報告(對于入侵防御系統(tǒng)來說,會產生中斷正常連接的問題)率就會上升,同時,系統(tǒng)的效率會降低。

對于應用攻擊,入侵檢測系統(tǒng)可以有效的防御部分攻擊,但不是全部。 

應用防火墻有效

網(wǎng)絡面臨的許多安全問題單靠網(wǎng)絡防火墻是無法解決的,必須通過一種全新設計的高性能安全代理專用設備來配合網(wǎng)絡防火墻。具體來說,利用網(wǎng)絡防火墻阻擋外面的端口掃描攻擊,利用應用安全防護技術,深層管理和控制由用戶訪問外部資源而引起的應用層攻擊,解決針對應用的、具有破壞性的復雜攻擊。

應用防火墻真正實現(xiàn)了對網(wǎng)絡應用的保護,是傳統(tǒng)安全技術的有效補充。應用防火墻可以阻止針對Web應用的攻擊,而不僅僅是驗證HTTP協(xié)議。這些攻擊包括利用特殊字符或通配符修改數(shù)據(jù)的數(shù)據(jù)攻擊、設法得到命令串或邏輯語句的邏輯內容攻擊,以及以賬戶、文件或主機為主要目標的目標攻擊。2004年所出現(xiàn)的 Web應用10大漏洞,應用防火墻均可以防御,未知攻擊也無法越過應用防火墻。

業(yè)界標準的應用防火墻一般采用主動安全技術實現(xiàn)對應用的保護。主動安全技術是指建立正面規(guī)則集,也就是說明哪些行為和訪問是合法的規(guī)則描述。對于接收到的應用數(shù)據(jù)(從網(wǎng)絡協(xié)議還原出來的應用數(shù)據(jù),不是數(shù)據(jù)報文頭),判斷是否符合合法規(guī)則。因為只允許通過已知的正常數(shù)據(jù),這種方式可以防御所有的未知攻擊。

應用防火墻技術是現(xiàn)有網(wǎng)絡安全架構的一個重要補充,而不是取代傳統(tǒng)防火墻和入侵檢測等安全設備。傳統(tǒng)安全設備阻擋攻擊者從正面入侵,著重進行網(wǎng)絡層的攻擊防護;而應用防火墻著重進行應用層的內容檢查和安全防御,與傳統(tǒng)安全設備共同構成全面、有效的安全防護體系。 

表1  3種安全產品防御能力比較
攻擊類型                             網(wǎng)絡防火墻           入侵檢測     應用防火墻
未經驗證的輸入                     不能防御             部分防御     全部防御
不完整的訪問控制                  不能防御             不能防御     全部防御
不完整的認證和會話管理         不能防御             不能防御     全部防御
跨站腳本(XSS)漏洞             不能防御             部分防御     全部防御
緩沖區(qū)溢出                           不能防御             部分防御     全部防御
注入的漏洞                           不能防御             部分防御     全部防御
不恰當?shù)腻e誤處理                  不能防御             不能防御     全部防御
不安全的存儲                        不能防御             不能防御     全部防御
拒絕服務                              部分防御             部分防御     全部防御
不安全的配置管理                  部分防御             部分防御     全部防御
未知攻擊                             不能防御              不能防御     全部防御

 

嚴格把關
        
應用防火墻安裝在傳統(tǒng)網(wǎng)絡防火墻與應用服務器之間,在ISO模型的第七層上運行。所有的會話信息,包括上行和下行的會話信息,都要流經應用防火墻。下行請求經過應用防火墻,并且在積極模型的情況下,進行政策的解析處理。這就要求應用防火墻安裝在緩存服務器的前端,以保證請求的有效性。上行請求經過只允許有效請求通過的應用防火墻,因此避免了有害請求進入服務器。應用防火墻了解解析和輸出的會話請求,提供與已有應用的聯(lián)機集成,并與Web應用技術相兼容。應用防火墻監(jiān)聽80和443 TCP端口,并從客戶機接收輸入的HTTP/HTTPS請求,然后解析這些請求,將這些請求與會話建立關系或者創(chuàng)建一次會話,然后將請求與會話的政策相匹配。如果這個請求符合安全策略,它就被轉發(fā)給Web服務器,否則請求就被拒絕。

像華城技術有限公司的AppRock應用防火墻的用戶行為檢測技術,就是從網(wǎng)絡數(shù)據(jù)中還原出應用數(shù)據(jù)流,并在應用數(shù)據(jù)的基礎上歸納用戶行為,然后進行用戶行為的合法性判斷,從而精確的判斷出攻擊行為。通過和積極安全模型結合,用戶行為檢測可以實現(xiàn)只允許發(fā)生符合正常用戶行為的訪問數(shù)據(jù)通過,任何異常數(shù)據(jù)都會被阻止。

實行安全策略的最佳方法就是為用戶與應用系統(tǒng)間的交互設定一個詳細模型或策略。一旦定義了合法活動,則其他活動就會被視為非法活動而被禁止訪問。擁有一個可精確識別用戶活動的模型對執(zhí)行安全策略是至關重要的。F5網(wǎng)絡公司的TrafficShield的應用流量模型是對合法用戶與Web應用間交互的邏輯表述。應用流量模型可自動“搜尋”整個應用系統(tǒng),映射用戶與網(wǎng)站間的互動流程或全部模式。除追蹤流量模式外,可映射應用系統(tǒng)的能力遠比之前為用戶互動制定模型的方法更為精確。

積極和消極

為什么應用防火墻可以阻止未知的攻擊呢?這和應用防火墻的工作原理有關。從安全產品對各種攻擊的應對方法來說,安全產品的工作原理有兩種:積極安全防御模型和消極安全防御模型。

積極安全防御

積極安全防御的原理是:對正常的網(wǎng)絡行為建立模型,把所有通過安全設備的網(wǎng)絡數(shù)據(jù)拿來和保存在模型內的正常模式相匹配,如果不是這個正常范圍以內,那么就認為是攻擊行為,對其作出處理。這樣做的最大好處是可以阻擋未知攻擊。對這種方式來說,建立一個安全的、有效的模型就可以對各種攻擊作出反應了。具有代表性的產品有網(wǎng)絡防火墻、應用防火墻。

一個簡單的例子就是網(wǎng)路防火墻中的狀態(tài)檢測技術,管理員可以配置基于網(wǎng)絡地址、端口和協(xié)議的允許訪問的規(guī)則,只要不是這些允許的訪問,都禁止訪問。在防火墻運行過程中,根據(jù)允許訪問的規(guī)則建立動態(tài)狀態(tài)表項,只有符合這些合法狀態(tài)表項的訪問數(shù)據(jù)才允許通過防火墻,其他的所有訪問都禁止通行。網(wǎng)絡防火墻在網(wǎng)絡層做到了積極安全防御。但是對于應用層數(shù)據(jù),由于網(wǎng)絡防火墻不理解,所以對于應用層的攻擊,網(wǎng)絡防火墻也是無能為力的。

應用防火墻也和網(wǎng)絡防火墻一樣,通過積極安全防御模型來防范攻擊,但是最大的不同是應用防火墻建立的允許訪問的規(guī)則是描述應用的,而不是描述網(wǎng)絡地址、端口和協(xié)議號等網(wǎng)絡層的信息。應用防火墻建立對應用描述的允許規(guī)則以后,對所有的應用層數(shù)據(jù)進行檢查,判斷是否是允許通過的應用層數(shù)據(jù),如果不是,就禁止通行。這樣的原理可以防護未知攻擊,因為各種針對應用的攻擊和未知的攻擊都不包括在允許訪問的應用層描述規(guī)則集中。

分享到

wangliang

相關推薦