可信操作系統(tǒng)的設計_第1頁
可信操作系統(tǒng)的設計_第2頁
可信操作系統(tǒng)的設計_第3頁
可信操作系統(tǒng)的設計_第4頁
可信操作系統(tǒng)的設計_第5頁
已閱讀5頁,還剩130頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第5章 可信操作系統(tǒng)的設計 本章要點 什么使得一個操作系統(tǒng)“安全”或者“值得信賴” 如何設計可信系統(tǒng),及在這些設計原則中,有哪些設計準則可以應用于其他程序開發(fā)任務中 我們如何促進對可信操作系統(tǒng)的正確性的保障 如果一個操作系統(tǒng)能夠穩(wěn)定而有效地提供內存保護、文件保護、一般對象的訪問控制、用戶鑒別 4種服務,那么我們就說它是可信的(trusted)。 本章將從設計者的角度來觀察一個可信操作系統(tǒng)的設計以及提供安全服務的組件功能。 本章將討論可信系統(tǒng)的4個主要方面: 策略:操作系統(tǒng)的安全需求是一個被良好定義的、一致且可實現的規(guī)則集,而且這些規(guī)則能被非常清楚并且無二義性地表達出來。為了保證需求是清楚、一致

2、和有效的,操作系統(tǒng)通常會遵循一個預先規(guī)定好的安全策略一個規(guī)則集,它展示了將要保護什么,以及為什么要保護。 模型:設計者通常先為需要保護的環(huán)境構建一個模型,這個模型實際上體現了系統(tǒng)將要實施的策略。設計者將模型和系統(tǒng)需求進行比較,以保證整個系統(tǒng)功能不會因為安全需求的引入而失效或降低。 設計:在確定了一個安全模型之后,設計者開始選擇實現模型的方法。因此,設計包含兩方面的內容:什么是可信操作系統(tǒng)(可信操作系統(tǒng)要實現的功能),以及怎樣去構造(即實現)它。 信任:我們對一個系統(tǒng)的信任基于兩個方面:特征(操作系統(tǒng)包含了實施安全策略所必需的全部功能)和保障(操作系統(tǒng)的實現方式使我們確信它能夠正確有效實施安全策

3、略)。 # 一些安全系統(tǒng)最初就是針對安全需求而設計的,另一些安全系統(tǒng)則是將安全特性加入到現有的操作系統(tǒng)中。兩種方法建立可信操作系統(tǒng)都是可行的。 5.1 什么是可信系統(tǒng) 如果代碼被嚴格地開發(fā)和分析,使我們有理由相信代碼只做其被要求做的,那么我們就說這個軟件是可信軟件(trusted software)。一般來說,可信代碼能夠作為其他不可信代碼的運行基礎。也就是說,不可信系統(tǒng)的質量部分地依賴可信代碼;可信代碼是構建整個系統(tǒng)安全的基礎。特殊的,當我們確信操作系統(tǒng)能夠對運行在它上的組件或系統(tǒng)的訪問進行正確控制,就可以認為它是可信的。5.1 什么是可信系統(tǒng) (續(xù)) 要相信一個軟件,必須對其進行嚴格測試分

4、析,找到某些關鍵特性: 功能的正確性:程序按預期正確執(zhí)行。 保持完整性:即使出現錯誤也能維持與其交互的數據正確。 有限的特權:允許訪問安全數據,但這種訪問是最小化的。 適合的可信級別:根據使用的數據和環(huán)境,對程序進行檢查并給出適當的信任評級。5.1 什么是可信系統(tǒng) (續(xù)) 安全專家喜歡說“可信操作系統(tǒng)”而不是“安全操作系統(tǒng)”??尚挪僮飨到y(tǒng)是指這個系統(tǒng)不但達到了設計時的安全要求,質量很高,而且能證明用戶對系統(tǒng)質量的信任是正確的。也就是信任是由系統(tǒng)的接收者或使用者來體會的,作為用戶,你或許不能夠直接評價一個系統(tǒng)是否值得信任。你可能會相信設計方案,可能會相信專家的評估,也可能相信同事的意見。但最終,

5、還得由你自己來確定所需要的信任度。5.1 什么是可信系統(tǒng) (續(xù)) 信任度非常重要。與安全不同,信任不是一個互斥的概念。信任通常隨著時間的推移而增加,其程度與證據和經歷有關。表 5.1 安全和可信的性質比較5.1 什么是可信系統(tǒng) (續(xù)) 可信操作系統(tǒng)還涉及以下幾個概念: 可信進程(trusted process):能夠影響系統(tǒng)安全的進程,或者說這個進程的不正確執(zhí)行或惡意執(zhí)行會破壞系統(tǒng)安全策略。 可信產品(trusted product):經過評估和認可的產品。 可信軟件(trusted software):系統(tǒng)賴以實施安全策略的軟件部分。5.1 什么是可信系統(tǒng) (續(xù)) 可信計算基(trusted

6、 computing base):計算機系統(tǒng)內所有保護機制的集合,包括硬件、固件和軟件,它們一起對產品或系統(tǒng)實施了統(tǒng)一的安全策略。 可信系統(tǒng)(trusted system):該系統(tǒng)使用了充分的硬件和軟件完整性措施,能夠處理敏感信息。 # 與這些概念相關的概念是: 安全策略實施、足夠的措施和機制、評估。5.2 安全策略 5.2.1 軍事安全策略 軍事安全策略是很多可信操作系統(tǒng)的基礎,而且很容易對其進行精確描述。軍事安全策略(military security policy)是基于保護機密信息的策略。每條信息被標識為一個特定敏感等級,如不保密的、受限制的、秘密的、機密的、絕密的。這些等級構成了一個

7、層次結構。我們用符號rankO表示對象O的敏感度。5.2.1 軍事安全策略(續(xù))圖5.1 敏感度的層次結構5.2.1 軍事安全策略(續(xù)) 我們使用須知(need-to-know)原則來限制訪問:只有那些在工作中需要知道敏感數據的主體才允許訪問相應的敏感數據。每條機密信息都與一個或更多的項目相關,這些項目稱做分隔項(compartments)。分隔項使人們只能訪問那些與他們工作相關的信息,一個分隔項可以屬于一個敏感級也可以屬于多個敏感級。5.2.1 軍事安全策略(續(xù))圖5.2 分隔項和敏感等級# 可以通過指定名字來區(qū)分分隔項。單獨一條信息可以不賦予分隔項名,也可以被賦予一個、兩個或多個,這取決與

