999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數(shù)據(jù)庫形式化安全策略模型建模及分析方法

2015-01-01 02:55:54王榕張敏馮登國李昊
通信學(xué)報 2015年9期
關(guān)鍵詞:數(shù)據(jù)庫用戶模型

王榕,張敏,馮登國,李昊

(1. 中國科學(xué)院 軟件研究所 可信計算與信息保障實(shí)驗(yàn)室,北京 100190;2. 中國科學(xué)院大學(xué),北京 100190;3. 中國科學(xué)院 軟件研究所 計算機(jī)科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,北京 100190)

1 引言

數(shù)據(jù)庫管理系統(tǒng)是多數(shù)信息系統(tǒng)的重要基礎(chǔ)平臺,其安全性是信息系統(tǒng)安全中的重要環(huán)節(jié)。近年來,伴隨著國家信息化建設(shè)飛速發(fā)展,我國對數(shù)據(jù)庫系統(tǒng)的安全也逐步重視,已有一批達(dá)到國標(biāo)[1]第三級產(chǎn)品,在軍用、政務(wù)、電力、通信、鐵路等國家重要領(lǐng)域逐漸得到應(yīng)用推廣,取代國外同類產(chǎn)品,發(fā)揮骨干支撐作用。但是隨著國家信息化程度的提高,現(xiàn)有第三級數(shù)據(jù)庫產(chǎn)品已經(jīng)逐漸不能滿足安全需求。因此,迫切需要開展高安全等級數(shù)據(jù)庫構(gòu)建與評估技術(shù)的研究。而本文關(guān)注的安全策略模型建模與分析就是其核心技術(shù)之一。

安全策略模型是獨(dú)立于軟件實(shí)現(xiàn)的高層概念模型,它來源于需求規(guī)約,描述安全系統(tǒng)的安全保護(hù)需求與功能性質(zhì)[2]。安全策略模型的形式化分析是評估第四級系統(tǒng)[1]的重要內(nèi)容之一,在許多應(yīng)用領(lǐng)域都扮演著重要的角色,如建立可信操作系統(tǒng)、可信數(shù)據(jù)庫管理系統(tǒng)等高可信軟件系統(tǒng)。目前,通過一系列形式化方法在工程中的應(yīng)用[3~5],對系統(tǒng)進(jìn)行形式化描述和驗(yàn)證不僅可以發(fā)現(xiàn)系統(tǒng)設(shè)計上的問題、驗(yàn)證系統(tǒng)設(shè)計的正確性,而且還可以指導(dǎo)開發(fā)、檢驗(yàn)系統(tǒng)實(shí)現(xiàn)的正確性等。然而在數(shù)據(jù)庫安全領(lǐng)域,現(xiàn)有的形式化方法還不能滿足實(shí)際需求。此外形式化方法在很大程度上受到其支持工具的限制,一些語言和分析方法由于缺乏原生分析工具的支持,導(dǎo)致驗(yàn)證效率不能滿足大型復(fù)雜系統(tǒng)的工程需求。如Z語言,在20世紀(jì)80年代末到90年代初國際上相繼提出了很多Z語言的擴(kuò)展,并進(jìn)行了一些標(biāo)準(zhǔn)化工作,提出了與形式化方法和面向?qū)ο蠓椒ㄏ嘟Y(jié)合的思想[6,7]。然而,雖然基于Z語言的形式化方法和相關(guān)工具得到了發(fā)展,但是仍然無法支持在數(shù)據(jù)庫等大型復(fù)雜系統(tǒng)的工程應(yīng)用。

針對這些問題,本文提出了一種高等級數(shù)據(jù)庫形式化安全策略模型的建模方法,并將其應(yīng)用于實(shí)際商用數(shù)據(jù)庫 BeyonDB中進(jìn)行有效性驗(yàn)證。該數(shù)據(jù)庫經(jīng)相關(guān)測評機(jī)構(gòu)測評已達(dá)到第三級,并具備部分第四級安全特性。將本文提出的建模與分析方法應(yīng)用于 BeyonDB安全功能設(shè)計與開發(fā)中,幫助發(fā)現(xiàn)并糾正了系統(tǒng)若干設(shè)計缺陷,取得了良好的實(shí)際效果。

2 相關(guān)工作

近年來,國內(nèi)外已逐漸開展了形式化方法在各類模型及實(shí)際系統(tǒng)中的安全分析的研究,如操作系統(tǒng)、防火墻等。Qian等[8]采用數(shù)學(xué)形式化方法,使用OSOSM對操作系統(tǒng)進(jìn)行建模并采用Isabelle驗(yàn)證,保證了系統(tǒng)的高度安全性。Yang等[9]從完整性模型的實(shí)用性角度出發(fā),提出一種新型的動態(tài)完整性保護(hù)模型(DMIP, dynamic integrity protection model),并給出了形式化分析。還有部分工作提出了在形式化安全策略模型驗(yàn)證的基礎(chǔ)上對目標(biāo)系統(tǒng)進(jìn)行測試的方法。數(shù)據(jù)庫的安全策略模型形式化分析,由于其分析規(guī)模和主客體的復(fù)雜性,目前仍然缺少實(shí)際商用的安全策略模型的形式化建模與分析方法。

