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