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