Bell和LaPadula在1975年提出了BLP經(jīng)典模型[10],基于該模型提出了保護(hù)數(shù)據(jù)機(jī)密性的重要思想,為后來數(shù)據(jù)庫管理系統(tǒng)各種安全策略模型的建立奠定了堅(jiān)實(shí)的基礎(chǔ)。SeaView模型[11]基于BLP經(jīng)典模型,詳細(xì)提出了 16條完整性約束,分析了包括自主訪問控制(DAC, discretionary access control)和強(qiáng)制訪問控制(MAC, mandatory access control)等安全模型,訪問控制粒度實(shí)現(xiàn)元素級,為多級安全數(shù)據(jù)庫的設(shè)計和分析提出了良好的基礎(chǔ)。但是,SeaView模型[11]采用的是 TCB子集架構(gòu)[12],將數(shù)據(jù)庫管理系統(tǒng)與 TCB分開描述,不能滿足當(dāng)今大部分采用可信主體架構(gòu)[12]的商用數(shù)據(jù)庫的形式化分析需求。Li等[13]提出了一種基于Z語言的策略模型形式化方法,并且以BLP模型為例進(jìn)行了驗(yàn)證。Zhu等[14]擴(kuò)展了SeaView模型的客體結(jié)構(gòu),在豐富了客體類型的同時擴(kuò)展了安全屬性,并用 Gallina語言對其進(jìn)行了形式化描述,在Coq定理證明器幫助下對模型進(jìn)行了證明。Sandhu[15]提出了基于角色進(jìn)行訪問控制的RBAC(role-based access control)模型,該模型將權(quán)限與角色相關(guān)聯(lián),通過角色獲取的權(quán)限進(jìn)行訪問控制,極大地簡化了權(quán)限的管理。He等[16]不僅提出了詳細(xì)的安全屬性,還將BLP模型和RBAC模型進(jìn)行了邏輯結(jié)合,采用Z語言對該模型進(jìn)行形式化描述,實(shí)現(xiàn)了多策略的數(shù)據(jù)庫管理系統(tǒng)訪問控制。

上述相關(guān)工作多數(shù)集中于對 DBMS的通用模型部分進(jìn)行研究,其訪問控制粒度較粗,不滿足高等級系統(tǒng)要求;或提出新的數(shù)據(jù)庫安全策略模型,并進(jìn)行形式化分析,沒有考慮數(shù)據(jù)庫系統(tǒng)完整性約束等固有屬性,缺少從實(shí)際數(shù)據(jù)庫系統(tǒng)建立安全策略模型的方法。更加缺少對實(shí)際商用數(shù)據(jù)庫管理系統(tǒng)的安全策略模型進(jìn)行描述和分析。

基于以上原因,本文提出了一種數(shù)據(jù)庫形式化建模和安全性分析方法,該方法建立的模型能夠提供更加完整的安全屬性描述,更加靈活的可擴(kuò)展性,保證了建模和驗(yàn)證的效率,并且應(yīng)用于實(shí)際數(shù)據(jù)庫系統(tǒng),發(fā)現(xiàn)數(shù)據(jù)庫安全功能設(shè)計和實(shí)現(xiàn)中的錯誤和缺陷,驗(yàn)證了其有效性。

3 PVS語言及定理證明器

本文采用了國際上較為流行的 PVS語言和驗(yàn)證工具作為形式化方法的基礎(chǔ)。該系統(tǒng)由斯坦福研究機(jī)構(gòu)開發(fā),包括PVS規(guī)約語言和PVS定理證明器2部分組成:前者基于高階邏輯,具有豐富的數(shù)據(jù)類型系統(tǒng),表達(dá)能力強(qiáng);后者采用目標(biāo)制導(dǎo)的方式工作,即一個證明的構(gòu)造從待證明的定理開始,逐步推理,不斷生成子目標(biāo),直至所有子目標(biāo)均為真。PVS定理證明器擁有強(qiáng)大靈活的命令集。高效的決策過程、高度交互與自動化的定理證明使PVS在當(dāng)今形式化語言中較有優(yōu)勢。

PVS語言不但擁有強(qiáng)有力的推理機(jī)制,而且有豐富的表達(dá)手段,目前已在很多領(lǐng)域得到應(yīng)用。典型應(yīng)用包括:我國國內(nèi)可信電子電力系統(tǒng)的建模與證明、軌交控制系統(tǒng)的SCADE開發(fā)和國際上NASA的對基于時間觸發(fā)以太網(wǎng)的時鐘同步協(xié)議的形式化驗(yàn)證等。

4 安全策略形式化描述方法

國標(biāo)GB17859-1999[1]中指出:為了滿足結(jié)構(gòu)化保護(hù)系統(tǒng)功能的安全性要求,安全策略模型的形式化應(yīng)該至少包含自主訪問控制和強(qiáng)制訪問控制。因此,以BeyonDB系統(tǒng)對BLP模型的實(shí)現(xiàn)為例展示本文的建模方法,流程如圖1所示。為使形式化模型與實(shí)際數(shù)據(jù)庫保持高度的一致性,將形式化安全策略模型的描述和安全性分析分為3個部分。

1) 模型目標(biāo)提取:抽取必要的實(shí)體與操作。

2) 系統(tǒng)狀態(tài)、操作規(guī)則生成與描述:對數(shù)據(jù)庫相關(guān)實(shí)體進(jìn)行分析、描述、綜合生成系統(tǒng)狀態(tài);利用系統(tǒng)狀態(tài)中描述的實(shí)體等內(nèi)容描述操作規(guī)則。

3) 描述安全定義并進(jìn)行安全性分析:描述系統(tǒng)安全定義,對模型進(jìn)行安全分析,交互式證明安全定理。通過安全分析發(fā)現(xiàn)系統(tǒng)安全缺陷,指導(dǎo)修改系統(tǒng)設(shè)計。重復(fù)以上步驟,不斷完善形式化模型。

4.1 模型目標(biāo)提取

