摘 要: 本文使用概念圖為數(shù)據(jù)庫的推理問題建立了相關(guān)的解決模型,給出了推理相關(guān)的知識表示及推理過程的描述,建立了相關(guān)的推理控制系統(tǒng)。
關(guān)鍵詞: 概念圖 推理控制 推理通道 數(shù)據(jù)庫安全
隨著網(wǎng)絡(luò)的發(fā)展和普及,對數(shù)據(jù)庫的安全性能要求越來越高。近年來強(qiáng)制訪問控制(MAC)技術(shù)日趨成熟,多級安全數(shù)據(jù)庫的實現(xiàn)使數(shù)據(jù)庫安全達(dá)到了一個新的高度。但即使是這樣的系統(tǒng)仍存在致命的弱點,它對與推理相關(guān)的攻擊顯得無能為力。
Harry S.Delugach和Thomas H.Hinke對數(shù)據(jù)庫的推理問題做了如下定義[1]:
對于具有安全級別L1的信息X,如果能由它推導(dǎo)出信息Y,Y的安全級別L2大于L1,就存在數(shù)據(jù)庫推理問題。
數(shù)據(jù)庫推理問題的解決面臨著兩大難點:(1)可以用于推理的手段很多;(2)推理問題往往與特定的應(yīng)用相關(guān),已涉及到大量相關(guān)領(lǐng)域的知識。
基于上述兩點,本文選用概念圖做為解決數(shù)據(jù)庫推理問題的手段。概念圖作為一種知識表達(dá)方式能夠滿足相關(guān)領(lǐng)域知識和數(shù)據(jù)庫中相關(guān)數(shù)據(jù)語義的表達(dá)要求。概念圖與一階謂詞邏輯等價,又能提供多種推理手段來尋找數(shù)據(jù)庫中的推理通道。
推理問題的解決一般分為兩步:(1)找出可能的推理通道;(2)對發(fā)現(xiàn)的通道進(jìn)行相應(yīng)的處理。處理方法可以分為兩種:(1)提高相關(guān)信息的安全標(biāo)記,以達(dá)到阻斷通道的目的。但這樣做會降低數(shù)據(jù)的可用性。(2)可以將推理通道放入一個知識庫,通過在運(yùn)行時對相應(yīng)的查詢和歷史記錄進(jìn)行檢查來發(fā)現(xiàn)是否存在推理問題。如果存在,就拒絕相關(guān)查詢。但這樣做的缺點是會降低數(shù)據(jù)庫的性能。本文給出的解決方案是給數(shù)據(jù)庫設(shè)計人員以充分的自由,使其可以根據(jù)實際情況,對分析得到的推理通道選擇解決策略——修改安全標(biāo)記或是運(yùn)行時支持。
1 使用概念圖表示數(shù)據(jù)模式及相關(guān)知識
1.1 概念圖
概念圖由概念和概念關(guān)系組成,文中用展示方式(display form)進(jìn)行表示。圖1是一個示例:王明騎車去了學(xué)校。其中方框表示概念節(jié)點,橢圓代表關(guān)系節(jié)點,兩者通過有向線段相連。
1.2 使用概念圖進(jìn)行相關(guān)的知識表示
文中使用的數(shù)據(jù)庫模型為關(guān)系數(shù)據(jù)庫模型,但并不表示此方式只適合關(guān)系數(shù)據(jù)庫。使用關(guān)系型數(shù)據(jù)庫只是因為其目前使用最為普遍。
關(guān)系數(shù)據(jù)庫由二維表構(gòu)成,因此,對關(guān)系數(shù)據(jù)庫的知識表示實際上就是對二維表以及相關(guān)約束進(jìn)行知識表示。
對于一個由n個屬性構(gòu)成的表,可以按如下方式構(gòu)造其相對應(yīng)的概念圖:以主關(guān)鍵字名為一個概念節(jié)點,表中其他非關(guān)鍵字屬性表示為與之關(guān)聯(lián)的關(guān)系節(jié)點。例如,對于關(guān)系模式:員工(員工號,姓名,職務(wù),工資,學(xué)歷),可以用圖2所示的概念圖表示。
這里只是提供了一個一般的生成模式,數(shù)據(jù)庫設(shè)計者可以根據(jù)關(guān)系模式的各個屬性之間的語義關(guān)系做相應(yīng)的調(diào)整。
要將對應(yīng)表中的數(shù)據(jù)在概念圖中表示出來,需要將對應(yīng)的概念圖的概念節(jié)點實例化。實例化并不會影響概念之間的關(guān)系,因為這是一個特化的過程。完整性約束也可以轉(zhuǎn)化成相對應(yīng)的知識表示(對應(yīng)的上下文位于概念圖的最外層)。最后可以通過對應(yīng)的二維表的主鍵/外鍵將各個概念圖連接起來,形成概念圖集。概念圖集間接反映了各個二維表之間關(guān)系的緊密性。若二維表能夠通過主/外鍵相連的,則認(rèn)為它們相關(guān),它們之間可能存在推理通道;否則,就認(rèn)為它們之間不相關(guān),它們之間不存在推理通道。
下面用一個part-of的實例,說明一般知識規(guī)則。
如果存在規(guī)則部分決定整體,即part→whole,則可將它轉(zhuǎn)換為如圖3所示的概念圖。
上面已經(jīng)將用于推理分析的關(guān)系模式、數(shù)據(jù)庫中的數(shù)據(jù)及外部知識都使用概念圖進(jìn)行了表示。下面將進(jìn)一步使用已獲得的知識和概念圖的推理方法來發(fā)現(xiàn)數(shù)據(jù)庫中潛在的推理通道。
2 基于概念圖的推理通道分析
2.1 概念圖中的推理規(guī)則
概念圖和一階謂詞邏輯等價。因此,概念圖中也有與之相對應(yīng)的推理規(guī)則,但是概念圖中的規(guī)則比謂詞演算簡單。概念圖中可以用于概念圖轉(zhuǎn)換的規(guī)則有三種:
(1)等價規(guī)則。等價規(guī)則不改變概念圖內(nèi)在的邏輯含義。如果概念圖U被這樣的規(guī)則轉(zhuǎn)換成概念圖V,則U→V,V→U。
(2)特化規(guī)則。如果概念圖U被這樣的規(guī)則轉(zhuǎn)換成概念圖V,則V→U。
(3)泛化規(guī)則。如果概念圖U被這樣的規(guī)則轉(zhuǎn)換成概念圖V,則U→V。
通過使用概念圖的語法構(gòu)造規(guī)則,能夠使基于特化和泛化規(guī)則的概念圖推理獨立于概念符號。Sowa將概念圖的推理規(guī)則分成以下幾類:
(1)概念的消去。在肯定的上下文中,任何概念圖U都可以被一個泛化的U取代。U甚至可以被簡單地消去(可以認(rèn)為空圖是所有圖的泛化)。
(2)概念的插入。在否定的上下文中,任何概念圖U都可以被一個特化的U取代。此外,還可以插入任何概念圖U(任何概念圖都可以認(rèn)為是空圖的特化)。
(3)概念的反復(fù)。如果概念圖U出現(xiàn)在上下文C中,則U的拷貝可以插入到C中或者嵌入在C的上下文中。
(4)反復(fù)的消除。通過(3)中的操作,插入的概念圖可以被簡單地消除。
(5)等價規(guī)則??截?簡化,雙重否定的規(guī)則都是概念圖中的等價轉(zhuǎn)換規(guī)則。
2.2 推理通道分析
2.2.1 推理問題的分類
本文所討論的推理問題不涉及統(tǒng)計數(shù)據(jù)庫中的推理。一般推理問題的分類可以基于推理所使用的方法和推理所使用的信息兩個方面。對這兩種劃分方法的詳細(xì)描述可參見參考文獻(xiàn)[4]。
本文所使用的分類方法基于上面兩種方法的深化并結(jié)合了所解決的推理問題的特點。它包括兩個方面:(1)按照推理所涉及信息的范圍,分為與關(guān)系模式相關(guān)的和與具體實例相關(guān)的推理問題。(2)按對推理進(jìn)行控制的方法,可將推理問題分為與設(shè)計相關(guān)的(或者稱為靜態(tài)的)和運(yùn)行期的(或稱為動態(tài)的)。
2.2.2 基于概念圖的推理分析技術(shù)
要研究推理通道,首先要發(fā)現(xiàn)實體以及屬性之間存在的關(guān)聯(lián)規(guī)則。就目前的研究而言,規(guī)則主要包括以下幾類:函數(shù)依賴,繼承規(guī)則,組成規(guī)則,時序規(guī)則,使用規(guī)則,生產(chǎn)/消費(fèi)規(guī)則以及其他與特定應(yīng)用領(lǐng)域相關(guān)的規(guī)則。
上述規(guī)則除了函數(shù)依賴規(guī)則屬于與關(guān)系模式相關(guān)以外,其他規(guī)則基本上都是與具體的實例相關(guān)的。在這些規(guī)則中,還可以發(fā)現(xiàn)一類特別的規(guī)則——傳遞性規(guī)則,它包括函數(shù)依賴、繼承規(guī)則、組成規(guī)則、時序規(guī)則。這類規(guī)則在推理通道的分析中起主要作用。使用概念圖進(jìn)行這類推理是很容易的。
這里按照先前的劃分方法,將已經(jīng)發(fā)現(xiàn)的傳遞性關(guān)聯(lián)規(guī)則進(jìn)行劃分。其中函數(shù)依賴屬于與關(guān)系模式相關(guān)的,而繼承關(guān)系、組成關(guān)系、時序關(guān)系則屬于與具體實例相關(guān)的。推理的目的是利用已知的低級別的信息,通過推理獲得高安全級別的信息。如果由推理獲得的信息量太大,以致不能從其中獲得有用的信息,則認(rèn)為這樣的推理是失敗的,或認(rèn)為不存在相應(yīng)的推理通道。以組成關(guān)系為例,如果零件X參與組成了上百種設(shè)備,并不能確定當(dāng)有零件X存在時,究竟存在什么相應(yīng)的設(shè)備。而如果零件X只在某種或某幾種特定的設(shè)備中使用,入侵者則可以從零件X的存在推理得出特定設(shè)備的存在。因此就有必要制定一個度,用它來衡量相應(yīng)的推理所造成危害的程度。而推理過程中外部知識的加入將使得情況變得更為復(fù)雜,因為外部知識的存在能夠減少可能的情況,從而得到有用的信息。因此在斷定一個推理是否存在危險時,除了度,還要考慮已知知識是否會對推理產(chǎn)生影響。
下面以圖4的時序關(guān)系為例,給出傳遞性規(guī)則產(chǎn)生推理問題。
潛艇的后續(xù)編號是前面潛艇的編號加1,因此,就能由20號潛艇的存在,推出19號潛艇的存在,進(jìn)而推出1~18號潛艇的存在,從而得到此類潛艇大量生產(chǎn)的信息,最后可以得出制造此類潛艇的關(guān)鍵技術(shù)(如消音技術(shù))已經(jīng)成熟的敏感信息。
3 推理控制系統(tǒng)的實現(xiàn)
3.1 靜態(tài)推理控制的實現(xiàn)
在獲取了與系統(tǒng)安全設(shè)計相關(guān)的知識、與元數(shù)據(jù)相關(guān)的知識及相關(guān)的實例信息后,推理控制模塊根據(jù)安全設(shè)計規(guī)則對相關(guān)知識進(jìn)行分析,找到可能存在的推理通道,同時按照安全設(shè)計規(guī)則給出相應(yīng)的標(biāo)識修改方案。修改方案在安全管理員確認(rèn)后,自動修改安全設(shè)計從而屏蔽潛在的推理通道,或者讓安全管理員將相應(yīng)的規(guī)則添加到運(yùn)行時的知識庫中,在運(yùn)行時檢查是否存在推理。如果存在,則拒絕造成推理的查詢請求。
圖5為該系統(tǒng)的邏輯圖。
3.2 動態(tài)推理控制的實現(xiàn)
本文的動態(tài)推理控制的實現(xiàn)基于以下思想:通過歷史記錄以及知識庫中的規(guī)則,判斷對應(yīng)的查詢是否存在推理問題。如果存在,就拒絕相應(yīng)的查詢請求。
由于記錄與每個用戶相關(guān)的歷史的查詢結(jié)果集需要占用很大的空間,而且在運(yùn)行時進(jìn)行相應(yīng)的檢索效率很低,因此,可以考慮僅記錄相關(guān)用戶進(jìn)行查詢的SQL語句并在運(yùn)行時通過對相應(yīng)的SQL語句的改寫來判斷是否存在推理問題。這樣,在一定程度上可以提高系統(tǒng)的效率,還可以降低由于數(shù)據(jù)庫中數(shù)據(jù)的變化而帶來的數(shù)據(jù)不一致的情況。
推理往往與特定的應(yīng)用領(lǐng)域相關(guān),因此,可以考慮使用知識庫來對運(yùn)行時使用的規(guī)則進(jìn)行管理。
圖6是運(yùn)行時系統(tǒng)的邏輯圖。
4 結(jié)束語
鑒于數(shù)據(jù)庫中推理問題的復(fù)雜性,本文使用概念圖來建立相關(guān)模型。文中給出了與推理相關(guān)的知識表示及推理過程的描述,并結(jié)合當(dāng)前推理問題的研究,建立了相關(guān)的推理控制系統(tǒng)。本文沒有涉及一種特殊的推理問題——聚集問題,這需要在后續(xù)工作中研究解決。數(shù)據(jù)庫推理問題研究發(fā)展至今,仍沒有產(chǎn)生一個統(tǒng)一的解決方案;將一些新近的成果加入該系統(tǒng)也是今后工作的重點。
參考文獻(xiàn)
1 Delugach H S,Hinke T H.Using Conceptual Graphs To Represent Database Inference Security Analysis.http:// falcon.cs.uah.edu/~delugach/Papers/jcit.pdf.
2 Sowa J F.Conceptual Graph Standard.revised version of December 6,2000.http://www.bestweb.net/# sowa/cg/cgstand.htm.
3 Delugach H S,Hinke T H.Wizard:A database inference analysis and detection system.IEEE Transactions on Knowledge and Data Engineering,1996;8(1)
4 Brewster K F.NCSC TECHNICAL REPORT-005 Volume1/5 Library No.S-243,039.National Computer Security Center,1996;(5)
5 Anderson M.A Dynamic Knowledge Based Approach to the Problem of Deduction in a Non-Statistical Multilevel Secure Database.In:Proceedings of the Second IEEE/ACM/AAAI International Conference on Information and Knowledge Management,Washington D C,USA,1993
6 Staddon J.Dynamic Inference Control.In:Proceedings of the 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery.San Diego,CA,2003,NY:ACM,2003