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