李 敏
( 成都冶金職工大學(xué) 四川成都 610303)
在計(jì)算機(jī)應(yīng)用普及的今天,數(shù)據(jù)庫有著舉足輕重的地位,其中儲存著大量的重要信息。而個人隱私、秘密資料等屢屢通過計(jì)算機(jī)這個載體泄露,安全問題顯得格外引人注目,安全保護(hù)顯得尤為突出和重要。目前常用的是對身份進(jìn)行驗(yàn)證,對數(shù)據(jù)進(jìn)行加密等等。與此同時,審計(jì)也提到了日程之上。審計(jì)的目的是記錄用戶對計(jì)算機(jī)系統(tǒng)的操作日志,通過分析日志,來處理不恰當(dāng)?shù)氖录?/p>
常用的數(shù)據(jù)庫系統(tǒng)如SQL、Oracle 都提供了很好的審計(jì)功能,其實(shí)現(xiàn)審計(jì)的方法也各有千秋。例如在Oracle 中對數(shù)據(jù)的審計(jì)記錄在System 模式下的AUDS 中,日志里記錄了關(guān)于表結(jié)構(gòu)的建立、修改;表數(shù)據(jù)的增刪等等信息。但他們也存在著一些不足之處,主要體現(xiàn)在:
(1)審計(jì)日志都保存在數(shù)據(jù)庫中,沒有獨(dú)立出來,審計(jì)日志的安全性依賴于數(shù)據(jù)庫是否安全[1]。如果數(shù)據(jù)庫一旦損壞,審計(jì)日志也同時被損壞了。以O(shè)racle 為例,沒有提供單獨(dú)的數(shù)據(jù)導(dǎo)出、恢復(fù)措施,所有的日志處理,都要人為地編寫SQL 程序代碼。
(2)沒有設(shè)置專門的審計(jì)監(jiān)查員。以O(shè)racle為例,普通用戶可以像訪問普通數(shù)據(jù)表一樣訪問審計(jì)日志。不符合三權(quán)分立[2]的原則。
(3)審計(jì)日志的內(nèi)容比較粗略,被審計(jì)對象的屬性也不夠全面,只能做簡單的查詢,且不對管理員進(jìn)行審計(jì)。
為了解決審計(jì)在數(shù)據(jù)庫中存在的不足,筆者探尋了一種改進(jìn)型的安全審計(jì)系統(tǒng)(Database security audit system)。它的特點(diǎn)[3]是:①審計(jì)日志的數(shù)據(jù)存儲獨(dú)立于數(shù)據(jù)庫,由專門的審計(jì)員查看訪問;②增添了專門的審計(jì)查詢語句;③引入了自動報(bào)警的審計(jì)功能。
安全審計(jì)系統(tǒng)分為采集器和解析器[4]兩大模塊,如圖1 所示。
圖1 安全審計(jì)系統(tǒng)示意圖
采集器安裝在數(shù)據(jù)庫服務(wù)器上,負(fù)責(zé)實(shí)時、定時采集數(shù)據(jù)庫審計(jì)日志中的數(shù)據(jù),形成相應(yīng)的字節(jié)流。解析器負(fù)責(zé)解析采集器采集的數(shù)據(jù),通過相關(guān)的通信協(xié)議來完成兩者之間的數(shù)據(jù)傳輸。解析器收到采集器發(fā)出的連接請求后,發(fā)出響應(yīng)信息,采集器根據(jù)解析器所述位置信息,決定在哪里啟動日志數(shù)據(jù)的傳輸,確保數(shù)據(jù)傳輸?shù)耐暾院蜏?zhǔn)確性。當(dāng)傳送完成后,采集器發(fā)送一個斷開連接的請求數(shù)據(jù)包,解析器收到后,斷開連接。解析器是安全審計(jì)系統(tǒng)的核心所在,對分析的內(nèi)容按規(guī)則來匹配,顯示報(bào)警信息,還原用戶操作和具體操作時間。
(1)日志解析。日志解析過程是讀一條記錄的審計(jì)日志,進(jìn)行還原信息。重復(fù)以上操作,進(jìn)行多條記錄的分析連接,最終得到一個從開始到結(jié)束之間的有用信息。
在審計(jì)日志中,SQL 語句使用的是縮寫,如插入update 簡寫為UPRW,刪除delete 簡寫為DLRW。所以先要將縮寫翻譯成容易識別的名稱。表和視圖也是用序號標(biāo)識,也要轉(zhuǎn)換成相應(yīng)的表和視圖。轉(zhuǎn)換方法為通過分析日志記錄的審計(jì)事件——ACTB 獲取對象和對象序號(簡寫)的對應(yīng)關(guān)系。每操作一步就會產(chǎn)生一個ACTB 記錄。
對于用戶登錄的操作信息保存在審計(jì)日志中的用戶登錄事件——STSN,審計(jì)日志將記錄用戶登錄的開始結(jié)束時間,進(jìn)程ID 和信息,如用戶名。分析記錄的內(nèi)容,就可以得到用戶的信息。
(2)統(tǒng)一格式。采用統(tǒng)一格式的目的是為了實(shí)現(xiàn)審計(jì)日志的通用性和可讀性,安全審計(jì)系統(tǒng)使用XML 語言進(jìn)行數(shù)據(jù)保存。其中數(shù)據(jù)庫操作用Operation 表示,數(shù)據(jù)庫操作類型 用Op 表示,操作時間用Timestamp 表示,操作對象標(biāo)識號用ObjectlD表示,操作對象名用ObjectName 表示,行號用RowID 表示,數(shù)據(jù)庫名用DataBaseName 表示……(3)安全規(guī)則。安全分為三個級別,級別越高,安全隱患越大,對記錄結(jié)果與規(guī)則庫匹配,完成相應(yīng)的自動報(bào)警輸出[5]。
以一個大小為4M的審計(jì)日志作為數(shù)據(jù)測試。審計(jì)過程只需花費(fèi)幾秒時間就可以將審計(jì)結(jié)果完整的輸出,并給出相應(yīng)的報(bào)警信息。如下所示:
安全審計(jì)系統(tǒng)在數(shù)據(jù)庫中得到了可行的應(yīng)用。發(fā)揮了審計(jì)日志對數(shù)據(jù)庫訪問操作的數(shù)據(jù)重現(xiàn)和數(shù)據(jù)導(dǎo)出、報(bào)警等功能,提高了對數(shù)據(jù)庫審計(jì)的準(zhǔn)確性和安全性。
[1]黃志國. 數(shù)據(jù)庫安全審計(jì)的研究[D]. 太原: 中北大學(xué),2006. 9.
[2]孫晶. 角色監(jiān)督、確保網(wǎng)絡(luò)與信息安全[C]. 北京: 2008 信息通信網(wǎng)技術(shù)業(yè)務(wù)發(fā)展研討會論文集,2008. 32.
[3]王偉平,張瑋. Informix 數(shù)據(jù)庫安全審計(jì)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與自動化,2007,26 (4) : 34
[4]黃志國,韓慧蓮. 基于安全審計(jì)的數(shù)據(jù)庫安全[J]. 科技情報(bào)開發(fā)與經(jīng)濟(jì),2005,15(12) : 228.
[5]鄧?yán)? 基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)庫安全審計(jì)系統(tǒng)[D]. 長沙: 中南大學(xué),2011. 21.