欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于XSS和CSRF的Web攻擊防御系統(tǒng)及其方法與流程

文檔序號(hào):12493299閱讀:370來(lái)源:國(guó)知局

本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種基于XSS和CSRF的Web攻擊防御系統(tǒng)及其方法,具有精確度高和誤判率低的特點(diǎn)。



背景技術(shù):

互聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,網(wǎng)絡(luò)與信息安全的重要性日趨增強(qiáng),大至軍事、國(guó)防、政府、銀行等關(guān)鍵行業(yè),小至一般的企業(yè)乃至個(gè)人,都面臨著網(wǎng)絡(luò)攻擊,蠕蟲(chóng)泛濫,隱私泄漏等風(fēng)險(xiǎn)。隨著企業(yè)和政府越來(lái)越多的系統(tǒng)引用WEB服務(wù),黑客針對(duì)WEB業(yè)務(wù)的攻擊,亦迅猛增長(zhǎng)。一方面,WEB技術(shù)具有便捷性,交互性以及通用性,因此被越來(lái)越多的行業(yè)采用;另一方面,針對(duì)WEB網(wǎng)絡(luò)攻擊又呈現(xiàn)手段多樣化、技術(shù)平民化、周期縮短化的態(tài)勢(shì),嚴(yán)重阻礙了該項(xiàng)技術(shù)的發(fā)展。在所有的WEB攻擊中,CSS和CSRF的技術(shù)攻擊最為嚴(yán)重,指攻擊者在網(wǎng)頁(yè)中嵌入客戶端腳本,通常是JavaScript編寫(xiě)的惡意代碼,當(dāng)用戶使用瀏覽器瀏覽被嵌入惡意代碼的網(wǎng)頁(yè)時(shí),惡意代碼將會(huì)在用戶的瀏覽器上執(zhí)行;利用這兩種攻擊,攻擊者可以進(jìn)行session挾持、數(shù)據(jù)竊取、身份冒充、釣魚(yú)等攻擊行為,甚至利用漏洞編寫(xiě)蠕蟲(chóng)病毒來(lái)感染大量訪問(wèn)機(jī)器。因此,亟需針對(duì)這兩種攻擊的防范措施出臺(tái)。本發(fā)明以此為目標(biāo),對(duì)XSS和CSRF的攻擊和防范進(jìn)行深入研究,提出Web攻擊防御系統(tǒng)及其方法。



技術(shù)實(shí)現(xiàn)要素:

跨站腳本攻擊是當(dāng)前web應(yīng)用程序安全面臨的主要威脅之一,XSS和CSRF就是這類攻擊,它們對(duì)站點(diǎn)和用戶都有巨大的危害,但是由于安全產(chǎn)品特殊應(yīng)用需求,以及各個(gè)組織的工具自身的技術(shù)與安全防護(hù)問(wèn)題,針對(duì)XSS和CSRF攻擊缺乏比較系統(tǒng)和詳細(xì)的文獻(xiàn)資料,本發(fā)明希望深入研究這類攻擊,提供一種基于XSS和CSRF的Web攻擊防御系統(tǒng)及其方法,為網(wǎng)絡(luò)安全人員提供參考。

實(shí)現(xiàn)本發(fā)明目的技術(shù)方案是:

本發(fā)明主要針對(duì)XSS和CSRF這兩種腳本注入攻擊提出防御策略,通過(guò)過(guò)濾模塊,白名單模塊和令牌攔截模塊三種方式層層過(guò)濾用戶數(shù)據(jù),實(shí)現(xiàn)兩種攻擊的高精度識(shí)別,低誤報(bào)率的攔截響應(yīng),為維護(hù)網(wǎng)絡(luò)安全奠定了理論基礎(chǔ)。

一、基于XSS和CSRF的Web攻擊防御系統(tǒng)(簡(jiǎn)稱系統(tǒng))

