劉婷
摘要:以數(shù)據(jù)庫為基礎(chǔ)的信息系統(tǒng)在政治、經(jīng)濟(jì)、軍事及科研等各個(gè)領(lǐng)域得到廣泛應(yīng)用。數(shù)據(jù)庫系統(tǒng)是信息系統(tǒng)中數(shù)據(jù)存儲和處理的核心,一旦失效可能導(dǎo)致無法彌補(bǔ)的損失。事務(wù)級入侵容忍要解決的問題是在惡意事務(wù)被發(fā)現(xiàn)之前,保證由惡意事務(wù)造成的數(shù)據(jù)庫損壞不會擴(kuò)散,并在惡意事務(wù)被定位后及時(shí)修復(fù)損壞的數(shù)據(jù),使系統(tǒng)在遭受攻擊的情況下仍可正常運(yùn)行,實(shí)現(xiàn)數(shù)據(jù)庫的可用性、可生存性以及關(guān)鍵數(shù)據(jù)的機(jī)密性和完整性。
關(guān)鍵詞:數(shù)據(jù)庫安全;入侵檢測;入侵容忍技術(shù)
DOIDOI:10.11907/rjdk.161013
中圖分類號:TP309
文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2016)005-0182-03
0 引言
數(shù)據(jù)庫安全研究的基本目標(biāo)是如何利用信息安全及密碼學(xué)技術(shù),實(shí)現(xiàn)數(shù)據(jù)庫內(nèi)容的機(jī)密性、完整性與可用性,防止非授權(quán)的信息泄露、 內(nèi)容篡改以及拒絕服務(wù)[1]。傳統(tǒng)的數(shù)據(jù)庫安全技術(shù),重點(diǎn)在于防御攻擊或入侵,主要采用防火墻、訪問控制、入侵檢測、認(rèn)證、加密等技術(shù)手段,將非法用戶隔絕在外,這些防御措施并不能解決所有的入侵問題,特別是來自組織內(nèi)部的攻擊和入侵。因此,在防御失敗的情況下,如何保障數(shù)據(jù)庫系統(tǒng)的可生存性及抗毀能力,使系統(tǒng)在受攻擊后仍然可以為合法用戶提供不間斷的服務(wù),成為數(shù)據(jù)庫安全的一個(gè)關(guān)鍵問題。入侵容忍系統(tǒng)的出現(xiàn),使數(shù)據(jù)庫系統(tǒng)具有彈性,能承受一定限度的攻擊,且具備自診斷、修復(fù)和重構(gòu)的能力,能夠利用不可信的數(shù)據(jù)庫管理系統(tǒng)構(gòu)建可信的數(shù)據(jù)庫應(yīng)用系統(tǒng),為上述問題提供了很好的解決方案。
據(jù)統(tǒng)計(jì),在以往的數(shù)據(jù)庫入侵事件中,事務(wù)級入侵發(fā)生頻率最高,至少50%的入侵來自系統(tǒng)內(nèi)部[2]。這些入侵者往往擁有(或盜用了)合法的用戶身份和權(quán)限,通過運(yùn)行包含惡意操作的數(shù)據(jù)庫事務(wù)來實(shí)施攻擊,而且攻擊操作一般不會嚴(yán)重地偏離預(yù)期行為,也不會遵循某種固定的攻擊模式,因此隱蔽性很強(qiáng),難以防范。此外,還有一部分來自網(wǎng)絡(luò)的攻擊者,往往利用密碼嗅探或會話騎劫等手段竊取或偽裝成合法的身份及權(quán)限欺騙服務(wù)器,從事惡意活動。針對這一現(xiàn)狀,本文主要探討基于事務(wù)級入侵容忍的數(shù)據(jù)庫安全解決方案。必須關(guān)注的一點(diǎn)是,該系統(tǒng)必須由硬件層、操作系統(tǒng)層、DBMS層和事務(wù)層的各個(gè)層面全方位地抵御入侵,唯有在其它各個(gè)層面均獲得有效安全保證的大背景下,事務(wù)級入侵容忍方可真正實(shí)現(xiàn)。
1 入侵容忍
入侵容忍概念最早由J.Fraga等人于1985年提出。近年來,在入侵容忍技術(shù)領(lǐng)域,對于構(gòu)建方法、實(shí)現(xiàn)原理、體系結(jié)構(gòu)、入侵容忍協(xié)議及分析方法等研究越來越多,國外比較有代表性的項(xiàng)目或原型系統(tǒng)主要有:SITAR、MAFTIA、ITUA、ITTC、ITDB 、Phoenix、Blastema。國內(nèi)入侵容忍研究主要有:系統(tǒng)建模方面的基于表決的分布式入侵容忍系統(tǒng)模型[3]、一種具有自律特征的入侵容忍系統(tǒng)模型[4]等,性能評估方面的自律入侵容忍系統(tǒng)模型構(gòu)建與量化分析[5]、入侵容忍實(shí)時(shí)數(shù)據(jù)庫的半馬爾可夫生存能力評價(jià)[6]、基于表決的分布式入侵容忍系統(tǒng)模型及量化分析[7]等,實(shí)現(xiàn)技術(shù)方面的基于概率的入侵容忍系統(tǒng)表決機(jī)制設(shè)計(jì)[8]、可證安全的入侵容忍簽名方案[9]、一種面向虛擬計(jì)算環(huán)境的入侵容忍方法[10]等。
入侵容忍技術(shù)是一種結(jié)合了密碼和容錯(cuò)兩大技術(shù)的全新網(wǎng)絡(luò)安全技術(shù)。在所保護(hù)系統(tǒng)的一系列組件出現(xiàn)錯(cuò)誤的情況下,盡可能地保障系統(tǒng)重要信息和服務(wù)的全面性和可使用性[11],從而有效處理入侵檢測系統(tǒng)誤報(bào)警高、延時(shí)長、自適應(yīng)性差及有效跟蹤分析缺乏的問題。常用技術(shù)包括冗余技術(shù)、門限方案技術(shù)、間接訪問技術(shù)和系統(tǒng)重構(gòu)技術(shù)。作為網(wǎng)絡(luò)信安保護(hù)之中的最終防線,其設(shè)計(jì)目的重點(diǎn)在4個(gè)方面:①保障系統(tǒng)的安全穩(wěn)定運(yùn)作;②確保系統(tǒng)服務(wù)的有效性;③確保服務(wù)器之中有關(guān)數(shù)據(jù)的保密性;④確保相關(guān)數(shù)據(jù)信息的完整性。這必須有對應(yīng)的安全機(jī)制作為保障,具體包括:安全通信機(jī)制、入侵檢測機(jī)制、入侵遏制機(jī)制和錯(cuò)誤處理機(jī)制。根據(jù)解決思路的不同,入侵容忍可分為基于攻擊屏蔽的入侵容忍和基于攻擊響應(yīng)的入侵容忍[12]。基于攻擊屏蔽的入侵容忍,需要依靠系統(tǒng)設(shè)計(jì)時(shí)所預(yù)先采取的安全措施,基本思維是基于資源冗余措施并加強(qiáng)設(shè)計(jì)的多樣性,從而提升入侵所需付出的代價(jià),提高復(fù)雜度,增強(qiáng)系統(tǒng)彈性。通過可疑事務(wù)隔離、增加間接層、結(jié)構(gòu)重配等一系列方式來加以隔離、更換受損組件,從而制約入侵,避免入侵問題再度擴(kuò)大。后者需要通過對入侵的檢測和響應(yīng)來實(shí)現(xiàn)入侵容忍,總體思維是在系統(tǒng)中創(chuàng)建反應(yīng)式響應(yīng)、前瞻式響應(yīng)及適應(yīng)式響應(yīng)等一系列響應(yīng)機(jī)制,當(dāng)發(fā)現(xiàn)系統(tǒng)遭受入侵時(shí),入侵檢測機(jī)制會立即實(shí)施相應(yīng)措施,從而協(xié)助系統(tǒng)有效地處理入侵所產(chǎn)生的問題,保證系統(tǒng)正確工作。較之于入侵檢測有一定差異的是,該系統(tǒng)不僅可以檢測當(dāng)前已經(jīng)了解的、已經(jīng)明確定義的入侵活動,還能在系統(tǒng)傳播之前及時(shí)發(fā)現(xiàn)錯(cuò)誤,避免高誤報(bào)率、漏檢以及時(shí)間延遲等問題。
2 基于事務(wù)級容侵的數(shù)據(jù)庫安全模型
通常對數(shù)據(jù)的訪問,需要依次經(jīng)過用戶層、操作系統(tǒng)層、數(shù)據(jù)庫管理系統(tǒng)層和事務(wù)層。而入侵者獲取合法用戶權(quán)限后所進(jìn)行的操作,一般發(fā)生在事務(wù)層。事務(wù)級入侵首先直接破壞數(shù)據(jù)信息,導(dǎo)致有關(guān)的實(shí)物查詢和之后的一系列運(yùn)行遭受干擾,修復(fù)遭到破壞的數(shù)據(jù)勢必影響服務(wù),而影響程度會伴隨破壞水平的增大而加深,進(jìn)而間接對服務(wù)產(chǎn)生破壞。所以,系統(tǒng)需要綜合考慮自我診斷、受損評估、故障隔離以及自我修復(fù)能力,在盡可能短的時(shí)間內(nèi)修復(fù)受損數(shù)據(jù),避免對服務(wù)造成破壞。
2.1 基于事務(wù)級容侵的數(shù)據(jù)庫安全模型體系結(jié)構(gòu)
國內(nèi)數(shù)據(jù)庫軟件市場長期為國外產(chǎn)品占領(lǐng),如Oracle、Mircosoft 、SQLServer等,這些產(chǎn)品不提供源代碼,無法進(jìn)行代碼分析、評審以及可信計(jì)算基分析,安全性很難保證。因此,本文將以國產(chǎn)數(shù)據(jù)庫產(chǎn)品為基礎(chǔ)開展基于事務(wù)級容侵的數(shù)據(jù)庫安全研究?,F(xiàn)階段容侵?jǐn)?shù)據(jù)庫系統(tǒng)的運(yùn)行均是基于當(dāng)前的DBMS拓展相應(yīng)的容侵職能,整個(gè)體系最大的共同點(diǎn)在于無需對服務(wù)器實(shí)施調(diào)整,僅通過使用中間件(或代理)就可實(shí)現(xiàn),通用性和可移植性極佳,缺點(diǎn)是性能開銷大,存在安全隱患。為克服上述缺點(diǎn),我們采用高安全性、低系統(tǒng)開銷、通用性的設(shè)計(jì)原則,提出另一種設(shè)計(jì)思路,將容侵功能作為DBMS服務(wù)器的一個(gè)內(nèi)部機(jī)制來實(shí)現(xiàn),同時(shí)杜絕容侵組件本身遭受攻擊的可能,其體系結(jié)構(gòu)如圖1所示。
基于事務(wù)級容侵的數(shù)據(jù)庫安全模型由以下7部分構(gòu)成:入侵檢測器、策略執(zhí)行管理器、依賴追蹤器、受損評估器、受損修復(fù)器、受損限制管理器以及隔離管理器。下面分別介紹各模塊的功能。
(1)入侵檢測器。入侵檢測器負(fù)責(zé)檢測并報(bào)告用戶事務(wù)中的惡意事務(wù)及可疑事務(wù),如檢測到異常則發(fā)出入侵警報(bào)??紤]到入侵檢測功能的系統(tǒng)開銷較大,未將此模塊納入DBMS服務(wù)器。
(2)策略執(zhí)行管理器。 策略執(zhí)行管理器負(fù)責(zé)根據(jù)入侵檢測器的報(bào)告和當(dāng)前的系統(tǒng)環(huán)境來制定相應(yīng)的系統(tǒng)安全策略,如收到入侵警報(bào)時(shí),啟用受損限制管理器。
(3)依賴追蹤器。 依賴追蹤器負(fù)責(zé)分析用戶提交的事務(wù)與其它事務(wù)之間的依賴關(guān)系,并將這些依賴信息記載在事務(wù)依賴表中。事務(wù)間的依賴關(guān)系主要有3種:①由于讀取另一個(gè)事務(wù)修改的數(shù)據(jù)對象而產(chǎn)生的顯式依賴關(guān)系;②由于漏讀或錯(cuò)讀另一個(gè)事務(wù)修改的數(shù)據(jù)對象而產(chǎn)生的隱式依賴關(guān)系;③事務(wù)由于與另一個(gè)事務(wù)在應(yīng)用程序中共享變量而產(chǎn)生的依賴關(guān)系。事務(wù)間的依賴關(guān)系可用于解決惡意事務(wù)提交后的污染擴(kuò)散問題。
(4)受損評估器。受損評估器負(fù)責(zé)定位遭受破壞的位置并評估惡意事務(wù)對數(shù)據(jù)庫造成的破壞程度。對于入侵檢測器報(bào)告的惡意事務(wù)及隔離管理器確認(rèn)的惡意事務(wù),受損評估模塊按照系統(tǒng)記錄的依存關(guān)系辨析事務(wù)是否遭受了惡意事物的影響,并籍此明確要修正的數(shù)據(jù),從而便于修復(fù)器修復(fù)。
(5)受損修復(fù)器。其主要工作是將受損數(shù)據(jù)庫還原至健康水平。針對此前已經(jīng)明確的數(shù)據(jù)對象,按照日志內(nèi)的前像信息,將對象的數(shù)值還原為受損之前本應(yīng)有的正確狀態(tài)。
(6)受損限制管理器。其作用主要是在修復(fù)的過程中控制事務(wù)對有關(guān)受損數(shù)據(jù)信息的訪問,同時(shí)將可疑事務(wù)送入隔離管理器,避免造成更大面積的污染。受損限制管理器按照評估結(jié)果,對所有可能的數(shù)據(jù)信息實(shí)施相應(yīng)限制,事務(wù)針對這部分?jǐn)?shù)據(jù)所提出的一系列操作要求均無法獲得系統(tǒng)支持。伴隨修復(fù)的深入開展,已經(jīng)獲得修復(fù)的信息將逐漸獲得開放,直到最終各數(shù)據(jù)對象都被修復(fù)。
(7) 隔離管理器。隔離管理器負(fù)責(zé)隔離可疑事務(wù)操作,若用戶事務(wù)的后續(xù)操作未發(fā)現(xiàn)惡意攻擊,則保留該用戶事務(wù)的操作結(jié)果并解除隔離,若用戶事務(wù)被證明是惡意操作,則撤銷該用戶事務(wù)并啟用受損評估器。
2.2 系統(tǒng)工作過程
在用戶執(zhí)行有關(guān)事務(wù)時(shí),其活動的審計(jì)信息即被存儲在數(shù)據(jù)庫中,入侵檢測器通過一系列的審計(jì)信息來研究活動有無異?,F(xiàn)象,若存在異常,則發(fā)布對應(yīng)的入侵警報(bào)。如果明確這部分異常對當(dāng)前的數(shù)據(jù)庫產(chǎn)生了損失,則必須對這部分?jǐn)?shù)據(jù)加以修復(fù)。
(1)日常的依賴信息維護(hù)工作。這方面的工作滲透至系統(tǒng)運(yùn)行的全過程之中,通過依賴追蹤器來實(shí)現(xiàn)。訪問數(shù)據(jù)庫時(shí),其會研究有關(guān)事務(wù)和其它一系列事務(wù)彼此間的依存關(guān)系,將這一系列信息存放在事務(wù)依賴表內(nèi)。事務(wù)將基表實(shí)施刪改等一系列操作的前像信息置于對應(yīng)的前像表內(nèi)。
(2)對受損數(shù)據(jù)的修復(fù)工作。入侵檢測器發(fā)出惡意事務(wù)入侵警報(bào)作為起點(diǎn),各部分均獲得修復(fù)以后作為終點(diǎn),通過策略執(zhí)行管理器、受損限制管理器、隔離管理器和受損修復(fù)器共同實(shí)現(xiàn)。前者主要是按照對應(yīng)的報(bào)告和當(dāng)前的系統(tǒng)環(huán)境來制定相應(yīng)的系統(tǒng)安全策略。受損評估器根據(jù)惡意事務(wù)號以及事務(wù)依賴表中的信息判斷需要撤銷的事務(wù)集合;隔離管理器負(fù)責(zé)隔離可疑事務(wù)操作;受損修復(fù)器根據(jù)前像表中的前像信息回滾必須撤出的一系列事務(wù),修復(fù)有關(guān)數(shù)據(jù);受損限制管理器驗(yàn)證在此過程中事務(wù)有無訪問,防止這一系列事務(wù)由于受損數(shù)據(jù)影響出現(xiàn)錯(cuò)誤,從而出現(xiàn)更大規(guī)模的損失。
2.3 關(guān)鍵技術(shù)分析
系統(tǒng)中的日志由前像表日志、基表、事務(wù)依賴日志、日志以及審計(jì)信息構(gòu)成,其中前像表日志與事務(wù)依賴日志的更新方式與數(shù)據(jù)庫相同,相關(guān)頁面的讀寫在數(shù)據(jù)緩沖區(qū)中進(jìn)行,對這3類文件的更新均在數(shù)據(jù)緩沖區(qū)完成。
前像表日志的作用主要在于回滾事務(wù),通過數(shù)個(gè)前像表形成,與基表具有明確的對應(yīng)關(guān)系。針對各個(gè)基表R,前像表日志中均有且僅有一個(gè)相應(yīng)的前像表Rbi。Rbi用來存儲由R中去除的數(shù)據(jù)信息,相應(yīng)的元組結(jié)構(gòu)和R基本一致,從而確保由R中刪除的元組完全不必格式變更即能實(shí)現(xiàn)插入。
事務(wù)依賴日志用于確定回滾事務(wù)集,是在系統(tǒng)處理讀操作的過程中即時(shí)確定事務(wù)依賴關(guān)系,并將依賴關(guān)系信息顯式地保存在日志中。事務(wù)依賴日志由若干條記錄構(gòu)成,共有3類:開始記錄、夭折記錄及提交記錄。每個(gè)新事務(wù)開始時(shí),系統(tǒng)在日志中寫入一條相應(yīng)的開始記錄;如果事務(wù)夭折,則在日志中寫入一條相應(yīng)的夭折記錄;如果事務(wù)正常提交,則根據(jù)所依賴的全部事務(wù)集合構(gòu)造一條事務(wù)提交記錄寫入日志中。
系統(tǒng)采取NO—FORCE數(shù)據(jù)緩沖區(qū)、寫日志優(yōu)先協(xié)議、提交時(shí)強(qiáng)制寫日志規(guī)則以及UNDO/REDO日志方式策略,具體包括:事務(wù)結(jié)束時(shí)對臟頁是否寫入磁盤不作要求,減少寫數(shù)據(jù)庫次數(shù);在將數(shù)據(jù)緩沖區(qū)中的內(nèi)容寫盤之前,將REDO日志緩沖區(qū)中的相應(yīng)日志記錄寫盤,保證所有己經(jīng)寫盤的數(shù)據(jù)庫修改在REDO日志中都有記載,確保系統(tǒng)恢復(fù)時(shí)所有REDO日志記錄都可用;當(dāng)事務(wù)提交時(shí)必須將該事務(wù)對應(yīng)的REDO日志信息刷新到磁盤上,保證已提交事務(wù)的日志信息完整;將事務(wù)修改前后的信息分別記錄到UNDO日志和REDO日志中;應(yīng)用REDO日志重復(fù)歷史,為各類故障后的恢復(fù)提供充足信息。
3 結(jié)語
入侵容忍數(shù)據(jù)庫技術(shù)的研究,對于保證網(wǎng)絡(luò)系統(tǒng)和服務(wù)的安全性及生存性具有重要的現(xiàn)實(shí)意義。將入侵容忍技術(shù)與信息安全技術(shù)、數(shù)據(jù)挖掘技術(shù)相結(jié)合,解決系統(tǒng)的自適應(yīng)性問題,可有效預(yù)防或阻止入侵,降低系統(tǒng)癱瘓帶來的損失,發(fā)展前景非常廣闊。
參考文獻(xiàn):
[1]張敏. 數(shù)據(jù)庫安全研究現(xiàn)狀與展望[J].中國科學(xué)院院刊, 2011,26(3):303-309.
[2]謝美意. 入侵容忍數(shù)據(jù)庫技術(shù)研究[D].武漢: 華中科技大學(xué),2009.
[3]秦華旺, 戴躍偉, 王執(zhí)銓. 一種基于改進(jìn)神經(jīng)網(wǎng)絡(luò)的入侵容忍系統(tǒng)模型[J]. 南京理工大學(xué)學(xué)報(bào):自然科學(xué)版,2008(5): 20-22.
[4]劉彬, 吳慶濤, 鄭瑞娟. 一種具有自律特征的入侵容忍系統(tǒng)模型[J].微電子學(xué)與計(jì)算機(jī),2012,29(7):167-170.
[5]李冰洋, 王慧強(qiáng), 馮光升. 自律入侵容忍系統(tǒng)的模型構(gòu)建與量化分析[J].計(jì)算機(jī)應(yīng)用研究,2009,26(5):156-159.
[6]陳長清, 裴小兵, 周恒, 等. 入侵容忍實(shí)時(shí)數(shù)據(jù)庫的半馬爾可夫生存能力評價(jià)模型[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1907-1916.
[7]戴月明, 王金鑫, 李彥偉. 基于表決的分布式入侵容忍系統(tǒng)模型及量化分析[J].計(jì)算機(jī)應(yīng)用研究, 2011,28(6):358-362.
[8]費(fèi)洪曉, 李欽秀, 李文興, 等. 基于概率的入侵容忍系統(tǒng)表決機(jī)制設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2010(3):36-39.
[9]于佳, 孔凡玉, 程相國, 等. 可證安全的入侵容忍簽名方案[J].軟件學(xué)報(bào), 2010, 21(9):2352-2366.
[10]趙峰, 金海, 金莉, 等. VFRS:一種面向虛擬計(jì)算環(huán)境的入侵容忍方法[J].計(jì)算機(jī)研究與發(fā)展, 2010,47(3):19-23.
[11]張?jiān)朴ⅲ?王程明, 姜千, 等. 入侵容忍綜述[J].吉林大學(xué)學(xué)報(bào): 信息科學(xué)版,2009(4):389-395.
[12]秦華旺. 網(wǎng)絡(luò)入侵容忍的理論及應(yīng)用技術(shù)研究[D].南京:南京理工大學(xué),2009.
(責(zé)任編輯:杜能鋼)