李巧鈴
摘 要:隨著計(jì)算機(jī)與網(wǎng)絡(luò)的飛速發(fā)展,數(shù)據(jù)庫(kù)系統(tǒng)安全問(wèn)題日益突出。對(duì)數(shù)據(jù)庫(kù)審計(jì)進(jìn)行研究,通過(guò)數(shù)據(jù)分析,挖掘建立數(shù)據(jù)庫(kù)正常行為規(guī)則庫(kù),實(shí)現(xiàn)數(shù)據(jù)庫(kù)異常行為檢測(cè),進(jìn)而提高數(shù)據(jù)庫(kù)安全。主要采用數(shù)據(jù)挖掘中的AprioriTid算法,用該算法發(fā)現(xiàn)關(guān)聯(lián)規(guī)則,然后利用關(guān)聯(lián)規(guī)則將用戶長(zhǎng)期的操作習(xí)慣和操作權(quán)限挖掘出來(lái),以達(dá)到審計(jì)用戶行為的目的,確保數(shù)據(jù)庫(kù)安全。
關(guān)鍵詞:數(shù)據(jù)庫(kù)安全;數(shù)據(jù)庫(kù)審計(jì);數(shù)據(jù)挖掘
DOIDOI:10.11907/rjdk.162123
中圖分類(lèi)號(hào):TP392
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2016)012-0139-02
0 引言
隨著網(wǎng)絡(luò)的迅速發(fā)展,加上網(wǎng)絡(luò)的開(kāi)放性,信息安全越來(lái)越重要,對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)而言,其數(shù)據(jù)的安全性及隱私性是衡量一個(gè)數(shù)據(jù)庫(kù)好壞的標(biāo)準(zhǔn)之一。提高數(shù)據(jù)庫(kù)安全性的方法有很多,包括身份認(rèn)證、數(shù)據(jù)加密、權(quán)限控制、數(shù)據(jù)庫(kù)審計(jì)。其中,數(shù)據(jù)庫(kù)審計(jì)主要用于一些對(duì)安全性要求比較高的部門(mén),是數(shù)據(jù)庫(kù)系統(tǒng)極為重要的一道防線。
1 數(shù)據(jù)庫(kù)審計(jì)
數(shù)據(jù)庫(kù)審計(jì)是數(shù)據(jù)庫(kù)安全技術(shù)中的重要部分,當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作時(shí),數(shù)據(jù)庫(kù)審計(jì)可以實(shí)時(shí)監(jiān)控和記錄用戶的各種行為,包括合法和不合法的行為,然后將用戶對(duì)數(shù)據(jù)庫(kù)的所有操作放入審計(jì)日志中。審計(jì)是對(duì)計(jì)算機(jī)特權(quán)使用的一種記錄,只有管理員才可以查看審計(jì)日志,審計(jì)本身并不能加強(qiáng)系統(tǒng)的安全性,但通過(guò)審計(jì)可以詳細(xì)了解數(shù)據(jù)庫(kù)操作的有關(guān)信息,及時(shí)發(fā)現(xiàn)安全隱患。
目前,許多數(shù)據(jù)庫(kù)系統(tǒng)中都設(shè)置了審計(jì)和日志查看功能,一旦數(shù)據(jù)庫(kù)發(fā)生異常,數(shù)據(jù)庫(kù)管理員(DBA)就可以通過(guò)特定的事件日志查看器查看所發(fā)生的操作,確定數(shù)據(jù)庫(kù)是否被破壞以及破壞的程度及范圍,并有針對(duì)性地制定相應(yīng)的安全措施,避免不必要的損失,保護(hù)數(shù)據(jù)庫(kù)安全。一些數(shù)據(jù)庫(kù)自帶審計(jì)系統(tǒng),但系統(tǒng)自帶的審計(jì)功能有時(shí)并不能滿足所有用戶的需求,因此需要對(duì)審計(jì)功能進(jìn)行改進(jìn)。在國(guó)際上,根據(jù)TDI/TCSEC標(biāo)準(zhǔn)要求,數(shù)據(jù)庫(kù)管理系統(tǒng)只有包含審計(jì)功能,才能達(dá)到C2以上安全級(jí)別[1],因此審計(jì)功能十分重要。
2 SQL Server數(shù)據(jù)庫(kù)審計(jì)
SQL Server中雖然也提供了審計(jì)功能,但其審計(jì)功能只是以日志的形式記錄了數(shù)據(jù)庫(kù)的活動(dòng),并不能對(duì)這些數(shù)據(jù)進(jìn)行分析檢測(cè),因此在數(shù)據(jù)庫(kù)開(kāi)發(fā)活動(dòng)中也無(wú)法自動(dòng)檢測(cè)是否被入侵。由此可知,SQL Server數(shù)據(jù)庫(kù)系統(tǒng)中的審計(jì)只是一個(gè)單純的日志系統(tǒng),審計(jì)分析能力不足,要想提高其審計(jì)能力,達(dá)到預(yù)期目標(biāo),必須對(duì)審計(jì)功能進(jìn)行完善。將數(shù)據(jù)挖掘應(yīng)用到審計(jì)中可以達(dá)到全面監(jiān)控、自動(dòng)分析的審計(jì)目的。
3 審計(jì)數(shù)據(jù)分析方法
審計(jì)系統(tǒng)中對(duì)數(shù)據(jù)的常用分析方法主要包括:特征分析方法、基于規(guī)則的方法、基于數(shù)理統(tǒng)計(jì)的方法和基于數(shù)據(jù)挖掘的方法。綜合考慮各種因素,本文主要選用數(shù)據(jù)挖掘的方法實(shí)現(xiàn)審計(jì)分析,建立正常行為規(guī)則庫(kù)。
基于數(shù)據(jù)挖掘的數(shù)據(jù)庫(kù)安全審計(jì)系統(tǒng)和其它審計(jì)系統(tǒng)的不同之處在于,它無(wú)需知道數(shù)據(jù)庫(kù)攻擊者的攻擊手段,只需將用戶操作與正常行為進(jìn)行對(duì)比,即可檢測(cè)行為是否異常。在數(shù)據(jù)庫(kù)審計(jì)中,正常行為的獲取是通過(guò)對(duì)數(shù)據(jù)庫(kù)的大量數(shù)據(jù)進(jìn)行分析和處理找到的。這樣建立的數(shù)據(jù)庫(kù)安全審計(jì)系統(tǒng)與傳統(tǒng)的審計(jì)系統(tǒng)相比具有更好的智能性[2],并且自動(dòng)化程度高、自學(xué)習(xí)好、檢測(cè)效率高、自適應(yīng)能力強(qiáng)。
4 數(shù)據(jù)庫(kù)審計(jì)流程
數(shù)據(jù)庫(kù)審計(jì)流程如下:
數(shù)據(jù)采集→數(shù)據(jù)預(yù)處理→關(guān)聯(lián)規(guī)則挖掘→正常行為規(guī)則庫(kù)→異常檢測(cè)。
首先開(kāi)啟SQL Server數(shù)據(jù)庫(kù)中的審計(jì)功能,采集數(shù)據(jù)庫(kù)中的原始數(shù)據(jù),對(duì)其進(jìn)行預(yù)處理,對(duì)預(yù)處理得到的數(shù)據(jù)通過(guò)關(guān)聯(lián)規(guī)則算法進(jìn)行挖掘,得到正常用戶行為模型,并將這些規(guī)則儲(chǔ)存到規(guī)則庫(kù)中。將需要審計(jì)的數(shù)據(jù)和正常規(guī)則庫(kù)中的規(guī)則進(jìn)行比較,如果兩者相似,則操作正常,否則有可能被入侵。在整個(gè)流程中,配置異常檢測(cè)規(guī)則庫(kù)作為審計(jì)分析的策略,將日志模塊采集的審計(jì)數(shù)據(jù)作為檢測(cè)數(shù)據(jù)源,根據(jù)審計(jì)規(guī)則對(duì)審計(jì)數(shù)據(jù)進(jìn)行分析處理,主要采用基于數(shù)據(jù)挖掘的異常檢測(cè)方法[3]。
4.1 數(shù)據(jù)采集與預(yù)處理
數(shù)據(jù)采集和預(yù)處理:首先搜集原始數(shù)據(jù),然后進(jìn)行預(yù)處理,主要包括濾除噪聲、推導(dǎo)計(jì)算、消除重復(fù)記錄和完成數(shù)據(jù)類(lèi)型轉(zhuǎn)換等。數(shù)據(jù)預(yù)處理的目的是在所有的數(shù)據(jù)中找到真正有用的特征,這樣既可以降低維度,也可以縮短挖掘時(shí)間。
4.2 關(guān)聯(lián)規(guī)則挖掘
數(shù)據(jù)庫(kù)審計(jì)系統(tǒng)的關(guān)鍵技術(shù)就是關(guān)聯(lián)規(guī)則挖掘,關(guān)聯(lián)規(guī)則挖掘的目的在于發(fā)現(xiàn)隱藏在數(shù)據(jù)庫(kù)中的關(guān)聯(lián)關(guān)系,并應(yīng)用這些關(guān)系對(duì)現(xiàn)實(shí)分析提供依據(jù),通俗而言就是決定哪些事情將一起發(fā)生。關(guān)聯(lián)規(guī)則中有兩個(gè)重要閾值:支持度和可信度。
關(guān)聯(lián)規(guī)則的挖掘分為兩步:①找出所有頻繁項(xiàng)集:項(xiàng)集的相對(duì)支持度不小于預(yù)定義的最小支持度[4];②由頻繁項(xiàng)集產(chǎn)生強(qiáng)關(guān)聯(lián)規(guī)則:滿足最小支持度和最小置信度的規(guī)則,即為強(qiáng)關(guān)聯(lián)規(guī)則。
關(guān)聯(lián)規(guī)則挖掘的核心步驟是找出所有頻繁項(xiàng)集。挖掘關(guān)聯(lián)規(guī)則的算法主要包括Apriori算法、AprioriTid算法和FP-Growth算法,對(duì)這3種算法的比較分析,采用效率較高的AprioriTid算法進(jìn)行關(guān)聯(lián)規(guī)則的挖掘。
以一個(gè)簡(jiǎn)化的數(shù)據(jù)庫(kù)操作為例,說(shuō)明AprioriTid算法進(jìn)行關(guān)聯(lián)規(guī)則挖掘的過(guò)程。其中操作對(duì)象01=table1,02=table2;操作類(lèi)型1=insert|0,2=delect|0,3=update|0。事務(wù)總數(shù)為10,最小支持度為minsup=20%,置信度為50%,數(shù)據(jù)如表1所示。
①對(duì)原始數(shù)據(jù)庫(kù)進(jìn)行掃描,每一項(xiàng)都屬于候選1項(xiàng)集的集合C1,選出C1中滿足最小支持度的所有項(xiàng)目集,得到頻繁1項(xiàng)集的集合L1;②將頻繁1項(xiàng)集進(jìn)行連接,生成候選2項(xiàng)集的集合C2;③接下來(lái)就是由C1-對(duì)2階候選項(xiàng)集C2中的項(xiàng)計(jì)數(shù)并生成C2-的過(guò)程。首先,對(duì)C2中的第一個(gè)2階候選集{D1,01}進(jìn)行計(jì)數(shù),可以得出T1、T2和T3這3個(gè)事務(wù)中包括{D1,01}的兩個(gè)一階子集{Dl},{0l},所以將{D1,01}寫(xiě)成C2-的T1、T2、T3對(duì)應(yīng)的項(xiàng)集合,{D1,01}的計(jì)數(shù)為3,分別對(duì)C2中各個(gè)2階候選項(xiàng)集計(jì)數(shù),并構(gòu)造C2-;④若Apriori-gen(LK)的返回值為空,算法停止,否則,重復(fù)步驟②、③直到滿足終止條件為止。最后得到3頻繁項(xiàng)集滿足正常用戶行為模型的要求“用戶^操作對(duì)象=>操作類(lèi)型”規(guī)則:D1^01=>2,置信度=2/3=66.6%>50%;D2^02=>2,置信度=2/3=66.6%>50%;D3^02=>2,置信度=2/3=66.6%>50%。
3條規(guī)則都滿足最小置信度,可以插入正常規(guī)則庫(kù)。由此可以得到數(shù)據(jù)庫(kù)的正常行為規(guī)則庫(kù)中的一部分規(guī)則,對(duì)此不斷進(jìn)行更新直到穩(wěn)定,則可產(chǎn)生能進(jìn)行異常檢測(cè)的正常行為規(guī)則庫(kù)如圖1所示。
4.3 異常檢測(cè)
建立好用戶正常行為規(guī)則庫(kù)后,就可以將當(dāng)前行為和正常的行為規(guī)則進(jìn)行比較,判斷是否有可能存在異常。如果當(dāng)前操作和行為規(guī)則庫(kù)相似,則操作正常,則將此用戶的行為規(guī)則或行為序列加入用戶正常行為規(guī)則庫(kù)中;如果與行為規(guī)則庫(kù)不同則說(shuō)明數(shù)據(jù)庫(kù)有可能已被入侵。通過(guò)數(shù)據(jù)分析和異常檢測(cè)維護(hù),極大程度地提高了數(shù)據(jù)庫(kù)的安全性。
5 結(jié)語(yǔ)
數(shù)據(jù)庫(kù)安全問(wèn)題日益突出,數(shù)據(jù)庫(kù)審計(jì)可以維護(hù)數(shù)據(jù)庫(kù)安全,因此數(shù)據(jù)庫(kù)審計(jì)也越來(lái)越受到人們的重視。數(shù)據(jù)挖掘算法作為最經(jīng)典的算法之一,與數(shù)據(jù)庫(kù)審計(jì)相結(jié)合,即將數(shù)據(jù)挖掘技術(shù)應(yīng)用于數(shù)據(jù)庫(kù)安全審計(jì),可在很大程度上提高數(shù)據(jù)庫(kù)的安全性能。AprioriTid可以挖掘數(shù)據(jù)中的關(guān)聯(lián)規(guī)則,其效率雖然有所提高但還有很大的提升空間,有待進(jìn)一步研究。
參考文獻(xiàn):
[1] 聶元銘,吳曉明.基于數(shù)據(jù)庫(kù)安全審計(jì)的研究[J].專題研究,2010(6):4-6.
[2] 鄧?yán)?基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)庫(kù)安全審計(jì)系統(tǒng)[D].長(zhǎng)沙:中南大學(xué),2011:40-43.
[3] 李晶媛.網(wǎng)絡(luò)數(shù)據(jù)庫(kù)審計(jì)跟蹤研究[D].太原:中北大學(xué),2011:30-33.
[4] 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2007:145-148.
(責(zé)任編輯:孫 娟)