本系統(tǒng)包括用戶和Web服務(wù)器;

設(shè)置有攻擊防御服務(wù)器,攻擊防御服務(wù)器包括過(guò)濾模塊、白名單模塊和令牌攔截模塊;

其交互關(guān)系是:

用戶、過(guò)濾模塊、令牌攔截模塊和Web服務(wù)器依次交互;

白名單模塊模塊分別與過(guò)濾模塊和令牌攔截模塊交互。

二、基于XSS和CSRF的Web攻擊防御方法(簡(jiǎn)稱方法)

本方法的研究思路是在研究跨站腳本攻擊的應(yīng)用基礎(chǔ)之上,尤其是對(duì)XSS和CSRF這種危害較大的攻擊進(jìn)行詳細(xì)研究,采用Servlet技術(shù)靜態(tài)過(guò)濾用戶輸入,白名單模塊凈化重組HTML數(shù)據(jù),令牌動(dòng)態(tài)攔截非法HTTP數(shù)據(jù),實(shí)現(xiàn)XSS和CSRF這兩種攻擊的防御功能。

本方法包括下列步驟:

①過(guò)濾模塊采用驗(yàn)證用戶輸入合法性,特殊字符處理,cookie防盜,以及遞歸凈化敏感詞匯四種方式過(guò)濾用戶輸入;

②白名單模塊針對(duì)HTML腳本注入,使用HTML解析庫(kù)遍歷所有的節(jié)點(diǎn),獲取其中數(shù)據(jù)的原有標(biāo)簽屬性,通過(guò)白名單模塊中的標(biāo)簽重新構(gòu)建HTML元素樹(shù),從根本上防范HTML腳本注入攻擊;

③令牌攔截模塊通過(guò)Token驗(yàn)證功能對(duì)不符合要求的HTTP請(qǐng)求進(jìn)行攔截。

本發(fā)明具有下列優(yōu)點(diǎn)和積極效果:

①精確度高:本系統(tǒng)采用過(guò)濾模塊,白名單模塊,令牌攔截模塊三種方式對(duì)XSS和CSRF跨站攻擊方式進(jìn)行識(shí)別防御,三種技術(shù)相鋪相成,對(duì)跨站腳本攻擊的識(shí)別精確度高;

②誤判率低:跨站腳本攻擊的核心是攻擊者冒用用戶的身份,對(duì)Web發(fā)起請(qǐng)求,過(guò)濾模塊靜態(tài)過(guò)濾數(shù)據(jù),令牌攔截模塊動(dòng)態(tài)插入Token ,動(dòng)靜結(jié)合大大降低了識(shí)別的誤判率;

③可擴(kuò)展性:針對(duì)白名單模塊,在不斷積累和升級(jí)的過(guò)程中,會(huì)有豐富各異的HTML標(biāo)簽屬性,確認(rèn)安全后,都可以添加到白名單模塊,白名單模塊的大小直接影響防御安全指數(shù)。

附圖說(shuō)明

圖1是本系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D;

其中:

100—用戶;

200—攻擊防御服務(wù)器,

210—過(guò)濾模塊,220—白名單模塊,230—令牌攔截模塊;

300—Web服務(wù)器。

英譯漢

1、XSS:Cross Site Scripting,跨站腳本攻擊;

2、CSRF:Cross Site Request Forgery,跨站請(qǐng)求偽造;

3、JS:JavaScript,是一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類型;

4、HTML:超文本標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例詳細(xì)說(shuō)明:

一、系統(tǒng)

1、總體

如圖1,本系統(tǒng)包括用戶100和Web服務(wù)器300;

設(shè)置有攻擊防御服務(wù)器200,攻擊防御服務(wù)器200包括過(guò)濾模塊210、白名單模塊220和令牌攔截模塊230;

其交互關(guān)系是:

用戶100、過(guò)濾模塊210、令牌攔截模塊230和Web服務(wù)器300依次交互;