對于形式化模型中應(yīng)該具體描述的實(shí)體,抽取途徑主要是通過系統(tǒng)中頂層的訪問控制接口、安全需求以及數(shù)據(jù)庫系統(tǒng)實(shí)際的系統(tǒng)表,采用基于操作接口的目標(biāo)提取方法來獲取描述目標(biāo),即對于一個指定的訪問控制接口,統(tǒng)一以操作者、操作目標(biāo)、操作成功判斷條件的形式對每一個操作接口進(jìn)行描述和分析。如表1所示,在BeyonDB數(shù)據(jù)庫中,根據(jù)實(shí)際操作接口 Insert,結(jié)合實(shí)際存在的系統(tǒng)表iiuser,將操作者抽象為模型中的主體:User;根據(jù)操作的對象實(shí)體表格,抽象出客體:Realtable;同時在實(shí)際的強(qiáng)制訪問控制和自主訪問控制中需要判斷實(shí)關(guān)系表和操作者的標(biāo)簽支配關(guān)系,所以需要對標(biāo)簽(Label)和標(biāo)簽支配判斷函數(shù)(dom?)進(jìn)行描述并定義。按此方法對系統(tǒng)中所有接口進(jìn)行描述,分類總結(jié)出系統(tǒng)的基本元素,為下一步的形式化語言描述提供必要基礎(chǔ)。

圖1 形式化建模與安全分析流程

表1 操作Insert的描述目標(biāo)提取

4.2 系統(tǒng)狀態(tài)生成與描述

完成了上述基于操作接口的目標(biāo)提取后,使用PVS語言對提取出的元素進(jìn)行描述,描述內(nèi)容包括實(shí)體、與數(shù)據(jù)完整性相關(guān)的約束元素、訪問控制相關(guān)元素、系統(tǒng)狀態(tài)、操作規(guī)則。在描述中,為了使形式化模型具有較高的可讀性和驗(yàn)證的效率,充分應(yīng)用 PVS語言中一些內(nèi)置類型、類型構(gòu)造器及函數(shù)。例如采用PVS語言中的集合類型來描述實(shí)體,在判斷某一類型的實(shí)體時,利用PVS語言內(nèi)置函數(shù)member能夠方便判斷某一元素是否存在于某一指定的集合當(dāng)中。如系統(tǒng)狀態(tài),為了快速提取狀態(tài)中某一內(nèi)容,采用記錄類型對狀態(tài)進(jìn)行描述,同時也提高了代碼的可讀性。

4.2.1 實(shí)體描述

1) 主體存在

本文使用集合類型對各類實(shí)體進(jìn)行描述,優(yōu)點(diǎn)是可以直接利用PVS定理證明器內(nèi)置的member和subset函數(shù)來判斷某一個元素是否在一個集合中或一個集合是否是另外一個集合的子集。同時為了增加語言的可讀性和使用的靈活性,采用記錄類型描述所有主體集合(主體存在Subject_Exist),每一類主體集合作為記錄中的一個域,例如 UserExist是主體的集合,RoleExist是角色的集合。主體存在描述具體如圖2所示。

圖2 主體存在描述

2) 主體映射

主體映射描述了數(shù)據(jù)庫中相關(guān)聯(lián)主體間的對應(yīng)關(guān)系,如用戶與組、用戶與輪廓以及用戶與角色等。各類對應(yīng)關(guān)系均采用PVS語言中的函數(shù)類型來描述,如引入函數(shù)類型映射 UsertoType:TYPE=[USER->USER_TYPE]描述用戶到用戶類型,再將各類與主體相關(guān)的函數(shù)映射組織成記錄類型Subject_Map(如圖3所示),Subject_Map的生成為自主訪問控制和強(qiáng)制訪問控制提供了方便的依據(jù)。

圖3 主體映射描述

3) 客體存在

將除數(shù)據(jù)庫客體以外的其他客體分為2類,一類是具有層次結(jié)構(gòu)的客體,如實(shí)關(guān)系表、元組、視圖;另一類是不具有層次關(guān)系的客體,如事件、序列、過程。模型中,將客體組織成如下樹形結(jié)構(gòu),如圖4所示。為了描述數(shù)據(jù)庫中復(fù)雜的客體和繁多的完整性關(guān)系,使用記錄格式ObjectExist描述模型中不同類型的客體,每一類客體集合作為記錄一個域,分別包括數(shù)據(jù)庫、實(shí)關(guān)系表、視圖和元組。

圖4 數(shù)據(jù)庫客體層次結(jié)構(gòu)

4) 客體映射

客體映射是各客體間的層次關(guān)系的抽象描述。通常采用的描述方法是,參照BeyonDB設(shè)計文檔,依據(jù)系統(tǒng)中各類系統(tǒng)表,將相關(guān)系統(tǒng)表關(guān)聯(lián)并抽象定義。例如,將設(shè)計文檔中iintegrity與iikey這2張系統(tǒng)表進(jìn)行關(guān)聯(lián)并抽象,得到關(guān)系表與其引用表的映射 Realtable_Reftable。為方便描述數(shù)據(jù)庫系統(tǒng)的引用完整性這一固有屬性,要對必要的實(shí)體間映射進(jìn)行描述,包括關(guān)系表與被引用表的映射RefTable_RealTable、元組與主鍵的映射Tuple_PKey、元組與外鍵的映射Tuple_FKey??腕w間的映射函數(shù)應(yīng)至少包含上述內(nèi)容,映射關(guān)系如圖5所示。以上映射函數(shù)的描述為下文安全屬性定義提供基礎(chǔ)。

圖5 客體關(guān)系映射

4.2.2 策略相關(guān)元素描述

