任強(qiáng)
摘 要:入侵容忍數(shù)據(jù)庫是解決數(shù)據(jù)安全問題的有效途徑,但是入侵容忍數(shù)據(jù)庫隔離算法的性能嚴(yán)重影響入侵容忍數(shù)據(jù)庫的運(yùn)行效率,成為制約入侵容忍數(shù)據(jù)庫技術(shù)應(yīng)用的主要障礙。這里通過分析入侵檢測和攻擊恢復(fù)的過程,給出一種入侵容忍數(shù)據(jù)庫隔離算法的設(shè)計(jì)思路,以提高入侵容忍數(shù)據(jù)庫的運(yùn)行效率。
關(guān)鍵詞:入侵容忍;隔離;算法
1 概述
數(shù)據(jù)庫原子事務(wù)的性質(zhì)表明,只有被提交成功的事務(wù)才能改寫數(shù)據(jù)庫中的數(shù)據(jù)。因此,在理論上只要我們能在事務(wù)提交前檢測出它是否是惡意的,則可以在引起錯(cuò)誤前回滾該事務(wù)。然而,這個(gè)方案事實(shí)上是不可行的:首先,事務(wù)執(zhí)行的速度遠(yuǎn)遠(yuǎn)快于檢測的速度,而降低事務(wù)的執(zhí)行速度會引起嚴(yán)重的拒絕服務(wù)。其次,一些經(jīng)過授權(quán)卻是惡意的事務(wù)很難檢測出來。這些惡意事務(wù)與其他合法的事務(wù)看起來一樣。基于事務(wù)語義的異常檢測可能是鑒別這種惡意事務(wù)的僅有的有效手段,然而對于異常檢測要想在合理的檢測反應(yīng)時(shí)間和虛警率的條件下實(shí)現(xiàn)100%的檢測率,即使可以實(shí)現(xiàn)也是非常困難的。
因此,可行的目標(biāo)應(yīng)該是在數(shù)據(jù)庫被破壞后,盡快定位被破壞的部分并修復(fù),從而是數(shù)據(jù)庫在遭受攻擊時(shí)可以繼續(xù)提供服務(wù)。
2 損害數(shù)據(jù)的隔離方案
2.1 隔離工作過程
首先,根據(jù)門限值THm和THs作為入侵檢測報(bào)告兩種級別的警告。當(dāng)異常事務(wù)高于異常門限THm時(shí),該事務(wù)被報(bào)告為惡意的;當(dāng)異常事務(wù)高于異常門限THs,而低于異常門限THm時(shí),該事務(wù)被報(bào)告為可疑的(THs和THm的值取決于先前攻擊的統(tǒng)計(jì)分析)。當(dāng)惡意事務(wù)被報(bào)告之后,系統(tǒng)進(jìn)行以下工作;當(dāng)可以事務(wù)被報(bào)告之后,協(xié)調(diào)者在隔離管理者的協(xié)助下,將Ts(以及提交Ts的用戶之后的事務(wù))重定向到虛擬的隔離數(shù)據(jù)庫中,在那里用戶被隔離。隨后,如果用戶被證明是惡意的,隔離管理者將取消該用戶的操作;如果用戶不是惡意的,隔離管理者將該用戶的操作結(jié)果導(dǎo)入主數(shù)據(jù)庫。采用這種方案,破壞擴(kuò)散能被急劇減少而不犧牲檢測速度或降低對正常事務(wù)的可用性。
我們按用戶隔離是因?yàn)橛赏粋€(gè)用戶提交的事務(wù)應(yīng)該相互了解結(jié)果。這個(gè)方案應(yīng)該能夠同時(shí)隔離多個(gè)用戶。將一組用戶隔離在同一個(gè)虛擬數(shù)據(jù)庫可以有助于解決合謀攻擊,然而,當(dāng)只有部分用戶是惡意的時(shí)候,這將導(dǎo)致大量的應(yīng)用性下降。
采用完全的數(shù)據(jù)庫復(fù)制去隔離用戶有兩個(gè)缺點(diǎn):一是代價(jià)高昂;二是沒被隔離的用戶更新結(jié)果對隔離用戶是不可見的。在該方案中,我們采用數(shù)據(jù)版本虛擬構(gòu)建隔離數(shù)據(jù)庫。一個(gè)數(shù)據(jù)對象x通??偸菗碛形ㄒ恍湃伟姹荆洖閤[main]。只有當(dāng)x被隔離用戶更新后,x擁有一個(gè)特別的可疑版本。這樣,總的可以版本的數(shù)量將大大少于信任版本的數(shù)量。
隔離算法有兩個(gè)關(guān)鍵部分:(1)隔離用戶進(jìn)行怎樣讀寫操作(注意,未被隔離的用戶只能訪問主數(shù)據(jù)庫);(2)一個(gè)隔離用戶被證明是非惡意之后,如何將其融合到主數(shù)據(jù)庫。對第一個(gè)問題,我們可以采取單向隔離:如果沒有一致的可疑版本,隔離者可以讀信任版本,且所有隔離者的寫操作都標(biāo)記為可疑版本。第二個(gè)問題的關(guān)鍵在于信任版本和可疑版本不一致。如果一個(gè)可信用戶和一個(gè)可疑用戶分別更新同一個(gè)對象x,x[main]與可疑版本將不一致,為了進(jìn)行融合就必須其中一個(gè)更新。此外,研究表明即使不是更新同一個(gè)對象也會引起不一致。并且,一個(gè)隔離對象的融合可能會影響到另一個(gè)仍舊被隔離的用戶。這些不一致必須在融合時(shí)解決掉。
2.2 隔離方案的特點(diǎn)
本方案具有以下的特點(diǎn):(1)在很大程度上,隔離對可疑用戶是透明的。(2)隔離帶來的額外存儲開銷很低。(3)數(shù)據(jù)在隔離前和融合后是一致的。(4)在融合過程中,如果這里有某些不一致,某些隔離的或未被隔離的事務(wù)不得不退回以解決這個(gè)問題,這是該方案的主要代價(jià)。幸運(yùn)的是,研究表明事務(wù)回滾的代價(jià)只有5%。在不一致問題解決后,通過將剩下的隔離用戶的更新導(dǎo)入主數(shù)據(jù)庫,很容易完成融合過程。(5)該方案與數(shù)據(jù)庫服務(wù)幾乎沒有沖突,只有在每個(gè)融合過程中隔離用戶不能執(zhí)行新事物,主數(shù)據(jù)庫涉及到的向前更新進(jìn)程的數(shù)據(jù)表會被臨時(shí)鎖定。
3 隔離算法設(shè)計(jì)
基于上述的隔離方案,設(shè)計(jì)隔離算法如下:
開始
如果SQL語句想插入數(shù)據(jù)的表(表示為Ri)沒有為可疑用戶建立可疑版本(指示為Si)
創(chuàng)建Si;
如果SQL語句在值域沒有子查詢
重寫插入語句,使Si代替Ri;
附送重寫的插入語句到Oracle Server;
否則假設(shè)SQL語句的子查詢訪問數(shù)據(jù)表Rj1,….,Rjn
對于每一個(gè)Rjk,如果包含Sjk中被刪除的記錄,則從Rjk中刪除,并在內(nèi)存中保存這些記錄;
對于每一Sjk,如果包含Rjk中沒有的記錄,則插入這些記錄到Rjk中;
重寫插入語句,去掉"INSERT INTO table_name";
重寫由前一步驟產(chǎn)生的查詢語句;
假設(shè)結(jié)果表示為To_Insert,附送這個(gè)語句序列到Oracle server執(zhí)行;
刪除已經(jīng)被插入到Rj1,…,Rjn 的每一個(gè)記錄;
對已經(jīng)被從Rj1,…,Rjn 中刪除的記錄,重插入這些記錄到Rj1,…,Rjn;
將To_Insert中的每一個(gè)記錄插入到相應(yīng)的Sjk;
結(jié)束
4 下一步的工作
本方案說明,基于COTS組件來建設(shè)的容忍入侵的數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)具有以下優(yōu)點(diǎn):
(1)一個(gè)多層的深度防御方式,通常比使系統(tǒng)的可存活性依賴于一個(gè)或兩個(gè)諸如入侵探測的機(jī)制效率的方法有更多的成本效益;(2)適應(yīng)性的容忍入侵機(jī)制通常比提前編制的容忍入侵機(jī)制有更多的成本效益;(3)面向服務(wù)的容忍入侵?jǐn)?shù)據(jù)庫系統(tǒng)通常比面向狀態(tài)的容忍入侵?jǐn)?shù)據(jù)庫系統(tǒng)有更多的成本效益。
針對下一步工作,我們認(rèn)為未來研究方向應(yīng)該有以下幾個(gè)方面:
首先,惡性事務(wù)也許能被一系列部分復(fù)制的數(shù)據(jù)庫服務(wù)器掩蓋,這里每個(gè)服務(wù)器只執(zhí)行一組而并非全部事務(wù)。這樣一個(gè)偽裝的框架的關(guān)鍵挑戰(zhàn)應(yīng)該是安全與數(shù)據(jù)一致性間的權(quán)衡。
其次,入侵探測器的準(zhǔn)確性和反應(yīng)時(shí)間對容忍入侵?jǐn)?shù)據(jù)庫系統(tǒng)的整個(gè)成本效益有很大的影響,這點(diǎn)一般是正確的。因此,為了使配置一個(gè)探測器的容忍入侵的數(shù)據(jù)庫系統(tǒng)有成本效益,知道該探測器需要做到怎樣好(根據(jù)假正數(shù)率,假負(fù)數(shù)率和探測反應(yīng)時(shí)間)是很值得的。
最后,操作系統(tǒng)級和事務(wù)級的容忍入侵機(jī)制應(yīng)該被無縫的整合來建造多層的容忍入侵?jǐn)?shù)據(jù)庫系統(tǒng)。這個(gè)整合需要仔細(xì)研究這兩級機(jī)制間的關(guān)系。例如,盡管使用事務(wù)級方式不能探測出操作系統(tǒng)級數(shù)據(jù)污染,但事務(wù)級方式對恢復(fù)這些污染十分有用。
參考文獻(xiàn)
[1]孫玉海,孟麗榮.基于入侵容忍的數(shù)據(jù)庫安全解決方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2005(3).
[2]陳馳,孟麗蓉,夏思淝.入侵容忍數(shù)據(jù)庫系統(tǒng)中選舉方案的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2002,19(11):41-43.
科技創(chuàng)新與應(yīng)用2016年33期