白名單模塊模塊220分別與過(guò)濾模塊210和令牌攔截模塊230交互。

2、功能塊

1)用戶100

用戶100是移動(dòng)終端,包括手機(jī)和筆記本。

2)攻擊防御服務(wù)器200

其內(nèi)嵌有過(guò)濾模塊210、白名單模塊模塊220和令牌攔截模塊230。

(1)過(guò)濾模塊210

過(guò)濾模塊210是一種采用Servlet技術(shù),實(shí)現(xiàn)HTTP請(qǐng)求和響應(yīng)過(guò)濾的方法。

Servlet是在Java Servlet規(guī)范2.3中定義的,它能夠?qū)ervlet容器的請(qǐng)求和響應(yīng)對(duì)象進(jìn)行檢查和修改。Servlet過(guò)濾模塊本身并不生成請(qǐng)求和響應(yīng)對(duì)象,它只提供過(guò)濾作用。Servlet過(guò)濾模塊負(fù)責(zé)過(guò)濾的Web組件可以是Servlet,JSP或HTML文件。

過(guò)濾模塊210通過(guò)驗(yàn)證用戶輸入合法性、特殊字符處理、cookie防盜以及遞歸凈化敏感詞匯四種方式過(guò)濾用戶輸入,以起到對(duì)跨站腳本攻擊的有效防范;

過(guò)濾后的數(shù)據(jù)如果是HTML格式,則發(fā)送給白名單模塊模塊220;否則則發(fā)送給令牌攔截模塊230。

②白名單模塊模塊220

白名單模塊模塊220是一種重新整理HTML標(biāo)簽及屬性的方法;

針對(duì)HTML腳本注入,使用HTML解析庫(kù)遍歷所有的節(jié)點(diǎn),獲取其中數(shù)據(jù)的原有標(biāo)簽屬性,通過(guò)白名單模塊模塊220中的標(biāo)簽重新構(gòu)建HTML元素樹(shù),從根本上防范HTML腳本注入攻擊;

白名單模塊模塊220處理后的數(shù)據(jù)發(fā)送給令牌攔截模塊230。

③令牌攔截模塊230

令牌攔截模塊230是一種插入令牌和攔截HTTP請(qǐng)求的方法;

通過(guò)過(guò)濾模塊210或者白名單模塊模塊220處理后的數(shù)據(jù),令牌攔截模塊230在HTTP的請(qǐng)求session加入Token這個(gè)隨機(jī)值,并加入驗(yàn)證機(jī)制,如果HTTP請(qǐng)求中沒(méi)有該Token,或者該Token不正確,則令牌攔截模塊拒絕該HTTP請(qǐng)求,從而防御CSRF攻擊;成功通過(guò)令牌攔截模塊230的數(shù)據(jù)則直接進(jìn)入Web服務(wù)器300。

3)Web服務(wù)器300

Web服務(wù)器300一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序。

3、本系統(tǒng)的工作機(jī)理:

當(dāng)用戶100訪問(wèn)Web服務(wù)器300時(shí),數(shù)據(jù)包首先流經(jīng)過(guò)濾模塊210,它采用Servlet函數(shù)庫(kù)攔截HTTP請(qǐng)求包HttpServletRequest,通過(guò)對(duì)用戶的輸入進(jìn)行用戶數(shù)據(jù)合法性驗(yàn)證,特殊字符處理,cookie防盜,遞歸凈化敏感詞匯這四種技術(shù)手段,實(shí)現(xiàn)數(shù)據(jù)過(guò)濾,抵御80%以上的跨站腳本攻擊。過(guò)濾后的數(shù)據(jù)如果是HTML語(yǔ)句則通過(guò)白名單模塊模塊220處理,如果屬性標(biāo)簽于白名單模塊模塊220中存在,則不做處理,直接發(fā)送給令牌攔截模塊230;否則HTML語(yǔ)句將通過(guò)白名單模塊的重新整理成新的語(yǔ)句再發(fā)送給令牌攔截模塊230,它對(duì)響應(yīng)頁(yè)面腳本標(biāo)簽插入,并轉(zhuǎn)給用戶瀏覽器,當(dāng)頁(yè)面到達(dá)瀏覽器后,令牌攔截模塊230進(jìn)行Token插入操作,用戶提交表單時(shí)的頁(yè)面信息將會(huì)與Token值保持一致,如果Token值不存在,或者頁(yè)面信息與Token不一致,令牌攔截模塊230將拒絕該訪問(wèn)的請(qǐng)求,從而實(shí)現(xiàn)防御跨站腳本攻擊的功能。

