本申請(qǐng)涉及信息安全領(lǐng)域,特別涉及一種web業(yè)務(wù)異常檢測(cè)方法及裝置。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展,在現(xiàn)代工作和生活中,web訪問在各行各業(yè)的應(yīng)用中都起到了重要的作用。
然而,網(wǎng)絡(luò)中的不安全因素會(huì)導(dǎo)致正常的業(yè)務(wù)系統(tǒng)出現(xiàn)各種各樣的異常行為,例如被網(wǎng)絡(luò)蠕蟲惡意掃描本地重要文件信息、被惡意程序攻擊即爆破,又或者是被一些繞過安全控制的程序訪問即后門,以及出現(xiàn)安全漏洞等,這些很可能會(huì)給業(yè)務(wù)系統(tǒng)帶來更大的故障和難題,造成嚴(yán)重影響和損失。因此,異常檢測(cè)對(duì)于web業(yè)務(wù)非常重要。
現(xiàn)有技術(shù)中對(duì)web訪問中的異常行為的檢測(cè),主要是基于對(duì)安全專家提取的規(guī)則進(jìn)行匹配檢測(cè)。安全專家根據(jù)目前所已知的各種存在安全問題的web訪問行為提取出規(guī)則,然后使用該規(guī)則對(duì)訪問web服務(wù)器的流量包或者訪問日志進(jìn)行匹配檢測(cè):如果某些訪問行為與該規(guī)則相匹配,則說明該訪問行為存在著安全問題,屬于異常行為。
但是,由于現(xiàn)有技術(shù)中的異常檢測(cè)方案只能依據(jù)已知的異常行為提取規(guī)則,因此,該檢測(cè)方案只能檢測(cè)出已知的異常行為,而對(duì)于一些不在規(guī)則庫(kù)中的安全問題則無法檢測(cè)。由此可見,現(xiàn)有技術(shù)中的web業(yè)務(wù)異常檢測(cè)方法的檢測(cè)能力有待提高。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提供一種web業(yè)務(wù)異常檢測(cè)方法及裝置,以便可以有效地提高對(duì)web訪問中的未知類型的異常行為的檢測(cè)能力。
為解決上述技術(shù)問題,本申請(qǐng)?zhí)峁┮环Nweb業(yè)務(wù)異常檢測(cè)方法,包括:
提取http日志中訪問行為的多個(gè)特征值,生成特征向量;
根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù);
判斷所述異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定所述特征向量所對(duì)應(yīng)的訪問行為異常。
可選地,所述特征值包括以下任意一類或任意組合:
訪問時(shí)間分布特征值、請(qǐng)求次數(shù)計(jì)量特征值、服務(wù)器響應(yīng)字節(jié)流特征值、轉(zhuǎn)移概率特征值。
可選地,所述提取http日志中訪問行為的多個(gè)特征值,生成特征向量包括:
獲取http日志;
將所述http日志按照源ip進(jìn)行歸檔;
對(duì)歸檔后的http日志按照預(yù)設(shè)時(shí)長(zhǎng)進(jìn)行切片處理;
計(jì)算并提取每個(gè)時(shí)間分片內(nèi)訪問行為的多個(gè)特征值,生成時(shí)間分片內(nèi)的訪問行為對(duì)應(yīng)的特征向量。
可選地,在所述獲取http日志之后、所述將所述http日志按照源ip進(jìn)行歸檔之前還包括:
濾除原始http日志中與訪問行為無關(guān)或者干擾異常檢測(cè)的日志記錄。
可選地,所述根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù)包括:
根據(jù)預(yù)先建立的多元高斯分布異常檢測(cè)算法模型或者isolationforest異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù)。
可選地,在所述判斷所述異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定所述特征向量所對(duì)應(yīng)的訪問行為異常之后還包括:
依據(jù)預(yù)設(shè)的各類異常行為的各個(gè)特征值的范圍,判斷所述特征向量所對(duì)應(yīng)的訪問行為的異常類型。
本申請(qǐng)還提供了一種web業(yè)務(wù)異常檢測(cè)裝置,包括:
提取模塊:用于提取http日志中訪問行為的多個(gè)特征值,生成特征向量;
檢測(cè)模塊:用于根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù);判斷所述異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定所述特征向量所對(duì)應(yīng)的訪問行為異常。
可選地,所述提取模塊具體用于:
獲取http日志;將所述http日志按照源ip進(jìn)行歸檔;對(duì)歸檔后的http日志按照預(yù)設(shè)時(shí)長(zhǎng)進(jìn)行切片處理;計(jì)算并提取每個(gè)時(shí)間分片內(nèi)訪問行為的多個(gè)特征值,生成時(shí)間分片內(nèi)的訪問行為對(duì)應(yīng)的特征向量。
可選地,所述提取模塊還用于:
在所述獲取http日志之后、所述將所述http日志按照源ip進(jìn)行歸檔之前,濾除原始http日志中與訪問行為無關(guān)或者干擾異常檢測(cè)的日志記錄。
可選地,所述檢測(cè)模塊還用于:
若所述特征向量所對(duì)應(yīng)的訪問行為異常,則依據(jù)預(yù)設(shè)的各類異常行為的各個(gè)特征值范圍,判斷所述特征向量所對(duì)應(yīng)的訪問行為的異常類型。
本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)方法中,提取http日志中訪問行為的多個(gè)特征值,生成特征向量;根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù);判斷所述異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定所述特征向量所對(duì)應(yīng)的訪問行為異常。
可見,相比于現(xiàn)有技術(shù),本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)方法中,通過對(duì)訪問行為的特征值進(jìn)行分析,并計(jì)算出異常指數(shù)進(jìn)行判斷,可以檢測(cè)出異常行為。由此可見,本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)方法是基于特征分析而非規(guī)則匹配,因而無需依賴于已知的規(guī)則庫(kù),從而可以全面地檢測(cè)各類安全問題,提高檢測(cè)能力。本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)裝置可以實(shí)現(xiàn)上述web業(yè)務(wù)異常檢測(cè)方法,同樣具有上述有益效果。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)本申請(qǐng)實(shí)施例描述中需要使用的附圖作簡(jiǎn)要的介紹。當(dāng)然,下面有關(guān)本申請(qǐng)實(shí)施例的附圖描述的僅僅是本申請(qǐng)中的一部分實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來說,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖,所獲得的其他附圖也屬于本申請(qǐng)的保護(hù)范圍。
圖1為本申請(qǐng)實(shí)施例所提供的一種web業(yè)務(wù)異常檢測(cè)方法的流程圖;
圖2為本申請(qǐng)實(shí)施例所提供的又一種web業(yè)務(wù)異常檢測(cè)方法的流程圖;
圖3為本申請(qǐng)實(shí)施例所提供的一種web業(yè)務(wù)異常檢測(cè)裝置的結(jié)構(gòu)框圖;
圖4為本申請(qǐng)實(shí)施例所提供的一種web業(yè)務(wù)異常檢測(cè)裝置的應(yīng)用架構(gòu)圖。
具體實(shí)施方式
為了對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行更加清楚、完整地描述,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行介紹。顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例也都屬于本申請(qǐng)保護(hù)的范圍。
請(qǐng)參考圖1,圖1為本申請(qǐng)實(shí)施例所提供的一種web業(yè)務(wù)異常檢測(cè)方法的流程圖,主要包括以下步驟:
步驟101:提取http日志中訪問行為的多個(gè)特征值,生成特征向量。
本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)方法,主要是基于對(duì)http(hypertexttransferprotocol)日志中所記錄的訪問數(shù)據(jù)的分析而展開的。
http,即超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有的web文件都遵守這個(gè)協(xié)議標(biāo)準(zhǔn)。而http日志中,則記錄了各個(gè)ip用戶每次訪問服務(wù)器的會(huì)話信息,包括每次會(huì)話的源ip和源端口、目的ip和目的端口、會(huì)話時(shí)間戳、會(huì)話時(shí)長(zhǎng)、請(qǐng)求包長(zhǎng)、請(qǐng)求方法、響應(yīng)包長(zhǎng)、返回狀態(tài)碼等。
通過分析和統(tǒng)計(jì)http日志中每次會(huì)話的相關(guān)會(huì)話信息,可以從中提取并計(jì)算web用戶訪問行為的特征值,進(jìn)而生成特征向量,用以表示該訪問行為的訪問特征。
這里所說的特征值,可以包括以下任意一類特征值或者任意組合:訪問時(shí)間分布特征值、請(qǐng)求次數(shù)計(jì)量特征值、服務(wù)器響應(yīng)字節(jié)特征值、轉(zhuǎn)移概率特征值;而特征向量則是由以上所說的特征值生成的向量,該特征向量中的每一個(gè)數(shù)值都表示用戶訪問行為的一項(xiàng)特征。
具體地,訪問時(shí)間分布特征值反映的是用戶訪問http的頻率和間隔的特征;請(qǐng)求次數(shù)計(jì)量特征值所描述的是用戶請(qǐng)求http的數(shù)量特征;服務(wù)器響應(yīng)字節(jié)流特征值描述的是用戶請(qǐng)求的業(yè)務(wù)變化的特征;轉(zhuǎn)移概率特征值描述的是頁面跳轉(zhuǎn)、請(qǐng)求方法變換以及響應(yīng)狀態(tài)碼變換的概率特征。對(duì)于具體采用哪些特征值,本領(lǐng)域技術(shù)人員都可以根據(jù)實(shí)際使用情況自行選擇并設(shè)置,本申請(qǐng)實(shí)施例對(duì)此并不進(jìn)行限定。
需要說明的是,由于訪問行為是由源ip發(fā)起的,即訪問行為是以源ip進(jìn)行區(qū)分的,因此,以上這些特征值也都是針對(duì)同一個(gè)源ip的訪問行為的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析的。所以,在對(duì)多個(gè)源ip訪問行為的特征值進(jìn)行提取時(shí),可以首先將http日志根據(jù)源ip進(jìn)行歸檔后再分別進(jìn)行特征值的提取。
另外,還需補(bǔ)充說明的是,由于以上特征值與統(tǒng)計(jì)的時(shí)長(zhǎng)有關(guān),因此,為了建立一個(gè)統(tǒng)一的web業(yè)務(wù)異常檢測(cè)判斷標(biāo)準(zhǔn),各個(gè)源ip的以上特征值必須是描述相等時(shí)長(zhǎng)內(nèi)的訪問行為特征的特征值,否則,將失去該特征值的統(tǒng)計(jì)意義。
步驟102:根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù)。
這里所說的異常檢測(cè)算法模型,可以采用多元高斯分布異常檢測(cè)算法模型,也可以采用isolationforest等其他異常檢測(cè)算法模型,來對(duì)步驟101中生成的特征向量進(jìn)行異常指數(shù)的計(jì)算。異常指數(shù),顧名思義,就是衡量該特征向量對(duì)應(yīng)的訪問行為是否異常的指標(biāo),在不同的算法中都有一套對(duì)應(yīng)的計(jì)算方法。具體采用何種算法對(duì)異常指數(shù)進(jìn)行計(jì)算,本領(lǐng)域技術(shù)人員可以自行選擇并設(shè)置,本申請(qǐng)實(shí)施例并不進(jìn)行限定。
步驟103:判斷異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定特征向量所對(duì)應(yīng)的訪問行為異常。
如果某一特征向量的異常指數(shù)超出了預(yù)設(shè)的閾值范圍,則可以說明,該特征向量所表示的訪問行為存在著異常行為。
可見,本申請(qǐng)實(shí)施例所提供的web業(yè)務(wù)異常檢測(cè)方法,通過分析http日志中記錄的訪問信息,對(duì)用戶的訪問行為的特征值和特征向量進(jìn)行提取,并通過異常檢測(cè)算法模型計(jì)算特征向量的異常指數(shù),以便通過判斷異常指數(shù)是否超出預(yù)設(shè)閾值范圍來判斷對(duì)應(yīng)的訪問行為是否異常。由此可見,本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)算法是基于特征分析而非規(guī)則匹配,因此無需依賴對(duì)已知異常行為建立的規(guī)則庫(kù),因而可以檢測(cè)出未知的異常行為,提高檢測(cè)能力。
請(qǐng)參考圖2,在本申請(qǐng)圖1所示的web業(yè)務(wù)異常檢測(cè)方法的基礎(chǔ)上,圖2為本申請(qǐng)實(shí)施例所提供的又一種web業(yè)務(wù)異常檢測(cè)方法的流程圖,主要包括以下步驟。相同或者相似部分請(qǐng)參考圖1所示內(nèi)容,這里就不再贅述。
步驟201:獲取http日志,并濾除http日志中與訪問行為無關(guān)或者干擾異常檢測(cè)的日志記錄。
為了提高對(duì)訪問行為特征值的提取效率,可以首先對(duì)原始的http日志進(jìn)行預(yù)處理,即可以過濾掉與訪問行為無關(guān)的記錄,如目的ip不屬于web服務(wù)器的訪問日志記錄,以及清洗掉干擾異常檢測(cè)的記錄,如字段信息記錄不完整或者錯(cuò)誤的記錄、訪問的文件類型屬于圖片、css等日志記錄。
步驟202:將http日志按照源ip進(jìn)行歸檔。
由于每一個(gè)訪問行為都是由源ip發(fā)起的,即源ip是一個(gè)訪問行為的固有屬性,這個(gè)信息對(duì)于web安全的管理非常重要,因此,在進(jìn)行特征值的統(tǒng)計(jì)和提取之前,首先要明確訪問行為的源ip。具體地,可以將經(jīng)步驟201預(yù)處理后的http日志按照源ip進(jìn)行歸檔,以便后續(xù)步驟的進(jìn)行。
步驟203:對(duì)歸檔后的http日志按照預(yù)設(shè)時(shí)長(zhǎng)進(jìn)行切片處理。
如前文所述,所提取的特征值必須要保證是同等時(shí)間段內(nèi)的訪問特征的特征值,否則將失去特征值的表征意義。同時(shí),由于日志記錄內(nèi)容一般較多,所以,可以將該時(shí)間段取為較小的一個(gè)時(shí)間單位,一定程度上還可以簡(jiǎn)化數(shù)據(jù)的計(jì)算,提高速度。因此,為了方便對(duì)統(tǒng)計(jì)時(shí)間內(nèi)的特征值的計(jì)算和統(tǒng)計(jì),可以首先在提取特征值之前,對(duì)歸檔后的http日志按照預(yù)設(shè)時(shí)長(zhǎng)進(jìn)行切片處理,即,將http日志按預(yù)設(shè)時(shí)長(zhǎng)切分成多個(gè)時(shí)間分片內(nèi)的http日志,以便提取該時(shí)間分片內(nèi)的特征值生成特征向量。至于該預(yù)設(shè)時(shí)長(zhǎng)具體為多久,本領(lǐng)域技術(shù)人員可以自行選擇并設(shè)置,本申請(qǐng)實(shí)施例并不進(jìn)行限定。
步驟204:計(jì)算并提取每個(gè)時(shí)間分片內(nèi)訪問行為的多個(gè)特征值,生成時(shí)間分片內(nèi)訪問行為對(duì)應(yīng)的特征向量。
前文中已經(jīng)對(duì)訪問行為的特征值進(jìn)行了簡(jiǎn)要說明,下面將通過舉例對(duì)各類特征值進(jìn)行詳細(xì)介紹。
(1)訪問時(shí)間分布特征值。
該類特征值反映的是該源ip訪問http的頻率和間隔的特征,例如:
time_mean,表示一定時(shí)間內(nèi)源ip用戶的相鄰兩條訪問記錄間隔時(shí)間的平均值,用來描述源ip用戶訪問行為的頻率特征。
time_std,表示一定時(shí)間內(nèi)源ip用戶的相鄰兩條訪問記錄間隔時(shí)間的標(biāo)準(zhǔn)差值,用來描述源ip用戶訪問行為的間隔特征。
(2)請(qǐng)求次數(shù)計(jì)量特征值。
該類特征值所描述的是源ip用戶請(qǐng)求http的數(shù)量特征,例如:
req_count,表示一定時(shí)間內(nèi)源ip用戶發(fā)送的所有請(qǐng)求的總次數(shù)。
page_count,表示一定時(shí)間內(nèi)源ip用戶所訪問的不同uri(uniformresourceidentifier,通用資源標(biāo)識(shí)符)的數(shù)量。
get_count,表示一定時(shí)間內(nèi)源ip用戶以get請(qǐng)求方式進(jìn)行請(qǐng)求的次數(shù)。在http/1.1協(xié)議中,get和post、options、head、put、delete、trace、connect被定義為http的八種請(qǐng)求方式,用來表明對(duì)服務(wù)器上的資源的不同的操作方式。這里只是列舉了對(duì)其中一種請(qǐng)求方式的次數(shù)計(jì)量特征值,當(dāng)然,還可以對(duì)以上任意其他一種或幾種請(qǐng)求方式的請(qǐng)求次數(shù)進(jìn)行統(tǒng)計(jì),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)能夠通過類比等方式獲取其他具體的多種特征值。
400_count,表示一定時(shí)間內(nèi)接收到4字頭的響應(yīng)狀態(tài)碼的次數(shù),即接收到400~417范圍內(nèi)的響應(yīng)狀態(tài)碼的次數(shù)。由于4字頭的狀態(tài)碼均表示請(qǐng)求錯(cuò)誤,例如,響應(yīng)狀態(tài)碼403表示服務(wù)器已經(jīng)理解請(qǐng)求卻拒絕執(zhí)行,404表示所請(qǐng)求的資源未被在服務(wù)器上發(fā)現(xiàn),405表示請(qǐng)求中指定的請(qǐng)求方法不能用于被請(qǐng)求的資源,因此,該特征值對(duì)于本申請(qǐng)所要解決的web業(yè)務(wù)異常檢測(cè)的問題,具有一定的指導(dǎo)意義。
(3)服務(wù)器響應(yīng)字節(jié)流特征值。
該類特征值描述的是源ip用戶請(qǐng)求的業(yè)務(wù)變化的特征,例如:
bytes_mean,表示一定時(shí)間內(nèi)各條http訪問日志響應(yīng)字節(jié)數(shù)的平均值。
bytes_std,表示一定時(shí)間內(nèi)各條http訪問日志響應(yīng)字節(jié)數(shù)的標(biāo)準(zhǔn)差值。
method_code_status,是對(duì)請(qǐng)求方法和響應(yīng)狀態(tài)碼的組合次數(shù)的統(tǒng)計(jì),例如,(get,200)表示的是以get請(qǐng)求方式發(fā)送的請(qǐng)求響應(yīng)成功,其中,響應(yīng)狀態(tài)碼200表示請(qǐng)求響應(yīng)成功,并且所請(qǐng)求的資源將隨該響應(yīng)狀態(tài)碼返回。
(4)轉(zhuǎn)移概率特征值。
該類特征值描述的是頁面跳轉(zhuǎn)、請(qǐng)求方法變換以及響應(yīng)狀態(tài)碼變換的概率,例如:
prob_req_seq,表示一定時(shí)間內(nèi)各條請(qǐng)求中所請(qǐng)求的uri的序列轉(zhuǎn)移概率。
prob_method_seq,表示一定時(shí)間內(nèi)各條請(qǐng)求的請(qǐng)求方式的序列轉(zhuǎn)移概率。
prob_status_code_seq,表示一定時(shí)間內(nèi)各條請(qǐng)求的響應(yīng)狀態(tài)碼的序列轉(zhuǎn)移概率。
其中,序列轉(zhuǎn)移概率是馬爾科夫鏈中的概念,它是指按照某個(gè)狀態(tài)序列在n個(gè)狀態(tài)之間進(jìn)行轉(zhuǎn)換的概率。在進(jìn)行計(jì)算轉(zhuǎn)移概率時(shí),需要首先計(jì)算出該序列中任意兩個(gè)相鄰狀態(tài)之間的轉(zhuǎn)移概率,然后將該序列所有的轉(zhuǎn)移概率的乘積開(n-1)次方根,即可求得序列轉(zhuǎn)移概率。
例如,對(duì)于prob_req_seq,若在某一時(shí)間分片內(nèi)訪問uri頁面的序列為[a,b,c,a,b],且頁面a跳轉(zhuǎn)至頁面b的轉(zhuǎn)移概率為0.5,頁面b跳轉(zhuǎn)至頁面c的轉(zhuǎn)移概率為0.6,頁面c跳轉(zhuǎn)至頁面a的轉(zhuǎn)移概率為0.8,則上述訪問序列的最終轉(zhuǎn)移概率值即為
再例如,對(duì)于prob_status_code_seq,如果在某一時(shí)間分片內(nèi)的http訪問行為的響應(yīng)狀態(tài)碼依次為[200,200,404,200,200],且狀態(tài)碼由200變換為200的轉(zhuǎn)移概率為0.8,由200變換為404的轉(zhuǎn)移概率為0.2,由404變換為200的轉(zhuǎn)移概率為0.3,那么上述狀態(tài)碼序列的最終的轉(zhuǎn)移概率值為
轉(zhuǎn)移概率仍然是一個(gè)概率特征值,其范圍仍然是在0~1之間;并且,轉(zhuǎn)移概率越大,表示該序列是正常的可能性越高,反之越低。
需要說明的是,以上只列舉了各類特征值中的一部分特征值,本申請(qǐng)包括但并不限于以上內(nèi)容,本領(lǐng)域技術(shù)人員可以通過類比等方式獲取其他特征值,本申請(qǐng)并不進(jìn)行限定。此外,任何一種特征值都可以隨意進(jìn)行命名,以上內(nèi)容中只是以舉例的方式給出了其中一種命名,但本申請(qǐng)對(duì)此并不進(jìn)行限定。
步驟205:根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算特征向量的異常指數(shù)。
步驟206:判斷異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則特征向量所對(duì)應(yīng)的訪問行為異常。
步驟207:依據(jù)預(yù)設(shè)的各類異常行為的各個(gè)特征值的范圍,判斷所述特征向量所對(duì)應(yīng)的訪問行為的異常類型。
當(dāng)經(jīng)過步驟206判斷得到該特征向量所表示的訪問行為異常時(shí),可以進(jìn)行進(jìn)一步分析和判斷,以識(shí)別該異常行為的具體的類型。為了準(zhǔn)確辨認(rèn)異常行為類型,需要對(duì)特征向量中的各個(gè)特征值進(jìn)行具體分析。此時(shí)可以借助安全專家知識(shí)對(duì)各類異常行為的各個(gè)特征值定義的閾值范圍,對(duì)檢測(cè)出異常的特征向量集進(jìn)行比對(duì)判斷,由此確認(rèn)該異常行為的具體異常類型,例如惡意掃描、爆破、后門、漏洞等等。當(dāng)然,如果必要的話,還可以進(jìn)一步輸出檢測(cè)出異常的特征向量集所對(duì)應(yīng)的http日志記錄,以便可以了解更多有關(guān)信息。
可見,本申請(qǐng)實(shí)施例所提供的web業(yè)務(wù)異常檢測(cè)方法,在圖1所示的web業(yè)務(wù)異常檢測(cè)方法的基礎(chǔ)上,還可以在檢測(cè)出異常行為之后,依據(jù)安全專家知識(shí)判斷出具體的異常行為類型。因此,本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)方法可以更加快速有效地進(jìn)行web業(yè)務(wù)異常檢測(cè),明確檢測(cè)出異常類型,極大提高了用戶體驗(yàn)。
下面對(duì)本申請(qǐng)實(shí)施例所提供的web業(yè)務(wù)異常檢測(cè)裝置進(jìn)行介紹。下文描述的web業(yè)務(wù)異常檢測(cè)裝置與上文描述的web業(yè)務(wù)異常檢測(cè)方法可相互對(duì)應(yīng)參照。
請(qǐng)參閱圖3,圖3為本申請(qǐng)所提供的一種web業(yè)務(wù)異常檢測(cè)裝置的結(jié)構(gòu)框圖;包括提取模塊301和檢測(cè)模塊302。
提取模塊301主要用于提取http日志中訪問行為的特征值,生成特征向量。
具體地,提取模塊301可以用于獲取http日志;并將http日志按照源ip進(jìn)行歸檔;然后對(duì)歸檔后的http日志按照預(yù)設(shè)時(shí)長(zhǎng)進(jìn)行切片處理;計(jì)算并提取每個(gè)時(shí)間分片內(nèi)訪問行為的多個(gè)特征值,生成時(shí)間分片內(nèi)的訪問行為對(duì)應(yīng)的特征向量。
其中,所述特征值可以包括以下任意一類特征值或任意組合:訪問時(shí)間分布特征值、請(qǐng)求次數(shù)計(jì)量特征值、服務(wù)器響應(yīng)字節(jié)流特征值、轉(zhuǎn)移概率特征值。而特征向量則是由以上所說的特征值生成的向量,該特征向量中的每一個(gè)數(shù)值都表示該用戶訪問行為的一項(xiàng)特征。
訪問時(shí)間分布特征值反映的是用戶訪問http的頻率和間隔的特征;請(qǐng)求次數(shù)計(jì)量特征值所描述的是用戶請(qǐng)求http的數(shù)量特征,服務(wù)器響應(yīng)字節(jié)流特征值描述的是用戶請(qǐng)求的業(yè)務(wù)變化的特征,轉(zhuǎn)移概率特征值描述的是頁面跳轉(zhuǎn)、請(qǐng)求方法變換以及響應(yīng)狀態(tài)碼變換的概率。對(duì)于具體采用哪些特征值,本領(lǐng)域技術(shù)人員都可以根據(jù)實(shí)際使用情況自行選擇并設(shè)置,本申請(qǐng)實(shí)施例對(duì)此并不進(jìn)行限定。
此外,提取模塊301還可以用于在獲取http日志之后、將http日志按照源ip進(jìn)行歸檔之前,濾除原始http日志中與訪問行為無關(guān)或者干擾異常檢測(cè)的日志記錄,一定程度上可以提高異常檢測(cè)的效率和正確率。
檢測(cè)模塊302主要用于根據(jù)預(yù)先建立的異常檢測(cè)算法模型,計(jì)算所述特征向量的異常指數(shù);并判斷所述異常指數(shù)是否超出預(yù)設(shè)閾值范圍;若是,則判定所述特征向量所對(duì)應(yīng)的訪問行為異常。
其中,所述的異常檢測(cè)算法模型可以為多元高斯分布異常檢測(cè)算法模型,當(dāng)然也可以為isolationforest等異常檢測(cè)算法模型,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況自行選擇并設(shè)置,本申請(qǐng)實(shí)施例對(duì)此并不進(jìn)行限定。
此外,檢測(cè)模塊302還可以用于在判斷特征向量所對(duì)應(yīng)的訪問行為異常之后,依據(jù)預(yù)設(shè)的各類異常行為的各個(gè)特征值的范圍,判斷所述特征向量所對(duì)應(yīng)的訪問行為的異常類型。
請(qǐng)參考圖4,圖4為本申請(qǐng)所提供的一種web業(yè)務(wù)異常檢測(cè)裝置的應(yīng)用架構(gòu)圖。
如圖4所示,提取模塊301對(duì)http訪問日志進(jìn)行特征值提取,生成多個(gè)特征向量(圖中所示為n個(gè))。然后由檢測(cè)模塊302根據(jù)異常檢測(cè)算法模型,對(duì)特征向量進(jìn)行計(jì)算處理,如果計(jì)算得到的異常指數(shù)超過預(yù)設(shè)閾值范圍,即為檢測(cè)出異常;則再依據(jù)多條安全專家知識(shí)(圖中所示為n條),進(jìn)一步判斷出異常類型,獲取異常類型結(jié)果。
可見,本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)裝置,利用對(duì)http日志中的記錄進(jìn)行訪問行為特征值的提取,并通過異常檢測(cè)算法模型計(jì)算出異常指數(shù),進(jìn)而判斷出該訪問行為是否異常。由于本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)裝置無需使用根據(jù)已知異常行為建立的規(guī)則庫(kù),因此可以檢測(cè)出未知異常行為,提高了安全檢測(cè)水平。此外,本申請(qǐng)所提供的web業(yè)務(wù)異常檢測(cè)裝置還可以利用安全專家知識(shí),對(duì)檢測(cè)出異常的訪問行為進(jìn)一步判斷出異常類型,方便了用戶的使用。
本申請(qǐng)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的方法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對(duì)本申請(qǐng)所提供的技術(shù)方案進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以對(duì)本申請(qǐng)進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本申請(qǐng)權(quán)利要求的保護(hù)范圍內(nèi)。