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

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

從概念走向?qū)嵱?/p>

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

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

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

應(yīng)用前面的銅墻鐵壁

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

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

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

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

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

入侵檢測有限

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

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

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

應(yīng)用防火墻有效

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

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

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

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

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

 

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

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

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

積極和消極

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

積極安全防御

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

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

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

分享到

wangliang

相關(guān)推薦