二、方法

1、步驟①:

a、用戶數(shù)據(jù)合法性驗(yàn)證,在表單端對(duì)用戶輸入的文本長(zhǎng)度,數(shù)據(jù)類型,格式進(jìn)行嚴(yán)格限制,例如輸入手機(jī)號(hào)碼的文本框只允許11位純數(shù)字,郵箱名文本框郵箱的格式要正確;

b、特殊字符處理,XSS的核心都是利用了腳本注入,不信賴用戶輸入,對(duì)特殊字符如”<”,”>”,”;”,”’”轉(zhuǎn)義,就可以從根本上防止這一問(wèn)題;

c、cookie防盜,為cookie加上HttpOnly標(biāo)記,被標(biāo)記上的cookie是不允許任何腳本讀取或修改的,這樣即使Web應(yīng)用產(chǎn)生了XSS漏洞,cookie信息也能得到較好的保護(hù),達(dá)到減輕損失的目的;

d、遞歸凈化敏感詞匯,在變量中構(gòu)造腳本代碼,輸入中帶入了<scr<script>ipt></scr<script>ipt>,只有通過(guò)遞歸查找script才能發(fā)現(xiàn)此類攻擊。

2、步驟②:

a、針對(duì)HTML語(yǔ)句輸入,采用HTML解析庫(kù)遍歷節(jié)點(diǎn);

b、標(biāo)簽在白名單模塊中的語(yǔ)句,不做任何處理;

c、標(biāo)簽不在白名單模塊中的語(yǔ)句,通過(guò)白名單模塊重新構(gòu)建HTML語(yǔ)句。

3、步驟③:

a、用戶登錄Web服務(wù)器,經(jīng)過(guò)令牌攔截模塊獲取的HTTP請(qǐng)求數(shù)據(jù);

b、對(duì)響應(yīng)頁(yè)面腳本標(biāo)簽插入,并轉(zhuǎn)給用戶瀏覽器,當(dāng)頁(yè)面到達(dá)瀏覽器后,令牌攔截模塊采用跨瀏覽器的JavaScript庫(kù)jQuery進(jìn)行Token插入操作;

c、用戶提交表單時(shí)的頁(yè)面信息將會(huì)與Token值保持一致,并且在提交之前,令牌攔截模塊會(huì)對(duì)HTTP請(qǐng)求進(jìn)行攔截查看,如果Token值不存在,或者頁(yè)面信息與Token不一致,攔截器將拒絕該訪問(wèn)的請(qǐng)求。

4、過(guò)濾模塊210的工作流程包括下列步驟:

過(guò)濾模塊210負(fù)責(zé)過(guò)濾的Web組件可以是Servlet,JSP或HTML文件。Servlet的原理:在HttpServletRequest到達(dá)Servlet之前,攔截客戶的HttpServletRequest;根據(jù)需要檢查HttpServletRequest,也可以修改HttpServletRequest 頭和數(shù)據(jù)。在HttpServletResponse 到達(dá)客戶端之前,攔截HttpServletResponse。根據(jù)需要檢查HttpServletResponse,可以修改HttpServletResponse頭和數(shù)據(jù);

