專利名稱::一種數(shù)據(jù)庫隱蔽信道檢測方法
技術領域:
:本發(fā)明涉及隱蔽信道的分析技術,特別涉及數(shù)據(jù)庫隱蔽信道的標識與檢測方法。
背景技術:
:對機密性要求高的系統(tǒng)(例如金融系統(tǒng)或者軍事系統(tǒng)),數(shù)據(jù)的機密性通常是多層次的(比如絕密,機密,保密,公開)。實現(xiàn)強制訪問控制的多級安全數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)了此需求。該系統(tǒng)中,每個主體和數(shù)據(jù)對象被指定為不同的安全級別,并規(guī)定低安全級主體不能訪問高安全級主體的數(shù)據(jù)。但是高安全級主體與低安全級主體可約定一種編碼方式,利用隱蔽信道來非法的傳遞信息,從而威脅系統(tǒng)的機密性。國內(nèi)外的安全評估標準均要求高安全級別的安全數(shù)據(jù)庫產(chǎn)品需對隱蔽信道進行分析。例如《信息安全技術數(shù)據(jù)庫管理系統(tǒng)安全評估準則》(GB/T20009-2005)明確規(guī)定第四級及以上的數(shù)據(jù)庫產(chǎn)品,必須要進行隱蔽信道分析。隱蔽信道的標識是隱蔽信道分析的核心技術,是信道度量和處置的前提。隱蔽信道標識方法通過分析系統(tǒng)的源代碼或者形式化頂層規(guī)范,盡可能徹底地標識出潛在隱蔽信道,在此基礎上為其構造合理的使用場景,確認其是否真正被利用。目前已有的標識方法有語法信息流分析法,語義信息流分析法,共享資源矩陣法,無干擾分析法等。上述分析方法存在以下的局限性。首先,徹底分析形式化頂層規(guī)范或源代碼的代價很大。形式化頂層規(guī)范往往不容易獲得,而對源代碼進行分析工作量很大,會產(chǎn)生大量偽非法流,且缺乏自動化工具。因此需要花費的時間很長,例如利用語法信息流分析法來分析SecureXenix系統(tǒng)的隱蔽信道,需要花費兩人年的時間。其次,隱蔽信道標識方法只能標識系統(tǒng)設計中帶來的隱蔽信道,而有些隱蔽信道利用的是系統(tǒng)實現(xiàn)上的缺陷,在系統(tǒng)運行時才能體現(xiàn)出來。再次,標識方法不能在實際系統(tǒng)中通用。對于不同的系統(tǒng)需要重新標識。
發(fā)明內(nèi)容本發(fā)明要解決的技術問題是提出了一種可以對數(shù)據(jù)庫隱蔽信道進行快速檢測的方法,可以發(fā)現(xiàn)系統(tǒng)實現(xiàn)缺陷引起的數(shù)據(jù)庫隱蔽信道。本發(fā)明包括如下步驟I)建立數(shù)據(jù)庫隱蔽信道場景數(shù)據(jù)庫隱蔽信道包括數(shù)據(jù)庫共享資源、能夠修改共享資源的高安全級主體和能夠觀測共享資源變化的低安全級主體,所述高安全級主體的安全標簽支配低安全級主體的安全標簽;所述數(shù)據(jù)庫為實現(xiàn)強制訪問控制的數(shù)據(jù)庫。建立如下數(shù)據(jù)庫隱蔽信道場景。發(fā)送信號O:高安全級主體創(chuàng)建一個客體并把該客體的訪問權限授權給低安全級主體;發(fā)送信號I:高安全級主體刪除上述客體;接收信號O:低安全級主體訪問高安全級主體的客體,觀測到系統(tǒng)無法進行安全檢查;接收信號I:低安全級主體訪問高安全級主體的客體,觀測到客體不存在。2)進行數(shù)據(jù)庫隱蔽信道檢測配置(I)配置待檢測的數(shù)據(jù)庫類型;(2)配置待檢測數(shù)據(jù)庫的連接信息;(3)以系統(tǒng)管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個主體,并賦給這兩個主體訪問被檢測數(shù)據(jù)庫的權限以及在該數(shù)據(jù)庫中創(chuàng)建客體的權限,然后以標簽管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個安全標簽,其中一個安全標簽支配另一個安全標簽,把這兩個安全標簽分別賦給新創(chuàng)建的兩個主體。3)分別以高安全級主體的身份和低安全級主體的身份登錄待檢測的數(shù)據(jù)庫。4)高安全級主體創(chuàng)建一個客體并把該客體的訪問權限授權給低安全級主體,發(fā)送信號0,低安全級主體訪問該客體,當觀測到系統(tǒng)無法進行安全檢查時,接收信號O;高安全級主體刪除該客體,發(fā)送信號1,低安全級主體訪問客體,當觀測到客體不存在時,接收信號Io5)若步驟4)中高安全級主體能成功發(fā)送信號O和信號1,同時低安全級主體能成功接收信號O和信號1,則存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道,否則不存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道。本發(fā)明所述客體可以為表。和現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)勢I.實施代價小?;诒景l(fā)明的數(shù)據(jù)庫隱蔽信道檢測方法不需要被檢測的數(shù)據(jù)庫管理系統(tǒng)提供形式化頂層規(guī)范或者源代碼,只需運行數(shù)據(jù)庫管理系統(tǒng),即可進行檢測。進行隱蔽信道檢測的人員不需要具有相關的專業(yè)知識,不需要對數(shù)據(jù)庫管理系統(tǒng)進行形式化分析,只需運行檢測系統(tǒng),即可方便地查看檢測結果。2.可發(fā)現(xiàn)由于實現(xiàn)缺陷引起的隱蔽信道。數(shù)據(jù)庫系統(tǒng)的實現(xiàn)有時會和形式化頂層規(guī)范不符,利用形式化規(guī)范進行隱蔽信道分析,會無法發(fā)現(xiàn)由于實現(xiàn)缺陷引起的隱蔽信道。基于本發(fā)明的數(shù)據(jù)庫隱蔽信道檢測方法,需要實時運行數(shù)據(jù)庫管理系統(tǒng),接收組件通過輸ASQL命令,觀察數(shù)據(jù)庫管理系統(tǒng)返回的真實的操作結果,因此可發(fā)現(xiàn)由于實現(xiàn)缺陷引起的隱蔽信道。3.具有通用性?;诒景l(fā)明的數(shù)據(jù)庫隱蔽信道檢測方法建立的數(shù)據(jù)庫隱蔽信道場景利用的是數(shù)據(jù)庫系統(tǒng)中常見的共享資源,包括表,視圖,主鍵約束等,現(xiàn)有的實現(xiàn)強制訪問功能的數(shù)據(jù)庫都實現(xiàn)了上述機制,因此該方法具有通用性。圖I數(shù)據(jù)庫隱蔽信道檢測系統(tǒng)結構2數(shù)據(jù)庫特定類型隱蔽信道檢測流程圖具體實施例方式如圖I所示,數(shù)據(jù)庫隱蔽信道檢測系統(tǒng)包括數(shù)據(jù)庫隱蔽信道場景庫、配置組件、發(fā)送組件和接收組件。數(shù)據(jù)庫隱蔽信道場景庫包含多個數(shù)據(jù)庫隱蔽信道場景,每一個數(shù)據(jù)庫隱蔽信道場、景包括發(fā)送組件執(zhí)行語句和接收組件執(zhí)行語句。發(fā)送組件執(zhí)行語句包括高安全級主體初始化環(huán)境,高安全級主體發(fā)送信號O,高安全級主體發(fā)送信號I。接收組件執(zhí)行語句包括低安全級主體初始化環(huán)境、低安全級主體接收信號O、低安全級主體接收信號I、低安全級主體恢復環(huán)境。配置組件的作用為進行數(shù)據(jù)庫隱蔽信道檢測配置。I)配置需檢測的數(shù)據(jù)庫類型和需檢測的數(shù)據(jù)庫隱蔽信道場景。2)配置待檢測數(shù)據(jù)庫的連接信息,包括數(shù)據(jù)庫名,IP地址和端口號。3)創(chuàng)建高安全級主體和低安全級主體。以系統(tǒng)管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個主體,并賦給這兩個主體訪問被檢測數(shù)據(jù)庫的權限以及在該數(shù)據(jù)庫中創(chuàng)建客體的權限,然后以標簽管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個安全標簽,其中一個安全標簽支配另一個安全標簽,把這兩個安全標簽分別賦給新創(chuàng)建的兩個主體。發(fā)送組件根據(jù)待檢測數(shù)據(jù)庫類型和數(shù)據(jù)庫隱蔽信道類型,去隱蔽信道場景庫中找到對應的數(shù)據(jù)庫隱蔽信道場景。從數(shù)據(jù)庫隱蔽信道場景中找到發(fā)送組件執(zhí)行語句。接收組件根據(jù)待檢測數(shù)據(jù)庫類型和數(shù)據(jù)庫隱蔽信道類型,去隱蔽信道場景庫中找到對應的數(shù)據(jù)庫隱蔽信道場景。從隱蔽信道場景中找到接收組件執(zhí)行語句。發(fā)送組件的以高安全級主體身份登錄被檢測數(shù)據(jù)庫,通過修改數(shù)據(jù)庫的共享資源來發(fā)送信號O和發(fā)送信號I。接收組件以低安全級主體身份登錄被檢測數(shù)據(jù)庫,通過觀測共享資源的改變來接收信號O和接收信號I。發(fā)送組件和接收組件的檢測流程如圖2所示一種檢測特定類型的數(shù)據(jù)庫隱蔽信道的方法,其步驟包括I)發(fā)送組件和接收組件初始化環(huán)境2)發(fā)送組件發(fā)送信號O3)接收組件接收信號O4)接收組件恢復環(huán)境5)發(fā)送組件發(fā)送信號I6)接收組件接收信號I7)若步驟1),2),3),4),5),6)都執(zhí)行成功,則執(zhí)行步驟8),否則跳轉(zhuǎn)到步驟9)8)輸出存在用XX場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道9)輸出不存在用XX場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道實驗環(huán)境為對國產(chǎn)安全數(shù)據(jù)庫BeyonDB進行數(shù)據(jù)庫隱蔽信道檢測。運行BeyonDB數(shù)據(jù)庫,開啟強制訪問功能。確保進行隱蔽信道檢測時沒有其他主體訪問BeyonDB數(shù)據(jù)庫。下面給出對BeyonDB數(shù)據(jù)庫進行隱蔽信道檢測的完整步驟。步驟1,建立數(shù)據(jù)庫隱蔽信道場景建立如下數(shù)據(jù)庫隱蔽信道場景I:發(fā)送信號O:高安全級主體創(chuàng)建一個表并把該表的訪問權限授權給低安全級主體;發(fā)送信號I:高安全級主體刪除上述表;接收信號O:低安全級主體訪問高安全級主體的表,觀測到系統(tǒng)無法進行安全檢查;接收信號I:低安全級主體訪問高安全級主體的表,觀測到表不存在;建立如下數(shù)據(jù)庫隱蔽信道場景2初始化環(huán)境低安全級主體創(chuàng)建一個表并把該表的訪問權限授權給高安全級主體發(fā)送信號O:高安全級主體向上述表中插入一條主鍵為I的記錄;發(fā)送信號I:高安全級主體刪除上述記錄;接收信號O:低安全級主體向上述表中插入一條主鍵為I的記錄,觀測插入操作失?。唤邮招盘朓:低安全級主體向上述表中插入一條主鍵為I的記錄,觀測插入操作成功;建立如下數(shù)據(jù)庫隱蔽信道場景3初始化環(huán)境低安全級主體創(chuàng)建一個表并把該表的訪問權限授權給高安全級主體發(fā)送信號O:高安全級主體在上述表上創(chuàng)建一個視圖;發(fā)送信號I:高安全級主體刪除上述視圖;接收信號O:低安全級主體限制刪除該表,觀測刪除操作失?。唤邮招盘朓:低安全級主體限制刪除該表,觀測刪除操作成功;步驟2,進行數(shù)據(jù)庫隱蔽信道檢測配置(I)配置待檢測的數(shù)據(jù)庫類型為BeyonDB和待檢測的數(shù)據(jù)庫隱蔽信道場景,包括數(shù)據(jù)庫隱蔽信道場景I、數(shù)據(jù)庫隱蔽信道場景2、數(shù)據(jù)庫隱蔽信道場景3。(2)配置待檢測數(shù)據(jù)庫的連接信息,IP地址為localhost,端口為117,數(shù)據(jù)庫名字為demodbo(3)以系統(tǒng)管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個主體Alice和Bob,并賦給這兩個主體訪問demodb的權限以及在該數(shù)據(jù)庫中創(chuàng)建客體的權限,然后以標簽管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個安全標簽High和Low,其中安全標簽High支配安全標簽Low,將安全標簽High賦給主體Alice,將安全標簽Low賦給主體Bob,此時Alice為高安全級主體,Bob為低安全級主體。步驟3,分別以高安全級主體Alice的身份和低安全級主體Bob的身份登錄待檢測的數(shù)據(jù)庫;步驟4,根據(jù)數(shù)據(jù)庫隱蔽信道場景I,按照圖2所示(I)Alice創(chuàng)建一個表Tablel并把該表的訪問權限授權給Bob,發(fā)送信號0,對應的SQL語句為createtableTablel(idint);GrantallonTableltoBob;(2)Bob訪問表Tablel,觀測到系統(tǒng)無法進行安全檢查,接收信號O;對應的SQL語句為select*fromAlice.Tablel(3)Alice刪除表Tablel,發(fā)送信號1,對應的SQL語句為droptableTablel(4)Bob訪問表Tablel,觀測到表不存在,接收信號I;對應的SQL語句為select*fromAlice.Tablel步驟5,步驟4)中Alice成功發(fā)送信號O和信號1,同時Bob成功接收信號O和信號1,BeyonDB中存在利用場景I構建的數(shù)據(jù)庫隱蔽信道。步驟6,根據(jù)數(shù)據(jù)庫隱蔽信道場景2,(I)Bob創(chuàng)建一個表Table2并把該表的訪問權限授權給Alice,初始化環(huán)境對應SQL語句為CreateTableTable2(idintprimarykey);GrantallonTable2toAlice(2)Alice向表Table2中插入一條主鍵為I的記錄,對應SQL語句為InsertintoTable2values(I)(3)Bob向表Table2中插入一條主鍵為I的記錄,觀測到插入操作失敗,接收信號O;對應SQL語句為InsertintoTable2values(I)(4)Alice刪除表Table2中主鍵為I的記錄,發(fā)送信號I,對應SQL語句為=DeletefromTable2whereid=I(5)Bob向表Table2中插入一條主鍵為I的記錄,觀測到插入操作成功,接收信號O;對應SQL語句為InsertintoTable2values(I)步驟7,步驟6)中Alice成功發(fā)送信號O和信號1,同時Bob成功接收信號O和信號1,BeyonDB中存在利用場景2構建的數(shù)據(jù)庫隱蔽信道。步驟7,根據(jù)數(shù)據(jù)庫隱蔽信道場景3,(I)Bob創(chuàng)建一個表Table3并把該表的訪問權限授權給Alice,初始化環(huán)境對應SQL語句為CreateTableTable2(idintprimarykey);GrantallonTable2toAlice(2)Alice在表Table3上創(chuàng)建一個視圖Viewl,發(fā)送信號0對應SQL語句為createviewViewlasselect*fromTable2(3)Bob限制刪除表Table3,觀測到刪除操作失敗,接收信號O;對應SQL語句為droptableTable3restrict(4)Alice刪除表Table3上的視圖Viewl,發(fā)送信號I,對應SQL語句為dropviewViewl(5)Bob限制刪除表Table3,觀測到刪除操作失敗,沒有接收到信號I;對應SQL語句為droptableTable3restrict步驟8,步驟7)中Bob沒有成功接收信號I,BeyonDB中不存在利用場景3構建的數(shù)據(jù)庫隱蔽信道。權利要求1.一種數(shù)據(jù)庫隱蔽信道檢測方法,其特征在于,包括如下步驟1)建立數(shù)據(jù)庫隱蔽信道場景數(shù)據(jù)庫隱蔽信道包括數(shù)據(jù)庫共享資源、能夠修改共享資源的高安全級主體和能夠觀測共享資源變化的低安全級主體,所述高安全級主體的安全標簽支配低安全級主體的安全標簽;所述數(shù)據(jù)庫為實現(xiàn)強制訪問控制的數(shù)據(jù)庫;建立如下數(shù)據(jù)庫隱蔽信道場景發(fā)送信號O:高安全級主體創(chuàng)建一個客體并把該客體的訪問權限授權給低安全級主體;發(fā)送信號I:高安全級主體刪除上述客體;接收信號O:低安全級主體訪問高安全級主體的客體,觀測到系統(tǒng)無法進行安全檢查;接收信號I:低安全級主體訪問高安全級主體的客體,觀測到客體不存在;2)進行數(shù)據(jù)庫隱蔽信道檢測配置(1)配置待檢測的數(shù)據(jù)庫類型;(2)配置待檢測數(shù)據(jù)庫的連接信息;(3)以系統(tǒng)管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個主體,并賦給這兩個主體訪問被檢測數(shù)據(jù)庫的權限以及在該數(shù)據(jù)庫中創(chuàng)建客體的權限,然后以標簽管理員身份登錄被檢測數(shù)據(jù)庫,創(chuàng)建兩個安全標簽,其中一個安全標簽支配另一個安全標簽,把這兩個安全標簽分別賦給新創(chuàng)建的兩個主體;3)分別以高安全級主體的身份和低安全級主體的身份登錄待檢測的數(shù)據(jù)庫;4)高安全級主體創(chuàng)建一個客體并把該客體的訪問權限授權給低安全級主體,發(fā)送信號O,低安全級主體訪問該客體,當觀測到系統(tǒng)無法進行安全檢查時,接收信號O;高安全級主體刪除該客體,發(fā)送信號1,低安全級主體訪問客體,當觀測到客體不存在時,接收信號I;5)若步驟4)中高安全級主體能成功發(fā)送信號O和信號1,同時低安全級主體能成功接收信號O和信號1,則存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道,否則不存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道。2.如權利要求I所述的數(shù)據(jù)庫隱蔽信道檢測方法,其特征在于所述客體為表。全文摘要本發(fā)明公開了一種數(shù)據(jù)庫隱蔽信道檢測方法,其步驟為首先建立數(shù)據(jù)庫隱蔽信道場景,包括高安全級主體發(fā)送信號0和發(fā)送信號1對應的數(shù)據(jù)庫操作以及低安全級主體接收信號0和接收信號1對應的數(shù)據(jù)庫操作。其次進行數(shù)據(jù)庫隱蔽信道檢測配置。然后按照數(shù)據(jù)庫隱蔽信道場景,高安全級主體發(fā)送信號0,低安全級主體接收信號0;高安全級主體發(fā)送信號1,低安全級主體接收信號1。若高安全級主體能成功發(fā)送信號0和信號1,同時低安全級主體能成功接收信號0和信號1,則存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道,否則不存在可用該場景實現(xiàn)的數(shù)據(jù)庫隱蔽信道。本發(fā)明實施代價小,能夠檢測由于系統(tǒng)缺陷引起的數(shù)據(jù)庫隱蔽信道。文檔編號G06F17/30GK102622548SQ201210072509公開日2012年8月1日申請日期2012年3月19日優(yōu)先權日2012年3月19日發(fā)明者徐震,李乃山,田雪,陳馳申請人:中國科學院信息工程研究所