本申請涉及安全防御技術(shù)領(lǐng)域,尤其涉及一種異常網(wǎng)絡(luò)請求檢測方法與裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)充斥在人類生活的方方面面,為人類工作與生活帶來了便利。但是互聯(lián)網(wǎng)給人類帶來便利的同時,也給人類帶來了安全隱患,比如,用戶的賬號存在被盜風(fēng)險。那么為了防止用戶賬戶被盜,檢查出當(dāng)前的網(wǎng)絡(luò)請求是否是異常網(wǎng)絡(luò)請求,即網(wǎng)絡(luò)攻擊者用于盜號的網(wǎng)絡(luò)請求(后稱盜號請求),相當(dāng)重要。
在實際應(yīng)用中,網(wǎng)絡(luò)攻擊者一般采用撞庫掃號這一盜號方法來盜號。其中,撞庫掃號這一方法,就是先收集在網(wǎng)絡(luò)上已泄露的用戶名與密碼(后稱已知用戶名和密碼)等信息,在一些網(wǎng)站逐個“試”著登錄,即向服務(wù)器發(fā)送盜號請求,最終“撞大運(yùn)”地“試”出一些可以登錄的用戶名與密碼(后稱可用用戶名和密碼)的方法。
其中,網(wǎng)絡(luò)攻擊者采用撞庫掃號這一盜號方法來盜號時,為了盡可能快速的獲取到可用用戶名與密碼,便會事先編寫好腳本,以使得同一終端設(shè)備能夠自動、高頻的向服務(wù)器發(fā)送盜號請求。該些盜號請求的發(fā)起頻率遠(yuǎn)大于用戶正常網(wǎng)絡(luò)請求發(fā)起頻率。并且,利用已知用戶名和密碼,在一些網(wǎng)站上嘗試登錄的結(jié)果的失敗率,即已知用戶名和密碼并非為可用用戶名與密碼的概率,相較于用戶發(fā)起的正常網(wǎng)絡(luò)請求的失敗率要高得多。另外,用戶在一個網(wǎng)站中一般只有一個賬戶名,若一個終端設(shè)備向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求(后稱網(wǎng)絡(luò)請求),對應(yīng)著不同的用戶名,表明該些網(wǎng)絡(luò)請求有可能是異常網(wǎng)絡(luò)請求。
根據(jù)撞庫掃號這一盜號方法體現(xiàn)出的上述特點,可以針對同一互聯(lián)網(wǎng)協(xié)議地址(Internet Protocol Address,IP地址)下的網(wǎng)絡(luò)請求,分別判斷該些網(wǎng)絡(luò)請求的發(fā)起頻率以及失敗率,是否大于預(yù)設(shè)頻率以及第一預(yù)設(shè)失敗率,若判斷結(jié)果均為是,則判定該些網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求;否則,則判斷該些網(wǎng)絡(luò)請求為正常網(wǎng)絡(luò)請求。
或者,針對同一互聯(lián)網(wǎng)協(xié)議地址(Internet Protocol Address,IP地址)下的網(wǎng)絡(luò)請求,判斷該些網(wǎng)絡(luò)請求對應(yīng)的用戶名的數(shù)量,是否大于預(yù)設(shè)用戶名數(shù)量,若不大于預(yù)設(shè)用戶名數(shù)量,則判定該些網(wǎng)絡(luò)請求為正常網(wǎng)絡(luò)請求;若大于預(yù)設(shè)用戶名數(shù)量,則進(jìn)一步判斷該些網(wǎng)絡(luò)請求對應(yīng)的失敗率是否大于第二預(yù)設(shè)失敗率,若大于第二預(yù)設(shè)失敗率,則判斷該些網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求,若不大于第二預(yù)設(shè)失敗率,則判斷該些網(wǎng)絡(luò)請求為正常網(wǎng)絡(luò)請求。
但是,上述兩種檢測方法存在一個弊端,即安全防御等級不高,網(wǎng)絡(luò)攻擊者比較容易繞過上述兩種檢測方法的檢測。因為上述兩種檢測方法的檢測原理均是:若網(wǎng)絡(luò)請求對應(yīng)的某一數(shù)值超過預(yù)設(shè)閾值,便將該網(wǎng)絡(luò)請求判定為異常網(wǎng)絡(luò)請求。那么網(wǎng)絡(luò)攻擊者在進(jìn)行多次嘗試之后,便可摸索出預(yù)設(shè)閾值,將網(wǎng)絡(luò)請求對應(yīng)的相應(yīng)數(shù)值控制在預(yù)設(shè)閾值之內(nèi),便可繞過上述兩種檢測方法的檢測。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種異常網(wǎng)絡(luò)請求檢測方法與裝置,用以解決現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法的安全防御等級較低的問題。
本申請實施例采用下述技術(shù)方案:
一種異常網(wǎng)絡(luò)請求檢測方法,包括:
接收網(wǎng)絡(luò)請求;
獲取所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息;
判斷所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征;
若不符合,則判定所述網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
一種異常網(wǎng)絡(luò)請求檢測裝置,包括:
接收模塊,用于接收網(wǎng)絡(luò)請求;
獲取模塊,用于獲取所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息;
預(yù)設(shè)特征判斷模塊,用于判斷所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征;
異常網(wǎng)絡(luò)請求判定模塊,用于若所述預(yù)設(shè)特征判斷模塊判斷出所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則判定所述網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
本申請實施例采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:
本申請實施例提供的異常網(wǎng)絡(luò)檢測方法,通過在接收到網(wǎng)絡(luò)請求后,獲取該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,并判斷該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,來判定該網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求。若該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則判定該網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
與現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法相比,本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法,是根據(jù)網(wǎng)絡(luò)請求中包含的字符串的特征來判斷接收到的網(wǎng)絡(luò)請求是否是異常網(wǎng)絡(luò)請求的,并沒有涉及到預(yù)設(shè)閾值這一參數(shù),那么,網(wǎng)絡(luò)攻擊者通過多次嘗試,也無法獲取到關(guān)于預(yù)設(shè)閾值的相關(guān)信息,因而便無法通過控制網(wǎng)絡(luò)請求對應(yīng)的某一數(shù)值來繞過本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法的檢測。因此,本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法,能夠解決現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法的安全防御等級較低的問題。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例提供的一種異常網(wǎng)絡(luò)請求檢測方法的具體流程示意圖;
圖2為本申請實施例提供的一種異常網(wǎng)絡(luò)請求檢測裝置的示意圖。
具體實施方式
為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說明本申請實施例提供的技術(shù)方案。
為了解決現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法的安全防御等級較低的問題,本申請實施例提供一種異常網(wǎng)絡(luò)請求檢測方法。
為便于描述,下文以該方法的執(zhí)行主體為服務(wù)器為例,對該方法的實施方式進(jìn)行介紹??梢岳斫?,該方法的執(zhí)行主體為服務(wù)器只是一種示例性的說明,并不應(yīng)理解為對該方法的限定。
該方法的具體流程示意圖如圖1所示,包括下述步驟:
步驟101,接收網(wǎng)絡(luò)請求。
上述網(wǎng)絡(luò)請求可以是客戶端向服務(wù)器發(fā)送的請求消息,也可以是服務(wù)器向客戶端發(fā)送的請求消息。上述網(wǎng)絡(luò)請求具體可包括超文本傳送協(xié)議(Hypertext transfer protocol,HTTP)請求,當(dāng)然也可以是其他協(xié)議的請求,其中,只要網(wǎng)絡(luò)請求中包含類似于下文所說的用戶代理信息以及跳轉(zhuǎn)頁面鏈接信息即可。另外,上述客戶端可以是任意客戶端,比如瀏覽器、社交軟件等,本申請實施例對此不進(jìn)行任何限定,只要由上述客戶端向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求中包含類似于下文所說的用戶代理信息以及跳轉(zhuǎn)頁面鏈接信息即可。上述網(wǎng)絡(luò)請求,可以是任意業(yè)務(wù)類型的網(wǎng)絡(luò)請求,比如登錄支付類網(wǎng)站的賬號請求或登錄社交類網(wǎng)站的賬號請求等,本申請實施例對此不進(jìn)行任何限定。在本申請實施例中,為了后續(xù)描述方便,下文以客戶端為瀏覽器、以網(wǎng)絡(luò)請求為客戶端向服務(wù)器發(fā)送的為例進(jìn)行闡述。
上述網(wǎng)絡(luò)請求一般由一個起始行、至少一個頭域、一個指示頭域結(jié)束的空行和可選的消息體組成。典型的頭域包括User-Agent頭域、Referer頭域等。
其中,User-Agent,又叫做用戶代理信息,是瀏覽器給出的一系列綜合信息。該些信息包括硬件平臺、系統(tǒng)軟件、應(yīng)用軟件等信息,即發(fā)送網(wǎng)絡(luò)請求的客戶端所在的終端設(shè)備的硬件信息、操作系統(tǒng)信息、軟件信息等,以及發(fā)起網(wǎng)絡(luò)請求的客戶端的版本信息等信息。終端設(shè)備或瀏覽器不同,用戶代理信息便不同。
一般情況下,用戶代理信息對應(yīng)的起始字符串為Mozilla或Opera,用戶代理信息對應(yīng)的字符串長度為100個字符左右,不會低于50個字符。例如,下面為某一款瀏覽器向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求中包含的用戶代理信息對應(yīng)的字符串:Mozilla/5.0(compatible;X11;U;Linux i686;en-US)Gecko/20081202Firefox(Debian-2.0.0.19-0etch1)。其中,Mozilla為瀏覽器標(biāo)志,用于表明是瀏覽器向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求。Linux i686為操作系統(tǒng)標(biāo)志,用于表明瀏覽器所在終端設(shè)備的操作系統(tǒng)為Linux i686。Firefox(Debian-2.0.0.19-0etch1)為瀏覽器版本信息,用于表明用戶使用的瀏覽器為火狐瀏覽器,該瀏覽器版本號為Debian-2.0.0.19-0etch1。該用戶代理信息對應(yīng)的字符串長度為100個字符左右。
需要特別說明的是,IE瀏覽器發(fā)起的網(wǎng)絡(luò)請求中包含的用戶代理信息對應(yīng)的字符串的長度有時可能會小于50個字符。但是,IE瀏覽器發(fā)起的網(wǎng)絡(luò)請求中包含的用戶代理信息對應(yīng)的字符串中包含MSIE。其中,MSIE是IE瀏覽器的標(biāo)志,用于表明用戶代理信息是由IE瀏覽器發(fā)出的。
Referer(后文稱跳轉(zhuǎn)頁面鏈接信息),用于告知服務(wù)器當(dāng)前網(wǎng)絡(luò)請求對應(yīng)的頁面是由哪個頁面跳轉(zhuǎn)過來的。跳轉(zhuǎn)頁面鏈接信息,有時不為空,有時為空,這與用戶的操作行為有關(guān)。若用戶在某一頁面中點擊了一個鏈接,響應(yīng)用戶的這一操作,瀏覽器向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息不為空,該跳轉(zhuǎn)頁面鏈接信息中包含上述某一頁面對應(yīng)的網(wǎng)址;若用戶直接在網(wǎng)址輸入欄中輸入網(wǎng)址來訪問該網(wǎng)頁,那么瀏覽器向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息為空。在實際應(yīng)用中,為了使得用戶可以安全使用瀏覽器,盡量避免遭受網(wǎng)絡(luò)攻擊,服務(wù)方會事先進(jìn)行設(shè)置:只有當(dāng)服務(wù)器接收到的網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名為預(yù)設(shè)域名時,該網(wǎng)絡(luò)請求才是非異常網(wǎng)絡(luò)請求。其中,該預(yù)設(shè)域名,一般為服務(wù)器開發(fā)商認(rèn)可的域名。其中,該認(rèn)可的域名,可能是服務(wù)器對應(yīng)的域名,也可能是得到該服務(wù)器開發(fā)商授權(quán)的其他服務(wù)器對應(yīng)的域名。
一般情況下,若用戶想要登錄某一支付網(wǎng)站的賬號,便需要打開該網(wǎng)站的登錄頁面,才可以進(jìn)行登錄操作。該登錄頁面對應(yīng)的網(wǎng)址包含的域名,為該支付網(wǎng)站對應(yīng)的服務(wù)器所對應(yīng)的域名。那么這種情況下,用戶在登錄頁面中輸入賬號和密碼后,觸發(fā)瀏覽器向該支付網(wǎng)站對應(yīng)的服務(wù)器發(fā)送網(wǎng)絡(luò)請求,那么該網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名便為該支付網(wǎng)站對應(yīng)的服務(wù)器所對應(yīng)的域名。
另外,還有一種情況是,該支付網(wǎng)站開發(fā)商已經(jīng)將該支付網(wǎng)站的登錄權(quán)授權(quán)給了其他網(wǎng)站。這種情況下,用戶可在其他網(wǎng)站中的、某一頁面中呈現(xiàn)出的上述支付網(wǎng)站對應(yīng)的輸入賬號與密碼的輸入框中,輸入該支付網(wǎng)站的賬號與密碼,用戶觸發(fā)該網(wǎng)頁中的相應(yīng)控件,瀏覽器便可向該支付網(wǎng)站對應(yīng)的服務(wù)器發(fā)送相應(yīng)的網(wǎng)絡(luò)請求,而該網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名便為其他網(wǎng)站對應(yīng)的服務(wù)器所對應(yīng)的域名,即為得到支付網(wǎng)站對應(yīng)的服務(wù)器開發(fā)商授權(quán)的其他網(wǎng)站對應(yīng)的服務(wù)器對應(yīng)的域名。
步驟102,獲取所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息。
網(wǎng)絡(luò)請求中,用戶代理信息以及跳轉(zhuǎn)頁面鏈接信息以下述形式呈現(xiàn):
User-Agent:XXXXXXXXXX;
Referer:XXXXXXXXXX。
因此,可以直接獲取標(biāo)題User-Agent對應(yīng)的內(nèi)容,并將該內(nèi)容作為用戶代理信息,另外,可以直接獲取標(biāo)題Referer對應(yīng)的內(nèi)容,并將該內(nèi)容作為跳轉(zhuǎn)頁面鏈接信息。
步驟103,判斷所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,若不符合,則執(zhí)行步驟104,若符合,則執(zhí)行步驟105。
由步驟101可知,網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息具有各自的特征,那么,在本申請實施例中,可以根據(jù)網(wǎng)絡(luò)請求中包含的用戶代理信息或跳轉(zhuǎn)頁面鏈接信息具有的特征,來判斷網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求。其中,可以先判斷網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,然后再根據(jù)該判斷結(jié)果,確定該網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求。
那么,下面分別詳細(xì)闡述服務(wù)器如何判斷接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征的:
(1)若通過執(zhí)行步驟102獲取到的信息為用戶代理信息,那么執(zhí)行步驟103時,服務(wù)器僅僅判斷接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息的特征是否符合預(yù)設(shè)特征即可,其中,服務(wù)器判斷接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息的特征是否符合預(yù)設(shè)特征,可以采取下述方法判斷:
根據(jù)所述用戶代理信息對應(yīng)的字符串和字符串長度,判斷所述用戶代理信息對應(yīng)的字符串是否包含預(yù)設(shè)字符串,以及所述用戶代理信息對應(yīng)的字符串長度是否落入預(yù)設(shè)長度范圍內(nèi),如果是,則判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息的特征符合預(yù)設(shè)特征,否則,判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息的特征不符合預(yù)設(shè)特征。
其中,這里所說的預(yù)設(shè)特征,可以為步驟101提及的用戶代理信息自身具有的特征。需要特別說明的是,因為所有網(wǎng)絡(luò)請求中包含的用戶代理信息所具有的特征均相似,因此無需分別根據(jù)不同的業(yè)務(wù)類型設(shè)置不同的預(yù)設(shè)特征。
具體的,若用戶代理信息的起始字符串為第一預(yù)設(shè)字符串,且用戶代理信息對應(yīng)的字符串的長度落入第一預(yù)設(shè)長度范圍內(nèi),則判定該用戶代理信息的特征符合預(yù)設(shè)特征;或者,若用戶代理信息的起始字符串為第一預(yù)設(shè)字符串,用戶代理信息對應(yīng)的字符串的長度落入第二預(yù)設(shè)長度范圍內(nèi),且用戶代理信息中包含第二預(yù)設(shè)字符串,則判定該用戶代理信息的特征符合預(yù)設(shè)特征,則執(zhí)行步驟105;否則,則判定該用戶代理信息的特征不符合預(yù)設(shè)特征,則執(zhí)行步驟104。其中,第一預(yù)設(shè)字符串可以為Mozilla或Opera,第一預(yù)設(shè)長度范圍可以為50~120字符,第二預(yù)設(shè)字符串可以為MSIE,第二預(yù)設(shè)長度范圍可以為0~50(不包括50)字符。
(2)若通過執(zhí)行步驟102獲取到的信息為跳轉(zhuǎn)頁面鏈接信息,那么執(zhí)行步驟103時,服務(wù)器僅僅判斷接收到的網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征即可,其中,服務(wù)器判斷網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,可以采取下述方法判斷:
根據(jù)所述跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名信息,判斷所述跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名信息是否為預(yù)設(shè)域名,如果是,則判定所述網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,否則,判定所述網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征。
其中,這里所說的預(yù)設(shè)特征,可以為步驟101提及的跳轉(zhuǎn)頁面鏈接信息自身具有的特征。但是,由于不同的服務(wù)器自身所認(rèn)可的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名是不同的,因此,需要針對不同的網(wǎng)絡(luò)請求對應(yīng)的服務(wù)器,設(shè)置不同的預(yù)設(shè)特征,以使得本申請實施例提供的方法可以適用于所有異常網(wǎng)絡(luò)請求檢測。
具體的,服務(wù)器可以判斷跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名是否為預(yù)設(shè)域名,若跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名為預(yù)設(shè)域名,則判定該網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,則執(zhí)行步驟105;否則,則判定該網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則執(zhí)行步驟104。
(3)若通過執(zhí)行步驟102獲取到的信息為用戶代理信息和跳轉(zhuǎn)頁面鏈接信息,那么執(zhí)行步驟103時,服務(wù)器需判斷接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,其中,服務(wù)器可以采取上述(1)和(2)中提及的判斷用戶代理信息以及跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征的方法,來判斷網(wǎng)絡(luò)請求中包含的用戶代理信息的特征是否符合預(yù)設(shè)特征,以及判斷網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征。
需要特別說明的是,服務(wù)器可以先判斷用戶代理信息的特征是否符合預(yù)設(shè)特征,也可以先判斷跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,或者同時判斷用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,本申請實施例對此不進(jìn)行任何限定。其中,若服務(wù)器判斷出網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征均符合預(yù)設(shè)特征,則判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,則執(zhí)行步驟105;否則,判定網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則執(zhí)行步驟104。
本申請實施例之所以可以采用上述方法判斷網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,是因為在實際生活中,網(wǎng)絡(luò)攻擊者為了快速獲取可用用戶名與密碼,一般不會采用人工登錄賬號的方法來逐個去試已知用戶名和密碼是否為可用用戶名和密碼,而是編寫好腳本,使得終端設(shè)備可以快速、自動的向服務(wù)器發(fā)送網(wǎng)絡(luò)請求。其中編寫好的腳本中所包含的網(wǎng)絡(luò)請求里的用戶代理信息以及跳轉(zhuǎn)頁面鏈接信息,并非是按照各自特點編寫的,而是隨意編寫的,比如,該用戶代理信息的起始字符串并非為Mozilla或Opera,或者該用戶代理信息為空,另外,該跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名并非為接收包含該跳轉(zhuǎn)頁面鏈接信息的網(wǎng)絡(luò)請求的服務(wù)器認(rèn)可的域名。那么,這種情況下,便可以通過執(zhí)行步驟103,來判斷網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征。
步驟104,判定所述網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
需要特別說明的是,為了更便捷的判斷接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息是否符合預(yù)設(shè)特征,可以事先設(shè)置黑名單,若接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息存在于黑名單中,那么該網(wǎng)絡(luò)請求便為異常網(wǎng)絡(luò)請求。
其中,黑名單中保存的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,可以是從其他合作商那里獲取到的,也可以是在執(zhí)行完畢步驟103之后,直接將不符合預(yù)設(shè)特征的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息添加到黑名單中的,本申請實施例對此不進(jìn)行任何限定。當(dāng)服務(wù)器第一次接收到網(wǎng)絡(luò)請求后,若黑名單中并不包含該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,那么通過執(zhí)行步驟103,判斷出該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息不符合預(yù)設(shè)特征后,便可將該用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息保存在黑名單中,那么若后續(xù)接收到的網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息存在于黑名單中,則直接判定后續(xù)接收到的網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
黑名單可以存在于服務(wù)器中,也可以存在于服務(wù)器可以訪問到的設(shè)備中,本申請實施例對此不進(jìn)行任何限定。另外,可以針對每一個服務(wù)器分別設(shè)置一個黑名單,也可以針對所有服務(wù)器設(shè)置一個黑名單。需要特別說明的是,若針對每一個服務(wù)器分別設(shè)置一個黑名單,那么該黑名單中包含不符合預(yù)設(shè)特征的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息;若針對所有服務(wù)器設(shè)置一個黑名單,那么黑名單中除了包含不符合預(yù)設(shè)特征的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息之外,還包含與不符合預(yù)設(shè)特征的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的服務(wù)器的唯一身份標(biāo)識信息。因為不同的服務(wù)器對應(yīng)的關(guān)于跳轉(zhuǎn)頁面鏈接信息的預(yù)設(shè)特征不同,因此若黑名單中不包含與不符合預(yù)設(shè)特征的跳轉(zhuǎn)頁面鏈接信息對應(yīng)的服務(wù)器的唯一身份標(biāo)識信息,那么便無法獲知黑名單中包含的跳轉(zhuǎn)頁面鏈接信息是針對哪一服務(wù)器來說的,那么便無法根據(jù)黑名單中包含的跳轉(zhuǎn)頁面鏈接信息,來判斷接收到的網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息是否符合預(yù)設(shè)特征。
步驟105,判定所述網(wǎng)絡(luò)請求為非異常網(wǎng)絡(luò)請求。
若本申請實施例通過判斷網(wǎng)絡(luò)請求中的用戶代理信息的特征是否符合預(yù)設(shè)特征,來判斷該網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求,那么,該方法不僅不容易被網(wǎng)絡(luò)攻擊者繞過檢測,安全防御等級較高,而且該方法的通用性較高,適用于不同網(wǎng)絡(luò)請求的檢測。
若本申請實施例通過判斷網(wǎng)絡(luò)請求中的跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,或者通過判斷網(wǎng)絡(luò)請求中的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,來判斷該網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求,那么,該方法不容易被網(wǎng)絡(luò)攻擊者繞過檢測,安全防御等級較高,但是該方法需要針對不同網(wǎng)絡(luò)請求的接收方,設(shè)置不同的預(yù)設(shè)特征,通用性不高。
另外,需要特別說明的是,在執(zhí)行步驟103后,若判斷出用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,那么可以不執(zhí)行步驟105,而執(zhí)行下述步驟:
當(dāng)用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征時,確定所述網(wǎng)絡(luò)請求為待定網(wǎng)絡(luò)請求,并針對在預(yù)設(shè)時間內(nèi)接收到的、同一互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址發(fā)送的待定網(wǎng)絡(luò)請求,判斷包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的待定網(wǎng)絡(luò)請求的數(shù)量是否大于預(yù)設(shè)閾值,若大于,則判定包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的各待定網(wǎng)絡(luò)請求均為異常網(wǎng)絡(luò)請求;若不大于,則判定包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的各待定網(wǎng)絡(luò)請求均為非異常網(wǎng)絡(luò)請求。
上述預(yù)設(shè)時間可以為一段時間,例如,可以為5s。另外,為了節(jié)省資源,針對用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,可以采用哈希算法,算出不同的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息對應(yīng)的哈希值。這樣的話,便針對在預(yù)設(shè)時間內(nèi)接收到的、同一互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址發(fā)送的待定網(wǎng)絡(luò)請求,判斷對應(yīng)相同哈希值的待定網(wǎng)絡(luò)請求的數(shù)量是否大于預(yù)設(shè)閾值,若大于,則判定對應(yīng)相同哈希值的各待定網(wǎng)絡(luò)請求均為異常網(wǎng)絡(luò)請求;若不大于,則判定對應(yīng)相同哈希值的各待定網(wǎng)絡(luò)請求均為非異常網(wǎng)絡(luò)請求。
其中,之所以可以采用上述步驟來判斷接收到的網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求,是因為:正常情況下,在一段時間內(nèi),在人工手動觸發(fā)作用下,同一IP地址向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求的次數(shù)較低,而網(wǎng)絡(luò)攻擊者通過編寫腳本,使得同一IP地址向服務(wù)器發(fā)送的網(wǎng)絡(luò)請求的次數(shù)較高。另外,一般情況下,在一段時間內(nèi),網(wǎng)絡(luò)攻擊者編寫好腳本后,不會經(jīng)常改變腳本中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,因此,同一網(wǎng)絡(luò)攻擊者,在一段時間內(nèi)發(fā)起的網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息均相同。
本申請實施例通過采用上述步驟,可以更進(jìn)一步提高步驟101~105對應(yīng)的異常網(wǎng)絡(luò)請求檢測方法的準(zhǔn)確性。
在本申請實施例中,可通過一種異常網(wǎng)絡(luò)請求檢測的裝置,來實現(xiàn)本申請實施例中提供的異常網(wǎng)絡(luò)請求檢測方法。
如圖2所示,為本申請實施例提供的一種異常網(wǎng)絡(luò)請求檢測的裝置的結(jié)構(gòu)示意圖,主要包括下述裝置:
接收模塊21,用于接收網(wǎng)絡(luò)請求。
獲取模塊22,用于獲取所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息。
預(yù)設(shè)特征判斷模塊23,用于判斷所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征。
異常網(wǎng)絡(luò)請求判定模塊24,用于若所述預(yù)設(shè)特征判斷模塊23判斷出所述網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則判定所述網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
在一種實施方式中,預(yù)設(shè)特征判斷模塊23,具體用于:
判斷所述網(wǎng)絡(luò)請求中包含的用戶代理信息的特征是否符合預(yù)設(shè)特征,以及判斷所述網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征;
若所述網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征均符合預(yù)設(shè)特征,則判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,否則,判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息和跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征。
在一種實施方式中,預(yù)設(shè)特征判斷模塊23,具體用于根據(jù)所述用戶代理信息對應(yīng)的字符串和字符串長度,判斷所述用戶代理信息對應(yīng)的字符串是否包含預(yù)設(shè)字符串,以及所述用戶代理信息對應(yīng)的字符串長度是否落入預(yù)設(shè)長度范圍內(nèi),如果是,則判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息的特征符合預(yù)設(shè)特征,否則,判定所述網(wǎng)絡(luò)請求中包含的用戶代理信息的特征不符合預(yù)設(shè)特征;或
預(yù)設(shè)特征判斷模塊23,具體用于根據(jù)所述跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名信息,判斷所述跳轉(zhuǎn)頁面鏈接信息對應(yīng)的域名信息是否為預(yù)設(shè)域名,如果是,則判定所述網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征,否則,判定所述網(wǎng)絡(luò)請求中包含的跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征。
在一種實施方式中,所述裝置還包括:
添加模塊,用于將不符合預(yù)設(shè)特征的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息添加到黑名單中;
異常網(wǎng)絡(luò)請求判定模塊24,還用于若后續(xù)所述接收模塊21接收到的網(wǎng)絡(luò)請求中包含所述不符合預(yù)設(shè)特征的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,則判定所述網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
在一種實施方式中,所述裝置還包括:
待定網(wǎng)絡(luò)請求確定模塊,用于當(dāng)所述用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征符合預(yù)設(shè)特征時,確定所述網(wǎng)絡(luò)請求為待定網(wǎng)絡(luò)請求;
閾值判斷模塊,用于針對在預(yù)設(shè)時間內(nèi)接收到的、同一IP地址發(fā)送的待定網(wǎng)絡(luò)請求,判斷包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的待定網(wǎng)絡(luò)請求的數(shù)量是否大于預(yù)設(shè)閾值;
異常網(wǎng)絡(luò)請求判定模塊24,還用于若所述閾值判斷模塊判斷出包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的待定網(wǎng)絡(luò)請求的數(shù)量大于預(yù)設(shè)閾值,則判定包含相同用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的各待定網(wǎng)絡(luò)請求均為異常網(wǎng)絡(luò)請求。
本申請實施例提供的異常網(wǎng)絡(luò)檢測方法,通過在接收到網(wǎng)絡(luò)請求后,獲取該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息,并判斷該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征是否符合預(yù)設(shè)特征,來判定該網(wǎng)絡(luò)請求是否為異常網(wǎng)絡(luò)請求。若該網(wǎng)絡(luò)請求中包含的用戶代理信息和/或跳轉(zhuǎn)頁面鏈接信息的特征不符合預(yù)設(shè)特征,則判定該網(wǎng)絡(luò)請求為異常網(wǎng)絡(luò)請求。
與現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法相比,本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法,是根據(jù)網(wǎng)絡(luò)請求中包含的字符串的特征來判斷接收到的網(wǎng)絡(luò)請求是否是異常網(wǎng)絡(luò)請求的,并沒有涉及到預(yù)設(shè)閾值這一參數(shù),那么,網(wǎng)絡(luò)攻擊者通過多次嘗試,也無法獲取到關(guān)于預(yù)設(shè)閾值的相關(guān)信息,因而便無法通過控制網(wǎng)絡(luò)請求對應(yīng)的某一數(shù)值來繞過本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法的檢測。因此,本申請實施例提供的異常網(wǎng)絡(luò)請求檢測方法,能夠解決現(xiàn)有技術(shù)中的異常網(wǎng)絡(luò)請求檢測方法的安全防御等級較低的問題。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。
計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、其他類型的隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。