李永強
摘要:本文設計了一種應用級數據庫入侵檢測系統(tǒng)的總體方案。基于現有數據庫應用系統(tǒng)的主要特點,結合入侵檢測思想、數據庫中用戶操作的特點以及行為特征,給出了一種應用級數據庫入侵檢測系統(tǒng)的框架結構。
關鍵詞:應用級數據庫 入侵檢測 用戶操作
1. 前言
隨著計算機技術的飛速發(fā)展,信息技術在社會各個領域中得到廣泛應用,信息安全問題也日益突出?!吨袊ヂ摼W安全報告(2008年)》指出,"2008年網絡安全事件總數與去年同期相比大量增加”。信息安全問題越來越受到人們的關注。
計算機網絡、操作系統(tǒng)和數據庫管理系統(tǒng)是目前信息系統(tǒng)的三大支撐平臺,三者密不可分,其中任何一個出現安全漏洞都有可能威脅到整個信息系統(tǒng)的安全。
目前,計算機網絡、操作系統(tǒng)的安全性己經受到了人們的高度重視,各種安全技術層出不窮,相應的入侵檢測技術也得到較大提升,為網絡級和操作系統(tǒng)級的安全提供了有力的保障。數據庫作為數據存儲和管理的核心,其安全性對于信息系統(tǒng)來說同樣是至關重要的。數據庫管理系統(tǒng)提供了身份認證、訪問控制、數據加密及審計跟蹤等傳統(tǒng)安全機制,在一定程度上保障了數據庫的安全。
本文制定了應用級數據庫入侵檢測系統(tǒng)的設計目標,針對現有信息系統(tǒng)結構的特點給出了本系統(tǒng)實現的思路,根據實現思路給出應用級數據庫入侵檢測系統(tǒng)的組成,說明本系統(tǒng)的總體流程。
2. 入侵檢測系統(tǒng)設計目標及實現思路
應用級數據庫入侵檢測系統(tǒng)的設計目標是從應用級上實現數據庫入侵檢測,并提高入侵檢測的準確率。由此,具體設計目標如下:
1)實現應用級數據庫入侵檢測。由常用數據庫攻擊方式可以看出,應用系統(tǒng)的漏洞己經成為數據庫安全的主要威脅之一,從應用級上對系統(tǒng)進行保護是信息安全的重要途徑。已有的研究本文實現應用級數據庫入侵檢測提供了支持。
2)行為檢測與SQL語句結構檢測相結合。目前針對數據庫的入侵檢測主要分為基于用戶訪問行為的數據庫入侵檢測和基于SQL語句結構的數據庫入侵檢測兩個研究方法,它們各自的側重點不同,各有優(yōu)缺點。本文在設計系統(tǒng)結構時,融合了行為檢測和SQL語句結構檢測兩種方法,使其相輔相成,優(yōu)勢互補。
3)提高入侵檢測準確率。入侵檢測系統(tǒng)的誤報率和漏報率是入侵檢測準確率的兩個重要指標。降低誤報率和漏報率是相關研究人員的主要目標之一,這同樣也是本文設計的主要目標之一。
針對上述數據庫應用系統(tǒng)的結構特點,入侵檢測系統(tǒng)設計從以下幾個方面實施應用級入侵檢測:
(1)針對SQL語句結構進行檢測。數據庫應用系統(tǒng)具有固定的SQL語句結構為系統(tǒng)實現對SQL語句結構的檢測提供了可能性。同時,固定的結構使系統(tǒng)可以建立相對完善的規(guī)則庫,在對SQL語句結構進行檢測時,可以準確地檢測出異常的語句結構。
(2)針對系統(tǒng)行為進行檢測。系統(tǒng)完成某項特定任務必須執(zhí)行一組固定的SQL語句,且它們的數量和執(zhí)行順序很穩(wěn)定,通過抽象化這些行為可以形成系統(tǒng)的行為模式,達到行為檢測的目的。
(3)針對SQL數據操作行為的檢測。SQL語句一般包含兩部分信息,一部分是SQL的指令部分;另一部分是,SQL語句操作的數據部分。對于不同的終端用戶執(zhí)行同一個操作時,SQL語句指令部分往往相同,數據部分相差較大,且對于不同的用戶類型呈現一定的規(guī)律。對SQL數據操作行為的檢測可以防御合法用戶的越權訪問。
應用級數據庫入侵檢測系統(tǒng)從上述三個層次展開。與現有系統(tǒng)只針對單個SQL語句檢測的單一方案相比,本系統(tǒng)設計的檢測方法更全面細致,能準確地檢測入侵行為。同時改進數據庫入侵檢測模式建立與匹配的方法,進一步提高了檢測的準確度。
3. 入侵系統(tǒng)組成
根據數據庫應用系統(tǒng)特點的分析,給出了一種應用級數據庫入侵檢測系統(tǒng)總體結構,分別針對SQL語句結構、SQL語句操作的數據及SQL語句執(zhí)行序列進行分析,從三個層面實施入侵檢測,既對用戶“做什么”進行了檢測,又進一步檢測用戶“怎么做”。應用級數據庫入侵檢測系統(tǒng)結構圖如下圖所示:
(1)數據采集器:主要負責收集數據,對數據進行過濾及預處理。數據源來自中間層和數據庫日志。
(2)SQL解析器:完成SQL語句的解析,以便檢測單元能對其進行處理。
(3)SQL檢測單元:分析SQL語句結構,對單個SQL語句進行分析處理,包括對SQL語句結構和SQL數據操作行為的檢測。
(4)行為檢測單元:分析系統(tǒng)行為。
(5)響應單元:響應單元對接受到的事件信息做出相應的處理。
系統(tǒng)結構設計借鑒了入侵檢測系統(tǒng)的通用結構設計,包含了入侵檢測系統(tǒng)的主要功能模塊。但對于應用級數據庫入侵檢測系統(tǒng)來說,本文設計的系統(tǒng)更具針對性。
4. 結論
本章基于現有數據庫應用系統(tǒng)的主要特點,將入侵檢測思想和關系數據庫中用戶的操作特點,以及在應用系統(tǒng)中的行為特征相結合,給出了應用級數據庫入侵檢測系統(tǒng)的總體框架設計方案。
根據預期設計目標,系統(tǒng)針對應用層的入侵進行數據庫入侵檢測,從SQL語句結構、SQL語句數據操作行為和系統(tǒng)行為三個層次實施數據庫入侵檢測,與現有系統(tǒng)只對單個SQL語句檢測的方案相比,本系統(tǒng)從三個層次上的檢測更加全面和細致,同時,通過改進模式建立與匹配方法進一步提高了系統(tǒng)的準確率。
參考文獻:
[1]戴臻、費洪曉、謝文彪、肖新華,基于特定模式樹的用戶行為關聯規(guī)則挖掘算法[J].計算機系統(tǒng)應用,2007,5:56-59.
[2]曹忠升、李晶,安全數據庫系統(tǒng)中在線人侵檢測的設計與實現[J].計算機工程與科學,2005,27(9):16-18.
[3]蔣盛益,基于聚類的入侵檢測算法研究[M].北京:科學出版社,2008.