自主訪問控制和強(qiáng)制訪問控制的形式化證明是國家相關(guān)標(biāo)準(zhǔn)要求中的必要內(nèi)容。以 BeyonDB為例,自主訪問控制通過以下步驟進(jìn)行:首先獲得該用戶擁有的權(quán)限,其次判斷指定權(quán)限是否在其中。按照系統(tǒng)設(shè)計文檔對該步驟進(jìn)行細(xì)化,分別定義主體權(quán)限、客體權(quán)限、數(shù)據(jù)庫權(quán)限。為了滿足系統(tǒng)的可信主體權(quán)限最小化原則,將主體權(quán)限細(xì)分為系統(tǒng)權(quán)限、審計權(quán)限、安全權(quán)限,相應(yīng)定義了用戶到其擁有的不同類型權(quán)限的函數(shù)映射,并組織為記錄類型DAC_Table。強(qiáng)制訪問控制的核心操作是標(biāo)簽支配判斷,首先分別獲得主客體標(biāo)簽,然后進(jìn)行標(biāo)簽對比判斷。由此定義2個函數(shù):主體到主體標(biāo)簽的函數(shù)映射和客體到客體標(biāo)簽的函數(shù)映射。最后,根據(jù)斷言dom?如圖6所示定義來進(jìn)行標(biāo)簽支配判斷(如下規(guī)約描述,返回一個BOOL 類型)。

圖6 dom?規(guī)約描述

同時為了增加系統(tǒng)的靈活性,能夠在會話當(dāng)中動態(tài)調(diào)節(jié)主客體的標(biāo)簽,根據(jù)系統(tǒng)中描述的最低、最高安全等級,最小、最大范疇,定義模型中安全等級范圍和范疇范圍,如圖7所示,均采用記錄類型描述,這樣便于對極限值的獲取。另外,為了記錄登錄用戶和數(shù)據(jù)庫的相關(guān)信息,定義一個會話記錄,通過會話記錄(下面表達(dá)式中的session)可以方便提取與登錄用戶和數(shù)據(jù)庫相關(guān)的內(nèi)容。在安全約束屬性描述中,為了給安全定義中的狀態(tài)屬性的證明提供依據(jù),對當(dāng)前用戶的合法操作進(jìn)行記錄,定義一個記錄類型的動作記錄 Action_ID,再根據(jù)訪問控制不同分別用 Cur_Perms_DAC和 Cur_Perm_MAC 表示記錄的集合。

圖7 級別、范疇規(guī)約描述

4.2.3 系統(tǒng)狀態(tài)描述

一個數(shù)據(jù)庫的系統(tǒng)狀態(tài)應(yīng)該包含所有評估者關(guān)心的數(shù)據(jù),僅對模型各單位元素進(jìn)行描述是不充分的。本文使用記錄類型描述系統(tǒng)狀態(tài) system_state,并將不同類型的實(shí)體、關(guān)系映射、訪問控制等內(nèi)容組織成系統(tǒng)狀態(tài)中的一個域。這樣可以根據(jù)操作的需要從系統(tǒng)狀態(tài)中提取出相關(guān)的信息。system_state通過具體操作、安全屬性集合及實(shí)體關(guān)系集合進(jìn)行獲取生成,具體算法如下。

系統(tǒng)狀態(tài)獲取算法

算法GetSystemState

輸入:操作集合OPERATIONS ,安全屬性集合INVARIANTS,實(shí)體或關(guān)系集合VARS

輸出:系統(tǒng)狀態(tài)SYSTEM_STATE

4.2.4 操作規(guī)則

操作規(guī)則(operation rules)描述了模型是如何具體實(shí)施安全策略的,揭示了2個連續(xù)狀態(tài)的狀態(tài)轉(zhuǎn)換過程中狀態(tài)變量之間的關(guān)系。針對不同操作,操作規(guī)則包括操作發(fā)生條件與操作執(zhí)行影響 2部分。操作發(fā)生條件即操作成功判斷條件,如強(qiáng)制訪問控制的標(biāo)簽支配判斷、自主訪問控制授權(quán)檢查。操作執(zhí)行影響主要描述的是操作執(zhí)行后系統(tǒng)狀態(tài)變量的改變。操作規(guī)則的產(chǎn)生是將操作判斷條件和操作執(zhí)行后系統(tǒng)狀態(tài)變量的改變進(jìn)行邏輯組合,具體算法如下所示。

操作規(guī)則生成算法

算法 Operation Rules Generation

輸入:系統(tǒng)狀態(tài)SS0,基于操作接口的目標(biāo)提取方法中的各項(xiàng)操作成功判斷條件的邏輯與集合CONS,初始操作規(guī)則序列Rules

輸出:操作規(guī)則序列Rules

5 形式化策略模型安全分析

5.1 安全定義

在國標(biāo)[1]對第四級的信息系統(tǒng)明確要求了自主訪問控制和強(qiáng)制訪問控制,此外針對不同的信息系統(tǒng),還有其他特別的安全需求。對具體的數(shù)據(jù)庫系統(tǒng)來說,安全屬性的定義應(yīng)該從2個方面進(jìn)行該考慮,首先是為滿足國家標(biāo)準(zhǔn)的安全屬性內(nèi)容,主要是以經(jīng)典安全策略模型作為基礎(chǔ)(自主訪問控制、強(qiáng)制訪問控制);其次是針對不同系統(tǒng)的具體安全需求。例如,數(shù)據(jù)庫需要添加的固有的一些安全屬性(如實(shí)體完整性、引用完整性、用戶自定義完整性)。通過將要求的安全需求內(nèi)容與實(shí)際系統(tǒng)安全需求內(nèi)容結(jié)合定義出多條安全屬性。在安全屬性基礎(chǔ)之上,根據(jù)形式化驗(yàn)證目標(biāo)將不同安全屬性通過PVS中的邏輯運(yùn)算符“and”進(jìn)行連接來定義狀態(tài)安全,如圖8所示。具體地,針對BeyonDB,本文將數(shù)據(jù)庫安全屬性分為6條,包括主體標(biāo)簽支配會話標(biāo)簽,客體間標(biāo)簽支配(關(guān)系標(biāo)簽支配數(shù)據(jù)庫標(biāo)簽,元組標(biāo)簽支配關(guān)系標(biāo)簽),自主訪問控制,簡單安全,*安全以及引用安全屬性。

圖8 安全定義與安全性分析