8、信息的屬性。5.2.1 軍事安全策略(續(xù))圖5.3 信息與分隔項的聯合5.2.1 軍事安全策略(續(xù)) 的組合被稱為信息片斷的類(class)或分類(classification)。通過以這種方式指定信息,我們就能夠用安全等級和主題來實施須知原則。用戶必須得到許可(clearance)才能夠訪問敏感信息。許可表明可以信賴某人訪問某個級別以下的敏感信息,以及此人需要知道某些類的敏感信息。我們用組合來表示對主體的許可。5.2.1 軍事安全策略(續(xù)) 由此,我們可以建立在敏感對象和主體集合上,稱為支配(dominance)的關系“”。對于一個主體s和一個對象o: 一個主體可以讀一個對象,如果: (1)

9、 主體的許可等級至少和訪問信息的敏感等級一樣高; (2) 主體需要知道該信息分類時涉及的所有分隔項。 5.2.1 軍事安全策略(續(xù)) 軍事安全同時實施了敏感度要求和須知要求。我們知道,敏感度是層次化(hierarchical)的要求,因為它們反映了敏感等級層次結構;而須知限制是非層次化(nonhierarchical)的,因為分隔項不需要表現為一個層次結構。許可和分類通常由一些稱為安全職員的人控制,而并不是個人能夠隨意改變的。這個策略非常適合通過權威中心進行嚴格訪問控制環(huán)境。5.2.2 商業(yè)安全策略 商業(yè)企業(yè)也非常關心安全問題。因此,即使商業(yè)界不像軍事領域那樣嚴格苛刻和層次化,在商業(yè)安全策略中

10、仍然會發(fā)現許多與軍事策略相同的概念。分屬不同部門的數據項也具有不同的敏感度,例如,公共的、專有的或內部的。當然,這里并沒有一個通用的層次結構。我們可以假設公共信息不如專有信息敏感,而專有信息又不如內部信息敏感。 5.2.2 商業(yè)安全策略 (續(xù))圖5.4 敏感信息的商業(yè)觀點5.2.2 商業(yè)安全策略 (續(xù)) 商業(yè)信息安全和軍事信息安全有兩個很顯著的區(qū)別。 (1) 商業(yè)與軍事不同,通常沒有正式的“許可”概念;從事商業(yè)項目的人不需要得到中心安全職員的正式批準就可以訪問項目。典型的,在允許一個雇員訪問內部數據之前不需要對其授予不同的信任度。 (2) 由于沒有正式的“許可”概念,所以允許訪問的規(guī)則不太規(guī)范

11、。 因此,對于大多數商業(yè)信息訪問不存在一個支配函數,因為沒有正式的“商業(yè)許可”概念。 5.2.2 商業(yè)安全策略 (續(xù)) 前面的討論主要集中在機密性問題上。然而,完整性和可用性在許多情況下和機密性至少是同等重要的。通過下面的幾個例子探討完整性。 (1) Clark-Wilson商業(yè)安全策略 Clark和Wilson為他們所稱的良構事務(well-formed transactions)提供了一個策略。為了明白其中的原因,考慮這樣一個例子:一家公司預定貨物,然后付款。典型的流程如下: 5.2.2 商業(yè)安全策略 (續(xù)) (A) 采購員先做一張貨物訂單,并把訂單同時發(fā)給供貨方和收貨部門。 (B) 供貨

12、方將貨物運到收貨部門。收貨部門的接收員檢查貨物,確保收到貨物的種類和數量是正確的,然后再送貨單上簽字。再將送貨單和原始訂單交給會計部門。 (C) 供貨方將發(fā)票送到會計部門。會計人員將發(fā)票同原始訂單進行校對(校對價格和其他條款)并將發(fā)票同送貨單進行校對(校對數量和品種),然后開支票給供貨方。 5.2.2 商業(yè)安全策略 (續(xù)) 在大多數實例中,訂單和送貨單都需要有某個授權的人員來簽訂。委任專人按順序準確執(zhí)行以上步驟,就構成了一個良構事務。Clark-Wilson策略的目標是使內部數據與其外部(用戶)期望保持一致。Clark和Wilson用約束數據項(constrained data item)來表

13、達他們的策略,受約束數據項由轉變程序(transformation procedure)進行處理。轉變程序就像一個監(jiān)控器,對特定種類的數據項執(zhí)行特定的操作,確認特定操作已經執(zhí)行來維持數據項的完整。Clark和Wilson將這個策略定義為訪問三元組(access triple):userID,TPi,CDIj,CDIk, ,通過它將轉變程序、一個或多個受約束數據項以及用戶識別結合起來,其中用戶是那些已被授權且以事務程序的方式操作數據項的人。 5.2.2 商業(yè)安全策略 (續(xù)) (2) 職責分離 還是上面的那個訂貨的例子,我們希望建立一個策略,這個策略能夠明確規(guī)定三個不同的人分別發(fā)送訂單、接收貨物和

14、開支票,這種需求被稱做職責分離(separation of duty)。由于訪問三元組是“無狀態(tài)的”,無法實現職責分離,但如果將它作為一個策略需求表述出來,上述限制是容易實現的。 5.2.2 商業(yè)安全策略 (續(xù)) (3) 中國墻安全策略 Brewer和Nash定義了一個名為中國墻(Chinese Wall)的安全策略,用于反映商業(yè)信息訪問保護中的利益沖突問題。 安全策略建立在三個抽象等級上。 (A) 對象:位于最低等級,比如文件。每個文件只包含一家公司的信息。 (B) 公司群體:位于第二個等級,由與一家特定公司相關的所有對象組成。 (C) 沖突類:位于最高等級,相互競爭的公司的所有對象聚集。5

15、.2.2 商業(yè)安全策略 (續(xù)) 假設一家廣告公司,存儲了巧克力公司Suchard和Cadbury,銀行 Citicorp、Deutsche Bank和Credit Lyonnais,以及航空公司 SAS的數據。廣告公司希望其雇員不能從這些信息中牟利。運用中國墻等級結構形成三個沖突類:Suchard,Cadbury,Citicorp,Deutsche Bank,Credit Lyonnais和SAS。這個結構可以導出一個簡單控制策略:如果被訪問的對象所屬的公司群體中的某個對象已被訪問過,或者這個對象所屬的沖突對象從未被訪問過,那么就允許訪問該對象。5.2.2 商業(yè)安全策略 (續(xù))圖5.5 中國墻

