• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于離散馬爾科夫鏈的數(shù)據(jù)庫(kù)用戶(hù)異常行為檢測(cè)*

    2018-01-08 05:48:08王安迪周福才
    關(guān)鍵詞:馬爾科夫語(yǔ)句狀態(tài)

    畢 猛,王安迪,徐 劍,3,周福才

    基于離散馬爾科夫鏈的數(shù)據(jù)庫(kù)用戶(hù)異常行為檢測(cè)*

    畢 猛1,2,王安迪1,徐 劍1,3,周福才1

    針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部攻擊的問(wèn)題,將基于用戶(hù)行為的異常檢測(cè)方法引入到數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部攻擊檢測(cè)中.將離散時(shí)間馬爾科夫鏈(DTMC)應(yīng)用到數(shù)據(jù)庫(kù)系統(tǒng)異常檢測(cè)中,構(gòu)建了一種基于DTMC的用戶(hù)行為異常檢測(cè)系統(tǒng).將用戶(hù)提交的SQL語(yǔ)句作為用戶(hù)行為特征進(jìn)行分析,并利用DTMC分別提取了正常用戶(hù)和待檢測(cè)行為的行為特征,并將兩者進(jìn)行比較,如果兩者的偏離程度超過(guò)了閾值,則判定行為異常.通過(guò)實(shí)驗(yàn)對(duì)所提出系統(tǒng)的可行性和有效性進(jìn)行測(cè)試,結(jié)果表明,該系統(tǒng)可以較好地描述用戶(hù)行為,并有效地檢測(cè)出數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部攻擊.

    網(wǎng)絡(luò)安全;數(shù)據(jù)庫(kù)安全;用戶(hù)行為;內(nèi)部攻擊;異常檢測(cè);入侵檢測(cè);SQL語(yǔ)句;離散馬爾科夫鏈

    隨著計(jì)算機(jī)以及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)對(duì)社會(huì)發(fā)展起到了巨大的推動(dòng)作用.但是,這也帶來(lái)了諸多的網(wǎng)絡(luò)安全問(wèn)題,例如數(shù)據(jù)竊取、敏感信息泄露以及網(wǎng)絡(luò)欺詐等.盡管研究人員已經(jīng)開(kāi)發(fā)了多種網(wǎng)絡(luò)安全保護(hù)技術(shù)和產(chǎn)品,例如防火墻、入侵檢測(cè)、入侵防御、隔離網(wǎng)閘以及主機(jī)審計(jì)等,但是,無(wú)論在發(fā)達(dá)國(guó)家還是在發(fā)展中國(guó)家,網(wǎng)絡(luò)安全問(wèn)題仍然日益嚴(yán)重,信息安全風(fēng)險(xiǎn)[1]正在加大,已經(jīng)成為信息時(shí)代人類(lèi)必須面臨的共同挑戰(zhàn)[2].

    目前,學(xué)術(shù)界和企業(yè)界在網(wǎng)絡(luò)安全方面投入了大量的精力,并取得了豐碩的研究成果,但是,對(duì)于數(shù)據(jù)庫(kù)安全方面的研究則相對(duì)薄弱.然而,在信息系統(tǒng)的整體安全中,數(shù)據(jù)庫(kù)往往是最吸引攻擊者的目標(biāo),許多網(wǎng)絡(luò)攻擊的根本目的就是獲取存放在數(shù)據(jù)庫(kù)中的重要信息.傳統(tǒng)的數(shù)據(jù)庫(kù)安全保障方法[3]在一定程度上提高了數(shù)據(jù)庫(kù)系統(tǒng)的安全性,但是它們大多是被動(dòng)的安全技術(shù),以預(yù)防為主,無(wú)法有效地制止入侵行為,特別是對(duì)于數(shù)據(jù)庫(kù)用戶(hù)(如數(shù)據(jù)庫(kù)管理員等)的權(quán)限濫用等內(nèi)部攻擊常常是無(wú)能為力的.據(jù)統(tǒng)計(jì),對(duì)數(shù)據(jù)庫(kù)的攻擊80%來(lái)自?xún)?nèi)部,內(nèi)部攻擊是數(shù)據(jù)庫(kù)系統(tǒng)的主要威脅.因此,針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中用戶(hù)異常行為檢測(cè)研究就顯得尤為重要.

    基于異常的入侵檢測(cè)是入侵檢測(cè)研究領(lǐng)域中的一個(gè)重要課題,并取得了一定的研究成果[4-6].但是,這些研究成果主要針對(duì)操作系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò),針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的研究成果則相對(duì)較少.Chung等人將數(shù)據(jù)庫(kù)系統(tǒng)的語(yǔ)義和異常檢測(cè)系統(tǒng)研究緊密結(jié)合起來(lái),提出使用用戶(hù)輪廓檢測(cè)數(shù)據(jù)庫(kù)用戶(hù)的行為,并研發(fā)出了數(shù)據(jù)庫(kù)誤用入侵檢測(cè)系統(tǒng)原型[7].之后,相關(guān)企業(yè)也推出了一系列數(shù)據(jù)庫(kù)入侵檢測(cè)產(chǎn)品,如Application Security Inc公司的數(shù)據(jù)庫(kù)入侵檢測(cè)產(chǎn)品AppRadar,它可針對(duì)不同的數(shù)據(jù)庫(kù)設(shè)計(jì)不同的入侵檢測(cè)系統(tǒng).李銀釗等人構(gòu)建了一種基于自適應(yīng)模型數(shù)據(jù)庫(kù)入侵檢測(cè)方法[8],該方法是基于矩陣和最小支持度函數(shù)的Apriori Z 關(guān)聯(lián)算法,在訓(xùn)練和自適應(yīng)入侵檢測(cè)階段產(chǎn)生數(shù)據(jù)庫(kù)的操作特征,用戶(hù)根據(jù)實(shí)際需求動(dòng)態(tài)調(diào)整最小支持度函數(shù)的值,更高效地挖掘操作特征.陳大鵬提出了基于網(wǎng)絡(luò)用戶(hù)行為分析與識(shí)別的數(shù)據(jù)庫(kù)入侵檢測(cè)系統(tǒng)[9],并給出了神經(jīng)網(wǎng)絡(luò)算法在數(shù)據(jù)庫(kù)用戶(hù)行為入侵檢測(cè)上的應(yīng)用實(shí)例.陳煒利用基于聚類(lèi)分析與關(guān)聯(lián)規(guī)則挖掘的數(shù)據(jù)庫(kù)異常檢測(cè)技術(shù),對(duì)數(shù)據(jù)庫(kù)操作行為和數(shù)據(jù)操作進(jìn)行審計(jì)分析,建立用戶(hù)正常的行為模式,并通過(guò)編寫(xiě)異常檢測(cè)算法來(lái)檢測(cè)用戶(hù)的異常行為[10].

    本文提出了一種基于DTMC的數(shù)據(jù)庫(kù)用戶(hù)異常行為檢測(cè)方法,該方法將用戶(hù)提交的SQL語(yǔ)句作為用戶(hù)行為特征,并利用DTMC進(jìn)行提取和分析,之后通過(guò)計(jì)算出的閾值進(jìn)行判斷,最后利用相關(guān)實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行測(cè)試,結(jié)果表明,本文系統(tǒng)可以有效地檢測(cè)出數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的攻擊行為.

    1 離散馬爾科夫鏈

    本文給出了與離散馬爾科夫鏈相關(guān)的定義和定理[11].

    定義1一個(gè)隨機(jī)過(guò)程{Xn,n≥1}稱(chēng)作具有狀態(tài)空間S={1,2,…,∞}的(一階)離散時(shí)間馬爾科夫鏈(discrete-time Markov Chain,DTMC),如果對(duì)所有的n≥1,j∈S和sm∈S(1≤m≤n),則有

    Pr(Xn+1=j|Xn=sn,Xn-1=sn-1,…,X1=s1)=

    Pr(Xn+1=j|Xn=sn)

    定義2一個(gè)DTMC{Xn,n≥1}稱(chēng)作時(shí)間齊次的,如果它滿(mǎn)足不動(dòng)性假設(shè),即對(duì)所有的j∈S和i∈S,條件概率Pr(Xn+1=j|Xn=i)與n無(wú)關(guān).

    當(dāng)DTMC{Xn,n≥1}是時(shí)間齊次時(shí),pij=Pr(Xn+1=j|Xn=i)稱(chēng)作(一步)轉(zhuǎn)移概率,由(一步)轉(zhuǎn)移概率pij構(gòu)成的矩陣P=[pij]稱(chēng)作(一步)轉(zhuǎn)移概率矩陣.ai=Pr(X1=i)稱(chēng)作狀態(tài)i的初始出現(xiàn)概率,由狀態(tài)的初始出現(xiàn)概率構(gòu)成的行向量A=(ai)i∈S稱(chēng)作初始概率分布.

    定理1時(shí)間齊次的DTMC{Xn,n≥1}由初始概率分布A和轉(zhuǎn)移概率矩陣P完全刻畫(huà),即

    Pr(X1=s1,…,Xn-1=sn-1,Xn=sn)=

    as1ps1,s2,…,psn-1,sn

    定義3一個(gè)DTMC{Xn,n≥1}稱(chēng)作平穩(wěn)的,則其初始概率分布A和轉(zhuǎn)移概率矩陣P滿(mǎn)足

    A=A×P

    定理2對(duì)平穩(wěn)的DTMC{Xn,n≥1},則有

    Pr(Xn=i)=Pr(X1=i)=ai

    由定理1和定理2可得定理3.

    定理3對(duì)平穩(wěn)的、時(shí)間齊次的DTMC{Xn,n≥1},則有

    Pr(Xi=si,…,Xj-1=sj-1,Xj=sj)=

    asipsi,si+1,…,psj-1,sj(1≤i

    2 系統(tǒng)分析與設(shè)計(jì)

    2.1 檢測(cè)流程設(shè)計(jì)

    在本文系統(tǒng)中,用戶(hù)行為異常檢測(cè)是建立一個(gè)合法用戶(hù)的正常行為模式,通過(guò)比較該合法用戶(hù)的當(dāng)前行為和正常行為特征來(lái)識(shí)別異常行為,即如果該合法用戶(hù)的當(dāng)前行為較大幅度地偏離了其歷史上的正常行為特征,則認(rèn)為發(fā)生了異常.這種異??赡苁窃摵戏ㄓ脩?hù)本身進(jìn)行了非授權(quán)操作,也可能是系統(tǒng)中其他合法用戶(hù)或外部入侵者(非法用戶(hù))冒充該合法用戶(hù)進(jìn)行了非法操作.

    在數(shù)據(jù)庫(kù)系統(tǒng)中,用戶(hù)主要通過(guò)SQL語(yǔ)句與數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行交互,完成信息的查詢(xún)、修改以及刪除等操作.通過(guò)分析SQL語(yǔ)句的執(zhí)行序列,就可以較為全面地描述用戶(hù)的行為特征.分析SQL語(yǔ)句的優(yōu)點(diǎn)在于:當(dāng)查詢(xún)通過(guò)異常檢測(cè)系統(tǒng)的處理時(shí),系統(tǒng)負(fù)載較輕.一個(gè)新的SQL語(yǔ)句被分析并通過(guò)一些統(tǒng)計(jì)模型檢查,僅當(dāng)查詢(xún)被異常檢測(cè)系統(tǒng)所接受時(shí)才在數(shù)據(jù)庫(kù)管理系統(tǒng)中運(yùn)行.

    在本文系統(tǒng)中,基于用戶(hù)行為的異常檢測(cè)主要包括兩個(gè)過(guò)程,即訓(xùn)練過(guò)程和檢測(cè)過(guò)程.

    1) 在訓(xùn)練過(guò)程中,使系統(tǒng)在正常情況下運(yùn)行一段時(shí)間,收集正常運(yùn)行時(shí)的數(shù)據(jù),提取用戶(hù)行為特征,建立正常的用戶(hù)行為模式(應(yīng)該使建立的行為特征模式包括盡可能多的正常的系統(tǒng)行為).

    2) 在檢測(cè)中,使系統(tǒng)運(yùn)行于實(shí)際的環(huán)境中,收集當(dāng)前用戶(hù)的行為數(shù)據(jù)并提取行為特征,比較檢測(cè)用戶(hù)的行為特征與正常行為特征,通過(guò)對(duì)比觀(guān)察正常與當(dāng)前行為特征的偏離程度判斷是否發(fā)生了異常.

    本文提出的數(shù)據(jù)庫(kù)用戶(hù)行為異常檢測(cè)主要包括三個(gè)階段:

    1) 數(shù)據(jù)預(yù)處理階段.在該階段對(duì)用戶(hù)提交給數(shù)據(jù)庫(kù)系統(tǒng)的SQL語(yǔ)句,即數(shù)據(jù)庫(kù)用戶(hù)行為,進(jìn)行采集和預(yù)處理.

    2) 訓(xùn)練階段.在該階段分析用戶(hù)行為特征,獲取用戶(hù)正常行為模式.訓(xùn)練階段和檢測(cè)階段的流程圖如圖1所示.在訓(xùn)練階段,采集的是用戶(hù)一段時(shí)間內(nèi)正常操作的數(shù)據(jù),如日志文件中的SQL語(yǔ)句等,從中提取用戶(hù)正常狀態(tài)下的行為規(guī)律,作為歷史行為模式.提取訓(xùn)練序列的行為特征,建立正常序列庫(kù),運(yùn)用DTMC得到訓(xùn)練序列的馬爾科夫鏈狀態(tài)集,并計(jì)算該馬爾科夫鏈狀態(tài)的轉(zhuǎn)移概率矩陣,以此來(lái)描述用戶(hù)的正常行為.

    3) 檢測(cè)階段.在該階段采集被檢測(cè)用戶(hù)的操作數(shù)據(jù).提取檢測(cè)數(shù)據(jù)中的行為特征作為當(dāng)前被檢測(cè)用戶(hù)的行為特征.將被檢測(cè)用戶(hù)的行為特征與歷史行為特征進(jìn)行對(duì)比,判斷當(dāng)前行為是否為異常行為.如果兩者的偏離超過(guò)一定閾值,則認(rèn)為是異常的;如果兩者的偏離在正常范圍內(nèi),則認(rèn)為行為是正常的.

    圖1 訓(xùn)練階段和檢測(cè)階段流程Fig.1 Flow chart of training and detecting stages

    2.2 系統(tǒng)功能設(shè)計(jì)

    本文系統(tǒng)主要包括三個(gè)功能模塊:數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)訓(xùn)練模塊和異常檢測(cè)模塊.

    2.2.1 數(shù)據(jù)預(yù)處理

    數(shù)據(jù)預(yù)處理模塊主要包括數(shù)據(jù)采集子模塊和預(yù)處理子模塊.

    1) 數(shù)據(jù)采集子模塊.在本文系統(tǒng)中,采用SQL語(yǔ)句作為異常檢測(cè)的數(shù)據(jù)源,因此,需要收集數(shù)據(jù)庫(kù)日志文件中的用戶(hù)SQL操作請(qǐng)求.

    2) 預(yù)處理子模塊.在該模塊中主要是對(duì)收集到的數(shù)據(jù)進(jìn)行處理和加工,使之符合下一個(gè)模塊的輸入.根據(jù)正常序列庫(kù)(library of general sequence,LGS)的要求,需要將收集到的所有數(shù)據(jù)處理成一個(gè)序列.因此,需要將SQL請(qǐng)求中的關(guān)鍵字提取出來(lái),組合成為一個(gè)訓(xùn)練序列.在實(shí)現(xiàn)過(guò)程中,由于SQL語(yǔ)句的關(guān)鍵字通常為多個(gè)字母的英文單詞,在訓(xùn)練和檢測(cè)過(guò)程中操作較為復(fù)雜,為了優(yōu)化算法的執(zhí)行效率,將關(guān)鍵字進(jìn)行統(tǒng)計(jì)分類(lèi),由單個(gè)英文字母代替.

    2.2.2 數(shù)據(jù)訓(xùn)練

    數(shù)據(jù)訓(xùn)練模塊包括序列庫(kù)建立子模塊和基于DTMC的行為特征提取子模塊.

    1) 序列庫(kù)建立模塊.對(duì)于經(jīng)過(guò)預(yù)處理的序列,定義W種不同長(zhǎng)度的短序列,并設(shè)置相應(yīng)的出現(xiàn)頻率權(quán)重.

    l(i)代表第i種短序列的長(zhǎng)度,e(i)代表第i種短序列的出現(xiàn)頻率權(quán)重,其中,i=1,2,…,W,l(1)

    (1)

    將所有數(shù)據(jù)流中全部的不同短序列合并到正常序列庫(kù)中,并計(jì)算其在正常序列庫(kù)中的加權(quán)出現(xiàn)頻率.

    (2)

    2) 基于DTMC的行為特征提取模塊.在檢測(cè)異常行為之前,系統(tǒng)需要建立用戶(hù)正常行為的行為特征.本文利用不同長(zhǎng)度短序列的狀態(tài)構(gòu)建離散時(shí)間馬爾科夫鏈,以此作為用戶(hù)的行為特征.在本文方法里,狀態(tài)數(shù)N需要提前設(shè)置.首先需要得到訓(xùn)練數(shù)據(jù)s=(s1,s2,…,sr)中每一個(gè)命令的行為模式;然后根據(jù)LGS中的N-1個(gè)分組,生成每一個(gè)行為模式的馬爾科夫鏈狀態(tài),由此得到一個(gè)馬爾科夫鏈狀態(tài)集;最后建立馬爾科夫鏈的轉(zhuǎn)移概率矩陣P.

    2.2.3 異常檢測(cè)

    一旦用戶(hù)行為特征形成,異常檢測(cè)系統(tǒng)的基本操作就是比較檢測(cè)序列與歷史數(shù)據(jù),并且判斷兩者是否屬于同一個(gè)用戶(hù).被檢測(cè)用戶(hù)的行為特征與歷史數(shù)據(jù)的偏離是入侵的重要標(biāo)識(shí),因此,假設(shè)歷史數(shù)據(jù)都屬于同一個(gè)用戶(hù).在本文系統(tǒng)的異常檢測(cè)階段,由轉(zhuǎn)移概率矩陣決定的分類(lèi)值是判定異常行為的唯一衡量標(biāo)準(zhǔn),這將大大減輕系統(tǒng)的計(jì)算負(fù)擔(dān),系統(tǒng)的主要檢測(cè)步驟如下:

    1) 獲取并預(yù)處理審計(jì)數(shù)據(jù).在異常檢測(cè)階段,需要采集待檢測(cè)用戶(hù)產(chǎn)生的原始SQL命令行(即需要被審計(jì)的數(shù)據(jù)),將采集到的數(shù)據(jù)經(jīng)過(guò)預(yù)處理形成一個(gè)序列.c=(c1,c2,…,ct)表示經(jīng)過(guò)預(yù)處理后的檢測(cè)序列,其中,cj是檢測(cè)序列中第j個(gè)命令,t代表檢測(cè)序列中的命令個(gè)數(shù).

    2) 定義檢測(cè)序列狀態(tài),生成狀態(tài)序列.根據(jù)行為模式提取算法和Markov鏈狀態(tài)生成算法,將正常序列庫(kù)T和檢測(cè)序列c=(c1,c2,…,ct)作為輸入,可以得到與檢測(cè)序列相對(duì)應(yīng)的狀態(tài)序列q=(q1,q2,…,qM′).由c=(c1,c2,…,ct)截取的短序列可能不包含在LGS中,因此在狀態(tài)序列q=(q1,q2,…,qM′)中,狀態(tài)值可能為N.

    3) 對(duì)應(yīng)狀態(tài)序列獲取分類(lèi)值.在狀態(tài)序列q=(q1,q2,…,qM′)中,對(duì)于每一個(gè)狀態(tài)qi(1≤i≤M′-1),由qi到qi+1的轉(zhuǎn)移概率為Pr(qi+1|qi)=aqi,qi+1.從qi轉(zhuǎn)移到qi+1的分類(lèi)值定義為

    (3)

    式中:ψ(i)為從qi轉(zhuǎn)移到qi+1的分類(lèi)值;δ為概率臨界值,需要提前設(shè)置.當(dāng)ψ(i)=1時(shí),代表一個(gè)正常的轉(zhuǎn)移;否則,表示發(fā)生了一個(gè)異常的轉(zhuǎn)移.計(jì)算所有狀態(tài)的分類(lèi)值之后,得到一個(gè)分類(lèi)值的序列(ψ(1),ψ(2),…,ψ(M′-1)).

    4) 計(jì)算判定值.雖然個(gè)別轉(zhuǎn)移可能會(huì)偏離歷史先例,但是有效用戶(hù)大量的行為集合應(yīng)該在主體上符合歷史行為,而入侵者的行為與歷史行為對(duì)比會(huì)有明顯的偏離.因此,本文系統(tǒng)對(duì)分類(lèi)值序列應(yīng)用滑動(dòng)窗口以獲取大量的行為,然后計(jì)算其判定值.本文采用一種均值滑動(dòng)窗口,在分類(lèi)值序列(ψ(1),ψ(2),…,ψ(M′-1))中的ψ(n)處,其判定值定義為

    (4)

    式中:D(n)為分類(lèi)值ψ(n)相對(duì)應(yīng)的判定值,n逐次加1(w≤n≤M′-1);w為窗口大小.

    5) 判別用戶(hù)行為是否異常.判定用戶(hù)行為是否異常的閾值λ,需要根據(jù)系統(tǒng)需求提前設(shè)置,當(dāng)前被檢測(cè)用戶(hù)的行為是否異常則由D(n)和λ決定.如果D(n)≥λ,認(rèn)為被檢測(cè)用戶(hù)的當(dāng)前行為是正常的,反之如果D(n)<λ,則認(rèn)為被檢測(cè)用戶(hù)的當(dāng)前行為是異常的.本文中,當(dāng)前行為對(duì)應(yīng)著w個(gè)分類(lèi)值ψ(n-w+1),ψ(n-w+2),…,ψ(n),與w+1個(gè)狀態(tài)(qn-w+1,qn-w+2,…,qn,qn+1)相關(guān).閾值λ是靈敏度很高的參數(shù),閾值越高,異常檢測(cè)成功率越高,同時(shí)誤報(bào)率也越高;閾值越低,異常檢測(cè)成功率越低,誤報(bào)率也降低.

    3 實(shí)驗(yàn)分析

    3.1 測(cè)試指標(biāo)

    異常檢測(cè)系統(tǒng)對(duì)異常行為的檢測(cè)效果通常由檢測(cè)率、誤報(bào)率和漏報(bào)率三個(gè)參數(shù)來(lái)衡量.

    定義7檢測(cè)率.檢測(cè)率是指檢測(cè)出的異常數(shù)據(jù)的百分比,即

    (5)

    定義8誤報(bào)率.誤報(bào)率是指正常的數(shù)據(jù)被誤檢為異常數(shù)據(jù)的比率,即

    (6)

    定義9漏報(bào)率.漏報(bào)率是指沒(méi)有被檢測(cè)出來(lái)的異常數(shù)據(jù)的比率,即

    (7)

    ROC(receiveroperatingcharacteristic)曲線(xiàn),即接受者操作特征曲線(xiàn),在信號(hào)檢測(cè)理論中被用來(lái)表示檢測(cè)率和誤報(bào)率的折中.本文也將利用ROC曲線(xiàn)來(lái)分析系統(tǒng)的性能.ROC曲線(xiàn)左上角的點(diǎn)代表著100%的檢測(cè)率和0%的誤報(bào)率.因此,ROC曲線(xiàn)越靠近左上角,異常檢測(cè)系統(tǒng)性能越好.

    3.2 實(shí)驗(yàn)數(shù)據(jù)

    實(shí)驗(yàn)使用的測(cè)試數(shù)據(jù)集是一個(gè)診所的數(shù)據(jù)庫(kù)集合[12],包括39 322條select、insert、update、delete等SQL命令.從數(shù)據(jù)庫(kù)日志文件中采集到的原始數(shù)據(jù)是SQL命令行.SQL命令里包含操作類(lèi)型、操作對(duì)象、表名等大量命令字段.為了提高檢測(cè)效率,需要對(duì)SQL語(yǔ)句進(jìn)行預(yù)處理.

    定義10語(yǔ)句模板是一個(gè)三元組〈OP,F(xiàn),T〉,其中,OP是SQL語(yǔ)句的語(yǔ)句類(lèi)型,F(xiàn)是SQL語(yǔ)句涉及的屬性集,T是SQL語(yǔ)句中的表集合.

    每條語(yǔ)句都可以歸類(lèi)到某個(gè)語(yǔ)句模板,實(shí)際使用過(guò)程中認(rèn)為只要語(yǔ)句模板相同,則兩條語(yǔ)句為同一類(lèi)語(yǔ)句.

    SQL語(yǔ)句1:“SELECT學(xué)號(hào),姓名,年齡FROM學(xué)生表WHERE年齡<20”;語(yǔ)句2:“SELECT學(xué)號(hào),姓名,年齡FROM學(xué)生表WHERE性別=男”;語(yǔ)句3:“SELECT學(xué)號(hào),數(shù)學(xué)+語(yǔ)文AS總分FROM學(xué)生表,成績(jī)表WHERE年齡<20”,3條語(yǔ)句的語(yǔ)句模板如表1所示.

    表1 SQL語(yǔ)句模板示例Tab.1 Examples of SQL statement template

    由表1可知,將每一條SQL語(yǔ)句處理成語(yǔ)句模板,并按照時(shí)間先后排序生成語(yǔ)句模板的序列(OP1,F(xiàn)1,T1,OP2,F(xiàn)2,T2,…),所有的訓(xùn)練數(shù)據(jù)和檢測(cè)數(shù)據(jù)都需按照上述過(guò)程處理.

    3.3 實(shí)驗(yàn)結(jié)果

    本文選取了4個(gè)用戶(hù)的數(shù)據(jù)用于實(shí)驗(yàn),如果從4個(gè)用戶(hù)中選擇一個(gè)用戶(hù)作為正常用戶(hù),其他3個(gè)用戶(hù)相對(duì)于選定的用戶(hù)來(lái)說(shuō)就是異常用戶(hù).用戶(hù)的變化會(huì)導(dǎo)致系統(tǒng)檢測(cè)到的行為模式特征發(fā)生變化,如果變化值超出了正常范圍內(nèi)的波動(dòng),系統(tǒng)將會(huì)認(rèn)定其為異常行為.

    經(jīng)過(guò)預(yù)處理后,用戶(hù)1的前9 999個(gè)SQL命令字段用于訓(xùn)練階段構(gòu)建LGS和Markov鏈,剩余的4 998個(gè)SQL命令字段在檢測(cè)階段用作測(cè)試數(shù)據(jù),作為正常行為來(lái)檢測(cè)系統(tǒng)的誤報(bào)率.用戶(hù)2、用戶(hù)3、用戶(hù)4各有6 000條SQL命令字段用作異常行為來(lái)測(cè)試系統(tǒng)的檢測(cè)率.系統(tǒng)各個(gè)參數(shù)設(shè)置為:N=5,W=3,l(1)=1,l(2)=2,l(3)=3,e(1)=1,e(2)=2,e(3)=3,w=81,δ=0.28.

    表2給出了每個(gè)用戶(hù)檢測(cè)序列對(duì)應(yīng)的Markov鏈狀態(tài)數(shù).由于LGS是由用戶(hù)1的訓(xùn)練數(shù)據(jù)生成,那么由用戶(hù)1的訓(xùn)練數(shù)據(jù)截取的短序列總是會(huì)出現(xiàn)在LGS中,因此,用戶(hù)1檢測(cè)序列狀態(tài)為N的概率極低,也就是對(duì)應(yīng)行為模式的長(zhǎng)度為1的可能性較低.狀態(tài)總數(shù)與行為模式的長(zhǎng)度相關(guān),行為模式的長(zhǎng)度越大,狀態(tài)總數(shù)越少,所以用戶(hù)1檢測(cè)序列的狀態(tài)總數(shù)最少.

    表2 不同用戶(hù)檢測(cè)序列狀態(tài)數(shù)Tab.2 Status number of different user detecting sequences

    經(jīng)過(guò)實(shí)驗(yàn)計(jì)算得到用戶(hù)1的Markov鏈的轉(zhuǎn)移概率矩陣為

    圖2給出了4個(gè)用戶(hù)的判定值曲線(xiàn),從圖2中可以看出,用戶(hù)2、用戶(hù)3和用戶(hù)4的曲線(xiàn)可以很明顯地與用戶(hù)1的曲線(xiàn)區(qū)分開(kāi)來(lái),即不同用戶(hù)的行為特征不同.一旦數(shù)據(jù)庫(kù)出現(xiàn)內(nèi)部攻擊,攻擊者的行為模式與正常用戶(hù)的行為模式一定存在較大差異,被檢測(cè)用戶(hù)的判定值曲線(xiàn)會(huì)出現(xiàn)較大幅度的波動(dòng),當(dāng)系統(tǒng)檢測(cè)到波動(dòng)已超過(guò)設(shè)定的閾值時(shí),則可以認(rèn)為該用戶(hù)出現(xiàn)了異常.

    實(shí)驗(yàn)表明,系統(tǒng)檢測(cè)性能和所選定的閾值λ有很大關(guān)系,λ越大,系統(tǒng)的檢測(cè)率和誤報(bào)率會(huì)越高,漏報(bào)率越低.因此,要通過(guò)測(cè)試選定比較合適的λ值.另外,狀態(tài)數(shù)N對(duì)系統(tǒng)的性能也會(huì)產(chǎn)生一定影響.圖3為N等于4、5、6,閾值λ不同時(shí),系統(tǒng)的ROC曲線(xiàn).從圖3中可以看出,N=5時(shí),系統(tǒng)性能較N=6、N=4時(shí)更好,且λ=0.84時(shí),系統(tǒng)性能達(dá)到最優(yōu).

    圖2 各用戶(hù)的ROC曲線(xiàn)Fig.2 ROC curves of various users

    圖3 狀態(tài)數(shù)不同時(shí)系統(tǒng)ROC曲線(xiàn)Fig.3 ROC curves of system with different status number

    4 結(jié) 論

    針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中的用戶(hù)異常行為檢測(cè)問(wèn)題,利用SQL語(yǔ)句來(lái)提取用戶(hù)的行為特征,并應(yīng)用離散Markov鏈的狀態(tài)來(lái)描述用戶(hù)的行為輪廓,設(shè)計(jì)并實(shí)現(xiàn)了基于DTMC的數(shù)據(jù)庫(kù)用戶(hù)異常行為檢測(cè)系統(tǒng),該系統(tǒng)包括數(shù)據(jù)預(yù)處理模塊、數(shù)據(jù)訓(xùn)練模塊和異常檢測(cè)模塊.為了驗(yàn)證系統(tǒng)的有效性,采用數(shù)據(jù)庫(kù)日志數(shù)據(jù)進(jìn)行實(shí)驗(yàn)測(cè)試.實(shí)驗(yàn)結(jié)果表明,離散Markov鏈的狀態(tài)可以用于刻畫(huà)數(shù)據(jù)庫(kù)用戶(hù)的行為輪廓,正常行為的判定值曲線(xiàn)和異常行為的判定值曲線(xiàn)可以很明顯地區(qū)分開(kāi),從而證明了系統(tǒng)的有效性.因此,本文系統(tǒng)在數(shù)據(jù)庫(kù)用戶(hù)異常行為檢測(cè)領(lǐng)域具有一定的實(shí)際應(yīng)用價(jià)值.

    [1] 趙剛,宮義山,王大力.考慮成本與要素關(guān)系的信息安全風(fēng)險(xiǎn)分析模型 [J].沈陽(yáng)工業(yè)大學(xué)學(xué)報(bào),2015,37(1):69-74.

    (ZHAO Gang,GONG Yi-shan,WANG Da-li.Information security risk analysis model considering costs and factors relevance [J].Journal of Shenyang University of Technology,2015,37(1):69-74.)

    [2] 沈昌祥,張煥國(guó),馮登國(guó),等.信息安全綜述 [J].中國(guó)科學(xué)(E輯:信息科學(xué)),2007,37(2):129-150.

    (SHEN Chang-xiang,ZHANG Huan-guo,F(xiàn)ENG Deng-guo,et al.An overview of information security [J].Science in China (Series E:Information Sciences),2007,37(2):129-150.)

    [3] 吳溥峰,張玉清.數(shù)據(jù)庫(kù)安全綜述 [J].計(jì)算機(jī)工程,2006,32(12):85-88.

    (WU Pu-feng,ZHANG Yu-qing.An overview of database security [J].Computer Engineering,2006,32(12):85-88.)

    [4] Joldzic O,Djuric Z,Vuletic P.A transparent and sca-lable anomaly-based DoS detection method [J].Computer Networks,2016,104:27-42.

    [5] Bhuyan M H,Bhattacharyya D K,Kalita J K.A multi-step outlier-based anomaly detection approach to network-wide traffic [J].Information Sciences,2016,348(6):243-271.

    [6] 徐明,陳純,應(yīng)晶.一個(gè)兩層馬爾科夫鏈異常入侵檢測(cè)模型 [J].軟件學(xué)報(bào),2006,16(2):276-285.

    (XU Ming,CHEN Chun,YING Jing.A two-layer Markov chain anomaly detection model [J].Journal of Software,2006,16(2):276-285.)

    [7] Chung C Y,Gertz M,Levitt K.DEMIDS:a misuse detection system for database system [C]//Proceedings of 3rd International Working Conference on Integrity and Internal Control in Information Systems.Amsterdam,Netherlands,1999:159-178.

    [8] 李銀釗,閆懷志,張佳,等.基于自適應(yīng)模型的數(shù)據(jù)庫(kù)入侵檢測(cè)方法 [J].北京理工大學(xué)學(xué)報(bào),2012,32(3):258-262.

    (LI Yin-zhao,YAN Huai-zhi,ZHANG Jia,et al.A method of database instruction detection based on adaptive model [J].Transactions of Beijing Institute of Technology,2012,32(3):258-262.)

    [9] 陳大鵬.基于用戶(hù)行為分析與識(shí)別的數(shù)據(jù)庫(kù)入侵檢測(cè)系統(tǒng)的研究 [D].成都:電子科技大學(xué),2015.

    (CHEN Da-peng.Intrusion detection system of database based on user behavior of analysis and identification [D].Chengdu:University of Electronic Science and Technology of China,2015.)

    [10]陳煒.基于網(wǎng)絡(luò)的數(shù)據(jù)庫(kù)審計(jì)和風(fēng)險(xiǎn)控制研究 [D].武漢:武漢理工大學(xué),2013.

    (CHEN Wei.The research about database audit and risk management based on network [D].Wuhan:Wuhan University of Technology,2013.)

    [11]Karlin S,Taylor H M.A first course in stochastic processed [M].Beijing:Post & Telecom Press,2007:30-60.

    [12]Yao Q S,An A J,Huang X J.Finding and analyzing database user sessions[C]//10th International Conference on Database Systems for Advanced Applications.Beijing,China,2005:851-862.

    Anomalybehaviordetectionofdatabaseuserbasedondiscrete-timeMarkovchain

    BI Meng1,2, WANG An-di1, XU Jian1,3, ZHOU Fu-cai1

    (1.Software College, Northeastern University, Shenyang 110169, China; 2.School of Management, Shenyang University of Technology, Shenyang 110870, China; 3.State Key Laboratory of Information Security, Institute of Information Engineering of Chinese Academy of Sciences, Beijing 100093, China)

    Aiming at the problem of internal attack in the database system, an anomaly detection method based on the user behaviour was introduced into the internal attack detection in the database system.The discrete-time Markov chain (DTMC) was applied to the anomaly detection of database system, and an anomaly detection system for user behaviour based on DTMC was established.The SQL statements submitted by the users were taken as the user behavior features and were analyzed.In addition, the behavior features of normal users and behavior to be detected were extracted with DTMC, and the corresponding comparison between them was performed.If the deviation degree of two behavior features was beyond the threshold, the detected behavior would be judged as an anomaly behavior.The feasibility and effectiveness of the proposed system were actually tested.The results show that the proposed system can better describe the user behavior, and can effectively detect the internal attack of database system.

    network security; database security; user behavior; internal attack; anomaly detection; intrusion detection; SQL statement; discrete-time Markov chain(DTMC)

    2016-10-17.

    國(guó)家自然科學(xué)基金資助項(xiàng)目(61602102,61402095);遼寧省科技攻關(guān)計(jì)劃項(xiàng)目(2013217004);中央高校基本科研業(yè)務(wù)費(fèi)專(zhuān)項(xiàng)基金資助項(xiàng)目(N151704002);沈陽(yáng)市科技計(jì)劃資助項(xiàng)目(F14-231-1-08).

    畢 猛(1982-),男,遼寧沈陽(yáng)人,工程師,博士生,主要從事網(wǎng)絡(luò)與信息安全等方面的研究.

    * 本文已于2017-10-25 21∶12在中國(guó)知網(wǎng)優(yōu)先數(shù)字出版.網(wǎng)絡(luò)出版地址:http://kns.cnki.net/kcms/detail/21.1189.T.20171025.2112.028.html

    10.7688/j.issn.1000-1646.2018.01.13

    (1.東北大學(xué) 軟件學(xué)院,沈陽(yáng) 110169;2.沈陽(yáng)工業(yè)大學(xué) 管理學(xué)院,沈陽(yáng) 110870;3.中國(guó)科學(xué)院信息工程研究所 信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100093)

    TP 309

    A

    1000-1646(2018)01-0070-07

    鐘 媛 英文審校:尹淑英)

    猜你喜歡
    馬爾科夫語(yǔ)句狀態(tài)
    基于疊加馬爾科夫鏈的邊坡位移預(yù)測(cè)研究
    重點(diǎn):語(yǔ)句銜接
    基于改進(jìn)的灰色-馬爾科夫模型在風(fēng)機(jī)沉降中的應(yīng)用
    狀態(tài)聯(lián)想
    生命的另一種狀態(tài)
    精彩語(yǔ)句
    熱圖
    家庭百事通(2016年3期)2016-03-14 08:07:17
    堅(jiān)持是成功前的狀態(tài)
    山東青年(2016年3期)2016-02-28 14:25:52
    馬爾科夫鏈在教學(xué)評(píng)價(jià)中的應(yīng)用
    如何搞定語(yǔ)句銜接題
    文化| 大城县| 静海县| 武陟县| 沙坪坝区| 尤溪县| 镇坪县| 微博| 滦南县| 德化县| 商南县| 安徽省| 类乌齐县| 佛坪县| 罗山县| 卓资县| 伊宁县| 乌拉特后旗| 富裕县| 天峨县| 三门县| 通山县| 万山特区| 宾川县| 鄱阳县| 富裕县| 隆安县| 大英县| 辽源市| 靖宇县| 抚顺市| 江安县| 天津市| 同德县| 丁青县| 扎囊县| 色达县| 高台县| 白沙| 永春县| 高平市|