安全屬性1(主體標(biāo)簽支配):會話的發(fā)起者即當(dāng)前用戶必須支配當(dāng)前會話的安全標(biāo)簽。

圖9 主體標(biāo)簽支配描述

安全屬性2(客體間標(biāo)簽支配):為了達(dá)到更細(xì)粒度的標(biāo)簽控制,需要滿足以下條件:關(guān)系的安全等級支配其所屬數(shù)據(jù)庫的安全等級;元組的安全等級支配其所屬的實(shí)關(guān)系表的安全等級(如圖10所示)。

圖10 客體標(biāo)簽支配描述

安全屬性 3(自主安全):根據(jù) cur_perms_DAC,如果當(dāng)前用戶對某些客體進(jìn)行過操作合法,那么該用戶必然是當(dāng)前客體的屬主或者對該客體具有相應(yīng)的客體權(quán)限(如圖11所示)。

圖11 自主安全描述

安全屬性4(引用完整性):數(shù)據(jù)完整性對數(shù)據(jù)庫來說至關(guān)重要,數(shù)據(jù)庫中的數(shù)據(jù)是否滿足完整性關(guān)系到其能否真實(shí)反映出現(xiàn)實(shí)世界,能否在數(shù)據(jù)庫中保護(hù)數(shù)據(jù)的正確性、有效性和相容性。尤其對于引用完整性,BeyonDB系統(tǒng)中采用了3種不同的策略,級聯(lián)刪除、受限刪除、置空刪除??梢愿鶕?jù)需要采用不同的默認(rèn)策略,這里限于篇幅原因描述受限刪除時的系統(tǒng)引用完整性如圖12所示,要求某一元組的外鍵要么全空,要么全部非空(此種情況必定存在相應(yīng)的一個被引用的表的元組,使其主鍵等于該元組的外鍵并且安全等級應(yīng)該支配被引用表的安全等級)。

圖12 引用完整性描述

安全屬性5(簡單安全性):根據(jù)具體的數(shù)據(jù)庫的要求將BLP模型調(diào)整為:如果一個用戶對某客體進(jìn)行了讀的操作,那么當(dāng)前用戶的安全標(biāo)簽應(yīng)該支配該客體的安全標(biāo)簽從而達(dá)到不上讀的要求(如圖13所示)。

圖13 簡單安全性描述

安全屬性 6(*安全性):如果一個用戶對某客體進(jìn)行了寫操作,那么該客體的安全標(biāo)簽一定支配當(dāng)前用戶的安全標(biāo)簽以達(dá)到不下寫的安全要求,如圖14所示。

圖14 *安全

5.2 安全性分析

僅僅定義出模型的各種元素是不充分的,必須對模型進(jìn)行形式化的分析,即驗(yàn)證模型描述的系統(tǒng)的安全性,系統(tǒng)處于安全的狀態(tài)。

因此系統(tǒng)狀態(tài)安全定義應(yīng)該是上述安全屬性、數(shù)據(jù)庫特有屬性約束和類型約束的組合。形式化定義如圖15所示。

圖15 形式化定義

該安全定義是以PVS斷言的and連接生成,可以靈活地添加各類數(shù)據(jù)庫屬性作為安全狀態(tài)的描述。由于 PVS能夠?qū)σ炎C明的片段進(jìn)行保存,并可將已存的證明片段用于整體的證明過程。故以該方式定義的狀態(tài)安全在保證不影響已分析過的內(nèi)容的同時,增加新的安全斷言,從而使建模和分析的效率更高。

本文提出的安全性分析的思路是:首先使用do_init 函數(shù)對系統(tǒng)狀態(tài)進(jìn)行初始化,得到初始狀態(tài) init_ss0,然后根據(jù)狀態(tài)安全定義 State_Safe?分析初始狀態(tài) init_ss0是否為安全狀態(tài);然后,根據(jù)狀態(tài)安全的定義判斷任意狀態(tài) SS0是否安全,如果SS0安全則通過狀態(tài)轉(zhuǎn)移規(guī)則函數(shù)對SS0進(jìn)行操作得到狀態(tài)SS1,則SS1也是安全的;重復(fù)上述操作直至所有可達(dá)狀態(tài)判斷完畢,如果所有可達(dá)狀態(tài)都是安全的那么數(shù)據(jù)庫系統(tǒng)就是安全的。由此,需要的安全定理包括:初始狀態(tài)安全定理和狀態(tài)轉(zhuǎn)換安全定理。

初始狀態(tài)安全定理 系統(tǒng)進(jìn)行初始化操作后得到的狀態(tài)滿足安全狀態(tài)的定義。即要證明的基本安全定理如圖16所示。

圖16 初始狀態(tài)安全定理

狀態(tài)轉(zhuǎn)換安全定理 針對每一個操作,都應(yīng)保證對于一個安全狀態(tài)進(jìn)行操作OP之后得可達(dá)狀態(tài)仍然是安全的。即操作運(yùn)行之前處于安全狀態(tài)操作運(yùn)行之后仍然處與安全狀態(tài)。

表達(dá)式為:狀態(tài)SS0安全and操作OP則可達(dá)狀態(tài)SS1也安全。即需要證明的狀態(tài)轉(zhuǎn)換安全定理如圖17所示。

圖17 安全定理

若能夠證明 InitialSafe和任意操作后的SecurityTheorem則系統(tǒng)就是安全的。本文采用PVS交互式證明對如上2個定理進(jìn)行證明。并且發(fā)現(xiàn)了BeyonDB的一些缺陷。

在安全證明中,通常情況下很難一次證明成功,下面結(jié)合一些例子,舉出3類典型的錯誤原因。

原因一:模型與設(shè)計不統(tǒng)一,如 BeyonDB中要求一張引用表只能應(yīng)用到一張被引用表,則在形式化描述模型中引用表到被引用的映射關(guān)系(單向)則應(yīng)該是一對一的關(guān)系。如果遇到此類問題,需要檢查描述的模型,將模型與系統(tǒng)的實(shí)際設(shè)計嚴(yán)格對應(yīng),防止不一致的問題發(fā)生。