16、安全策略5.2.2 商業(yè)安全策略 (續(xù)) 中國墻策略在商界中是非常有名的機密策略。中國墻策略注重完整性。它的訪問許可可以動態(tài)變化:當一個主體訪問某些對象后,就不能夠訪問先前可以訪問的這一類中的其他對象了。5.3 安全模型 我們常常用模型來描述、研究或者分析一個特定的情況或者關系。 Mclean給出了安全模型的一個良好概述。安全模型用于: (1) 檢測一個特定策略的完善性和一致性。 (2) 對策略進行驗證。 (3) 有助于構思和設計一個實現。 (4) 檢測一個實現是否滿足需求。 安全需求是由策略決定的,而模型僅僅是實施策略的一種機制。 5.3.1 多級安全 在理想情況下,我們希望建立一個模型能夠

17、表示一系列的敏感度,同時能夠反映這樣一個需求,即將主體同它們不能訪問的對象嚴格地隔離開。這種一般化的模型被稱為安全性的格模型(lattice model),因為它的元素構成了一種被稱為格的數學結構。 5.3.1 多級安全 (續(xù)) 格是通過關系運算符(relational operator)來組織元素的一種數學結構。用符號“”或“”來表示這種關系。當元素之間有傳遞關系和反對稱關系時,該關系稱為偏序(partial ordering)。也就是對于任意三個元素a ,b和c有: 傳遞性:若ab且bc,則ac 反對稱性:若ab且ba,則a=b 在一個格中并不需要任意兩個元素都可以比較。但是每個元素都應該

18、有個上界。也就是說即使a和b沒有可比性,也存在一個上界元素u,使得au和bu。進一步,格中每個元素還應該有一個下界。5.3.1 多級安全 (續(xù))數字60的所有因子構成格。圖 5.6 格的實例5.3.1 多級安全 (續(xù)) 格可以幫助我們描述關系。但是,許多典型的關系都只能表示成半格。在“小于”、“是其子非空集”、“報告于(對于雇員)”或者“是一個后續(xù)”這些關系中,都有一個唯一的上界(比如,一個共同的祖先),但是可能任何一對元素都沒有一個下界。 5.3.1 多級安全 (續(xù)) 訪問安全的格模型 軍事策略中定義的支配關系“”就是格的關系。格中最大的元素是分類 ,最小的元素是。商業(yè)安全策略中的數據敏感度

19、分為公共的、專用的和內部的,并按自然排序為:公共數據沒有專用數據敏感,而專用數據沒有內部數據敏感,這也構成格。 因為格是遞增順序的一種自然表示,所以被選作安全系統(tǒng)的基礎。敏感等級的格表示被應用于很多計算場合。5.3.1 多級安全 (續(xù)) Bell-La Padula機密模型 Bell-La Padula機密模型的目標是識別出對維持保密性至為重要的允許通信。該模型已經用來定義那些并發(fā)處理不同敏感等級數據的系統(tǒng)安全需求。該模型是軍事安全策略的形式化結果。我們對安全信息流感興趣,是因為它描述了處于不同敏感等級的主體和對象之間可接受的連接。安全等級分析的一個目的是為了構建一個系統(tǒng),此系統(tǒng)能夠對處于兩個

20、不同敏感等級上的數據執(zhí)行并行計算。5.3.1 多級安全 (續(xù)) 系統(tǒng)包含了主體集S和對象集O,S中的每一個主體s和O中的每一個對象o都有一個固定的安全類C(s)和C(o)。安全類按關系“”排序。安全信息流有兩個特性: 簡單安全特性:僅當C(o)C(s),主體 s才可以對于對象o有“讀”訪問權。 *-特性(稱作“開始特性”):對于對象o行使了“讀”訪問權的主體,僅當C(o)C(p),才可能對于對象p有“寫”訪問權。 5.3.1 多級安全 (續(xù)) 解釋 (1) 在軍事模型中,簡單安全特性是說信息接收者的安全等級(許可)不可低于信息的安全等級。 (2) *-特性是說得到某個等級信息的人只能將這條信息

21、傳遞給那些等級不低于這條信息等級的人。 *-特性是用來防止“下寫” (write-down),當一個能夠訪問高級別數據的主體通過“寫”將數據傳遞給低級別對象時便會發(fā)生這種情況。5.3.1 多級安全 (續(xù))圖 5.7 安全信息流# 僅當對較高級別信息有訪問權的主體不傳送任何敏感數據給低級敏感對象時,向下的流才是可接受的。5.3.1 多級安全 (續(xù)) Biba完整性模型 數據的完整性也很重要, Biba定義了“完整性等級”。對象和主體依據一個完整性分類方案來排序,分別用I(s)和I(o)表示。特性為: 簡單安全特性:主體 s能夠修改(有權“寫”)對象o僅當I(s)I(o)。 完整性*-特性:如果主

22、體s有權“讀”具有完整性等級I(o)的對象o,則僅當I(o)I(p)時,s有權“寫”對象p。5.3.1 多級安全 (續(xù)) 解釋 這兩條規(guī)則自然包含對不可信信息的處理情況。一個不可信主體對于對象擁有寫訪問權會降低對象的完整性。類似的,人們有理由懷疑一份依據不確切證據作出的報告。源對象的低完整性意味著對于任何基于它的對象的完整性都很低。5.3.2 安全系統(tǒng)在證明理論模型上的局限 模型對于說明方法的可行性非常有用??紤]一個系統(tǒng)應具有的安全特性,我們希望建立一個模型,能(在系統(tǒng)設計、編碼和測試之前)告訴我們是否能真正獲得這些特性。基于計算理論的模型可以幫助我們回答這些問題。5.3.2 安全系統(tǒng)在證明理