a、用戶數(shù)據(jù)合法性驗(yàn)證,在表單端對(duì)用戶輸入的文本長(zhǎng)度,數(shù)據(jù)類型,格式進(jìn)行嚴(yán)格限制,例如輸入手機(jī)號(hào)碼的文本框只允許11位純數(shù)字,郵箱名文本框郵箱的格式要正確;

b、特殊字符處理,對(duì)特殊字符如”<”,”>”,”;”,”’”轉(zhuǎn)義,這一個(gè)層面做好,至少可以堵住超過(guò)一半的XSS 攻擊。XSS的核心都是利用了腳本注入,因此我們解決辦法其實(shí)很簡(jiǎn)單,不信賴用戶輸入,對(duì)特殊字符如”<”,”>”轉(zhuǎn)義,就可以從根本上防止這一問(wèn)題;

c、cookie防盜,為cookie加上HttpOnly標(biāo)記。HTTP是一個(gè)無(wú)狀態(tài)維持的協(xié)議,但有些場(chǎng)景下我們需要維護(hù)狀態(tài)信息,cookie和session則是用來(lái)解決狀態(tài)維護(hù)問(wèn)題,當(dāng)用戶首次登入時(shí),服務(wù)器為該用戶創(chuàng)建一個(gè) session ID,同時(shí)向游覽器傳送一個(gè) cookie,cookie保存會(huì)話連接中用到的數(shù)據(jù),session ID作為會(huì)話標(biāo)識(shí),游覽器后續(xù)的請(qǐng)求均基于該session ID,攻擊者獲得session得到用戶的執(zhí)行權(quán)限。竊取cookie一般都會(huì)依賴JavaScript讀取 cookie信息,而HttpOnly標(biāo)記則會(huì)告訴瀏覽器,被標(biāo)記上的cookie是不允許任何腳本讀取或修改的,這樣即使Web應(yīng)用產(chǎn)生了XSS漏洞,cookie信息也能得到較好的保護(hù),達(dá)到減輕損失的目的;

d、遞歸凈化敏感詞匯,在變量中構(gòu)造腳本代碼,輸入中帶入了<scr<script>ipt></scr<script>ipt>,只有通過(guò)遞歸查找script才能發(fā)現(xiàn)此類攻擊;

5、白名單模塊模塊220的工作流程包括下列步驟:

白名單模塊模塊220控制允許的HTML標(biāo)簽及各標(biāo)簽的屬性,并通過(guò)自定義的函數(shù)對(duì)任意標(biāo)簽及其屬性進(jìn)行處理。一般提供給用戶使用的富文本編輯器,都是一些比較常用的功能,比如視頻,圖片(表情),文字(加粗,加斜杠,字號(hào),顏色,分割符號(hào),字體),存儲(chǔ)常用功能的標(biāo)簽于白名單模塊中。在處理用戶輸入的HTML語(yǔ)句時(shí),使用HTML解析庫(kù)遍歷每個(gè)節(jié)點(diǎn),獲取其中的標(biāo)簽屬性,如果屬性在白名單模塊中存在,則標(biāo)簽內(nèi)容不變,不做處理;如果標(biāo)簽屬性不在白名單模塊中,則獲取其中數(shù)據(jù)原有的標(biāo)簽屬性,重新構(gòu)建 HTML 元素樹(shù),在構(gòu)建過(guò)程中,所有的標(biāo)簽屬性只從白名單模塊中提取,標(biāo)簽內(nèi)容保持不變;

a、針對(duì)HTML語(yǔ)句輸入,采用HTML解析庫(kù)遍歷節(jié)點(diǎn);

b、標(biāo)簽在白名單模塊中的語(yǔ)句,不做任何處理;

c、標(biāo)簽不在白名單模塊中的語(yǔ)句,通過(guò)白名單模塊重新構(gòu)建HTML語(yǔ)句。

