趙 敏
(貴州民族大學(xué)數(shù)據(jù)科學(xué)與信息工程學(xué)院,貴州 貴陽(yáng) 550025)
在當(dāng)今信息化社會(huì),互聯(lián)網(wǎng)的應(yīng)用越來(lái)越廣泛,人們通過(guò)網(wǎng)絡(luò)訪問(wèn)數(shù)據(jù)庫(kù),并經(jīng)過(guò)數(shù)據(jù)庫(kù)的允許,從中提取出自己需要的數(shù)據(jù)信息。然而,伴隨網(wǎng)絡(luò)安全問(wèn)題的日益突出,非法者為竊取信息,模擬用戶與數(shù)據(jù)庫(kù)之間正常的交互行為,使得攻擊方式更加隱蔽,導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法有效檢測(cè)出非法入侵者,也就無(wú)法進(jìn)行及時(shí)阻攔[1]。對(duì)用戶與數(shù)據(jù)庫(kù)交互行為進(jìn)行公開驗(yàn)證是保證數(shù)據(jù)安全,防止非法入侵的重要手段,因此,研究數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法具有重要意義。
目前主要采用基于協(xié)議分析的方法、基于聚類的方法以及基于信任值的方法進(jìn)行數(shù)據(jù)庫(kù)交互行為異常的驗(yàn)證。其中基于聚類的方法主要通過(guò)正常用戶與數(shù)據(jù)庫(kù)之間的交互數(shù)據(jù),提取聚類中心,然后分類異常交互行為與正常交互行為來(lái)完成驗(yàn)證;采用主分析協(xié)議的報(bào)文特征對(duì)惡意入侵攻擊進(jìn)行識(shí)別,是基于協(xié)議分析方法的核心思想;基于信任值的方法主要通過(guò)計(jì)算訪問(wèn)用戶的信任值來(lái)進(jìn)行交互行為異常的檢測(cè)。以上三種方法的驗(yàn)證效果并不理想,驗(yàn)證過(guò)程中查全率和查準(zhǔn)率較低[2,3]。
針對(duì)上述三種傳統(tǒng)方法存在的問(wèn)題,以序列匹配為基礎(chǔ),提出對(duì)數(shù)據(jù)庫(kù)交互行為進(jìn)行公開驗(yàn)證的方法。對(duì)正常交互的行為序列特征進(jìn)行采樣提取,將之與實(shí)際網(wǎng)絡(luò)中的交互行為序列進(jìn)行配對(duì),得到不相符的配對(duì)序列特征,實(shí)現(xiàn)公開驗(yàn)證,完成用戶異常行為的檢測(cè)。最后為驗(yàn)證本方法的性能,進(jìn)行仿真。實(shí)驗(yàn)結(jié)果表明:相比上述三中傳統(tǒng)方法,基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法的查全率和查準(zhǔn)率是四種方法中最大的,由此可見應(yīng)用本文方法,能有效檢測(cè)出數(shù)據(jù)庫(kù)交互行為的異?,F(xiàn)象,保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全。
用戶進(jìn)行的各種查詢、錄入等數(shù)據(jù)提取活動(dòng)被稱為數(shù)據(jù)庫(kù)的交互行為。而這些活動(dòng)均是在用戶身份公開驗(yàn)證無(wú)誤的前提下進(jìn)行的。圖1為一個(gè)正常的交互過(guò)程。
圖1 用戶與數(shù)據(jù)庫(kù)之間正常交互過(guò)程
正常的交互行為是具有起始動(dòng)作的,序列關(guān)系完整有序,它是遵從一定的協(xié)議規(guī)范進(jìn)行活動(dòng)的。然而,一旦發(fā)生非法入侵或攻擊,其交互序列必然有別于正常的序列關(guān)系[4]。表1為常見的異常交互行為特征以及具體攻擊方式。
表1 常見異常交互行為特征及具體攻擊方式
對(duì)表1中這些異常行為進(jìn)行驗(yàn)證流程設(shè)計(jì),
其具體過(guò)程如圖2所示。
圖2 基于序列匹配的交互行為驗(yàn)證流程
從圖2中可以看出,基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法的流程主要分為三個(gè)步驟:
1)交互行為記錄采集。從網(wǎng)絡(luò)審計(jì)記錄中選取部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù),為下一交互行為序列特征提取做準(zhǔn)備。
2)交互行為序列特征提取。通過(guò)對(duì)以往正常用戶訪問(wèn)數(shù)據(jù)進(jìn)行訓(xùn)練,提取出正常交互行為的序列特征。
3)交互行為序列特征匹配。將實(shí)際交互行為驗(yàn)證序列與正常交互行為序列特征進(jìn)行匹配、對(duì)比,發(fā)現(xiàn)異常交互行為[5]。
在交互行為序列特征提取之前,需要從以往用戶與數(shù)據(jù)庫(kù)交互行為記錄數(shù)據(jù)中選取部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù),從中提取正常交互行為序列特征。
交互行為記錄數(shù)據(jù)的采集可以分為基于服務(wù)器端采集和基于客戶端采集兩類。其中,前者最為常用,其原理是通過(guò)Web服務(wù)日志文件中HTTP相關(guān)內(nèi)容對(duì)用戶訪問(wèn)行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和匯總[6]。當(dāng)用戶與數(shù)據(jù)庫(kù)完成一系列交互行為后,記錄在網(wǎng)絡(luò)審計(jì)記錄為一組屬性信息,具體包括用戶ID、交互日期、服務(wù)器、請(qǐng)求、狀態(tài)、停留時(shí)間、協(xié)議版本等,具體Web服務(wù)日志格式表示如表2所示。
表2 Web 服務(wù)日志格式具體表示以及說(shuō)明
Web服務(wù)器日志對(duì)應(yīng)著用戶訪問(wèn)數(shù)據(jù)庫(kù)的每一次請(qǐng)求,用戶與數(shù)據(jù)庫(kù)每完成一次交互,Web服務(wù)器日志中就增加一條記錄,表示如下
(1)
在完成交互行為記錄數(shù)據(jù)的采集之后,并不能直接將采集后的交互行為數(shù)據(jù)用于交互行為序列特征提取,還需要對(duì)選取的部分記錄數(shù)據(jù)進(jìn)行處理,以方便后續(xù)交互行為序列特征的提取,從而提高提取效率。
交互行為記錄數(shù)據(jù)處理,即是對(duì)交互記錄中的錯(cuò)誤記錄和不相關(guān)交互行為冗余記錄進(jìn)行清洗處理。由于機(jī)器故障、網(wǎng)絡(luò)擁塞、人工疏忽等行為會(huì)導(dǎo)致交互行為記錄破損,完整性遭到破壞,因此這類數(shù)據(jù),能夠通過(guò)相似度計(jì)算盡可能地恢復(fù)破損數(shù)據(jù),對(duì)不能恢復(fù)的數(shù)據(jù)直接進(jìn)行刪除處理[7]。對(duì)于不相關(guān)交互行為冗余記錄,需要在檢查URL的基礎(chǔ)上,完成冗余記錄數(shù)據(jù)的刪除。
此外,除了上述交互行為數(shù)據(jù)處理外,還需要對(duì)記錄數(shù)據(jù)屬性進(jìn)行刪減,以減少特征提取的時(shí)間。交互行為記錄數(shù)據(jù)除了包括特征提取所需要的信息,如用戶的ID、交互日期、請(qǐng)求內(nèi)容外,還有一些特征是不需要提取的內(nèi)容,如用戶年齡、登錄地點(diǎn)、登錄方法等信息。對(duì)于這類信息可以進(jìn)行刪除處理[8]。
序列特征提取的目的是發(fā)現(xiàn)數(shù)據(jù)庫(kù)交互行為記錄之間的相關(guān)性,從中提取出正常交互行為的序列模式[9]。以下為序列模式挖掘過(guò)程:
將采集并處理好的交互行為記錄數(shù)據(jù)集以用戶ID為主關(guān)鍵字,交互日期為次關(guān)鍵字、請(qǐng)求為最次關(guān)鍵字進(jìn)行排序,組成一個(gè)記錄數(shù)據(jù)庫(kù),如表3所示。
表3 記錄數(shù)據(jù)庫(kù)表示形式
設(shè)W為滑動(dòng)窗口大??;Ni為用戶i所擁有的記錄數(shù)據(jù)。模式p在用戶i的支持度為
(2)
式中,Qi(p,s)為用戶i中滿足滑動(dòng)窗口大小的序列,給定最小支持度min-sup ,若sup(p)≥min-sup ,則模式p為用戶i中的頻繁序列。因此,最大序列算法提取過(guò)程如圖3所示。
圖3 最大序列算法提取過(guò)程
依據(jù)上述過(guò)程,提取出的正常數(shù)據(jù)庫(kù)交互行為序列如圖4所示。
圖4 正常數(shù)據(jù)庫(kù)交互行為序列
如果在實(shí)際驗(yàn)證過(guò)程中,發(fā)現(xiàn)用戶在與數(shù)據(jù)庫(kù)交互時(shí),出現(xiàn)了許多與正常交互行為序列特征無(wú)關(guān)的操作,訪問(wèn)了數(shù)據(jù)庫(kù)中許多以前沒(méi)有訪問(wèn)過(guò)或很少訪問(wèn)的機(jī)密文件,則可以推斷出該交互行為出現(xiàn)了某種異常[10]。這種異常可能是由用戶本身引起的,該用戶訪問(wèn)了超出自己權(quán)限的數(shù)據(jù),更大可能是由非法用戶訪問(wèn)竊取了正常用戶的賬號(hào),進(jìn)行了惡意操作。而要想有效遏制這種現(xiàn)象,對(duì)交互行為的序列特征進(jìn)行匹配必不可少。交互行為序列特征匹配過(guò)程示意圖如圖5所示。
圖5 交互行為序列特征匹配過(guò)程示意圖
下面通過(guò)相似度計(jì)算來(lái)完成數(shù)據(jù)庫(kù)交互行為序列特征的匹配,其原理如下:將數(shù)據(jù)庫(kù)正常交互行為的序列轉(zhuǎn)換成空間向量,將待驗(yàn)證交互行為序列轉(zhuǎn)換成待查空間向量[11];然后計(jì)算二者之間的相似度,找出二者之間超過(guò)設(shè)定閾值的序列片段,確定與正常數(shù)據(jù)庫(kù)交互行為序列最相似的交互序列,實(shí)現(xiàn)交互行為驗(yàn)證,具體驗(yàn)證流程如圖6所示。
圖6 交互行為序列特征匹配流程
步驟1:假設(shè)x和y分別代表需要比較的兩個(gè)序列,前者為正常數(shù)據(jù)庫(kù)交互行為序列,后者為待檢測(cè)交互行為序列。將二者轉(zhuǎn)換為空間向量。
步驟2:計(jì)算檢測(cè)交互行為序列與正常交互行為序列之間相似度Z。
(3)
式中,L0待查序列長(zhǎng)度;n為待查序列數(shù)量;Lt為序列特征長(zhǎng)度。
步驟3:按照從大到小的順序排列相似度,判斷待查交互行為序列集與正常數(shù)據(jù)庫(kù)交互行為序列最相似的序列L。
步驟4:計(jì)算最相似的序列L與待查交互行為序列集中其它序列的相似度指標(biāo),將其中的最大值記為序列L對(duì)應(yīng)的閾值M。
步驟5:檢索所有交互行為序列,只要與正常數(shù)據(jù)庫(kù)交互行為序列之間的閾值距離小于M,就認(rèn)為該序列所屬正常序列樣本[12]。
綜上所述,實(shí)現(xiàn)了基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法。
本實(shí)驗(yàn)測(cè)試目標(biāo)為:驗(yàn)證所提基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法的有效性。在不同攻擊方式下,運(yùn)用本方法后,數(shù)據(jù)庫(kù)交互行為驗(yàn)證的查全率以及查準(zhǔn)率。
實(shí)驗(yàn)首先需要構(gòu)建仿真平臺(tái),如圖7所示。
圖7 實(shí)驗(yàn)平臺(tái)
設(shè)置的實(shí)驗(yàn)環(huán)境如表4所示。
表4 實(shí)驗(yàn)參數(shù)
現(xiàn)在注冊(cè)一個(gè)新的賬戶,該賬戶為正常用戶,訪問(wèn)計(jì)算機(jī)當(dāng)中的數(shù)據(jù)庫(kù),進(jìn)行訓(xùn)練,訓(xùn)練結(jié)束后。從網(wǎng)絡(luò)審計(jì)記錄中隨機(jī)抽取一部分?jǐn)?shù)據(jù)作為基礎(chǔ),提取其交互行為序列特征,如圖8所示。
圖8 交互行為序列特征
接著按照表5中非法攻擊類型和數(shù)量與計(jì)算機(jī)中的數(shù)據(jù)庫(kù)進(jìn)行交互,得到待查交互行為序列,如圖9所示。
表5 非法攻擊類型與數(shù)量
圖9 待查交互行為序列
最后將二者進(jìn)行相似度匹配,得到匹配結(jié)果如表6所示。
表6 查全率和查準(zhǔn)率仿真結(jié)果
從表6中可以看出,所提驗(yàn)證方法的查全率為96.7%,查準(zhǔn)率為98.2%。二者均超過(guò)95%,由此可證明所提驗(yàn)證方法的有效性較高。為顯示所提驗(yàn)證方法的優(yōu)越性,利用基于聚類的方法、基于協(xié)議分析的方法以及基于信任值的方法再次進(jìn)行數(shù)據(jù)庫(kù)交互行為的公開驗(yàn)證,實(shí)驗(yàn)設(shè)置參數(shù)同樣如表5所示,三種方法得出結(jié)果如表6所示。將以上四種方法得出的結(jié)果對(duì)比可知,應(yīng)用所提的驗(yàn)證方法,其查全率和查準(zhǔn)率均達(dá)到最大,分別比對(duì)比方法高,由此說(shuō)明所提方法能有效解決三種傳統(tǒng)方法存在的問(wèn)題,并提升了數(shù)據(jù)庫(kù)中數(shù)據(jù)安全性,降低非法竊取和破壞數(shù)據(jù)的風(fēng)險(xiǎn)。
為保證數(shù)據(jù)庫(kù)中數(shù)據(jù)安全,防止非法竊取和泄露,針對(duì)基于聚類的方法、基于協(xié)議分析的方法以及基于信任值的方法存在的弊端,即查全率和查準(zhǔn)率較低的問(wèn)題,提出一種基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法,通過(guò)對(duì)比行為序列特征來(lái)發(fā)現(xiàn)數(shù)據(jù)庫(kù)交互行為的異常,以此發(fā)現(xiàn)非法者入侵行為。經(jīng)實(shí)驗(yàn)驗(yàn)證得出,基于序列匹配的數(shù)據(jù)庫(kù)交互行為公開驗(yàn)證方法解決了傳統(tǒng)方法存在的問(wèn)題,查全率和查準(zhǔn)率提高,降低了數(shù)據(jù)安全風(fēng)險(xiǎn),保證數(shù)據(jù)安全。