本申請(qǐng)涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,尤其是涉及一種識(shí)別訪問(wèn)攻擊的方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)流量越來(lái)越大,需要不斷的擴(kuò)展網(wǎng)絡(luò)帶寬和服務(wù)器以對(duì)這些訪問(wèn)進(jìn)行處理。然而,在這些海量的訪問(wèn)中可能會(huì)有很多的一部分是訪問(wèn)攻擊,這些訪問(wèn)攻擊可能會(huì)對(duì)用戶和網(wǎng)絡(luò)資源造成嚴(yán)重影響。因此,如何從這些海量的訪問(wèn)中準(zhǔn)確識(shí)別出其中哪些是訪問(wèn)攻擊意義重大。
現(xiàn)有技術(shù)中,通過(guò)單獨(dú)分析某一些訪問(wèn)攻擊的行為的成本會(huì)非常的高,因?yàn)槊看卧L問(wèn)攻擊會(huì)具有自身不同的特征,針對(duì)某些訪問(wèn)攻擊的規(guī)則并不一定能用到另外一些訪問(wèn)攻擊上,而且隨著規(guī)則的增加,計(jì)算量和系統(tǒng)的復(fù)雜程度會(huì)急劇上升,后續(xù)的維護(hù)會(huì)很成問(wèn)題。與此同時(shí),一些訪問(wèn)攻擊可能會(huì)隱藏在正常用戶的訪問(wèn)中,從而增加了識(shí)別訪問(wèn)攻擊的難度。因此,目前亟需有一種可有效識(shí)別各種訪問(wèn)攻擊的識(shí)別方案。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的在于提供一種可有效識(shí)別各種訪問(wèn)攻擊的識(shí)別訪問(wèn)攻擊的方法及裝置。
為達(dá)到上述目的,一方面本申請(qǐng)實(shí)施例提供了一種識(shí)別訪問(wèn)攻擊的方法,包括以下步驟:
獲取第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列;
對(duì)所述第一時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);
判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值;
如果大于所述預(yù)設(shè)閾值,則將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊。
再一方面,本申請(qǐng)實(shí)施例還提供了一種識(shí)別訪問(wèn)攻擊的裝置,包括:
訪問(wèn)間隔獲取模塊,用于獲取第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列;
權(quán)重系數(shù)獲取模塊,用于對(duì)所述第一時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);
第一判斷模塊,用于判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值;
第一識(shí)別模塊,用于當(dāng)所述第一判斷模塊判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值大于所述預(yù)設(shè)閾值時(shí),將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊。
本申請(qǐng)實(shí)施例將預(yù)設(shè)范圍內(nèi)來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行頻譜分析,獲得時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);判斷第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值;如果大于預(yù)設(shè)閾值,則將預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊,從而實(shí)現(xiàn)了網(wǎng)絡(luò)訪問(wèn)的識(shí)別,由于本申請(qǐng)實(shí)施例基于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行處理,從而屏蔽了各種訪問(wèn)的差異性,因而可對(duì)各種訪問(wèn)進(jìn)行有效識(shí)別,通用性較好。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)實(shí)施例的進(jìn)一步理解,構(gòu)成本申請(qǐng)實(shí)施例的一部分,并不構(gòu)成對(duì)本申請(qǐng)實(shí)施例的限定。在附圖中:
圖1為本申請(qǐng)一實(shí)施例的識(shí)別訪問(wèn)攻擊的方法的流程圖;
圖2為本申請(qǐng)一實(shí)施例的識(shí)別訪問(wèn)攻擊的裝置的結(jié)構(gòu)框圖;
圖3為本申請(qǐng)一實(shí)施例的識(shí)別訪問(wèn)攻擊的裝置中訪問(wèn)間隔獲取模塊的結(jié)構(gòu)框圖;
圖4為本申請(qǐng)一實(shí)施例中由網(wǎng)絡(luò)機(jī)器人發(fā)起的訪問(wèn)記錄示意圖;
圖5為本申請(qǐng)一實(shí)施例中一訪問(wèn)時(shí)間間隔序列經(jīng)差分運(yùn)算后的輸出示意圖;
圖6為本申請(qǐng)一實(shí)施例中不規(guī)則訪問(wèn)的訪問(wèn)時(shí)間間隔的示意圖;
圖7為本申請(qǐng)一實(shí)施例中規(guī)則訪問(wèn)的訪問(wèn)時(shí)間間隔的示意圖;
圖8為本申請(qǐng)一實(shí)施例的一訪問(wèn)時(shí)間間隔序列經(jīng)差分運(yùn)算后得到的時(shí)域數(shù)據(jù)示意圖;
圖9為圖8中的時(shí)域數(shù)據(jù)經(jīng)快速傅里葉變換后得到的頻域數(shù)據(jù)示意圖。
具體實(shí)施方式
為使本申請(qǐng)實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本申請(qǐng)實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。在此,本申請(qǐng)實(shí)施例的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng)實(shí)施例,但并不作為對(duì)本申請(qǐng)實(shí)施例的限定。
本申請(qǐng)的發(fā)明人發(fā)現(xiàn),訪問(wèn)攻擊一般是由網(wǎng)絡(luò)機(jī)器人發(fā)起的,而這些由網(wǎng)絡(luò)機(jī)器人發(fā)起的訪問(wèn)攻擊的時(shí)間間隔一般普遍具有周期性,也就說(shuō),網(wǎng)絡(luò)機(jī)器人的訪問(wèn)特點(diǎn)通常是:每相鄰兩條訪問(wèn)的時(shí)間間隔固定,如圖4所示。然而,即便某一來(lái)源的訪問(wèn)在時(shí)間上具有非常明顯的周期性,但是考慮到其中可能會(huì)出現(xiàn)非常多的噪聲(這里所述的噪聲即為正常用戶的訪問(wèn)),例如圖6所示,在這種情況下,如果是用規(guī)則進(jìn)行匹配的話,需要進(jìn)行非常細(xì)致的檢查才可能發(fā)現(xiàn)對(duì)應(yīng)的規(guī)則,同時(shí)這些規(guī)則一般不具有普適性,而只針對(duì)某一特定情況起作用。此外,本申請(qǐng)的發(fā)明人還發(fā)現(xiàn),當(dāng)一些訪問(wèn)序列在時(shí)間上具有非常明顯的周期特征存在且噪聲較少時(shí)(同樣這里所述的噪聲即為正常用戶的訪問(wèn)),例如圖7所示,如果僅僅是通過(guò)規(guī)則自動(dòng)化的識(shí)別將會(huì)是非常死的規(guī)則,網(wǎng)絡(luò)機(jī)器人可能只需要稍微調(diào)整一下時(shí)間間隔,可能就會(huì)造成規(guī)則的失效。為解決現(xiàn)有技術(shù)存在這些問(wèn)題,本申請(qǐng)實(shí)施例的思路是嘗試采用一些普適的技術(shù)手段對(duì)訪問(wèn)進(jìn)行歸一化,從而屏蔽各種訪問(wèn)之間的差異性,以達(dá)到可用一種普適的方案來(lái)有效識(shí)別各種訪問(wèn)攻擊的目的。
下面結(jié)合附圖,對(duì)本申請(qǐng)實(shí)施例的具體實(shí)施方式作進(jìn)一步的詳細(xì)說(shuō)明。
參考圖1所示,本申請(qǐng)實(shí)施例的識(shí)別訪問(wèn)攻擊的方法包括以下步驟:
步驟S101,獲取第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列。
在本申請(qǐng)一實(shí)施例中,所述第一預(yù)設(shè)范圍可以為預(yù)設(shè)的時(shí)間段或訪問(wèn)記錄數(shù)量等。其中,預(yù)設(shè)的時(shí)間段例如可以是定時(shí)時(shí)段,比如每隔3分鐘獲取前3分鐘的全量 訪問(wèn)數(shù)據(jù)中來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。其中,預(yù)設(shè)的訪問(wèn)記錄數(shù)量還可以是設(shè)定時(shí)間內(nèi)第M條至第N-M條訪問(wèn)記錄中來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列,比如當(dāng)天第1條至第10000條訪問(wèn)記錄或者當(dāng)天第10001至第20000條訪問(wèn)記錄。
在本申請(qǐng)另一實(shí)施例中,所述第一預(yù)設(shè)范圍的大小與系統(tǒng)當(dāng)前處理能力相匹配,這樣既避免了系統(tǒng)過(guò)負(fù)荷也避免了系統(tǒng)資源的浪費(fèi),從而有利于提高識(shí)別的實(shí)時(shí)性和效率。
在本申請(qǐng)另一實(shí)施例中,所述獲取第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列,例如可以通過(guò)以下步驟實(shí)現(xiàn):
1)、獲取第一預(yù)設(shè)范圍內(nèi)的訪問(wèn)信息。比如可以從網(wǎng)絡(luò)訪問(wèn)日志數(shù)據(jù)庫(kù)獲取預(yù)設(shè)范圍內(nèi)的訪問(wèn)信息。
2)、從所述訪問(wèn)信息中提取當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息。
3)、根據(jù)所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息計(jì)算所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。其中,所述的計(jì)算可以為對(duì)所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息進(jìn)行差分運(yùn)算(例如一階差分運(yùn)算),獲得所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。
步驟S102,對(duì)所述第一時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù)。
在本申請(qǐng)一實(shí)施例中,可基于離散傅里葉變換(Discrete Fourier Transform,DFT)對(duì)時(shí)間間隔序列進(jìn)行頻譜分析。具體的:
考慮到網(wǎng)絡(luò)機(jī)器人發(fā)起的訪問(wèn)攻擊在時(shí)間上的差分為嚴(yán)格的周期信號(hào),可用如下公式對(duì)這種信號(hào)進(jìn)行描述:
在這里假設(shè)該周期信號(hào)的周期為2π,則通過(guò)離散傅立葉變換可以將該周期信號(hào)轉(zhuǎn)換為頻域中的如下形式:
對(duì)于一個(gè)周期為N的信號(hào)x[n]其傅立葉級(jí)數(shù)可以表示為:
這時(shí),其對(duì)應(yīng)的離散傅立葉變換為:
其中,δ為沖擊函數(shù),如此可以針對(duì)每個(gè)頻點(diǎn),得到其離散傅立葉變換的權(quán)重系數(shù)ak,而權(quán)重系數(shù)ak代表了其在整個(gè)信號(hào)中的重要程度。根據(jù)這一特性,將如圖8所示的第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列進(jìn)行離散傅立葉變換,變換后得到的頻域信號(hào)如圖9所示,從而可以得到其各個(gè)頻點(diǎn)的權(quán)重系數(shù)ak,對(duì)于周期信號(hào),經(jīng)過(guò)離散傅立葉變換以后,其在頻域上會(huì)有某個(gè)頻點(diǎn)的系數(shù)相較其他頻點(diǎn)的系數(shù)明顯偏大,一般將這個(gè)頻點(diǎn)確定為信號(hào)的基頻,因此,經(jīng)過(guò)離散傅立葉變換可以確定第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù)。
在本申請(qǐng)另一些實(shí)施例中,時(shí)間間隔序列的頻譜分析也可以基于快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)、小波變換(wavelet transform,WT)等實(shí)現(xiàn)。
步驟S103,判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值。
假設(shè)所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)為max(ak),所述第一時(shí)間間隔序列的各次諧波頻率的均值為mean(ak),則所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值θ可以表示為:
本申請(qǐng)實(shí)施例中,所述預(yù)設(shè)閾值為經(jīng)驗(yàn)值,本申請(qǐng)的發(fā)明人經(jīng)過(guò)長(zhǎng)期研究和大量實(shí)驗(yàn)發(fā)現(xiàn):一般的,預(yù)設(shè)閾值大于或等于1.2為宜,即當(dāng)預(yù)設(shè)閾值為1.2時(shí),就有較大概率獲得較好的檢測(cè)效果,但是在對(duì)誤判率要求較高的某些情況下,預(yù)設(shè)閾值可適當(dāng)提高,比如將其設(shè)為1.5。在實(shí)際應(yīng)用中,具體可根據(jù)誤判率要求做適當(dāng)調(diào)整,例如在正式進(jìn)行識(shí)別前,可先通過(guò)實(shí)驗(yàn)性的識(shí)別來(lái)確定預(yù)設(shè)閾值,具體如下:
a、設(shè)定一個(gè)當(dāng)前閾值;
b、選取第二預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第二時(shí)間間隔序列;
c、對(duì)所述第二時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第二時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);
d、判斷所述第二時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第二時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于所述當(dāng)前閾值;
e、如果大于所述當(dāng)前閾值,則將所述第二預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊;
f、獲取本次識(shí)別的誤判率;所述的誤判率為:被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)中屬于正常訪問(wèn)卻被誤判為網(wǎng)絡(luò)攻擊的訪問(wèn)占被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)的比例。本步驟中,誤判率的獲取可以依據(jù)人工判定,例如在人工抽樣分析識(shí)別結(jié)果并得到判定結(jié)果后,再通過(guò)人機(jī)交互方式獲取判定結(jié)果。其中,判定結(jié)果可以為被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)中屬于正常訪問(wèn)卻被誤判為網(wǎng)絡(luò)攻擊的訪問(wèn)的個(gè)數(shù),也可以為誤判率。
g、判斷本次識(shí)別的誤判率是否超過(guò)預(yù)設(shè)的誤判率上限,如果超過(guò),則調(diào)整所述當(dāng)前閾值并重復(fù)步驟b至g;如此循環(huán)直至當(dāng)前次識(shí)別的誤判率不超過(guò)所述誤判率上限,則將所述當(dāng)前閾值選定為預(yù)設(shè)閾值。
步驟S104a,如果大于所述預(yù)設(shè)閾值,則將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊。
在本申請(qǐng)的另一實(shí)施例中,還包括:
步驟S104b,如果所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值小于或等于所述預(yù)設(shè)閾值,則將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為正常訪問(wèn)。
在本申請(qǐng)的另一實(shí)施例中,在步驟S104a或步驟S104b之后還包括如下步驟:
步驟S105,在完成所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別之后,判斷是否完成所述第一預(yù)設(shè)范圍內(nèi)所有標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別。如果未完成,則在所述第一預(yù)設(shè)范圍內(nèi)對(duì)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的下一標(biāo)識(shí)用戶或IP的各次訪問(wèn)的進(jìn)行識(shí)別。即選擇所述第一預(yù)設(shè)范圍內(nèi)下一個(gè)標(biāo)識(shí)用戶或IP后跳轉(zhuǎn)執(zhí)行步驟S101。如果已完成,則執(zhí)行步驟S106。
步驟S106,結(jié)束所述第一預(yù)設(shè)范圍內(nèi)的全量訪問(wèn)識(shí)別。當(dāng)然,一般的,訪問(wèn)攻擊的識(shí)別為持續(xù)性或階段性的才更有實(shí)際意義,在所述第一預(yù)設(shè)范圍內(nèi)全量訪問(wèn)識(shí)別后,可后續(xù)進(jìn)行下一預(yù)設(shè)范圍的全量訪問(wèn)識(shí)別。比如每隔3分鐘對(duì)前3分鐘的全量訪問(wèn)識(shí)別,假設(shè)當(dāng)前時(shí)間為12:00,到12:03時(shí)開(kāi)始對(duì)12:00-12:03之間的全量訪問(wèn)進(jìn)行識(shí)別,后續(xù)到12:06時(shí)則開(kāi)始對(duì)12:03-12:06之間的全量訪問(wèn)進(jìn)行識(shí)別。
在本申請(qǐng)的另一實(shí)施例中,在步驟S102之前,還可以包括:
將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列輸出顯示,例如圖5所示,以便于直觀觀察。
此外,在本申請(qǐng)的另一實(shí)施例中,還可以將識(shí)別結(jié)果以及識(shí)別的中間數(shù)據(jù)保存下來(lái),這些識(shí)別結(jié)果以及識(shí)別的中間數(shù)據(jù)可留后續(xù)之用(例如用于后續(xù)的數(shù)據(jù)分析)。
雖然上文描述的過(guò)程流程包括以特定順序出現(xiàn)的多個(gè)操作,但是,應(yīng)當(dāng)清楚了解,這些過(guò)程可以包括更多或更少的操作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。
本申請(qǐng)上述方法實(shí)施例將預(yù)設(shè)范圍內(nèi)來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行頻譜分析,獲得時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);判斷第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值;如果大于預(yù)設(shè)閾值,則將預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊,從而實(shí)現(xiàn)了網(wǎng)絡(luò)訪問(wèn)的識(shí)別,由于該方法基于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行處理,從而屏蔽了各種訪問(wèn)的差異性,因而可對(duì)各種訪問(wèn)進(jìn)行有效識(shí)別,通用性較好。
參考圖2所示,本申請(qǐng)實(shí)施例的識(shí)別訪問(wèn)攻擊的裝置包括:
訪問(wèn)間隔獲取模塊21,用于獲取第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列。
在本申請(qǐng)一實(shí)施例中,所述第一預(yù)設(shè)范圍可以為預(yù)設(shè)的時(shí)間段或訪問(wèn)記錄數(shù)量等。其中,預(yù)設(shè)的時(shí)間段例如可以是定時(shí)時(shí)段,比如每隔3分鐘獲取前3分鐘的全量訪問(wèn)數(shù)據(jù)中來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。其中,預(yù)設(shè)的訪問(wèn)記錄數(shù)量還可以是設(shè)定時(shí)間內(nèi)第M條至第N-M條訪問(wèn)記錄中來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列,比如當(dāng)天第1條至第10000條訪問(wèn)記錄或者當(dāng)天第10001至第20000條訪問(wèn)記錄。本申請(qǐng)另一實(shí)施例中,所述第一預(yù)設(shè)范圍的大小與系統(tǒng)當(dāng)前處理能力相匹配,這樣既避免了系統(tǒng)過(guò)負(fù)荷也避免了系統(tǒng)資源的浪費(fèi),從而有利于提高識(shí)別的實(shí)時(shí)性和效率。
權(quán)重系數(shù)獲取模塊22,用于對(duì)所述第一時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù)。
在本申請(qǐng)一實(shí)施例中,可基于離散傅里葉變換對(duì)時(shí)間間隔序列進(jìn)行頻譜分析。具 體的:
考慮到網(wǎng)絡(luò)機(jī)器人等發(fā)起的訪問(wèn)攻擊在時(shí)間上的差分為嚴(yán)格的周期信號(hào),可用如下公式對(duì)這種信號(hào)進(jìn)行描述:
在這里假設(shè)該周期信號(hào)的周期為2π,則通過(guò)離散傅立葉變換可以將該信號(hào)轉(zhuǎn)換為頻域中的如下形式:
對(duì)于一個(gè)周期為N的信號(hào)x[n],其傅立葉級(jí)數(shù)可以表示為:
這時(shí),其對(duì)應(yīng)的離散傅立葉變換為:
其中,δ為沖擊函數(shù),如此可以針對(duì)每個(gè)頻點(diǎn),得到其離散傅立葉變換的權(quán)重系數(shù)ak,而權(quán)重系數(shù)ak代表了其在整個(gè)信號(hào)中的重要程度。根據(jù)這一特性,將如圖8所示的第一預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列進(jìn)行離散傅立葉變換,變換后得到的頻域信號(hào)如圖9所示,從而可以得到其各個(gè)頻點(diǎn)的權(quán)重系數(shù)ak,對(duì)于周期信號(hào),經(jīng)過(guò)離散傅立葉變換以后,其在頻域上會(huì)有某個(gè)頻點(diǎn)的系數(shù)相較其他頻點(diǎn)的系數(shù)明顯偏大,一般將這個(gè)頻點(diǎn)確定為信號(hào)的基頻,因此,經(jīng)過(guò)離散傅立葉變換可以確定第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù)。
在本申請(qǐng)另一些實(shí)施例中,時(shí)間間隔序列的頻譜分析也可以基于快速傅里葉變換、小波變換等實(shí)現(xiàn)。
第一判斷模塊23,用于判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值。
假設(shè)所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)為max(ak),所述第一時(shí)間間隔序列的各次諧波頻率的均值為mean(ak),則所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值θ可以表示為:
本申請(qǐng)實(shí)施例中,所述預(yù)設(shè)閾值為經(jīng)驗(yàn)值,本申請(qǐng)的發(fā)明人經(jīng)過(guò)長(zhǎng)期研究和大量實(shí)驗(yàn)發(fā)現(xiàn):一般的,預(yù)設(shè)閾值大于或等于1.2為宜,即當(dāng)預(yù)設(shè)閾值為1.2時(shí),就有較大概率獲得較好的檢測(cè)效果,但是在對(duì)誤判率要求較高的某些情況下,預(yù)設(shè)閾值可適當(dāng)提高,比如將其設(shè)為1.5。在實(shí)際應(yīng)用中,具體可根據(jù)誤判率要求做適當(dāng)調(diào)整,例如在正式進(jìn)行識(shí)別前,可先通過(guò)實(shí)驗(yàn)性的識(shí)別來(lái)確定預(yù)設(shè)閾值,具體如下:
a、設(shè)定一個(gè)當(dāng)前閾值;
b、選取第二預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第二時(shí)間間隔序列;
c、對(duì)所述第二時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第二時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);
d、判斷所述第二時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第二時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于所述當(dāng)前閾值;
e、如果大于所述當(dāng)前閾值,則將所述第二預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊;
f、獲取本次識(shí)別的誤判率;所述的誤判率為:被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)中屬于正常訪問(wèn)卻被誤判為網(wǎng)絡(luò)攻擊的訪問(wèn)占被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)的比例。本步驟中,誤判率的獲取可以依據(jù)人工判定,例如在人工抽樣分析識(shí)別結(jié)果并得到判定結(jié)果后,再通過(guò)人機(jī)交互方式獲取判定結(jié)果。其中,判定結(jié)果可以為被識(shí)別為網(wǎng)絡(luò)攻擊的訪問(wèn)中屬于正常訪問(wèn)卻被誤判為網(wǎng)絡(luò)攻擊的訪問(wèn)的個(gè)數(shù),也可以為誤判率。
g、判斷本次識(shí)別的誤判率是否超過(guò)預(yù)設(shè)的誤判率上限,如果超過(guò),則調(diào)整所述當(dāng)前閾值并重復(fù)步驟b至g;如此循環(huán)直至當(dāng)前次識(shí)別的誤判率不超過(guò)所述誤判率上限,則將所述當(dāng)前閾值選定為預(yù)設(shè)閾值。
第一識(shí)別模塊24,用于當(dāng)所述第一判斷模塊判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值大于所述預(yù)設(shè)閾值時(shí),將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊。
在本申請(qǐng)另一實(shí)施例中,識(shí)別訪問(wèn)攻擊的裝置還可以包括:
第二識(shí)別模塊25,用于當(dāng)所述第一判斷模塊23判斷所述第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與所述第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值小 于或等于所述預(yù)設(shè)閾值,則將所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為正常訪問(wèn)。
在本申請(qǐng)另一實(shí)施例中,識(shí)別訪問(wèn)攻擊的裝置還可以包括:
第二判斷模塊26,用于在完成所述第一預(yù)設(shè)范圍內(nèi)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別之后,判斷是否完成所述第一預(yù)設(shè)范圍內(nèi)所有標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別。
觸發(fā)模塊27,用于當(dāng)所述第二判斷模塊26判斷未完成所述第一預(yù)設(shè)范圍內(nèi)所有標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別時(shí),觸發(fā)在所述第一預(yù)設(shè)范圍內(nèi)對(duì)來(lái)自于所述當(dāng)前標(biāo)識(shí)用戶或IP的下一標(biāo)識(shí)用戶或IP的各次訪問(wèn)的進(jìn)行識(shí)別。
此外,如果所述第二判斷模塊26判斷已完成所述第一預(yù)設(shè)范圍內(nèi)所有標(biāo)識(shí)用戶或IP的各次訪問(wèn)的識(shí)別,則意味著所述第一預(yù)設(shè)范圍內(nèi)的全量訪問(wèn)識(shí)別結(jié)束。當(dāng)然,一般的,訪問(wèn)攻擊的識(shí)別為持續(xù)性或階段性的才更有實(shí)際意義,在所述第一預(yù)設(shè)范圍內(nèi)全量訪問(wèn)識(shí)別后,可后續(xù)進(jìn)行下一預(yù)設(shè)范圍的全量訪問(wèn)識(shí)別。比如每隔3分鐘對(duì)前3分鐘的全量訪問(wèn)識(shí)別,假設(shè)當(dāng)前時(shí)間為12:00,到12:03時(shí)開(kāi)始對(duì)12:00-12:03之間的全量訪問(wèn)進(jìn)行識(shí)別,后續(xù)到12:06時(shí)則開(kāi)始對(duì)12:03-12:06之間的全量訪問(wèn)進(jìn)行識(shí)別。
結(jié)合圖3所示,在本申請(qǐng)一實(shí)施例中所述訪問(wèn)間隔獲取模塊21包括:
訪問(wèn)信息獲取子模塊211,用于獲取第一預(yù)設(shè)范圍內(nèi)的訪問(wèn)信息;比如可以從網(wǎng)絡(luò)訪問(wèn)日志數(shù)據(jù)庫(kù)獲取預(yù)設(shè)范圍內(nèi)的訪問(wèn)信息。
訪問(wèn)時(shí)間提取子模塊212,用于從所述訪問(wèn)信息中提取當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息。
訪問(wèn)間隔計(jì)算子模塊213,用于根據(jù)所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息計(jì)算所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。其中,所述的計(jì)算可以為對(duì)所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)的訪問(wèn)時(shí)間信息進(jìn)行差分運(yùn)算(例如一階差分運(yùn)算),獲得所述當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列。
此外,在本申請(qǐng)另一實(shí)施例中,識(shí)別訪問(wèn)攻擊的裝置還可以包括:
輸出顯示模塊,用于在所述對(duì)所述第一時(shí)間間隔序列進(jìn)行頻譜分析,獲得所述第一時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù)之前,將所述第一預(yù)設(shè)范圍內(nèi)來(lái) 自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的第一時(shí)間間隔序列輸出顯示。
此外,在本申請(qǐng)的另一實(shí)施例中,識(shí)別訪問(wèn)攻擊的裝置還可以包括用于存儲(chǔ)識(shí)別結(jié)果以及識(shí)別的中間數(shù)據(jù)的存儲(chǔ)設(shè)備,這些識(shí)別結(jié)果以及識(shí)別的中間數(shù)據(jù)可以留后續(xù)之用(例如用于后續(xù)的數(shù)據(jù)分析)。
本申請(qǐng)上述裝置實(shí)施例將預(yù)設(shè)范圍內(nèi)來(lái)自于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行頻譜分析,獲得時(shí)間間隔序列的基頻及其各次諧波頻率的權(quán)重系數(shù);判斷第一時(shí)間間隔序列的基頻的權(quán)重系數(shù)與第一時(shí)間間隔序列的各次諧波頻率的權(quán)重系數(shù)的均值的比值是否大于預(yù)設(shè)閾值;如果大于預(yù)設(shè)閾值,則將預(yù)設(shè)范圍內(nèi)來(lái)自于當(dāng)前標(biāo)識(shí)用戶或IP的各次訪問(wèn)識(shí)別為訪問(wèn)攻擊,從而實(shí)現(xiàn)了網(wǎng)絡(luò)訪問(wèn)的識(shí)別,由于該裝置基于同一標(biāo)識(shí)用戶或IP的各次訪問(wèn)中相鄰訪問(wèn)的時(shí)間間隔序列進(jìn)行處理,從而屏蔽了各種訪問(wèn)的差異性,因而可對(duì)各種訪問(wèn)進(jìn)行有效識(shí)別,通用性較好。
以上本申請(qǐng)實(shí)施例所描述的方法或裝置可以直接嵌入可由處理器執(zhí)行的軟件模塊中。軟件模塊可以存儲(chǔ)于RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、CD-ROM或本領(lǐng)域中其它任意形式的存儲(chǔ)媒介中。示例性地,存儲(chǔ)媒介可以與處理器連接,以使得處理器可以從存儲(chǔ)媒介中讀取信息,并可以向存儲(chǔ)媒介存寫(xiě)信息??蛇x地,存儲(chǔ)媒介還可以集成到處理器中。
本領(lǐng)域技術(shù)人員還可以了解到,本申請(qǐng)實(shí)施例列出的各種說(shuō)明性邏輯塊和步驟還可以通過(guò)軟硬件結(jié)合來(lái)實(shí)現(xiàn),比如將本申請(qǐng)實(shí)施例的頻譜分析部分用硬件實(shí)現(xiàn),而其他部分仍以軟件實(shí)現(xiàn)。至于是通過(guò)軟件還是軟硬件結(jié)合來(lái)實(shí)現(xiàn)取決于特定的應(yīng)用和整個(gè)系統(tǒng)的設(shè)計(jì)要求。本領(lǐng)域技術(shù)人員可以對(duì)于每種特定的應(yīng)用,可以使用各種方法實(shí)現(xiàn)所述的功能,但這種實(shí)現(xiàn)不應(yīng)被理解為超出本申請(qǐng)實(shí)施例保護(hù)的范圍。
以上所述的具體實(shí)施例,對(duì)本申請(qǐng)的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本申請(qǐng)實(shí)施例的具體實(shí)施例而已,并不用于限定本申請(qǐng)的保護(hù)范圍,凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。