本發(fā)明涉及基于用戶訪問序列的異常行為檢測方法。
背景技術(shù):
用戶行為分析是指從網(wǎng)站或者網(wǎng)絡(luò)端口得到相關(guān)網(wǎng)絡(luò)流數(shù)據(jù),并用統(tǒng)計分析的方法對數(shù)據(jù)進(jìn)行處理。通過得到的結(jié)果,發(fā)現(xiàn)用戶訪問網(wǎng)站的規(guī)律,總結(jié)用戶的行為習(xí)慣。能夠掌握用戶的行為習(xí)慣,對于預(yù)測用戶上網(wǎng)行為及異常行為發(fā)現(xiàn)具有重要的意義。
目前,各種異常行為檢測算法主要分為兩類:
(1)基于數(shù)據(jù)流行為分析的方法,現(xiàn)有專利包括:專利號為201110083016.X的基于數(shù)據(jù)流行為分析的網(wǎng)絡(luò)訪問異常檢測裝置及方法,專利號為201110371820.8的網(wǎng)絡(luò)異常行為檢測方法及裝置。
(2)基于網(wǎng)絡(luò)日志及訪問列表的方法,現(xiàn)有專利包括:專利號為201310222685.X的一種基于WEB日志的異常訪問行為檢測方法與系統(tǒng),專利號為201510227895.7的一種大流量環(huán)境下主機網(wǎng)絡(luò)異常行為檢測及分類方法。
上述方法存在著一定的局限性,如何定義網(wǎng)絡(luò)流量行為,如何盡可能的將描述網(wǎng)絡(luò)行為的維度降低,如何從大數(shù)據(jù)中有效的分析單個用戶行為等問題并沒有得到很好的解決。由于用戶訪問行為是動態(tài)可變的,導(dǎo)致分析結(jié)果不夠準(zhǔn)確、運行效率低。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明提供基于用戶訪問序列的異常行為檢測方法,從用戶行為分析及異常行為檢測的角度出發(fā),通過對用戶上網(wǎng)行為的分析方法的研究,設(shè)計一個有效的異常行為檢測方法,快速發(fā)現(xiàn)用戶異常行為,使得分析結(jié)果更加準(zhǔn)確,彌補其他分析方法的不足。
為實現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實現(xiàn):
基于用戶訪問序列的異常行為檢測方法,包括如下步驟:
步驟1、從本地網(wǎng)絡(luò)抓取數(shù)據(jù),對數(shù)據(jù)進(jìn)行預(yù)處理,對得到的數(shù)據(jù)進(jìn)行序列化處理;
步驟2、將步驟1形成的序列存入序列數(shù)據(jù)庫,并基于時間生成每個用戶的行為序列;
步驟3、通過每個用戶的行為序列計算用戶之間的行為相似度和相關(guān)系數(shù),比較相關(guān)系數(shù)進(jìn)行異常行為檢測,尋找用戶異常行為。
優(yōu)選,步驟1中,對數(shù)據(jù)進(jìn)行預(yù)處理包括如下步驟:
101、將網(wǎng)絡(luò)數(shù)據(jù)出現(xiàn)的冗余信息、錯誤信息,以及缺失屬性的數(shù)據(jù)直接刪除;
102、對所有的IP地址進(jìn)行統(tǒng)計,并按照連接數(shù)生成IP連接分布圖,區(qū)分用戶主機IP與服務(wù)器IP,去除連接數(shù)少于設(shè)定值的用戶主機IP,得到最終的用戶主機IP集合。
優(yōu)選,步驟2中,對目的主機IP進(jìn)行序列化編號:
若用戶1在按時間先后順序t11,t12,t13,t14時刻分別訪問目的主機α,β,δ,γ,則用戶1訪問的行為序列為α,β,δ,γ;用戶2在t21,t22,t23時刻分別訪問的目的主機為β,α,γ,則用戶2訪問的行為序列為β,α,γ。
優(yōu)選,假定有時間窗t1,t2,...t3,在某個時間窗t內(nèi)有用戶序列A及用戶序列B,len()為相對應(yīng)序列的長度,序列C為用戶序列A和用戶序列B的最長公共子序列,則用戶A和用戶B的行為相似度αcj為:
優(yōu)選,用戶A和用戶B的相關(guān)系數(shù)RC的計算步驟如下:
A、設(shè)有n個時間窗t1,t2...,tn,分別計算每個時間窗內(nèi)A,B兩個用戶的行為相似度,記為α1,α2,...,αn;
B、計算A,B兩個用戶在n個時間窗內(nèi)行為相似度的平均值αavg和方差αdx:
C、計算用戶A和用戶B的相關(guān)系數(shù)RC:
優(yōu)選,異常行為檢測具體步驟如下:
a)取前n個時間窗t1,t2,...,tn的數(shù)據(jù)作為訓(xùn)練集,第n+1個時間窗tn+1的數(shù)據(jù)作為測試集;
b)計算訓(xùn)練集中所有用戶之間的相關(guān)系數(shù)以及彼此兩個用戶之間的行為相似度;
c)計算訓(xùn)練集中所有用戶的平均相關(guān)系數(shù)RCavg,所有用戶的相關(guān)系數(shù)的方差值RCdx;
d)計算測試集兩兩用戶之間的相關(guān)系數(shù),記為RCn+1,若:
RCn+1∈[RCavg-RCdx,RCavg+RCdx]
則視為穩(wěn)定用戶組合,否則,視為疑似異常用戶組合;
e)對于疑似異常用戶組合,分別將這兩個用戶與其余用戶比較行為相似度的方差:
若組合中某一用戶與其他用戶之間行為相似度的方差大于設(shè)定值,則判定為異常用戶,加入到異常用戶集中;
若組合中兩個用戶與其他用戶之間行為相似度的方差均大于設(shè)定值,則判定兩個用戶均為異常用戶,加入到異常用戶集中。
本發(fā)明的有益效果是:
該方法基于序列模式挖掘,充分考慮時間及用戶自身行為特征等因素,并使用經(jīng)過改進(jìn)的更準(zhǔn)確的用戶行為相似度算法計算,有效地提取出用戶訪問的序列規(guī)則,使得分析結(jié)果更加準(zhǔn)確,彌補其他分析方法的不足。此外,該方法基于用戶行為相似度算法,在噪聲干擾上具有明顯的優(yōu)勢,使用資源少,運行效率高。
附圖說明
圖1是本發(fā)明基于用戶訪問序列的異常行為檢測方法的示意圖。
具體實施方式
下面結(jié)合附圖和具體的實施例對本發(fā)明技術(shù)方案作進(jìn)一步的詳細(xì)描述,以使本領(lǐng)域的技術(shù)人員可以更好的理解本發(fā)明并能予以實施,但所舉實施例不作為對本發(fā)明的限定。
基于用戶訪問序列的異常行為檢測方法,如圖1所示,包括如下步驟:
步驟1、對應(yīng)數(shù)據(jù)預(yù)處理模塊:從本地網(wǎng)絡(luò)抓取數(shù)據(jù),對數(shù)據(jù)進(jìn)行預(yù)處理,對得到的數(shù)據(jù)進(jìn)行序列化處理;
步驟2、對應(yīng)序列模式挖掘模塊:將步驟1形成的序列存入序列數(shù)據(jù)庫,并基于時間生成每個用戶的行為序列;
步驟3、對應(yīng)異常行為檢測模塊:通過每個用戶的行為序列計算用戶之間的行為相似度和相關(guān)系數(shù),比較相關(guān)系數(shù)進(jìn)行異常行為檢測,尋找用戶異常行為。
下面進(jìn)行詳細(xì)介紹:
對數(shù)據(jù)進(jìn)行預(yù)處理包括如下步驟:
101、數(shù)據(jù)清理:
首先將網(wǎng)絡(luò)數(shù)據(jù)出現(xiàn)的冗余信息、一些錯誤的信息,還有一些屬性缺失的數(shù)據(jù)直接刪除。在刪減一些記錄以后,多余的屬性也可以進(jìn)行刪減。針對大部分網(wǎng)絡(luò)流量數(shù)據(jù),最終主要選用的屬性是記錄序號ID、開始時間STARTTIME、結(jié)束時間ENDTIME、用戶主機IP(源IP,即用戶主機)和目的主機IP(目的主機IP)。刪除其余的屬性信息,這樣可以降低模型算法的維度,減少計算復(fù)雜度,提高計算效率。
102、用戶識別:
對所有的IP地址進(jìn)行統(tǒng)計,并按照連接數(shù)生成IP連接分布圖,區(qū)分用戶主機IP與服務(wù)器IP,用戶異常行為分析并不需要考慮服務(wù)器,同時因為存在有些用戶主機與某些服務(wù)器的連接數(shù)很少,這種用戶主機和其他主機的相似關(guān)系難以計算?;诖?,需要再對主機的地址進(jìn)行篩選,去除連接數(shù)少于設(shè)定值的用戶主機IP,從而得到最終的用戶主機IP集合。
步驟2中,用戶行為序列可定義為:
若用戶1在按時間先后順序t11,t12,t13,t14時刻分別訪問目的主機α,β,δ,γ,則用戶1訪問的行為序列為α,β,δ,γ;用戶2在t21,t22,t23時刻分別訪問的目的主機為β,α,γ,則用戶2訪問的行為序列為β,α,γ。以此類推,形成用戶訪問行為的時間序列,是整個模型的輸入基礎(chǔ)。
目的主機出現(xiàn)的點分十進(jìn)制的IP地址形式,可以通過python字典的方式對目的主機IP進(jìn)行序列化編號。假設(shè)存在n個IP地址:192.168.0.1,192.168.0.2,...,192.168.0.n,對以上數(shù)據(jù)進(jìn)行序列化,對每個第一次出現(xiàn)的目的IP進(jìn)行依次編號。偽代碼可以表示如下:
字典的鍵值key為序列化前的IP地址,value值為序列化后的值:
創(chuàng)建一個字典,設(shè)定計數(shù)值i=1,
對每一個IP:
如果字典中沒有這個IP的鍵:
創(chuàng)建這個IP的鍵,鍵值=i;
i=i+1;
對數(shù)據(jù)進(jìn)行序列化處理后,便可針對數(shù)據(jù)中的數(shù)據(jù)包發(fā)送的路徑進(jìn)行序列化處理,同時還可以生成單個用戶的訪問的序列。
子序列可定義為:
若給定序列X=(x1,x2,…xm),則另一序列Z=(Z1,Z2,…Zk)為X的子序列是指存在一個嚴(yán)格遞增的下標(biāo)序列(i1,i2,…ik),使得對于所有的j=1,…,k,有zj=xij。設(shè)起始下標(biāo)為1。
最長公共子序列可定義為:
給定兩個序列X和Y,當(dāng)另一個序列Z既是X的子序列又是Y的子序列,則Z是序列X和Y的公共子序列。其中Z最長的序列是X和Y的最長公共子序列。
最長公共子序列的最優(yōu)子結(jié)構(gòu)特性:
設(shè)Xm=(x1,x2,…xm)、Yn=(y1,y2,…yn)兩個序列,Zk=(Z1,z2,...zk)是它們最長公共子序列,則:
(1)若xm=y(tǒng)n,則zk=xm=y(tǒng)n,且Zk-1是Xm-1和Yn-1的最長公共子序列;
(2)若xm≠yn且zk≠xm,且Zk是Xm-1和Yn的最長公共子序列;
(3)若xm≠yn且Zk≠yn,且Zk是Xm和Yn-1的最長公共子序列。
由最優(yōu)子結(jié)構(gòu)的特性,可以求解公共子序列:
用c[i][j]保存Xi=(x1,x2,...,xi)和Yj=(y1,y2,...,yj)的最長公共子序列,則有下列公式:
通過這樣的算法,可以求得兩個用戶之間的最長的公共子序列。
步驟3中,用戶行為相似度可定義為表示兩個用戶行為之間的相似程度,假定有時間窗t1,t2,...t3,在某個時間窗t內(nèi)有用戶序列A及用戶序列B,len()為相對應(yīng)序列的長度,序列C為用戶序列A和用戶序列B的最長公共子序列,則用戶A和用戶B的行為相似度αcj為:
基于此算法,可以得到任意兩個用戶訪問行為序列在時間窗t內(nèi)的行為相似度。
用戶A和用戶B的相關(guān)系數(shù)RC的計算步驟如下:
A、設(shè)有n個時間窗t1,t2,…,tn,分別計算每個時間窗內(nèi)A,B兩個用戶的行為相似度,記為α1,α2,…,αn;
B、計算A,B兩個用戶在n個時間窗內(nèi)行為相似度的平均值αavg和方差αdx:
C、計算用戶A和用戶B的相關(guān)系數(shù)RC:
αavg能夠反映在n個時間窗內(nèi)用戶相似度的整體情況,αdx能夠反映用戶在n個時間窗內(nèi)相似度變化的幅度,可以看出,平均相似度(αavg)越大,相似度變化αdx越小,則這兩個用戶關(guān)系越相近。
即兩個用戶之間相關(guān)系數(shù)RC越大,則這兩個用戶的行為關(guān)系越為相近。有了相似度和相關(guān)系數(shù),就能夠更精確的描述用戶之間行為的關(guān)系及相似程度。
異常行為檢測具體步驟如下:
a)取前n個時間窗t1,t2,...,tn的數(shù)據(jù)作為訓(xùn)練集,第n+1個時間窗tn+1的數(shù)據(jù)作為測試集;
b)計算訓(xùn)練集中所有用戶之間的相關(guān)系數(shù)以及彼此兩個用戶之間的行為相似度;
c)計算訓(xùn)練集中所有用戶的平均相關(guān)系數(shù)RCavg,所有用戶的相關(guān)系數(shù)的方差值RCdx;
d)計算測試集兩兩用戶之間的相關(guān)系數(shù),記為RCn+1,若:
RCn+1∈[RCavg-RCdx,RCavg+RCdx]
則視為穩(wěn)定用戶組合,否則,視為疑似異常用戶組合;
e)對于疑似異常用戶組合,分別將這兩個用戶與其余用戶比較行為相似度的方差:
若組合中某一用戶與其他用戶之間行為相似度的方差大于設(shè)定值,則判定為異常用戶,加入到異常用戶集中;
若組合中兩個用戶與其他用戶之間行為相似度的方差均大于設(shè)定值,則判定兩個用戶均為異常用戶,加入到異常用戶集中。
假設(shè)步驟d)中初步判定的疑似異常用戶組合為用戶C和用戶D,則比較用戶C和其他所有用戶,以及用戶D和其他所有用戶的之間的相似度;分別以C和D為研究對象,計算相似度。若計算出C,D與其他用戶的相似度變化幅度較大,則可以判定C,D為異常用戶。找到異常用戶。
該方法基于序列模式挖掘,充分考慮時間及用戶自身行為特征等因素,并使用經(jīng)過改進(jìn)的更準(zhǔn)確的用戶行為相似度算法計算,有效地提取出用戶訪問的序列規(guī)則,使得分析結(jié)果更加準(zhǔn)確,彌補其他分析方法的不足。此外,該方法基于用戶行為相似度算法,在噪聲干擾上具有明顯的優(yōu)勢,使用資源少,運行效率高。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或者等效流程變換,或者直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。