原因二:模型未消除設(shè)計中的二義性,模型內(nèi)部存在矛盾和不一致性。如模型變量需要常量化時,需要保證該常量符與其他位置同一變量的常量符一致。這種問題的發(fā)生是因?yàn)閷VS證明機(jī)制沒有清楚了解,所以針對證明過程中使用的命令,需要明確命令的證明過程,尤其涉及到變量常量化的命令。

原因三:模型與設(shè)計相符,且描述方面沒有問題,仍然無法證明,則發(fā)現(xiàn)了系統(tǒng)設(shè)計中的確存在缺陷。

5.3 系統(tǒng)存在缺陷

將本文提出的方法對實(shí)際的商用數(shù)據(jù)庫BeyonDB進(jìn)行分析,發(fā)現(xiàn)其一些典型的問題,并給而解決方案(如表 2所示),此時需要在系統(tǒng)中進(jìn)行試驗(yàn)確定系統(tǒng)漏洞,從而發(fā)現(xiàn)實(shí)際系統(tǒng)的安全缺陷,指導(dǎo)修改系統(tǒng)設(shè)計。

發(fā)生問題的主要類型有:系統(tǒng)設(shè)計本身不完整;操作執(zhí)行時不滿足安全屬性。

1) 策略設(shè)計不完整:制定策略時,忽略一些細(xì)節(jié),尤其像對 procedure這種實(shí)體進(jìn)行操作時容易出現(xiàn)問題。因?yàn)?procedure實(shí)體涉及到若干個不同安全等級的客體,如果僅僅考慮用戶主體安全標(biāo)簽與 procedure安全標(biāo)簽的標(biāo)簽支配是不充分的。例如一個低等級用戶的安全標(biāo)簽等級支配 procedure的安全標(biāo)簽等級,系統(tǒng)中要求執(zhí)行者具有exec的權(quán)限。不關(guān)注用戶和所有涉及其他客體等級支配關(guān)系。當(dāng) procedure中包含高于用戶等級的客體時,用戶執(zhí)行該procedure,則低安全等級用戶間接訪問了高安全等級的客體,在操作執(zhí)行后會對操作所涉及的所有客體進(jìn)行記錄,記錄(exec,object1),(exec,object2)等。在進(jìn)行安全證明時,如果低等級用戶“讀”訪問了高安全等級的客體object1,則證明無法通過簡單安全屬性,返回系統(tǒng),修改系統(tǒng)策略,要求在執(zhí)行 procedure的過程中,用戶的標(biāo)簽安全等級需要支配 procedure所包含的所有客體的安全等級。

2) 實(shí)體設(shè)計不完整:設(shè)計系統(tǒng)實(shí)體時,存在安全隱患。當(dāng)一個表格在沒有設(shè)置主鍵的情況下,允許插入內(nèi)容完全相同的記錄,且沒有序列號區(qū)分,例如安全等級為L1的用戶創(chuàng)建一個等級為L1的表格T1,插入一條等級為L1的元組R1,并且對該元組執(zhí)行了 select操作,系統(tǒng)會記錄該操作(select,R1)。然后提高了用戶自身的等級為L2,并且向L1表中插入等級為L2的相同內(nèi)容元組R1',此時當(dāng)系統(tǒng)進(jìn)行證明時,當(dāng)遇到相同內(nèi)容不同等級的R1和R1'時,無法進(jìn)行判斷,不滿足簡單安全屬性。為了更加符合數(shù)據(jù)庫的完整性要求,所以在沒有主鍵的數(shù)據(jù)庫表格中系統(tǒng)要默認(rèn)插入一列ID,不允許相同內(nèi)容的元組存在。

3) 策略執(zhí)行不滿足安全屬性:策略設(shè)計本身沒有問題。但是需要一定的前提條件,必須在滿足前提條件的情況下才滿足安全屬性。

a) 表級、行級開關(guān):在BeyonDB中為了增加系統(tǒng)的靈活性,所以設(shè)置了表級還有行級的不同粒度的強(qiáng)制訪問控制開關(guān)。如果只開啟表級的強(qiáng)制訪問控制開關(guān)未開啟行級訪問控制開關(guān),如果一位支配表級安全標(biāo)簽等級的主體用戶就可以訪問該表的所有記錄,包含行級安全等級高于用戶的記錄。給出的解決方法是:表級、行級強(qiáng)制訪問控制開關(guān)必須同時開啟。

b) 在會話中,允許用戶修改會話標(biāo)簽,用戶安全標(biāo)簽修改后,則操作記錄中的部分記錄會違背安全屬性。比如用戶對客體O進(jìn)行了讀操作(用戶安全標(biāo)簽等級支配 O),若該用戶提高了自身的安全標(biāo)簽等級且支配O,則不滿足“簡單安全屬性”和“星”安全屬性。給出的解決方法是:在會話過程中不允許用戶修改安全標(biāo)簽。

表2 錯誤類型以及系統(tǒng)缺陷

5.4 方法對比

本文提出的方法與以往方法比較,描述的粒度是記錄級別,并且給出了數(shù)據(jù)庫固有的完整性方面的約束,并給出證明;沒有采用 TCB子集架構(gòu),這樣更符合商用數(shù)據(jù)庫可信系統(tǒng)的要求。將本文方法與其他方法在實(shí)際系統(tǒng)相符性、安全屬性完整性、可擴(kuò)展性、建模與驗(yàn)證效率等幾個方面進(jìn)行比較,如表3所示。

表3 方法對比

