一種保護(hù)web應(yīng)用安全的誘騙方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其涉及web應(yīng)用安全領(lǐng)域。
【背景技術(shù)】
[0002]隨著Web2.0、社交網(wǎng)絡(luò)、微博等等一系列新型的互聯(lián)網(wǎng)產(chǎn)品的誕生,基于Web環(huán)境的互聯(lián)網(wǎng)應(yīng)用越來越廣泛,企業(yè)信息化的過程中各種應(yīng)用都架設(shè)在Web平臺(tái)上,Web業(yè)務(wù)的迅速發(fā)展也引起黑客們的強(qiáng)烈關(guān)注,接踵而至的就是Web安全威脅的凸顯,黑客利用網(wǎng)站操作系統(tǒng)的漏洞和Web服務(wù)程序的SQL注入漏洞等得到Web服務(wù)器的控制權(quán)限,輕則篡改網(wǎng)頁(yè)內(nèi)容,重則竊取重要內(nèi)部數(shù)據(jù),更為嚴(yán)重的則是在網(wǎng)頁(yè)中植入惡意代碼,使得網(wǎng)站訪問者受到侵害。而目前常見的保護(hù)web應(yīng)用安全的手段有防火墻、IDS、模式識(shí)別、URL過濾等技術(shù),但這些技術(shù)都很被動(dòng),只有當(dāng)發(fā)生某種入侵事件后再針對(duì)這種入侵采取相應(yīng)的保護(hù)措施,而且一直是處于攻防不對(duì)稱狀態(tài)。被攻擊者只能等待攻擊者來攻擊而對(duì)攻擊者的相關(guān)信息卻一無所知。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于針對(duì)現(xiàn)有的網(wǎng)絡(luò)安全技術(shù)的不足,提出了一種保護(hù)web應(yīng)用安全的誘騙方法。
[0004]本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種保護(hù)web應(yīng)用安全的誘騙方法,該方法包括以下步驟:
步驟1:當(dāng)客戶端請(qǐng)求web服務(wù)器上的資源時(shí),在web服務(wù)器返回的頁(yè)面內(nèi)容中插入一個(gè)假的URL ;
步驟2:分析客戶端向后臺(tái)服務(wù)器發(fā)起的請(qǐng)求,該步驟包括以下子步驟:
(2.1)取出發(fā)起這個(gè)請(qǐng)求的客戶端的IP地址,判斷該IP地址是否被標(biāo)記;
(2.2)如果該IP地址被標(biāo)記,則轉(zhuǎn)到步驟2.4 ;
(2.3)判斷請(qǐng)求的URL是否為我們插入頁(yè)面中的URL ;如果不是,則把該請(qǐng)求轉(zhuǎn)發(fā)到后臺(tái)真實(shí)的web服務(wù)器上;否則,轉(zhuǎn)到步驟(2.4);
(2.4)標(biāo)記該IP,更新該IP訪問后臺(tái)web應(yīng)用的時(shí)間;把該請(qǐng)求轉(zhuǎn)發(fā)到誘騙系統(tǒng)中; 步驟3:誘騙系統(tǒng)處理請(qǐng)求;
(3.1)分析該請(qǐng)求中是否包含攻擊代碼;
(3.1.1)分析該請(qǐng)求的查詢字符串中是否包含有〈script〉或alert等字符串;如果有,則認(rèn)為包含跨站攻擊代碼;
(3.1.2)分析改請(qǐng)求的查詢字符串中是否包含http或者h(yuǎn)tts字符串,如果有,則認(rèn)為是遠(yuǎn)程文件包含攻擊;
(3.1.3)分析請(qǐng)求的查詢字符串中是否包含8616(^、&11(1、1 = l、or等字符串,如果有,則認(rèn)為是sql注入攻擊;
(3.2)根據(jù)步驟(3.1)中檢測(cè)出的攻擊類型,分析構(gòu)造出對(duì)應(yīng)于該類攻擊,攻擊者期望從服務(wù)器得到的響應(yīng)內(nèi)容并將該內(nèi)容返回給攻擊者;
(3.2.1)如果是跨站攻擊,則把請(qǐng)求的查詢字符串中包含攻擊代碼的內(nèi)容直接返回給客戶端;
(3.2.2)如果是sql注入攻擊,則構(gòu)造一些數(shù)據(jù)庫(kù)執(zhí)行錯(cuò)誤的提示信息返回給攻擊者;(3.2.3)如果是遠(yuǎn)程文件包含攻擊,則在本地沙箱中執(zhí)行該文件,并且把文件的輸出內(nèi)容去掉一些字符串后返回給客戶端;
(3.3)記錄該攻擊者的攻擊方式;
步驟4:如果被標(biāo)記的IP地址在一段時(shí)間內(nèi)沒有再次被標(biāo)記,則取消對(duì)該IP的標(biāo)記。
[0005]本發(fā)明的有益效果是,本發(fā)明在發(fā)現(xiàn)有攻擊者嘗試攻擊web服務(wù)器時(shí),把攻擊流量都引入誘騙系統(tǒng)中,在誘騙系統(tǒng)中分析攻擊類型,模擬出攻擊者希望從web服務(wù)器得到的內(nèi)容并將該內(nèi)容返回給攻擊者。應(yīng)用該方法不僅能收集攻擊者的攻擊方式,而且能改變傳統(tǒng)上一直處于被動(dòng)防御的狀態(tài),利用偽造信息欺騙攻擊者,讓攻擊者誤以為達(dá)成目的,從而更好的保護(hù)web應(yīng)用安全。
【附圖說明】
[0006]圖1是網(wǎng)絡(luò)架構(gòu)的示意圖。
[0007]圖2是該誘騙方法的流程圖。
【具體實(shí)施方式】
[0008]下面結(jié)合附圖詳細(xì)描述本發(fā)明,本發(fā)明的目的和效果將變得更加明顯。
[0009]本發(fā)明是一種保護(hù)web應(yīng)用安全的誘騙方法,如圖1所示,該方法需要結(jié)合網(wǎng)關(guān)和誘騙系統(tǒng)來實(shí)現(xiàn)。其中,網(wǎng)關(guān)需要具備反向代理的功能。具體包括以下步驟:
步驟1:當(dāng)客戶端請(qǐng)求web服務(wù)器上的資源時(shí),在web服務(wù)器返回的頁(yè)面內(nèi)容中插入一個(gè)假的URL,該URL不對(duì)應(yīng)著服務(wù)器上的任何資源,并且該URL對(duì)于普通用戶瀏覽網(wǎng)頁(yè)時(shí)不可見,只有當(dāng)攻擊者嘗試去對(duì)網(wǎng)站掃描或爬蟲時(shí)才會(huì)去訪問該URL。如:〈a href=”/path/to/honey,,></a>
步驟2:分析客戶端向后臺(tái)服務(wù)器發(fā)起的請(qǐng)求。
[0010](2.1)取出發(fā)起這個(gè)請(qǐng)求的客戶端的IP地址,判斷該IP地址是否被標(biāo)記。
[0011](2.2)如果該IP地址被標(biāo)記,則轉(zhuǎn)到步驟(2.4)。
[0012](2.3)判斷請(qǐng)求的URL是否為我們插入頁(yè)面中的URL。如果不是,則把該請(qǐng)求轉(zhuǎn)發(fā)到后臺(tái)真實(shí)的web服務(wù)器上。否則,轉(zhuǎn)到步驟(2.4)。
[0013](2.4)標(biāo)記該IP,更新該IP訪問后臺(tái)web應(yīng)用的時(shí)間。把該請(qǐng)求轉(zhuǎn)發(fā)到誘騙系統(tǒng)中。
[0014]步驟3:誘騙系統(tǒng)處理請(qǐng)求。
[0015](3.1)分析該請(qǐng)求中是否包含攻擊代碼。
[0016](3.1.1)分析該請(qǐng)求的查詢字符串中是否包含有〈script〉或alert等字符串。如果有,則認(rèn)為包含跨站攻擊代碼。
[0017](3.1.2)分析改請(qǐng)求的查詢字符串中是否包含http或者h(yuǎn)tts字符串,如果有,則認(rèn)為是遠(yuǎn)程文件包含攻擊。
[0018](3.1.3)分析請(qǐng)求的查詢字符串中是否包含select、and、I = 1、or等字符串,如果有,則認(rèn)為是sql注入攻擊。
[0019](3.2)根據(jù)步驟(3.1)中檢測(cè)出的攻擊類型,分析構(gòu)造出對(duì)應(yīng)于該類攻擊,攻擊者期望從服務(wù)器得到的響應(yīng)內(nèi)容并將該內(nèi)容返回給攻擊者。
[0020](3.2.1)如果是跨站攻擊,則把請(qǐng)求的查詢字符串中包含攻擊代碼的內(nèi)容直接返回給客戶端。
[0021](3.2.2)如果是sql注入攻擊,則構(gòu)造一些數(shù)據(jù)庫(kù)執(zhí)行錯(cuò)誤的提示信息返回給攻擊者O
[0022](3.2.3)如果是遠(yuǎn)程文件包含攻擊,則在本地沙箱中執(zhí)行該文件,并且把文件的輸出內(nèi)容去掉一些字符串后返回給客戶端。
[0023](3.3)記錄該攻擊者的攻擊方式,以備以后進(jìn)行分析。
[0024]步驟4:如果被標(biāo)記的IP地址在一段時(shí)間內(nèi)沒有再次被標(biāo)記,則取消對(duì)該IP的標(biāo)記。
[0025]本發(fā)明在發(fā)現(xiàn)有攻擊者嘗試攻擊web服務(wù)器時(shí),把攻擊流量都引入誘騙系統(tǒng)中,在誘騙系統(tǒng)中分析攻擊類型,模擬出攻擊者希望從web服務(wù)器得到的內(nèi)容并將該內(nèi)容返回給攻擊者。應(yīng)用該方法不僅能收集攻擊者的攻擊方式,而且能改變傳統(tǒng)上一直處于被動(dòng)防御的狀態(tài),利用偽造信息欺騙攻擊者,讓攻擊者誤以為達(dá)成目的,從而更好的保護(hù)web應(yīng)用安全。
【主權(quán)項(xiàng)】
1.一種保護(hù)web應(yīng)用安全的誘騙方法,其特征在于,該方法包括以下步驟: 步驟1:當(dāng)客戶端請(qǐng)求web服務(wù)器上的資源時(shí),在web服務(wù)器返回的頁(yè)面內(nèi)容中插入一個(gè)假的URL ; 步驟2:分析客戶端向后臺(tái)服務(wù)器發(fā)起的請(qǐng)求,該步驟包括以下子步驟: (2.1)取出發(fā)起這個(gè)請(qǐng)求的客戶端的IP地址,判斷該IP地址是否被標(biāo)記; (2.2)如果該IP地址被標(biāo)記,則轉(zhuǎn)到步驟2.4 ; (2.3)判斷請(qǐng)求的URL是否為我們插入頁(yè)面中的URL ;如果不是,則把該請(qǐng)求轉(zhuǎn)發(fā)到后臺(tái)真實(shí)的web服務(wù)器上;否則,轉(zhuǎn)到步驟(2.4); (2.4)標(biāo)記該IP,更新該IP訪問后臺(tái)web應(yīng)用的時(shí)間;把該請(qǐng)求轉(zhuǎn)發(fā)到誘騙系統(tǒng)中; 步驟3:誘騙系統(tǒng)處理請(qǐng)求; (3.1)分析該請(qǐng)求中是否包含攻擊代碼; (3.1.1)分析該請(qǐng)求的查詢字符串中是否包含有〈script〉或alert等字符串;如果有,則認(rèn)為包含跨站攻擊代碼; (3.1.2)分析改請(qǐng)求的查詢字符串中是否包含http或者h(yuǎn)tts字符串,如果有,則認(rèn)為是遠(yuǎn)程文件包含攻擊; (3.1.3)分析請(qǐng)求的查詢字符串中是否包含8616(^、&11(1、1 = l、or等字符串,如果有,則認(rèn)為是sql注入攻擊; (3.2)根據(jù)步驟(3.1)中檢測(cè)出的攻擊類型,分析構(gòu)造出對(duì)應(yīng)于該類攻擊,攻擊者期望從服務(wù)器得到的響應(yīng)內(nèi)容并將該內(nèi)容返回給攻擊者; (3.2.1)如果是跨站攻擊,則把請(qǐng)求的查詢字符串中包含攻擊代碼的內(nèi)容直接返回給客戶端; (3.2.2)如果是sql注入攻擊,則構(gòu)造一些數(shù)據(jù)庫(kù)執(zhí)行錯(cuò)誤的提示信息返回給攻擊者;(3.2.3)如果是遠(yuǎn)程文件包含攻擊,則在本地沙箱中執(zhí)行該文件,并且把文件的輸出內(nèi)容去掉一些字符串后返回給客戶端; (3.3)記錄該攻擊者的攻擊方式; 步驟4:如果被標(biāo)記的IP地址在一段時(shí)間內(nèi)沒有再次被標(biāo)記,則取消對(duì)該IP的標(biāo)記。
【專利摘要】本發(fā)明公開了一種保護(hù)web應(yīng)用安全的誘騙方法,本發(fā)明在發(fā)現(xiàn)有攻擊者嘗試攻擊web服務(wù)器時(shí),把攻擊流量都引入誘騙系統(tǒng),然后在誘騙系統(tǒng)中分析攻擊類型,模擬出攻擊者希望從web服務(wù)器得到的內(nèi)容并將該內(nèi)容返回給攻擊者。同時(shí),記錄攻擊者的IP地址及行為以備以后分析。應(yīng)用該方法能夠欺騙攻擊者,誘敵深入,讓攻擊者誤以為達(dá)成目的,從而保護(hù)真正的資源不被破壞。
【IPC分類】H04L29/08, H04L29/06
【公開號(hào)】CN104967628
【申請(qǐng)?zhí)枴緾N201510418677
【發(fā)明人】吳春明, 申旺強(qiáng), 高文
【申請(qǐng)人】浙江大學(xué)
【公開日】2015年10月7日
【申請(qǐng)日】2015年7月16日