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

為什么防火墻沒(méi)有防住攻擊?因?yàn)樗麄儼惭b的是網(wǎng)絡(luò)防火墻,而真正能防御這些攻擊的是應(yīng)用防火墻。早在2002年,IDC就曾在報(bào)告中認(rèn)為,“網(wǎng)絡(luò)防火墻對(duì)應(yīng)用層的安全已起不到什么作用了,因?yàn)闉榱舜_保通信,網(wǎng)絡(luò)防火墻內(nèi)的端口都必須處于開(kāi)放狀態(tài)。”

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

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

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

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

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

安裝了網(wǎng)絡(luò)防火墻和IDS,就能抵擋應(yīng)用層攻擊嗎?不能。因?yàn)樵诒Wo(hù)應(yīng)用方面,網(wǎng)絡(luò)防火墻和IDS各有不足。

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

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

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

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

入侵檢測(cè)有限

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

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

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

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

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

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

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

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

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

 

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

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

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

積極和消極

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

積極安全防御

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

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

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

分享到

wangliang

相關(guān)推薦