6、令牌攔截模塊230的工作流程包括下列步驟:

CSRF攻擊之所以能夠成功,是因?yàn)楣粽呖梢詡卧煊脩舻恼?qǐng)求,該請(qǐng)求中所有的用戶驗(yàn)證信息都存在于cookie中,因此攻擊者可以在不知道這些驗(yàn)證信息的情況下直接利用用戶自己的cookie來(lái)通過(guò)安全驗(yàn)證。由此可知,抵御CSRF攻擊的關(guān)鍵在于:在請(qǐng)求中放入攻擊者所不能偽造的信息,并且該信息不存在于cookie之中。鑒于此,該系統(tǒng)中在HTTP的請(qǐng)求session加入令牌Token這個(gè)隨機(jī)值,服務(wù)器端設(shè)置攔截器進(jìn)行驗(yàn)證,如果HTTP請(qǐng)求中沒(méi)有該值,或者該值不正確,則服務(wù)器拒絕該請(qǐng)求,從而防御CSRF攻擊;令牌攔截模塊的設(shè)計(jì)原理是通過(guò)對(duì)于客戶端與服務(wù)器的請(qǐng)求進(jìn)行攔截,并對(duì)信息作出相應(yīng)的響應(yīng)處理;

a、用戶登錄Web服務(wù)器,經(jīng)過(guò)令牌攔截模塊獲取的HTTP請(qǐng)求數(shù)據(jù);

b、對(duì)響應(yīng)頁(yè)面腳本標(biāo)簽插入,并轉(zhuǎn)給用戶瀏覽器,當(dāng)頁(yè)面到達(dá)瀏覽器后,令牌攔截模塊采用跨瀏覽器的JavaScript庫(kù)jQuery進(jìn)行Token插入操作;

c、用戶提交表單時(shí)的頁(yè)面信息將會(huì)與Token值保持一致,并且在提交之前,令牌攔截模塊會(huì)對(duì)HTTP請(qǐng)求進(jìn)行攔截查看,如果Token值不存在,或者頁(yè)面信息與Token不一致,攔截器將拒絕該訪問(wèn)的請(qǐng)求。

三、應(yīng)用

跨站腳本攻擊是目前最流行的網(wǎng)絡(luò)攻擊方式之一,同時(shí),它像釣魚(yú)攻擊一樣針對(duì)普通用戶,而且危害性更大。該專利提出的防御系統(tǒng)是以代理的形式為Web應(yīng)用提供服務(wù),這對(duì)防御系統(tǒng)來(lái)說(shuō)是一個(gè)很大的改進(jìn)。該系統(tǒng)可以應(yīng)用于政府、運(yùn)營(yíng)商、金融、能源等企事業(yè)單位的官方網(wǎng)站,協(xié)助用戶降低XSS和CSRF的Web應(yīng)用安全風(fēng)險(xiǎn),Web服務(wù)器和系統(tǒng)對(duì)接后,會(huì)實(shí)時(shí)將告警日志信息上傳用于維護(hù)和更新白名單模塊,總結(jié)出Web攻擊特征和防護(hù)規(guī)則優(yōu)化方案,在取得用戶授權(quán)的情況下,協(xié)助用戶快速調(diào)整設(shè)備的安全防護(hù)策略,精確攔截Web攻擊。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
韶关市| 顺昌县| 临泉县| 拜城县| 中方县| 阜新市| 综艺| 四平市| 航空| 绥中县| 建宁县| 武夷山市| 买车| 抚松县| 化隆| 元氏县| 清流县| 福建省| 信丰县| 于都县| 平利县| 鹤峰县| 普洱| 资溪县| 台湾省| 韩城市| 德兴市| 新巴尔虎右旗| 玉树县| 紫云| 乐业县| 武定县| 通海县| 连平县| 金溪县| 石嘴山市| 黄冈市| 通许县| 酒泉市| 杭锦旗| 弋阳县|