蔡澤利
瓊臺(tái)師范高等專(zhuān)科學(xué)校信息技術(shù)系,海南???571100
目前Web 已成為一種普適平臺(tái),很多政府部門(mén)、高校、企業(yè)都將大量應(yīng)用架設(shè)在 Web 平臺(tái)上,如電子政務(wù),電子商務(wù)、教學(xué)管理系統(tǒng)、網(wǎng)上銀行等。Web 業(yè)務(wù)的迅速發(fā)展引起了黑客的關(guān)注,從而將注意力從以往對(duì)傳統(tǒng)網(wǎng)絡(luò)服務(wù)器的攻擊逐步轉(zhuǎn)移到了對(duì)Web業(yè)務(wù)的攻擊上。WAF的出現(xiàn),能很好的解決Web應(yīng)用的安全問(wèn)題。
IPS根據(jù)報(bào)頭和流信息,對(duì)每個(gè)數(shù)據(jù)包進(jìn)行分類(lèi),然后利用相關(guān)的過(guò)濾器檢查數(shù)據(jù)包的流狀態(tài)信息,如果符合事先設(shè)定好的安全策略,該數(shù)據(jù)包將會(huì)被標(biāo)為命中并丟棄。
IPS通過(guò)使用深包檢測(cè)的技術(shù)檢查網(wǎng)絡(luò)數(shù)據(jù)中的應(yīng)用層流量,和攻擊特征庫(kù)進(jìn)行匹配,從而識(shí)別出已知的網(wǎng)絡(luò)攻擊,達(dá)到對(duì)應(yīng)用層攻擊的防護(hù)。但是對(duì)于未知攻擊,以及通過(guò)靈活編碼和報(bào)文分割來(lái)實(shí)現(xiàn)的應(yīng)用層攻擊,IPS不能有效的防護(hù)。
Web應(yīng)用防火墻(Web Application Firewall,簡(jiǎn)稱(chēng):WAF),有硬件Web應(yīng)用防火墻和軟件Web應(yīng)用防火墻之分,一些是基于網(wǎng)絡(luò)的,另一些則是嵌入Web服務(wù)器中的。用以解決諸如防火墻一類(lèi)傳統(tǒng)設(shè)備束手無(wú)策的Web應(yīng)用安全問(wèn)題。與傳統(tǒng)防火墻不同,Web應(yīng)用防火墻工作在應(yīng)用層(傳統(tǒng)防火墻工作在網(wǎng)絡(luò)層)(如圖2),通過(guò)對(duì)來(lái)自Web應(yīng)用程序客戶端的各類(lèi)請(qǐng)求進(jìn)行內(nèi)容檢測(cè)和驗(yàn)證,確保其安全性與合法性,對(duì)非法的請(qǐng)求予以實(shí)時(shí)阻斷。
對(duì)于網(wǎng)絡(luò)攻擊事件,我們可以分為三個(gè)時(shí)間段:事前、事中、事后。傳統(tǒng)的IPS通常只能對(duì)事中進(jìn)行有效的檢查和防護(hù),WAF不僅能對(duì)事中進(jìn)行防護(hù),還能對(duì)事前進(jìn)行預(yù)防和事后防篡改、數(shù)據(jù)恢復(fù)。(如圖1)
圖1
WAF在事前通過(guò)主動(dòng)掃描檢測(cè)Web服務(wù)器來(lái)發(fā)現(xiàn)漏洞并修復(fù)漏洞或在防護(hù)設(shè)備上添加防護(hù)規(guī)則等預(yù)防事件的發(fā)生。事后通過(guò)網(wǎng)頁(yè)防篡改功能,保護(hù)網(wǎng)站數(shù)據(jù)的完整性。
WAF在事中對(duì)Web應(yīng)用流量進(jìn)行全部層面的監(jiān)管,針對(duì)IPS存在無(wú)法對(duì)報(bào)文編碼做多重轉(zhuǎn)換的問(wèn)題,WAF能對(duì)不同的編碼方式做強(qiáng)制多重轉(zhuǎn)換還原成攻擊明文,把變形后的字符組合后再分析。所以WAF在實(shí)時(shí)防護(hù)方面,相對(duì)IPS而言更有針對(duì)性。
跨站腳本攻擊(也稱(chēng)為XSS)是指攻擊者利用網(wǎng)站漏洞在鏈接中插入JavaScript、VBScript、 ActiveX或Flash等惡意代碼,然后將該鏈接進(jìn)行編碼欺騙用戶,當(dāng)用戶在網(wǎng)站中點(diǎn)擊該鏈接時(shí),通過(guò)發(fā)送一個(gè)包含惡意代碼的頁(yè)面給用戶,盜取用戶信息??缯灸_本攻擊主要針對(duì)動(dòng)態(tài)站點(diǎn),不影響靜態(tài)站點(diǎn)。針對(duì)XSS攻擊惡意代碼大量出現(xiàn),WAF通過(guò)驗(yàn)證所有輸入數(shù)據(jù)的長(zhǎng)度、類(lèi)型、語(yǔ)法以及業(yè)務(wù)規(guī)則,阻止各種惡意的腳本插入,防范XSS攻擊。
SQL注入是指通過(guò)把惡意的SQL命令插入到Web表單遞交或頁(yè)面請(qǐng)求的查詢字符串中,欺騙服務(wù)器執(zhí)行,從而竊取或修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
WAF通過(guò)檢查應(yīng)用流量,偵測(cè)HTTP請(qǐng)求中是否混雜著有危險(xiǎn)的數(shù)據(jù)庫(kù)命令或查詢語(yǔ)句被插入到URL, header及form中,并過(guò)濾惡意SQL命令,如果發(fā)現(xiàn)對(duì)網(wǎng)頁(yè)進(jìn)行任何形式的非法操作,如添加、修改、刪除等。則立即進(jìn)行保護(hù)和恢復(fù)數(shù)據(jù),并形成詳細(xì)的日志信息,然后對(duì)管理員進(jìn)行短信告警,并且對(duì)外仍顯示篡改前的正常頁(yè)面,用戶可正常訪問(wèn)網(wǎng)站。由于程序員在編寫(xiě)代碼時(shí),沒(méi)有對(duì)用戶輸入的合法性進(jìn)行判斷,所以用戶可以通過(guò)提交一段數(shù)據(jù)庫(kù)查詢的代碼,然后根據(jù)程序返回的結(jié)果,獲得一些敏感的信息,WAF通過(guò)中止所有的會(huì)話,讓用戶無(wú)法直接連接到web服務(wù)器上,無(wú)法直接訪問(wèn)服務(wù)器和操作系統(tǒng)。針對(duì)應(yīng)用的異常信息WAF可以使用自定義的錯(cuò)誤信息對(duì)原始錯(cuò)誤信息進(jìn)行包裝,阻止后端服務(wù)器的出錯(cuò)信息直接返回給用戶,避免攻擊者從返回的錯(cuò)誤信息中獲得敏感信息。
緩沖區(qū)溢出是指當(dāng)計(jì)算機(jī)向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時(shí)超過(guò)了緩沖區(qū)本身的容量,溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上。緩沖區(qū)溢出攻擊就是利用緩沖區(qū)溢出漏洞所進(jìn)行的攻擊。緩沖區(qū)溢出中,最為危險(xiǎn)的是堆棧溢出,攻擊者可以利用堆棧溢出,在函數(shù)返回時(shí)改變返回程序的地址,讓其跳轉(zhuǎn)并且執(zhí)行一段惡意代碼,甚至可以取得系統(tǒng)特權(quán),進(jìn)行各種非法操作。WAF可以根據(jù)用戶應(yīng)用需求設(shè)定和限制數(shù)據(jù)邊界條件,確保WEB服務(wù)器安全。
攻擊者在完成攻擊后,都會(huì)通過(guò)刪除日志以掩蓋其攻擊痕跡或改變Web處理日志。WAF可以通過(guò)檢查應(yīng)用流量,防止帶有日志篡改的應(yīng)用訪問(wèn)。
由于現(xiàn)在大多數(shù)主流電子郵件服務(wù)和網(wǎng)上銀行程序都是依靠HTTPS來(lái)確保用戶瀏覽器和服務(wù)器之間的安全通信。攻擊者可以通過(guò)對(duì)SSL連接進(jìn)行劫持,實(shí)施中間人攻擊。WAF通過(guò)支持用戶上傳HTTPS證書(shū),在WAF進(jìn)行第一輪認(rèn)證,并對(duì)應(yīng)用流量進(jìn)行解密和偵測(cè),對(duì)HTTPS類(lèi)的所有攻擊進(jìn)行有效的攔截和防御。
Web應(yīng)用層威脅正在日益加劇,WAF在具體防護(hù)方面的優(yōu)勢(shì)十分明顯,各企業(yè)為Web服務(wù)器部署Web應(yīng)用防火墻也越來(lái)越多,但是只有根據(jù)自身的Web應(yīng)用定制符合自己的網(wǎng)絡(luò)安全防護(hù)策略,并且定期檢查更新策略,才能確保Web應(yīng)用得到最完善的保護(hù)。
[1]Web應(yīng)用防火墻(WAF)的安全原理與技術(shù)分析[EB/OL].http://netsecurity.51cto.com/.
[2]秦波.WAF vs IPS 誰(shuí)更適合防護(hù)Web應(yīng)用[EB/OL].http://netsecurity.51cto.com/.