與實(shí)際系統(tǒng)設(shè)計相符性:提供了通過系統(tǒng)的變量以及系統(tǒng)表等內(nèi)容獲得實(shí)體與關(guān)系的方法,不僅僅局限于訪問控制的理論模型,而是將實(shí)際系統(tǒng)的設(shè)計細(xì)節(jié)反映在模型中,如針對客體定義Owner獲取客體的屬主,定義ProcedureToObject描述過程與客體的映射,定義Tuple_Fkey描述客體元組到外鍵的映射。針對主體,定義UserToRole,UserToGroup來描述用戶到角色,用戶到群組的映射??紤]實(shí)際操作系統(tǒng),定義出更加詳細(xì)的內(nèi)容。因此實(shí)用性更強(qiáng),這是傳統(tǒng)理論模型分析方法中[7]并沒有涉及到的內(nèi)容。文獻(xiàn)[7]中只將客體簡單描述為單一客體O_Single并未詳細(xì)的考慮客體間、主體間的詳細(xì)內(nèi)容,僅僅針對DBLP涉及的內(nèi)容進(jìn)行描述,局限性較強(qiáng),并不適合實(shí)際的系統(tǒng)。文獻(xiàn)[16]中只對粗粒度的Database和Table進(jìn)行描述,并未對細(xì)粒度的Tuple等進(jìn)行討論。

安全屬性更加完備:安全屬性除了需要滿足安全測評相關(guān)標(biāo)準(zhǔn)對訪問控制的需求外,還需結(jié)合實(shí)際數(shù)據(jù)庫系統(tǒng),將實(shí)體完整性等考慮在內(nèi),而文獻(xiàn)[16]和文獻(xiàn)[7]并沒有考慮完整性。文獻(xiàn)[7]關(guān)注BLP模型文獻(xiàn)[16]關(guān)注RBAC和BLP模型,僅考慮系統(tǒng)中數(shù)據(jù)的機(jī)密性,忽略數(shù)據(jù)庫完整性。

可擴(kuò)展性:作為結(jié)構(gòu)化建模方法的保證,采用了可擴(kuò)展性的構(gòu)架,在系統(tǒng)狀態(tài)、安全定義、操作描述等方面采用PVS中的邏輯“與”描述使結(jié)構(gòu)相對于其他方法更加易于擴(kuò)展,文獻(xiàn)[16]描述了不同的不變式,但是受到定理證明器的限制無法將不變式進(jìn)行邏輯組合,導(dǎo)致部分不變式需要手工證明。

建模與驗(yàn)證效率:迭代式的建模與證明過程使模型修改容易,迭代代價較小,并且PVS原生工具的支持使本文方法在實(shí)際工程中有更高的效率。其他文獻(xiàn)中,早期是采用手工證明,或者采用Z語言描述,但相應(yīng)證明器不能提供有效的推理支持,所以在大量需要展開的模式時效率非常低,這就要求在模型描述的時候進(jìn)行優(yōu)化,但Z語言描述的模型在修改方面非常困難,故證明的工作量也會增加許多。文獻(xiàn)[7]中指出,當(dāng)展開大量的模式時,定理的證明速度明顯放慢。而文獻(xiàn)[16]中針對部分的不變式無法采用機(jī)器證明,故采用人工證明,大大降低了證明的效率。

綜上,本文方法對于大型復(fù)雜系統(tǒng)在實(shí)際設(shè)計開發(fā)中應(yīng)用,能給與足夠的支持,幫助發(fā)現(xiàn)系統(tǒng)漏洞,指導(dǎo)系統(tǒng)開發(fā)并且在系統(tǒng)安全性建模和驗(yàn)證效率方面都擁有更大優(yōu)勢。

6 結(jié)束語

本文提出了一種數(shù)據(jù)庫形式化安全策略模型建模與分析方法,為當(dāng)前第四級安全數(shù)據(jù)庫管理系統(tǒng)的安全策略模型建模與分析提供參考。該方法基于設(shè)計文檔分析,抽象提取出安全定義和操作規(guī)則:前者體現(xiàn)系統(tǒng)關(guān)鍵安全需求,定義模型中狀態(tài)與狀態(tài)轉(zhuǎn)移間的約束;后者體現(xiàn)實(shí)施安全需求的方式。該方法在 BeyonDB數(shù)據(jù)庫安全策略模型分析中獲得了很好的效果,顯示出該模型安全屬性上的可擴(kuò)展性和靈活性。采用的 PVS 語言以及其原生的定理證明器使該方法效率得到保障,證明該方法具有良好的可行性。

[1] 國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.GB17859-1999計算機(jī)信息系統(tǒng)安全保護(hù)等級劃分準(zhǔn)則[S].北京:中國標(biāo)準(zhǔn)出版社,1999.General Administration of Quality Supervision, Inspection and Quarantine of P.R.C. GB17859-1999 Classified Criteria for Security Protection of Computer Information System[S]. Beijing:Standards Press of China, 1999.

[2] 張敏, 馮登國, 陳馳.基于安全策略模型的安全功能測試用例生成方法[J].計算機(jī)研宄與發(fā)展,2009,46(10):1686-1692.ZHANG M,FENG D G, CHEN C. A security function test suite generation method based on security policy model[J].Journal of Computer Research and Development, 2009, 46(10):1686-1692.

[3] 官尚元,伍衛(wèi)國,董小社.自動信任協(xié)商的形式化描述與驗(yàn)證研究[J].通信學(xué)報,2011,32(3):86-99.GUAN S Y, WU W G. DONG X S. Research on formal description and verification of automated trust negotiation[J]. Journal on Communications, 2011, 32(3):86-99.

[4] LUO X Y, TAN Z, SU K L.A verification approach for web service compositions based on epistemic model checking[J].Chinese Journal of Computers, 2011,34(6):1041-1061.

