《Web安全防護系統(tǒng)的實現(xiàn)和分析》由會員分享,可在線閱讀,更多相關(guān)《Web安全防護系統(tǒng)的實現(xiàn)和分析(9頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、...wd
Web平安防護系統(tǒng)的實現(xiàn)與分析
程立雪
中國工程物理研究院計算機應(yīng)用研究所
摘要:Web平安防護系統(tǒng)〔WAF,Web Application Firewall〕通過建立網(wǎng)絡(luò)應(yīng)用層的平安規(guī)那么、識別用戶的行為特征,進展流量的監(jiān)測與過濾,能夠有效防止針對網(wǎng)站的主要攻擊,保護Web效勞的平安。本文介紹了Web平安問題的產(chǎn)生及類型,說明了WAF原理、作用及特性,提出了開發(fā)WAF軟件系統(tǒng)的總體架構(gòu)、功能模塊、工作流程等,制定了WAF的網(wǎng)絡(luò)部署方案,最后驗證了WAF的實際應(yīng)用效果,分析了WAF產(chǎn)生的日志信息,這對于改良應(yīng)用系統(tǒng)的平安具有重要價值。
關(guān)鍵詞:WAF,Web平安,網(wǎng)絡(luò)攻擊
2、
The Implementation and Application of Web Application Firewall
Web應(yīng)用以其靈活便捷逐漸取代傳統(tǒng)的開發(fā)模式,在“大數(shù)據(jù)時代〞呈現(xiàn)爆發(fā)式增長,但是一方面更多的Web程序構(gòu)建于數(shù)據(jù)庫平臺之上,承載了大量的IT業(yè)務(wù)數(shù)據(jù)的運轉(zhuǎn),這使得組織對Web平安的重視持續(xù)提升;另外一方面Web平安的脆弱性日益凸顯,漏洞缺陷不斷暴露,攻擊手段不斷開展,使得Web成為主要的網(wǎng)絡(luò)攻擊的途徑,而對Web實施防護那么十分復(fù)雜而困難。
一、 Web應(yīng)用的平安威脅
Web應(yīng)用是由客戶端(瀏覽器)通過發(fā)送 / S請求,例如POST、GET消息等
3、與Web效勞器端進展交互。Web效勞器首先對客戶端的請求進展身份驗證,然后對于合法的用戶請求進展處理,并與數(shù)據(jù)庫進展連接,進而獲取或保存數(shù)據(jù),再將從數(shù)據(jù)庫獲得的數(shù)據(jù)以Web頁面的形式返回到客戶端瀏覽器。
Web應(yīng)用程序的核心平安問題是用戶可以任意輸入信息,因此應(yīng)用程序必須采取措施防止攻擊者使用設(shè)計的輸入來干擾應(yīng)用程序的構(gòu)造,或者非法獲得系統(tǒng)的數(shù)據(jù)。與此同時,由于許多Web程序員的平安意識缺乏,在應(yīng)用程序的設(shè)計和開發(fā)過程中,會產(chǎn)生很多平安漏洞。網(wǎng)絡(luò)管理員的疏忽和不合理的效勞器配置,也會導(dǎo)致很多平安問題。
根據(jù)Web應(yīng)用系統(tǒng)的構(gòu)成,其面臨的平安威脅主要包括三個方面:
a. 針對Web傳輸協(xié)議
4、的攻擊,通過異常的協(xié)議構(gòu)造導(dǎo)致協(xié)議解析的混亂。如 請求夾帶、 回復(fù)拆分、 協(xié)議違反、 協(xié)議異常等
b. 針對Web應(yīng)用程序的攻擊,非法用戶或惡意數(shù)據(jù)利用平安驗證機制的漏洞進入了系統(tǒng),出現(xiàn)了危害性的操作或結(jié)果。如跨站腳本攻擊、失效的認證及會話管理、遠程文件包含攻擊等。
c.針對后臺數(shù)據(jù)的攻擊,如SQL注入攻擊等,攻擊者構(gòu)造特殊的數(shù)據(jù)庫查詢或操作語句,利用意外的返回結(jié)果竊取敏感數(shù)據(jù),甚至深入破解了數(shù)據(jù)的構(gòu)造,控制了數(shù)據(jù)庫平臺。
二、 Web平安防護系統(tǒng)
WAF〔Web Application Firewall,Web平安防護系統(tǒng)〕對網(wǎng)絡(luò)流量能夠?qū)崿F(xiàn)應(yīng)用層的分析與識別
5、,基于用戶的行為特征來評估Web數(shù)據(jù)的平安性,對危險內(nèi)容進展過濾或屏蔽,保護Web效勞器以防止遭受利用協(xié)議漏洞、程序缺陷、數(shù)據(jù)失控等進展的攻擊。
相較于傳統(tǒng)網(wǎng)絡(luò)平安設(shè)備如防火墻、入侵檢測系統(tǒng)〔IDS〕等主要作用于IP網(wǎng)絡(luò)層及TCP/UDP傳輸層,處理通用性的網(wǎng)絡(luò)攻擊,WAF那么主要從 應(yīng)用層并專門針對Web攻擊發(fā)揮功能,兩者互相補充,從而共同對整個網(wǎng)絡(luò)通信構(gòu)成完整保障體系。
針對Web應(yīng)用平安,理想情況下應(yīng)該在軟件開發(fā)生命周期遵循平安編碼原那么,并在各階段采取相應(yīng)的平安措施。然而大量早期開發(fā)的Web應(yīng)用由于歷史原因,都存在不同程度的平安問題,且其定制化特點導(dǎo)致沒有通用補丁可用,而整改
6、代碼因代價過大變得較難實行或者需要較長的整改周期,此時Web平安防護系統(tǒng)的引入成為了迫切的需要。針對需求,WAF主要具備了以下特性:
a. 實效性:WAF采用成熟高效的基于規(guī)那么的檢測技術(shù),能夠根據(jù)實際需求動態(tài)調(diào)整,支持復(fù)雜的運算邏輯來定義應(yīng)用層的規(guī)那么,從而準(zhǔn)確歸納行為模式,捕捉行為特征,判斷行為意圖。
b. 適應(yīng)性:WAF提供了三種平安模式來防范或未知的Web平安威脅:
1) 主動防御:建立正面規(guī)那么集描述合法的行為及訪問,只允許符合規(guī)那么的正常數(shù)據(jù)通過;
2) 被動防御:通過豐富的語言邏輯來定義異常特征庫,用于匹配復(fù)雜的攻擊模式,符合特征的流量將予以攔截處理;
3) 修補模式:
7、根據(jù)已發(fā)布的漏洞信息,進展缺陷的屏蔽或修復(fù),阻止利用漏洞的行為,使開發(fā)者專注于業(yè)務(wù)功能。
c. 全面協(xié)議檢測
WAF會對所有 的請求進展異常檢測,能夠完整的解析 協(xié)議,包括報文頭部、參數(shù)及載荷;支持各種 編碼集;提供了嚴(yán)格的 協(xié)議驗證,拒絕不符合標(biāo)準(zhǔn)的請求,并且可以只允許 協(xié)議的局部必要選項通過,從而減少攻擊的影響范圍,限定 協(xié)議中那些過于松散或未被完全指定的選項。
d. 提供會話保護機制
協(xié)議本身缺乏可靠的會話管理機制,因此WAF對此進展了有效補充, 可以建立一個可靠的會話管理機制,防范基于會話的攻擊類型,如cookie篡改以及會話劫持攻擊
8、等。
e. Web訪問審計
WAF對于Web流量提供細粒度的日志紀(jì)錄,為平安審計提供了根底。通過分析WAF日志,不但能夠?qū)粜袨樽粉櫲∽C,作為改良應(yīng)用平安的具體依據(jù);還能夠了解用戶的關(guān)注點,為提升系統(tǒng)性能及業(yè)務(wù)價值提供指引。
f. 可擴展性
WAF還具備負載均衡及反向代理、緩存加速的功能,能夠?qū)W(wǎng)絡(luò)進展優(yōu)化,同時防護數(shù)量眾多的Web效勞器群。
三、 WAF的設(shè)計及實現(xiàn)
通過對相關(guān)開源軟件進展深入分析,結(jié)合組織的實際需求,工程組完成了進一步的設(shè)計與開發(fā),實現(xiàn)了完整可用的WAF系統(tǒng)。軟件的架構(gòu)與流程如圖1所示:
圖1 WAF系統(tǒng)的總體架構(gòu)
a. 捕獲網(wǎng)絡(luò)數(shù)據(jù),提取Web請求;
9、b. 進展 協(xié)議的預(yù)處理,標(biāo)準(zhǔn)請求的數(shù)據(jù)構(gòu)造與格式,防止繞過WAF的檢測機制,并進展語義的解析;
c. 檢測過濾是WAF系統(tǒng)的核心模塊,它的準(zhǔn)確性及性能決定了WAF的效果。該模塊主要由三個局部組成:
l 提取Web請求的各方面屬性,包括GET、POST、Cookie、Session、Script、File、URL等;
l 對Web請求的屬性值進展特征的模式匹配:一般采用復(fù)雜、靈活的正那么運算提取相應(yīng)特征值。據(jù)此判斷請求的性質(zhì):是否屬于攻擊以及攻擊的類別;
l 根據(jù)匹配的結(jié)果對Web請求進展相應(yīng)的處理,包括阻止、允許、重構(gòu)、傳遞、執(zhí)行等動作;
d. 經(jīng)過檢測過濾后,只有平安的We
10、b請求能夠提交給Web應(yīng)用,再產(chǎn)生相應(yīng)的Web回復(fù);
e. Web回復(fù)同樣由WAF進展檢查,防止在輸出的信息中泄露敏感的內(nèi)容,再經(jīng)過編碼后,平安的Web回復(fù)得以呈現(xiàn)給用戶;
f. 根據(jù)用戶的要求,需要對Web數(shù)據(jù)的全生命周期進展細粒度的日志記錄,為審計分析提供依據(jù)。
四、 WAF的部署與驗證
如圖2所示,WAF系統(tǒng)需要以串聯(lián)方式接入Web客戶端和Web效勞器之間,訪問Web效勞器的往返流量都要經(jīng)過WAF的監(jiān)測與控制。它在防火墻、IDS之后對Web效勞器提供了更為深入的保護,經(jīng)過WAF的檢測和處理,確保了Web交互數(shù)據(jù)的平安性及合法性,防止異常或惡意的內(nèi)容對Web系統(tǒng)造成損害。鑒于生產(chǎn)網(wǎng)
11、絡(luò)的嚴(yán)格限制,以下對WAF系統(tǒng)的驗證與分析主要立足于對測試環(huán)境中Web效勞的平安保護。
圖2 WAF的網(wǎng)絡(luò)部署拓撲
在部署WAF之前,通過運行Web平安性測試工具進展掃描與模擬攻擊,發(fā)現(xiàn)的網(wǎng)站漏洞如圖3左側(cè)所示,存在4個主要的平安問題,包括SQL注入、郵件地址模式、應(yīng)用程序錯誤等漏洞,這樣的網(wǎng)站面臨著較高的平安風(fēng)險;部署WAF系統(tǒng)之后,對Web站點的掃描結(jié)果如圖3右側(cè)所示,包括SQL注入、應(yīng)用程序錯誤等主要的平安漏洞得到了屏蔽,Web效勞的平安得到了有效的強化與加固。
圖3WAF部署前后的平安漏洞掃描
五、 WAF的數(shù)據(jù)分析
WAF部署后產(chǎn)生了大量的日志記錄,通過進一步提煉統(tǒng)計后,獲
12、取了大量切實有效的Web應(yīng)用系統(tǒng)的運行數(shù)據(jù),這些數(shù)據(jù)提醒了Web平安的深層規(guī)律及特性,為管理部門了解應(yīng)用現(xiàn)狀、制定改良方案提供了根底,對構(gòu)建長效的Web平安體系具有指導(dǎo)意義。
WAF系統(tǒng)的日志具體包含了完整詳細的信息,如:生成時間、匹配規(guī)那么、采取措施、重要級別、源地址和端口、效勞器名稱和網(wǎng)頁路徑、協(xié)議版本和狀態(tài)、訪問方式、告警消息等等,甚至記錄了原始的數(shù)據(jù)包字節(jié)數(shù)據(jù)。通過對WAF日志的進一步匯總與分析,能夠滿足審查、取證等各方面的需求,獲取各種有價值的結(jié)論。
a. WAF日志為判斷平安設(shè)施的有效性提供依據(jù)
通過對網(wǎng)絡(luò)流量的偵聽、捕獲以及WAF日志的統(tǒng)計結(jié)果,說明 WAF系統(tǒng)的應(yīng)用使We
13、b攻擊得到了明顯的遏制,數(shù)量大幅度下降了約90%,如圖4所示;
圖4 WAF部署前后的的攻擊數(shù)量
b. WAF日志為了解平安系統(tǒng)的能力提供量化參考
在對Web效勞進展大量模擬攻擊后,WAF日志顯示它對于主要Web攻擊類型的防范效果良好,如XSS腳本攻擊、SQL注入攻擊等,90%以上的攻擊能夠及時發(fā)現(xiàn)并得到進一步的處理以消除其危害;
表1WAF處理的Web攻擊
攻擊類別
攻擊數(shù)
處理數(shù)
1
XSS腳本攻擊
20
20
2
SQL注入攻擊
30
30
3
協(xié)議攻擊
20
16
4
一般攻擊
30
26
c. WAF日志為網(wǎng)絡(luò)執(zhí)法提供線索
14、
WAF日志能夠明確顯示攻擊源的具體IP地址,以此為線索能夠迅速跟蹤、鎖定責(zé)任人員,從源頭切斷攻擊的產(chǎn)生,有力震懾惡意的企圖。如圖5所示,這指出了對Web效勞的攻擊行為主要來自于172.20.*.*網(wǎng)段,由172.20.112.25等主機發(fā)起;
圖5WAF發(fā)現(xiàn)的攻擊源地址
d. WAF日志為開發(fā)平安可靠的網(wǎng)站提供支持
SQL注入攻擊是當(dāng)前針對Web應(yīng)用的攻擊中危害最大、數(shù)量最多而防范最難的。它的產(chǎn)生通常是由于程序開發(fā)人員不了解注入攻擊的手段、對用戶數(shù)據(jù)的驗證和過濾不嚴(yán)格或者效勞器平安策略的配置不完善等原因?qū)е碌摹?
WAF不但能夠攔截SQL注入攻擊,還能夠在日志中記錄攻擊的具體類別及途
15、徑,如通過附加注釋符或者編造查詢語句、輸入特殊參數(shù)、持續(xù)探測頁面參數(shù)的變化等方式以欺騙系統(tǒng)施行危害。這些信息可以用于指導(dǎo)編程人員有針對性地完善程序,消除缺陷,提高代碼質(zhì)量與標(biāo)準(zhǔn)性,從根本上降低系統(tǒng)脆弱性,保障Web效勞的平安。
表2是在模擬運行SQL注入攻擊后,根據(jù)WAF日志對攻擊成因的排列報告。程序員因此能夠了解到攻擊的原理及過程,從而采取措施杜絕漏洞,如:提取用戶的輸入,對其中的特殊字符自動轉(zhuǎn)義;限制輸入的范圍與類型;對用戶權(quán)限進展隔離限制;對數(shù)據(jù)內(nèi)容進展加密;簡化效勞器返回的錯誤信息;管理會話的請求內(nèi)容與數(shù)量等。
表2SQL注入攻擊方式的分類排名
排名
規(guī)那么ID
攻擊方式
16、攻擊數(shù)量
1
981315
注釋符攻擊
14
2
981231
查詢語句異常
10
3
981317
SQL關(guān)鍵詞攻擊
4
4
981172
超出范圍的特殊字符
1
5
950007
SQL盲注
1
WAF系統(tǒng)投入使用以來,在Web平安方面發(fā)揮了確實有效的作用,它能夠從更加深入細致的層面監(jiān)控Web流量,以靈活快捷的方式有力保障了Web效勞的穩(wěn)定可靠。Web應(yīng)用平安是領(lǐng)域研究的重點與難點,不斷出現(xiàn)新的特性與技術(shù),一方面要求持續(xù)改良Web系統(tǒng)本身的設(shè)計、開發(fā)及測試的標(biāo)準(zhǔn)性,另一方面WAF系統(tǒng)將引入人工智能的技術(shù),形成自動學(xué)習(xí)完善的能力。
參考文獻
[
17、1]侯燕 王海濱,基于WAF的Web平安信息系統(tǒng)構(gòu)建[J],計算機工程,2001.08
[2]鄧靜 龔劍,基于高校私有云的WAF研究[J],宿州學(xué)院學(xué)報,2021.01
[3]宋歌笙,Web應(yīng)用防火墻在圖書館的應(yīng)用[J],圖書館工作與研究,2021.09
[4]葉堅,Web應(yīng)用防火墻在網(wǎng)上銀行的應(yīng)用[J],中國金融電腦,2021.09
[5]OWASP. Open Web Application Security Project[EB/OL]. :// owasp.org/.
名稱:Web平安防護系統(tǒng)的實現(xiàn)與分析
作者姓名:程立雪
地址:四川綿陽919信箱1201分箱122室
621900
:18990197137、0816-2484649
簡介:本文介紹了Web平安問題的產(chǎn)生及類型,說明了WAF〔Web平安防護系統(tǒng)〕的原理、作用及特性,提出了開發(fā)WAF軟件系統(tǒng)的總體架構(gòu)、功能模塊、工作流程等,制定了WAF的網(wǎng)絡(luò)部署方案,最后驗證了WAF的實際應(yīng)用效果,分析了WAF產(chǎn)生的日志信息,這對于改良應(yīng)用系統(tǒng)的平安具有重要價值。