23、論模型上的局限(續(xù)) Graham-Denning模型 Graham-Denning模型對主體集合S,對象集合O,權限集合R和訪問控制矩陣A進行操作。對每一個對象,標明為“擁有者”的主體擁有特殊權限;對每一個主體,標明為“控制者”的另一個主體也擁有特殊權限。 在Graham-Denning模型中,有8種基本的保護權。這些權限被表示為主體能夠發(fā)出的命令,作用于其他主體或對象。 這實際給出一個保護系統(tǒng)的訪問控制機制模型所必需的特性。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) (1) 創(chuàng)建對象:允許主體引入新對象。 (2) 創(chuàng)建主體、刪除對象以及刪除主體:效果與創(chuàng)建或銷毀一個主體或對象相似。

24、(3) 讀訪問權:允許一個主體確定一個主體對一個對象或主體當前訪問權。 (4) 授予訪問權:允許擁有者把對象的任意訪問權交給另一個主體。 (5) 刪除訪問權:允許一個主體刪除另一個主體對一個對象的權限。 (6) 轉移訪問權:允許一個主體把它對對象的權限轉移給另一個主體。每個權限可以是可轉移的,也可以是不可轉移的。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù))表 5.2 保護系統(tǒng)的命令命令前提效果創(chuàng)建對象o-在A中為o加一列;擁有者置于Ax, o創(chuàng)建主體s-在A中為s加一行;控制權置于Ax, s刪除對象oAx, o中的內容是擁有者刪除列o刪除主體sAx, s中的內容是控制權刪除行ss對o的讀訪

25、問權Ax, s中的內容是控制或Ax, o中的內容是擁有者將As, o復制到x刪除s對o的訪問權rAx, s中的內容是控制或Ax, o中的內容是擁有者從As, o刪除r授予s對o的訪問權rAx, o中的內容是擁有者將r添加到As, o中轉移s對o的訪問權rAx, o中的內容是r將r添加到As, o中訪問控制矩陣是As, o,其中s是主體, o是對象。用符號x表示執(zhí)行命令的主體,r是權限。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) Harrison-Ruzzo-Ullman模型 假設將要使用某個操作系統(tǒng),并且想要知道是否一個給定的用戶能被授權進行某種訪問。Harrison-Ruzzo-Ull

26、man模型(HRU模型)能夠回答這類問題。HRU模型是基于命令(command)的,其中每條命令含有條件(condition)和原語操作(primitive operation)。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) 在HRU模型中,每個主體同時也是對象。因此,訪問控制矩陣的列表示了所有主體和不是主體的對象。因此,一條命令的所有參數都表示為o,盡管它們要么是主體,要么是非主體的對象。每個op是一個原語操作。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù))表5.3 HRU模型中的訪問控制矩陣對象主體s1s2s3o1o2o3s1控制擁有、掛起、恢復擁有擁有讀、傳播s2控制擴展擁有s3控

27、制讀、寫寫讀 原語操作op包括:創(chuàng)建主體s、創(chuàng)建對象o、撤消主體s、撤消對象o、往As, o輸入權限r、從As, o撤消權限r。一個保護系統(tǒng)(protection system)就是由主體、對象、權限和命令組成的集合。Harrison等人說明,這些足以用于對幾種常見保護系統(tǒng)進行建模。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) HRU模型的兩個重要結論: (1) 在模型化系統(tǒng)中,當每個命令都被限制為一個單獨的操作時,我們就可能判斷出一個給定的主體是否能夠獲得對一個對象的特殊權限。 由此我們知道,一個低級的主體能否獲得對高級對象的讀訪問權是可以判定的(也就是說,能事先知道)。5.3.2 安全

28、系統(tǒng)在證明理論模型上的局限(續(xù)) (2) 如果不把每條命令限制為單一操作,就不總能判定是否給定的保護系統(tǒng)能夠授予一條給定的權限。 因此,我們并不總能確定一個主體是否可以獲得對一個對象的特殊權限。對特殊的保護系統(tǒng)集合可能存在一種算法來判定訪問權問題,但不存在適合所有保護系統(tǒng)的訪問權問題的判定算法。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) 獲取-授予系統(tǒng) 獲取-授予系統(tǒng)(take-grant system)只有4個原語操作:創(chuàng)建、撤消、獲取和授予。S表示主體集合,O表示對象集合。對象要么是主動的(主體)要么是被動的(非主體對象),R表示權限集合。用圖中的節(jié)點表示主體或對象,特定主體對特定對

29、象的權限用一條從主體到對象的有向邊表示。圖5.8 主體、對象和權限5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) 假定S為執(zhí)行操作的主體,4個原語操作定義如下: Create(O, r):圖中增加一個標記為O的新節(jié)點。 Revoke(O, r):撤消 S對O的權限r。 Grant(O, P, r):主體S將對P的訪問權限r授予給O。主體S可以將它在P上的訪問權授予O,當且僅當S對O有授予權,并且S對P有訪問權限r。 Take(O, P, r):主體S從O那里獲取O對P的訪問權限r。主體S能夠從O獲取P的訪問權r,當且僅當S對O具有獲取權,并且O對P擁有訪問權r。5.3.2 安全系統(tǒng)在證明理論

30、模型上的局限(續(xù)) 圖 5.9 創(chuàng)建一個對象;撤消、授予和獲取訪問權5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) 獲取-授予系統(tǒng)回答了兩個問題: (1) 是否能判定一個給定的主體可以和另外一個主體共享一個對象? 回答是肯定的,只要其他主體一起擁有對于對象所期望的訪問權,且第一個主體通過具有特定形式的邊與其他主體的每一個組相連,共享就可能發(fā)生。5.3.2 安全系統(tǒng)在證明理論模型上的局限(續(xù)) (2) 是否能判定一個給定的主體可以從另外一個主體那里竊取對一個對象的訪問權? 在嚴重依賴共享能力的環(huán)境中,這個問題的回答也是肯定的。 # 獲取-授予系統(tǒng)假設了用戶的最壞情況:如果一個用戶能夠授予訪問權

31、,這個模型就假設用戶將會授予。這種最壞情況的假設限制了該模型在控制信息共享環(huán)境下的應用。但總的來說,獲取-授權模型是有用的,因為它可以識別出用戶能夠獲得對一個對象訪問權的條件。5.3.3 保護系統(tǒng)模型總結 研究計算機安全模型有兩個作用。首先,在確定一個安全系統(tǒng)應該實施的策略時,模型很重要。其次,對于抽象模型的研究能夠引導我們理解保護系統(tǒng)的特性。對于保護系統(tǒng)的設計者來說,知道這些特性是很重要的。利用保護系統(tǒng)的模型來建立我們的安全策略,并確定什么是可行的和合意的。5.4 可信操作系統(tǒng)的設計 操作系統(tǒng)本身是很難設計的,將安全的職能加入到操作系統(tǒng)中大大增加了操作系統(tǒng)設計的難度。軟件工程原則告訴我們設計