[5] 肖芳雄, 黃志球, 曹子寧. Web 服務(wù)組合功能與 QoS 的形式化統(tǒng)一建模和分析[J]. 軟件學(xué)報, 2011, 22(11): 2698-2715.XIAO F X, HUANG Z Q, CAO Z N. Unified formal modeling and analyzing both functionality and QoS of Web services composition[J].Journal of Software, 2011, 22(11): 2698-2715.

[6] 陳小峰. 可信平臺模塊的形式化分析和測試[J]. 計算機(jī)學(xué)報, 2009,32(4): 646-653.CHEN X F. The formal analysis and testing of trusted platform module[J]. Chinese Journal of Computers, 2009, 32(4): 646-653.

[7] 何建波, 卿斯?jié)h, 王超. 對一類多級安全模型安全性的形式化分析[J]. 計算機(jī)學(xué)報, 2006, 29(8): 1468-1479.HE J B, QING S H, WANG C. Formal safety analysis of a class of multilevel security models[J]. Chinese Journal of Computers, 2006,29(8): 1468-1479.

[8] 錢振江, 黃皓, 宋方敏. 操作系統(tǒng)形式化設(shè)計與安全需求的一致性驗(yàn)證研究[J]. 計算機(jī)學(xué)報, 2014, 37(5): 1082-1099.QIAN Z J, HUANG H, SONG F M. Research on consistency verification of formal design and security requirements for operating system[J]. Chinese Journal of Computers, 2014, 37(5):1082-1099.

[9] 楊濤, 王永剛, 唐禮勇. 一種實(shí)用動態(tài)完整性保護(hù)模型的形式化分析[J]. 計算機(jī)研究與發(fā)展, 2013, 50(10): 2082-2091.YANG T, WANG Y G, TANG L Y. A practical dynamic integrity protection model[J]. Journal of Computer Research and Development,2013, 50(10): 2082-2091.

[10] BELL D E, LA PADULA L J. Secure computer system: Unified exposition and multics interpretation[R]. MITRE CORP BEDFORD MA, 1976.

[11] LUNT T F, DENNING D E, SCHELL R R,et al. The sea view security model[J]. Software Engineering, IEEE Transactions, 1990,16(6): 593-607.

[12] 張敏, 徐震, 馮登國. 數(shù)據(jù)庫安全[M].北京:科學(xué)出版社, 2005.ZHANG M, XU Z, FENG D G. Database Security[M]. Beijing:Science Press, 2005.

[13] 李麗萍, 卿斯?jié)h,周洲儀. 安全策略模型規(guī)范及其形式分析技術(shù)研究[J]. 通信學(xué)報, 2006, 27(6): 94-101.LI L P, QING S H, ZHOU Z Y. Research on formal security policy model specification and its formal analysis[J]. Journal on communications,2006, 27(6): 94-101.

[14] HONG Z, YI Z, L C Y,et al. Formal specification and verification of an extended security policy model for database systems[A]. Trusted Infrastructure Technologies Conference[C]. 2008. 132-141.

[15] SANDHU R S, COYNE E J, FEINSTEIN H L,et al. Role-based access control models[J]. Computer, 1996, 29(2): 38-47.

[16] HE Y Z, HAN Z, FU H,et al. The formal model of DBMS enforcing multiple security polices[J]. Journal of Software, 2010, 5(5): 514-521.

猜你喜歡
數(shù)據(jù)庫用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 9啪在线视频| 曰AV在线无码| 韩日无码在线不卡| 91午夜福利在线观看| 久久婷婷五月综合97色| AV片亚洲国产男人的天堂| 欧美日韩在线成人| 国产免费人成视频网| 亚洲床戏一区| 91人妻日韩人妻无码专区精品| 日韩黄色精品| 日韩麻豆小视频| 国产成人亚洲精品蜜芽影院| 国产一级视频久久| 成人午夜在线播放| 中文字幕在线视频免费| 国产精品视屏| 亚洲精品第一页不卡| 操国产美女| 免费 国产 无码久久久| 日本午夜精品一本在线观看| 亚洲天堂网在线播放| 国产精品页| 亚洲中文在线看视频一区| 久视频免费精品6| 色悠久久久| 国产精品三级专区| 久久精品免费国产大片| 中日无码在线观看| 3D动漫精品啪啪一区二区下载| 国产香蕉在线视频| 好吊妞欧美视频免费| 精品夜恋影院亚洲欧洲| 91免费精品国偷自产在线在线| 亚洲美女高潮久久久久久久| 国内毛片视频| 亚洲综合激情另类专区| 在线看AV天堂| 久久久久中文字幕精品视频| 久久久久国产一级毛片高清板| 中文成人在线| 自拍偷拍欧美日韩| 五月婷婷欧美| 亚洲中久无码永久在线观看软件 | 国产麻豆精品在线观看| 一级毛片在线播放| 一级毛片中文字幕| 国产在线观看精品| 看你懂的巨臀中文字幕一区二区| 欧美日韩在线第一页| 91久久精品国产| 国产国模一区二区三区四区| 一区二区三区四区精品视频| 五月天在线网站| 手机精品视频在线观看免费| 国产精品手机视频| 久久精品嫩草研究院| 伊人成人在线| 国产一级毛片在线| 亚洲国产中文欧美在线人成大黄瓜| 青青草原国产免费av观看| 女人一级毛片| 日本91视频| 免费a在线观看播放| 91久久国产成人免费观看| 亚洲欧洲天堂色AV| 午夜国产精品视频| 欧美在线观看不卡| 秋霞国产在线| 最近最新中文字幕在线第一页| 精品剧情v国产在线观看| 狠狠v日韩v欧美v| 亚洲午夜18| 九九免费观看全部免费视频| 国产毛片高清一级国语 | 亚洲无码精品在线播放| 亚洲热线99精品视频| 一级毛片a女人刺激视频免费| 久久精品国产精品青草app| 看看一级毛片| 久久综合激情网| 乱系列中文字幕在线视频|