專利名稱:一種計算機系統(tǒng)安全模型驗證方法
技術(shù)領域:
本發(fā)明屬于操作系統(tǒng)安全技術(shù)領域,具體涉及一種計算機系統(tǒng)安全模型驗證方法。
背景技術(shù):
隨著計算機技術(shù)和通信技術(shù)的迅速發(fā)展以及用戶需求的不斷增加,計算機操作系統(tǒng)作為各類應用的底層軟件,人們對其依賴程度越來越高。然而,人們在享受計算技術(shù)以及隨之伴生的網(wǎng)絡通信技術(shù)帶來的強大功能以及便利的同時,也面臨著日益嚴峻的信息安全形勢。在系統(tǒng)設計階段引入安全模型,可以從根源上杜絕因設計缺陷而留給黑客們的可乘之機,因此如何驗證計算機系統(tǒng)所采用的安全模型是否正確就成為目前計算機安全領域的研究熱點。而形式化技術(shù)更因為其能對模型的正確性加以證明而得到了重點的關(guān)注 (參考發(fā)明名稱基于模型轉(zhuǎn)換的協(xié)議正確性驗證和測試方法,專利號ZL 200510002613. X的專利技術(shù)文獻,以及發(fā)明名稱一種規(guī)范驅(qū)動的網(wǎng)格工作流描述和驗證方法,專利號 ZL200510027785. 2)。一般來說,對安全模型進行屬性驗證主要分為兩個步驟第一步先將安全模型和待驗證屬性用一種形式化語言抽象成特定輸入模型;第二步則對輸入模型進行分析,驗證屬性與模型之間的一致性。目前出現(xiàn)的安全模型驗證方法(參考發(fā)明名稱用于驗證電路的模型檢測中的模型抽象方法及其系統(tǒng),申請?zhí)?00910083790. 3的專利技術(shù)文獻)可以分為以下幾類第一類采用可視化約束或圖形變換等技術(shù)來描述安全模型和待驗證屬性,再利用專門開發(fā)的驗證工具進行驗證。這種方法利用人對直觀圖像的敏銳性,以可視化視圖的方式將安全模型的行為呈現(xiàn)出來,然而,該方法對安全模型的描述能力有限,驗證不同的屬性就需要重新建模,工作量很大,此外驗證算法的效率低下也阻礙了該方法的普及。第二類方法利用模型檢測器的輸入語言對安全模型建模,再通過模型檢測器進行驗證。這種方法試圖利用成熟的模型檢測自動化分析工具對安全模型進行分析,然而它的建模方式全憑驗證人員手工完成,這要求對模型檢測技術(shù)非常熟悉,否則稍微的疏忽都會導致構(gòu)造的模型發(fā)生狀態(tài)爆炸的問題。第三類方法利用開發(fā)人員熟悉的UML語言對安全模型進行描述, 這種方法目前只能構(gòu)造安全模型的靜態(tài)結(jié)構(gòu),無法反映安全模型的動態(tài)屬性,而其當前所采用的驗證工具也缺乏對安全模型的時序行為進行判定??紤]到安全模型設計、驗證在計算機軟件工程中的的實際應用背景,安全模型的驗證方法應該選取軟件開發(fā)人員所熟悉的模型描述方法,并采用具有一定自動化程度的形式化工具,建立相應的安全模型驗證方法,我們在第三類的方法上更進一步,提出了一種計算機系統(tǒng)安全模型驗證方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于UML描述語言與模型檢測技術(shù)的計算機系統(tǒng)安全模型驗證方法。針對計算機系統(tǒng)安全模型的靜態(tài)結(jié)構(gòu)與動態(tài)行為,分別引入UML語言的類圖和狀態(tài)機圖對計算機系統(tǒng)安全模型進行描述,之后利用模型轉(zhuǎn)換工具將UML圖轉(zhuǎn)換為模型檢測器的輸入模型,由模型檢測器判斷該模型對安全需求、屬性的滿足性。從而實現(xiàn)安全策略模型與基本安全屬性、需求之間的一致性形式化驗證。本發(fā)明的技術(shù)方案為—種計算機系統(tǒng)安全模型驗證方法,其步驟為DUML建模模塊采用UML描述語言描述計算機系統(tǒng)安全模型的動、靜態(tài)屬性,得到計算機系統(tǒng)安全模型的UML模型;2)將待驗證安全屬性用預定的形式化驗證工具所采用的數(shù)理邏輯公式進行描述;3) UML模型轉(zhuǎn)換模塊將該UML模型轉(zhuǎn)換為該預定形式化驗證工具所能處理的輸入模型;4)該預定形式化驗證工具對該輸入模型進行狀態(tài)遍歷,并計算2)中得到的公式在每個狀態(tài)上的滿足性,輸出驗證結(jié)果。所述UML模型包括訪問發(fā)起機構(gòu)和仲裁機構(gòu);所述訪問發(fā)起機構(gòu)采用UML描述語言的一狀態(tài)機圖描述所述計算機系統(tǒng)安全模型中主體對客體提出訪問要求;所述仲裁機構(gòu)采用UML描述語言的一狀態(tài)機圖依據(jù)所述計算機系統(tǒng)安全模型的安全策略來對所述計算機系統(tǒng)安全模型中主體提出的訪問要求進行仲裁。所述訪問發(fā)起機構(gòu)采用UML描述語言的一狀態(tài)機圖描述所述計算機系統(tǒng)安全模型中主體對客體提出訪問要求的方法為所述訪問發(fā)起機構(gòu)首先經(jīng)初始化確定主體s客體 O的安全級別以及主體對客體的訪問方式a ;然后向?qū)⒃L問申請(S,O, a)交由所述訪問仲裁機構(gòu)進行仲裁,若批準,則實施狀態(tài)遷移,進入下一個系統(tǒng)狀態(tài),而無論申請成功與否,都會進入第二次申請,如此循環(huán)。所述仲裁機構(gòu)采用UML描述語言的一狀態(tài)機圖依據(jù)所述計算機系統(tǒng)安全模型的安全策略來對所述計算機系統(tǒng)安全模型中主體提出的訪問要求進行仲裁的方法為所述仲裁機構(gòu)接到所述訪問發(fā)起機構(gòu)的訪問申請后,依據(jù)計算機系統(tǒng)安全模型的訪問控制規(guī)則對申請進行仲裁,并將結(jié)果返回給該訪問申請機構(gòu);所述訪問控制規(guī)則由該仲裁機構(gòu)狀態(tài)機圖中的狀態(tài)轉(zhuǎn)換的守衛(wèi)條件實現(xiàn)。所述狀態(tài)機圖中所涉及到的計算機系統(tǒng)安全模型的元素、屬性由各自所對應的類圖描述;所述類圖用于保存對應狀態(tài)機圖中各個狀態(tài)的屬性并定義可能的行為。所述訪問發(fā)起機構(gòu)的類圖保存了安全模型中所有與主、客體相關(guān)的屬性,以及安全模型的各種敏感級,主體讀過的客體的最高讀敏感級reacLlevel、主體寫過的客體的最高寫敏感級write_level,以及讀申請動作和寫申請動作。所述安全模型為DBLP模型;所述DBLP模型中各種敏感級包括最小可寫敏感級 a_mins、最大可讀敏感級、客體最大敏感級標簽L_min。、客體最小敏感級標簽L_max。 和當前訪問客體的敏感級標簽level。。所述訪問仲裁機構(gòu)的類圖保存了請求批準動作、請求非法動作和仲裁結(jié)束動作。所述預定的形式化驗證工具為模型檢測器;所述模型檢測器為基于線性時態(tài)邏輯的模型檢測器。所述UML模型轉(zhuǎn)換模塊利用形式化的語義轉(zhuǎn)換算法將該UML模型轉(zhuǎn)換為所述模型檢測器所能處理的輸入模型。本發(fā)明結(jié)合計算機系統(tǒng)安全模型一般采用自動機模型的特點,將安全模型分為三個部分安全狀態(tài)集合、安全狀態(tài)遷移集合以及狀態(tài)遷移條件。安全狀態(tài)集合主要包含了一個安全模型中所有能夠到達的狀態(tài)。狀態(tài)遷移集合表示模型所允許的系統(tǒng)從一個安全狀態(tài)遷移到另一個安全狀態(tài)的過程。狀態(tài)遷移條件則用來表明發(fā)生狀態(tài)遷移所必須滿足的約束條件。本發(fā)明將這三部分都用UML語言進行描述,既考慮到了計算機系統(tǒng)安全模型的靜態(tài)結(jié)構(gòu)、層次等問題,也可以處理計算機系統(tǒng)安全模型的動態(tài)特性,如在讀寫操作過程中導致的安全屬性的違反。本發(fā)明方法的框架圖如圖1所示。本發(fā)明方法包含了三個層次計算機系統(tǒng)安全模型的UML描述、UML模型轉(zhuǎn)換和基于模型檢測技術(shù)的模型驗證。計算機系統(tǒng)安全模型的UML描述需要將計算機系統(tǒng)安全模型中所有的狀態(tài)、對狀態(tài)遷移的約束用UML語言重新構(gòu)造;UML模型轉(zhuǎn)換則負責將UML圖形轉(zhuǎn)化為模型檢測器所能接受的輸入模型;最后使用模型檢測器探索所有可能的安全狀態(tài)遷移序列,以發(fā)現(xiàn)是否存在違反安全屬性的狀態(tài)存在。本發(fā)明的具體步驟如下步驟A 計算機系統(tǒng)安全模型的UML建模描述,通過對計算機系統(tǒng)安全模型中安全狀態(tài)等抽象數(shù)據(jù)的實例化,利用UML的類圖、等靜態(tài)視圖對安全模型加以描述;此外,為了描述安全模型的動態(tài)特性,引入UML狀態(tài)機圖,并構(gòu)建安全模型進行訪問仲裁的場景以描述計算機系統(tǒng)安全模型動態(tài)屬性。步驟B:待驗證安全屬性的形式化描述,根據(jù)模型檢測器所采用的描述方式,將待驗證安全屬性描述為時序邏輯公式。步驟C =UML模型轉(zhuǎn)換,對UML模型的語義和模型檢測器輸入語言的語義進行關(guān)聯(lián)分析,得到模型轉(zhuǎn)換的執(zhí)行算法;步驟D 安全模型屬性分析,利用已得到的待驗證安全屬性的時態(tài)邏輯公式和由轉(zhuǎn)換算法得到的安全模型作為模型檢測器的輸入,對模型的屬性滿足性進行分析。模型檢測器會遍歷計算機系統(tǒng)安全模型所有的狀態(tài)以檢查是否存在有違反待驗證屬性的情況。步驟E 結(jié)果輸出,利用以上步驟可以對計算機系統(tǒng)安全模型是否滿足待驗證的安全屬性進行驗證。如果輸出結(jié)果顯示不滿足,該方法會給出違反屬性的具體執(zhí)行路徑;如果輸出結(jié)果顯示滿足,則該安全模型滿足該安全屬性。本發(fā)明的積極效果本發(fā)明采用了軟件開發(fā)人員所熟知的UML語言進行安全模型的建模,可以使開發(fā)人員在系統(tǒng)設計階段及時地對所采用的安全模型進行形式化的驗證,而無需附加的學習成本。此外,由于采用了模型檢測作為驗證手段,和現(xiàn)有方法相比,不僅自動化程度有所提高, 安全模型的驗證能力有了明顯改善,而且可以驗證安全模型在自身結(jié)構(gòu)上的缺陷,同時還可以驗證對于時序?qū)傩缘倪`反情況。
圖1示出了基于UML與模型檢測的安全模型驗證方法的主要框架;圖2示出了主體訪問客體的安全狀態(tài)遷移模式圖3示出了訪問發(fā)起機構(gòu)的狀態(tài)機圖的建模;圖4示出了仲裁機構(gòu)的狀態(tài)機圖的建模;圖5示出了兩個狀態(tài)機圖的類圖建模。
具體實施例方式本發(fā)明的輸入是計算機系統(tǒng)安全模型與待驗證的安全屬性。輸入信息分為兩部分,一部分來源于將在開發(fā)中實施或已經(jīng)實施的計算機系統(tǒng)安全模型,它可以來自任何一個需要安全增強的計算機軟件系統(tǒng)及設備,如主機、服務器、入侵檢測系統(tǒng)、路由器、防火墻等等。對這些設備上的安全機制經(jīng)過形式化抽象、提取后得到的輸入模型都可作為本發(fā)明的輸入信息。另一部分來源于對這些系統(tǒng)、設備的安全需求或應滿足的安全屬性,如機密性、數(shù)據(jù)完整性等。以上信息要求完整全面,信息越完整,驗證結(jié)果越準確。通過對輸入信息的層層處理和分析,最后得到滿足性判定結(jié)果,如不滿足則給出違反屬性的執(zhí)行路徑。下面給出詳細過程。步驟A 計算機系統(tǒng)安全模型的UML建模描述。UML建模模塊對計算機系統(tǒng)安全模型的UML建模,是通過UML視圖的形式全面地描述安全模型的動、靜態(tài)屬性。在安全策略模型中,系統(tǒng)的安全狀態(tài)通常由主體、客體和訪問方式來表述。典型的計算機系統(tǒng)安全模型,如BLP模型是將系統(tǒng)狀態(tài)描述為ν e V,V為系統(tǒng)狀態(tài)集合,V = (b,K,f),其中^(Sxow)表示在某個特定的狀態(tài)下,哪些主體以何種訪問方式訪問哪些客體,S是主體集,0為客體集,A = {read, write, append, execute}是訪問操作集合;K表示訪問控制矩陣,通常由訪問控制規(guī)則得到;f = (level (s), Ievelc(S), Ievel(O)),表示主客體敏感標記函數(shù),level (χ)表示對象χ的敏感級(安全級別), levelc(x)表示對象χ的當前敏感級,χ既可能是主體也可能是客體。由于通常情況下安全模型都是高度抽象的,沒有對系統(tǒng)狀態(tài)等數(shù)據(jù)的基數(shù)作出限定,而模型檢測中有限狀態(tài)機的規(guī)模卻是固定的,因此本發(fā)明方法中,客戶端采用一個UML狀態(tài)機圖來表示模型中主體對客體提出訪問要求,稱為訪問發(fā)起機構(gòu),而服務器端用另一個UML狀態(tài)機圖依據(jù)安全模型的安全策略來對主體提出的訪問要求來進行仲裁,稱為仲裁機構(gòu),狀態(tài)機圖中所涉及到的安全模型的元素、屬性由各自所對應的類圖描述。這種建模方法使得對安全模型動態(tài)特性進行描述成為可能。訪問發(fā)起機構(gòu)和仲裁機構(gòu)的狀態(tài)機圖、以及二者對應的類圖的建模具體步驟如下1)訪問發(fā)起機構(gòu)的狀態(tài)機圖建模。訪問發(fā)起機構(gòu)用于再現(xiàn)主體對訪問權(quán)限的申請過程先經(jīng)初始化以獲得自身的安全級別,然后隨即獲取要訪問的客體以及訪問操作,即確定主體s客體ο的安全級別以及主體對客體的訪問方式a ;接著向仲裁機構(gòu)發(fā)出信號,將訪問申請(s,0,a)交由訪問仲裁機構(gòu)仲裁,若批準,則實施狀態(tài)遷移,進入下一個系統(tǒng)狀態(tài),而無論申請成功與否,都會進入第二次申請,兩次申請的客體及申請權(quán)限都可能不一樣,如此循環(huán)。為了便于描述,我們以BLP 模型的一種改進模型一DBLP模型為待驗證安全模型,待驗證的安全屬性為驗證DBLP模型是否滿足機密性。圖3給出了訪問發(fā)起機構(gòu)狀態(tài)機圖的實例,它是對DBLP安全模型中訪問發(fā)起過程的模擬。由于DBLP在于保護系統(tǒng)的機密性,所以我們在建模實例中發(fā)起了兩次申請先進行讀申請再進行寫申請,視待驗證模型的安全要求不同,對權(quán)限的申請順序可以靈活調(diào)整和增減。2)仲裁機構(gòu)的狀態(tài)機圖建模仲裁機構(gòu)用于依據(jù)模型的安全策略描述以及訪問控制矩陣K對訪問發(fā)起機構(gòu)提出的申請進行仲裁。仲裁機構(gòu)在接到訪問發(fā)起機構(gòu)的訪問申請后,依據(jù)安全模型訪問控制規(guī)則對申請進行仲裁,并將結(jié)果返回給訪問申請機構(gòu)。訪問控制規(guī)則由仲裁機構(gòu)狀態(tài)機圖中的狀態(tài)轉(zhuǎn)換的守衛(wèi)條件實現(xiàn)。圖4給出了 DBLP安全模型的仲裁機構(gòu)狀態(tài)機圖示例,圖中方括號內(nèi)的邏輯公式是UML狀態(tài)機圖的狀態(tài)轉(zhuǎn)換守衛(wèi)條件,也就是DBLP模型的訪問控制規(guī)則。不同的安全模型所對應的守衛(wèi)條件可能不一樣。3)類圖建模類圖用于保存對應狀態(tài)機圖中各個狀態(tài)的屬性并定義可能的行為。我們將系統(tǒng)當前的安全狀態(tài)ν保存在訪問發(fā)起機構(gòu)的類圖中的屬性欄中。圖5給出了 DBLP安全模型的類圖實例,左側(cè)為DBLP模型訪問發(fā)起機構(gòu)的類圖,保存了包括主體最小可寫敏感級a_mins 和最大可讀敏感級;客體最大最小敏感級標簽L_min。和Ljnax。;當前訪問客體的敏感級標簽level。;主體讀/寫過的客體的最高讀/寫敏感級read_level、Write_level。定義的動作有讀申請ReqRead和寫申請ReqWrite。右側(cè)為訪問仲裁機構(gòu)的類圖,僅定義了三個動作請求批準verified、請求非法hvalid和仲裁結(jié)束done。步驟B 待驗證安全屬性的形式化描述。待驗證安全屬性的形式化描述,是將待驗證安全屬性用形式化驗證工具所采用的數(shù)理邏輯公式描述。本發(fā)明方法采用了模型檢測器作為形式化驗證安全模型的工具,模型檢測技術(shù)是基于時態(tài)邏輯的,時態(tài)邏輯分為兩種線性時態(tài)邏輯(LTL)和計算樹時態(tài)邏輯。 由于我們使用的模型檢測器SPIN基于線性時態(tài)邏輯,所以我們采用了 LTL公式從信息流的角度來描述待驗證安全屬性。我們以機密性為例。機密性的目標是為了防止非可信主體將高機密級別的信息泄露給低機密級別的主體。雖然機密性要求任何由高等級向低等級的信息流都不能出現(xiàn),這其中也包括了隱通道在內(nèi),但是,一般來說,安全策略模型旨在控制各類顯式非法信息在非可信主體與客體間傳遞,隱通道并不在其考慮范圍內(nèi)。因此,我們可以用線性時態(tài)邏輯描述機密性要求如下定義readlike =OXS- {True,F(xiàn)alse},判斷主體s是否以只讀操作訪問客體o,如果是則返回True,否則為False ;writelike =OXS- {True, False},判斷主體s是否以只寫操作訪問客體o,如果是則返回True,否則為False ;記s為非可信主體,O(S)表示主體s所訪問過的客體集合,levelc(o)表示客體ο 當前安全敏感標記。那么,機密性要求表示如下
^do1,O2 e O(j) · {readlike(ox) -> Qwritelikeip2 ))八 Ievelc (o2 ) ^ Ievelc (O1)步驟C:UML模型轉(zhuǎn)換。為了使用現(xiàn)有模型檢測工具對安全模型進行屬性驗證,UML模型轉(zhuǎn)換模塊需要將UML視圖(包括狀態(tài)機圖和相應的類圖)翻譯為模型檢測器所能接受的輸入模型。由于我們采用了模型檢測器SPIN對我們構(gòu)建的安全策略模型的UML模型進行安全屬性的驗證。我們需要將UML圖翻譯為SPIN的輸入語言PROMELA。UML的模型轉(zhuǎn)換原理,是利用形式化的語義轉(zhuǎn)換算法,采用PROMELA的進程原語表示UML狀態(tài)機圖,類圖則通過PROMELA 語言中的自定義數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。(參見文獻Alexander Knapp and Stephan Merz. Model Checkingand Code Generation for UML State Machines and Collaborations[R]. In Dominik Haneberg, Gerhard Schellhorn, and Wolfgang Reif, editors, Proc.5th ffsh. Tools for System Design andVerifixation, pages 59-64. Technical Report 2002-11, Institut fiir Informatik, Universitat Augsburg, 2002.)步驟D :安全模型屬性分析。安全模型屬性分析,即利用模型檢測工具對已經(jīng)由UML模型轉(zhuǎn)化而來的安全模型進行狀態(tài)遍歷,并計算在每個狀態(tài)上步驟B中得到的LTL公式的滿足性。如果在遍歷過程中LTL公式恒為真,則模型滿足屬性;若存在使得公式為假的狀態(tài),則模型不滿足屬性。步驟E 結(jié)果輸出。利用以上步驟可以得到安全模型對待驗證安全屬性的滿足情況,結(jié)果輸出或者給出“滿足”信息,或者給出安全模型中存在的違反該屬性的狀態(tài)遷移路徑。該遷移路徑即是模型漏洞的理論再現(xiàn),可以利用對采用該安全模型的實際系統(tǒng)進行漏洞測試及滲透性測
試ο盡管為說明目的公開了本發(fā)明的具體實施例和附圖,其目的在于幫助理解本發(fā)明的內(nèi)容并據(jù)以實施,但是本領域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求的精神和范圍內(nèi),各種替換、變化和修改都是可能的。因此,本發(fā)明不應局限于最佳實施例和附圖所公開的內(nèi)容,本發(fā)明要求保護的范圍以權(quán)利要求書界定的范圍為準。
權(quán)利要求
1.一種計算機系統(tǒng)安全模型驗證方法,其步驟為DUML建模模塊采用UML描述語言描述計算機系統(tǒng)安全模型的動、靜態(tài)屬性,得到計算機系統(tǒng)安全模型的UML模型;2)將待驗證安全屬性用預定的形式化驗證工具所采用的數(shù)理邏輯公式進行描述;3)UML模型轉(zhuǎn)換模塊將該UML模型轉(zhuǎn)換為該預定形式化驗證工具所能處理的輸入模型;4)該預定形式化驗證工具對該輸入模型進行狀態(tài)遍歷,并計算幻中得到的公式在每個狀態(tài)上的滿足性,輸出驗證結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于所述UML模型包括訪問發(fā)起機構(gòu)和仲裁機構(gòu); 所述訪問發(fā)起機構(gòu)采用UML描述語言的一狀態(tài)機圖描述所述計算機系統(tǒng)安全模型中主體對客體提出訪問要求;所述仲裁機構(gòu)采用UML描述語言的一狀態(tài)機圖依據(jù)所述計算機系統(tǒng)安全模型的安全策略來對所述計算機系統(tǒng)安全模型中主體提出的訪問要求進行仲裁。
3.如權(quán)利要求2所述的方法,其特征在于所述訪問發(fā)起機構(gòu)采用UML描述語言的一狀態(tài)機圖描述所述計算機系統(tǒng)安全模型中主體對客體提出訪問要求的方法為所述訪問發(fā)起機構(gòu)首先經(jīng)初始化確定主體s客體ο的安全級別以及主體對客體的訪問方式a ;然后向?qū)⒃L問申請(s,0,a)交由所述訪問仲裁機構(gòu)進行仲裁,若批準,則實施狀態(tài)遷移,進入下一個系統(tǒng)狀態(tài),而無論申請成功與否,都會進入第二次申請,如此循環(huán)。
4.如權(quán)利要求2所述的方法,其特征在于所述仲裁機構(gòu)采用UML描述語言的一狀態(tài)機圖依據(jù)所述計算機系統(tǒng)安全模型的安全策略來對所述計算機系統(tǒng)安全模型中主體提出的訪問要求進行仲裁的方法為所述仲裁機構(gòu)接到所述訪問發(fā)起機構(gòu)的訪問申請后,依據(jù)計算機系統(tǒng)安全模型的訪問控制規(guī)則對申請進行仲裁,并將結(jié)果返回給該訪問申請機構(gòu);所述訪問控制規(guī)則由該仲裁機構(gòu)狀態(tài)機圖中的狀態(tài)轉(zhuǎn)換的守衛(wèi)條件實現(xiàn)。
5.如權(quán)利要求2所述的方法,其特征在于所述狀態(tài)機圖中所涉及到的計算機系統(tǒng)安全模型的元素、屬性由各自所對應的類圖描述;所述類圖用于保存對應狀態(tài)機圖中各個狀態(tài)的屬性并定義可能的行為。
6.如權(quán)利要求5所述的方法,其特征在于所述訪問發(fā)起機構(gòu)的類圖保存了安全模型中所有與主、客體相關(guān)的屬性,以及安全模型的各種敏感級,主體讀過的客體的最高讀敏感級 reacLlevel、主體寫過的客體的最高寫敏感級write_level,以及讀申請動作和寫申請動作。
7.如權(quán)利要求6所述的方法,其特征在于所述安全模型為DBLP模型;所述DBLP模型中各種敏感級包括最小可寫敏感級a_mins、最大可讀敏感級、客體最大敏感級標簽 L_min。、客體最小敏感級標簽L_maX。和當前訪問客體的敏感級標簽level。。
8.如權(quán)利要求5所述的方法,其特征在于所述訪問仲裁機構(gòu)的類圖保存了請求批準動作、請求非法動作和仲裁結(jié)束動作。
9.如權(quán)利要求1所述的方法,其特征在于所述預定的形式化驗證工具為模型檢測器; 所述模型檢測器為基于線性時態(tài)邏輯的模型檢測器。
10.如權(quán)利要求9所述的方法,其特征在于所述UML模型轉(zhuǎn)換模塊利用形式化的語義轉(zhuǎn)換算法將該UML模型轉(zhuǎn)換為所述模型檢測器所能處理的輸入模型。
全文摘要
本發(fā)明公開了一種計算機系統(tǒng)安全模型驗證方法,屬于操作系統(tǒng)安全技術(shù)領域,本發(fā)明的方法為1)ML建模模塊采用UML描述語言描述計算機系統(tǒng)安全模型的動、靜態(tài)屬性,得到計算機系統(tǒng)安全模型的UML模型;2)將待驗證安全屬性用預定的形式化驗證工具所采用的數(shù)理邏輯公式進行描述;3)UML模型轉(zhuǎn)換模塊將該UML模型轉(zhuǎn)換為該預定形式化驗證工具所能處理的輸入模型;4)該預定形式化驗證工具對該輸入模型進行狀態(tài)遍歷,并計算2)中得到的公式在每個狀態(tài)上的滿足性,輸出驗證結(jié)果。本發(fā)明提高了驗證的自動化程度和驗證能力,同時可以驗證安全模型在自身結(jié)構(gòu)上的缺陷以及對于時序?qū)傩缘倪`反情況。
文檔編號G06F21/00GK102194061SQ201010116868
公開日2011年9月21日 申請日期2010年3月2日 優(yōu)先權(quán)日2010年3月2日
發(fā)明者馮登國, 張陽, 程亮 申請人:中國科學院軟件研究所