32、初期就考慮安全因素比在設計末期再考慮更好。我們首先考察標準的多用途操作系統(tǒng)的基本設計。然后,在考慮隔離。通過隔離,操作系統(tǒng)支持用戶域的共享和分離。接下來,我們將重點考察操作系統(tǒng)內核的設計;內核的設計方法表明了是否能夠有效地提供安全。最后,我們將研究兩種不同的內核解析,并考慮分層或環(huán)結構化的設計。 5.4.1 可信系統(tǒng)設計元素 安全因素滲透于操作系統(tǒng)的設計和結構中包括兩個方面:首先,一個操作系統(tǒng)控制著主體和對象間的合作,因此,操作系統(tǒng)設計的每一個方面都必須考慮安全性。即操作系統(tǒng)設計必須包括這樣一些定義:哪些對象將以什么樣的方式被保護,什么樣的主體具有訪問權,以及這些訪問權在什么等級上。其次,由于

33、安全體現在操作系統(tǒng)的每一個部分中,因此,不能到了操作系統(tǒng)的其余部分開始工作和測試的時候,安全的設計和實現都還模糊不清。對一個安全不夠完善的操作系統(tǒng)中的安全特性進行改進是極其困難的事情。5.4.1 可信系統(tǒng)設計元素(續(xù)) 好的設計原則對于安全十分重要,Saltzer以及Saltzer和Schroeder將這些原則清楚地表達出來: (1) 最少特權:每一個用戶和程序都應該通過使用盡可能少的特權進行操作。 (2) 機制的經濟性:保護系統(tǒng)的設計應該小而簡單,且直截了當。 (3) 開放設計:保護機制一定不能依賴于潛在攻擊者的無知;機制應該是公開的,且依賴于相對很少的關鍵項的保密性,如一個口令。 (4)

34、完全檢查:對每次訪問企圖都必須進行檢查。直接訪問的企圖和繞過訪問檢查機制的企圖都應該加以考慮,而且檢查機制應正確擺放以避免被繞過。5.4.1 可信系統(tǒng)設計元素(續(xù)) (5) 基于許可:默認情況下應該是拒絕訪問。穩(wěn)健的設計者確定那些應該將被訪問的項,而不是將不應該訪問的項。 (6) 分權機制:理想情況下,對于對象的訪問應依賴于多個條件。 (7) 最少公用機制:共享對象為信息流提供了潛在通道,但也帶來了風險。 (8) 易用性:如果一個保護系統(tǒng)用起來很簡單,那么人們就會使用它。 # 實踐表明,在操作系中出現的安全問題都是由于沒有遵守這些原則中的一條或者多條而引起的。5.4.2 普通操作系統(tǒng)的安全特性

35、圖 5.10 操作系統(tǒng)功能概括5.4.2 普通操作系統(tǒng)的安全特性(續(xù)) 操作系統(tǒng)完成與安全性相關的幾種特殊功能,可以總結如下: (1) 用戶鑒別:操作系統(tǒng)必須識別每一個請求訪問的用戶,并查明該用戶是否與其聲稱的相符。 (2) 內存保護:每個用戶的程序都運行在一個受保護的內存區(qū)域中以防止未授權訪問。 (3) 文件和輸入/輸出設備訪問控制:操作系統(tǒng)必須保護用戶、系統(tǒng)文件和設備以防止非授權用戶的訪問。5.4.2 普通操作系統(tǒng)的安全特性(續(xù)) (4) 對一般對象的分配和訪問控制:用戶訪問一般對象產生的問題,如允許并行和同步的機制。 (5) 共享的實施:資源應該恰當地被用戶獲取,保證完整性和一致性。 (

36、6) 保證公平服務:所有用戶都按期望使用CPU和其他服務,這樣用戶就不會產生“饑餓”現象。 (7) 進程間通信和同步:正在運行的進程有時需要和其他進程進行通信,或者需要對共享資源的訪問進行同步。 (8) 對操作系統(tǒng)保護數據的保護:操作系統(tǒng)必須維護那些用于實施安全的數據。5.4.3 可信操作系統(tǒng)的安全特性 可信操作系統(tǒng)集成了一些技術實現可信特征(feature)和保證(assurance)??尚挪僮飨到y(tǒng)的設計是精細的,涉及選擇一個合適且一致的特性集合以及一個合適等級的保證程度使得特性被正確組合與實現。相對于傳統(tǒng)的操作系統(tǒng),該機制提供了更多的保護和分離。此外,內存也按用戶劃分,且數據和程序庫有可控

37、的共享和分離。 可信操作系統(tǒng)的主要特性包括:用戶識別和鑒別、強制訪問控制、自主訪問控制、對象重用保護、完全檢查 、可信路徑、審計、審計日志精簡、入侵檢測。5.4.3 可信操作系統(tǒng)的安全特性(續(xù))圖5.11 可信操作系統(tǒng)的安全功能5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) 識別和鑒別 可信操作系統(tǒng)需要安全的個體識別機制,并且所有個體必須是獨一無二的。 強制和自主訪問控制 強制訪問控制(MAC,mandatory access control)是指訪問控制策略的判決不受一個對象的單個擁有者的控制。例子有軍事安全中的文件。自主訪問控制(DAC,discretionary access control)

38、,顧名思義,留下一些訪問控制讓對象的擁有者來自主決定,或者給那些已被授權控制對象訪問的人。例子有商業(yè)應用。 MAC和DAC可同時應用于同一個對象。MAC的優(yōu)先權要高于DAC,即在所有具有MAC訪問許可的人中,只有通過DAC的人才能真正被允許訪問這個對象。5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) 對象重用保護 必須小心控制可重用的對象,以免它們產生嚴重的缺陷。新文件占用的磁盤空間通常是先前用過、但現在已經釋放的空間。這些被釋放的空間是“臟”的,也就是說,它仍然包含先前用戶的數據。惡意用戶會申請大量磁盤空間,然后檢查獲取其中的敏感數據,這種攻擊被稱為對象重用(object reuse)。 非常精密

39、和昂貴的儀器有時候能夠將最近的數據與其先前記錄的數據分開,然后再將后者與后者之前的數據分開,以此類推。這種威脅稱為磁記憶(magnetic remanence)。因此,在任何情況下,操作系統(tǒng)在允許對資源訪問之前必須負責清除資源上的信息。 5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) 完全檢查 完全檢查(complete mediation),意思就是所有訪問都必須經過檢查,而不僅僅限于文件訪問控制檢查。這樣可信操作系統(tǒng)的設計和實現難度就大大增加了。 可信路徑 對于關鍵的操作,如設置密碼或者更改訪問許可,用戶希望能進行無誤的通信,稱為可信路徑(trusted path)。一些操作系統(tǒng),用戶通過輸入唯

40、一的鍵序列請求可信路徑,而其他操作系統(tǒng),通過與安全相關的改變只能在系統(tǒng)啟動時進行來保護。5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) 可審計性和審計 可審計性通常涉及到維護與安全相關的、已發(fā)生的事件日志,即列出每一個事件和所有執(zhí)行過添加、刪除或改變操作的用戶。 審計日志精簡 (1) 審計日志的觀念是吸引人的,但在實際應用中,由于其容量很大且還需要進行分析,所以對審計日志的處理是非常困難的。如果要為每個讀入字符的訪問和每條執(zhí)行指令作審計記錄,則審計日志就會非常龐大(事實上,審計每條指令是不可能的,因為審計命令自身也會被審計,這樣就會永無休止)。 5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) (2) 在大

41、多數操作系統(tǒng)中,只需要在打開或者關閉文件(或類似對象)的時候進行審計,就可以大大簡化工作量。但針對文件打開和關閉的審計,在一些情況下可能會造成審計數據太多,而在其他情況下,又可能不足以滿足安全需求。 (3) 另一個困難是“海底撈針” 現象。即使審計數據可以限制在一個合理數值,但大量的數據都是合法訪問,可能只有一個訪問是攻擊。進一步,由誰來分析或者做怎樣的分析也很重要。是由系統(tǒng)管理員來分析審計日志中的所有數據嗎?或者是由開發(fā)者寫專門程序來分析數據?如果是后者,我們該怎樣自動識別出不可接受的行為呢? 5.4.3 可信操作系統(tǒng)的安全特性(續(xù)) # 一些可信操作系統(tǒng)執(zhí)行審計精簡(audit reduc

42、tion),用分離工具來精簡審計數據的數量。對大多數分析來說,精簡審計日志就足夠了。 入侵檢測 計算機有助于將獨立數據聯系起來。入侵檢測(intrusion detection)軟件構造了正常系統(tǒng)使用的模式,一旦使用出現異常就會發(fā)出警告。一些可信操作系統(tǒng)包含了一個基本的入侵檢測軟件。 5.4.4 內核化設計 內核(kernel)是操作系統(tǒng)的一部分,執(zhí)行操作系統(tǒng)的最底層功能。在標準的操作系統(tǒng)設計中,內核實現這樣一些操作,如同步、進程間通信、消息傳遞以及中斷處理。內核也稱為核(nucleus)或核心(core)。 一個安全內核(security kernel)負責實施整個操作系統(tǒng)的安全機制。安全內

43、核負責在硬件、操作系統(tǒng)、計算系統(tǒng)的其他部分之間提供安全接口。安全內核一般包含在操作系統(tǒng)內核中。5.4.4 內核化設計(續(xù)) 將安全功能隔離在安全內核中的原因: (1) 覆蓋:對受保護對象的每次訪問必須通過安全內核。 (2) 隔離:通過將安全機制從操作系統(tǒng)的其余部分和用戶空間中隔離出來,易于保護安全機制免遭操作系統(tǒng)或用戶的侵入。 (3) 統(tǒng)一:所有的安全功能都由單一的代碼集合來執(zhí)行。這樣,追蹤由于這些功能引起的任何問題的原因就會容易些。 5.4.4 內核化設計(續(xù)) (4) 可修改性:易于對安全機制做出修改和對這種改變進行測試。 (5) 緊湊性:由于安全內核只是執(zhí)行安全功能,所以它相對較小。 (

44、6) 可驗證性:由于相對較小,所以安全內核能夠被嚴格地分析。 # 另一方面,實現一個安全內核會降低系統(tǒng)的性能。因為其在用戶程序和操作系統(tǒng)資源之間又添加了另外一層接口。在某些情況下,安全內核可能很大。 5.4.4 內核化設計(續(xù)) 引用監(jiān)視器 引用監(jiān)視器(reference monitor),它控制著對對象的訪問。一個引用監(jiān)視器不一定僅是代碼,應該是對設備、文件、內存、進程間通信以及其他種類對象的訪問控制的集合。它必須是: (1) 抗干擾:即不可弱化或使其無效。 (2) 不可繞過:當出現對任何對象的訪問請求時,它總能被激活。 (3) 可分析:由于它足夠小,經過測試和分析,能夠確保其完整性。5.4

45、.4 內核化設計(續(xù))圖 5.12 引用監(jiān)視器# 引用監(jiān)視器不是可信操作系統(tǒng)中唯一的安全機制。其他安全組件與引用監(jiān)視器交互,從引用監(jiān)視器那里接收數據或者為其提供操作數據。 5.4.4 內核化設計(續(xù)) 可信計算基 可信計算基(TCB,trusted computing base)是可信操作系統(tǒng)中用于實施安全策略的所有事物的一個統(tǒng)稱??尚庞嬎慊煽尚挪僮飨到y(tǒng)中的正確實施安全策略的部分組成。因此,我們對整個系統(tǒng)的信任建立在TCB之上。 TCB必須正確和完整。5.4.4 內核化設計(續(xù)) TCB是由下列安全實施依賴的系統(tǒng)元素構成的。 (1) 硬件,包括處理器、內存、寄存器和I/O設備。 (2) 一些

46、進程概念,以便我們能夠分離并且保護關鍵的安全進程。 (3) 原始文件,如安全訪問控制數據庫和識別/鑒別數據。 (4) 受保護的內存,以防引用監(jiān)視器受到干擾。 (5) 一些進程間通信,以便TCB的不同部分能夠相互傳遞數據并且激活其他部分。例如,引用監(jiān)視器能夠激活并且將數據安全地傳遞給審計程序。 # 以上五點似乎包含了操作系統(tǒng)的大部分內容,實際上TCB只是一個很小的子集。5.4.4 內核化設計(續(xù))圖 5.13 TCB和非TCB代碼5.4.4 內核化設計(續(xù)) TCB必須維護每一個域的保密性和完整性,監(jiān)視4個基本的交互: (1) 進程激活:在多道程序環(huán)境下,進程的激活或鈍化是經常發(fā)生的。 (2)

47、執(zhí)行域切換:在一個域中運行的進程經常會激活其他域的進程以獲得更多的敏感數據和服務。 (3) 內存保護:TCB必須監(jiān)視內存引用以確保每個域的保密性和完整性。 (4) 輸入/輸出(I/O)操作:I/O操作能夠貫穿所有的域。5.4.4 內核化設計(續(xù)) 將操作系統(tǒng)劃分為TCB和非TCB,這種區(qū)分不僅僅是邏輯上的,為了確保非TCB代碼不會影響安全實施,TCB代碼必須運行在一些可以將其區(qū)分開的受保護狀態(tài)下。因此,應該有意識地創(chuàng)建TCB和非TCB的結構。這種結構一旦創(chuàng)建,TCB之外的代碼就能夠任意修改,只有TCB的代碼需要小心地控制。劃分也簡化了評估,因為不需要考慮非TCB。5.4.4 內核化設計(續(xù))

48、安全特性都是融合在具體應用中的,將所有的安全功能都包含在TCB中會破壞現有操作系統(tǒng)的模塊化。不過,設計者可能將現有操作系統(tǒng)的安全功能隔離出來,從而創(chuàng)建一個安全內核。 5.4.4 內核化設計(續(xù))圖 5.14 組合的安全內核/操作系統(tǒng)5.4.4 內核化設計(續(xù)) 更為明智的方法是先設計一個安全內核,然后再圍繞這個安全內核設計操作系統(tǒng)。在一個基于安全的設計中,安全內核在系統(tǒng)硬件之上形成了一個接口層。安全內核監(jiān)視著所有操作系統(tǒng)的硬件訪問,并執(zhí)行所有的保護功能。安全內核允許操作系統(tǒng)處理大部分與安全無關的功能。由于這種劃分,計算機系統(tǒng)至少具有三個執(zhí)行域:安全內核、操作系統(tǒng)和用戶。 5.4.4 內核化設計

49、(續(xù))圖 5.15 單獨的安全內核5.4.5 分離/隔離 對于物理分離(physical separation),要求兩個不同的進程使用不同的硬件設施。當不同進程運行在不同時間的時候就出現時間分離(temporal separation)。加密用于加密分離(cryptographic separation),所以兩個不同的進程能在同一時間運行,是因為未授權用戶不能夠以可讀的形式訪問敏感數據。邏輯分離(logical separation),也稱為隔離(isolation),用于一個進程將一個用戶的對象和其他用戶的對象分割開。 大多數操作系統(tǒng)將操作系統(tǒng)的一個副本提供給很多用戶使用,并以這種方式為

50、所有用戶提供單一的環(huán)境。5.4.5 分離/隔離(續(xù))圖 5.16 傳統(tǒng)多用戶操作系統(tǒng)內存5.4.6 虛擬化 虛擬化(virtualization)為可信系統(tǒng)設計者提供了強有力的支持,允許用戶通過可控方式來訪問復雜的對象。一個虛擬機(virtual machine)是真實的或模擬的硬件設施的集合:一個運行指令集的(中心)處理器、一定數量的直接編址存儲器和一些輸入/輸出設備。 真實的資源不一定要與模擬資源完全一致。操作系統(tǒng)向用戶提供虛擬資源,安全內核則精確地控制用戶的訪問。5.4.6 虛擬化(續(xù)) 多個虛擬內存空間 IBM MVS/ESA操作系統(tǒng)運行虛擬化提供邏輯分離,給用戶造成一個物理分離的印象

51、。通過頁面映射機制,將每個用戶的邏輯地址空間和其他用戶的分開,而使操作系統(tǒng)獨立于用戶的虛擬地址空間之外。然而,操作系統(tǒng)是每個MVS/ESA用戶邏輯空間的一部分。 5.4.6 虛擬化(續(xù))圖 5.17 多重虛擬尋址空間5.4.6 虛擬化(續(xù)) MVS/ESA的一個優(yōu)點是,每個用戶的虛擬內存空間可以與總的可尋址的內存控制一樣大。而內存這種表示方法的第二個優(yōu)點是保護。由于每個用戶的邏輯地址空間都包含了操作系統(tǒng),用戶便會感到是在單獨的機器上運行,甚至像真的一樣。5.4.6 虛擬化(續(xù)) 虛擬機 IBM處理器資源/系統(tǒng)管理器(PR/SM,Processor Resources/System Manage

52、r)提供了一個更強的保護,每個用戶不僅擁有邏輯內存,而且還擁有I/O設備、邏輯文件以及其他邏輯資源。PR/SM依靠嚴格的資源分割來執(zhí)行這項技術。PR/SM系統(tǒng)是虛擬內存概念的自然延伸。虛擬機提供用戶一個完整的硬件特性集合,也就是說,一個完整的機器可能和實際的機器有質的不同。 5.4.6 虛擬化 (續(xù))圖 5.18 傳統(tǒng)的操作系統(tǒng)5.4.6 虛擬化(續(xù))圖 5.19 虛擬機 # 附加的復雜性增加了且轉換和保護都帶來額外開支。5.4.7 分層設計 分層信任 正如前面所說明的,一個內核化的操作系統(tǒng)至少由四層組成:硬件、內核、操作系統(tǒng)和用戶,其中每一層都可以包含一些子層。當然,也可以將一個分層的可信操

53、作系統(tǒng)描述成堆棧,其中安全功能離硬件最近。如果所有這些操作在安全內核執(zhí)行出現一個情況是,則不需要高安全性的操作,也具有了高安全性。分層設計對一些與保護功能相關的活動都是安排在安全內核之外執(zhí)行的。5.4.7 分層設計(續(xù))圖 5.20 分層的操作系統(tǒng)5.4.7 分層設計(續(xù)) 換一種方法,可在幾個不同的模塊中實現一個單一的邏輯功能,我們稱此為分層設計(layered design)。可以通過操作不同層的一組模塊來執(zhí)行一個單一功能。每層的模塊執(zhí)行一個某種敏感等級的操作。 5.4.7 分層設計 (續(xù))圖 5.21 操作在不同層中的模塊5.4.7 分層設計(續(xù)) Neumann描述了可證明安全操作系統(tǒng)

54、(Provably Secure Operating System,PSOS)的層次結構。一些等級較低的層向等級較高的層提供部分或者全部的功能。但每一層適當地封裝一些僅屬于自己的內容。5.4.7 分層設計(續(xù))表 5.4 PSOS設計層次層功能通過哪一層隱藏用戶是否可見16用戶請求解釋程序可見15用戶環(huán)境和名字空間可見14用戶I/O可見13程序記錄可見12用戶進程和可見I/O可見11創(chuàng)建和刪除用戶對象可見10目錄11部分可見9擴展類型11部分可見8段11部分可見7分頁8不可見6系統(tǒng)程序和I/O12不可見5原語I/O6不可見4算術和其他基本操作可見3時鐘6不可見2中斷6不可見1寄存器和可尋址存儲

55、器7部分可見0性能可見5.4.7 分層設計(續(xù)) 分層方法的優(yōu)點在于: (1) 分層方法是實現封裝的一個重要途徑。每一層調用內層的服務,同時也向外層提供一定功能級的服務。這樣,剝去個別的層仍然擁有一個邏輯上完整的系統(tǒng),只是功能減少一些。 (2) 分層方法有利于對破壞進行控制。層次結構(hierarchical structuring)允許我們識別非常關鍵的部分,然后認真分析其正確性,這樣問題就會少一些;隔離將問題的影響范圍限制在問題發(fā)生的層及上層,從而可以限制大多數問題的影響。5.5 可信操作系統(tǒng)的保證 假設操作系統(tǒng)的提供者已經考慮了所有因素,并聲稱安全設計是有保證的,那么,接下來就該考慮如何

56、向別人證明模型、設計和實現符合聲稱。我們需要一套方法來確定一個特定的操作系統(tǒng)是否適合給定的要求。這里通過運用測試、形式化和非形式化驗證,探討證明一個操作系統(tǒng)安全性的方法。 5.5.1 操作系統(tǒng)的典型缺陷 已知的漏洞 (1) 用戶接口是操作系統(tǒng)最大的薄弱點,這是因為用戶接口是通過獨立的、智能硬件子系統(tǒng)來完成的,常常獨立于安全內核之外;與用戶交互的代碼比計算系統(tǒng)其他部件的代碼復雜得多,并且更依賴于特定的硬件設備;用戶接口通常是面向字符的,為了提高處理速度,傳輸這些數據常常限制指令數量。5.5.1 操作系統(tǒng)的典型缺陷(續(xù)) (2) 操作系統(tǒng)安全方面的第二個突出弱點是訪問策略的二義性(ambiguit

57、y in access policy)。在策略上,隔離和共享之間的區(qū)別并不總是很明確。因此,在實現的過程中,也不能夠嚴格區(qū)分。 (3) 第三個潛在的問題是不完全檢查(incomplete mediation)。某些系統(tǒng)對每次I/O操作、進程執(zhí)行、用戶界面執(zhí)行只做一次訪問權限檢查。 (4) 通用性(generality)也是弱點。作為操作系統(tǒng)的一部分,一些軟件包必須擁有和操作系統(tǒng)一樣的訪問特權才能被執(zhí)行。 5.5.1 操作系統(tǒng)的典型缺陷(續(xù)) 漏洞利用的例子 (1) 某些操作系統(tǒng)只在用戶操作開始時進行訪問權限檢查,這就導致了典型的檢查時刻到使用時刻(time-of-check to time-o

58、f-use flaw)的缺陷。 (2) 操作系統(tǒng)為一些安全軟件包的安裝保留了一種特殊的管理功能,允許這時的操作不受嚴格控制。5.5.2 保證方法 測試、驗證和證實是三種使人們確信一個系統(tǒng)正確的保證技術。但沒有一種技術是完美無缺的,每一種技術都有各自的缺點。 測試 測試結果基于正被評估的現實產品,而不是產品的某些抽象。有必要對基于測試的結論進行限制,因為: (1) 測試能夠證明問題的存在性,但粗略的測試并不能證明不存在某些問題。 (2) 在有限的時間和精力下,很難達到充分的測試覆蓋要求,因為大量輸入和內部狀態(tài)使測試變得非常復雜。 5.5.2 保證方法(續(xù)) (3) 測試通常是基于可觀察到的結果,

59、而不是基于產品的內部結構,因此不能夠確保其完善程度。 (4) 基于產品內部結構的測試涉及到通過增加代碼來修改產品,以提取和展示內部狀態(tài)。但這樣會影響產品的性能,而且可能會引入新的漏洞或掩蓋其他漏洞。 (5) 在實時系統(tǒng)的測試中,很難記錄所有的狀態(tài)和觸發(fā)事件。因此,很難重建和分析測試人員在測試過程中報告的問題。 # 測試通常受到項目預算和進度的限制。這意味著測試在某種程度上是不完善的。因此,需要了解測試策略中的測試覆蓋度、測試完整性和測試有效性的情況。 5.5.2 保證方法(續(xù)) 滲透測試 滲透測試(penetration testing)或稱為攻擊對分析(tiger team analysis

60、)或合乎道德的黑客攻擊(ethical hacking)是常用的一種計算機安全測試策略。滲透測試既是科學也是一門藝術。它藝術的方面要求仔細分析和測試用例選擇上的創(chuàng)造力。而在科學方面則要求嚴密、次序、精確和有條理。沒有通過滲透測試的操作系統(tǒng)肯定有錯誤,但是,能夠通過這一測試也并不能保證沒有錯誤。滲透測試成功的一個可能原因是它得以運用到真實環(huán)境中。滲透測試在商業(yè)團體中非常流行,但也不是一種神奇的技術。5.5.2 保證方法(續(xù)) 形式化驗證 在形式化驗證中,操作系統(tǒng)被模型化,其原理被描述為一些斷言。模型和斷言的集合被歸結為一個“定理”,然后加以證明。形式化驗證確認操作系統(tǒng)僅僅提供了它應該具有的安全特

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論