




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2020年8月17日星期一,安全操作系統(tǒng)原理與技術(shù),安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 信息安全系張柱 講師,2020年8月17日星期一,2,第5章 操作系統(tǒng)安全體系結(jié)構(gòu),學(xué)習(xí)內(nèi)容: 了解操作系統(tǒng)安全體系結(jié)構(gòu)的含義及其類(lèi)型 了解系統(tǒng)安全體系結(jié)構(gòu)設(shè)計(jì)的基本原則 掌握Flask安全體系結(jié)構(gòu) 本章重點(diǎn): Flask安全體系結(jié)構(gòu),2020年8月17日星期一,3,第5章 操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.1 含義及其類(lèi)型,1.含義 所謂計(jì)算機(jī)系統(tǒng)的安全體系結(jié)構(gòu),包括如下幾個(gè)方面: 詳細(xì)描述系統(tǒng)中安全相關(guān)的所有方面。 在一定的抽象層次上描述各個(gè)安全相關(guān)??钪g的關(guān)系; 提出指導(dǎo)設(shè)計(jì)的基本原理; 提出開(kāi)發(fā)過(guò)
2、程的基本框架及對(duì)應(yīng)于該框架體系的層次結(jié)構(gòu)。 安全體系結(jié)構(gòu)在整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中,必須扮演指導(dǎo)者的角色,確立其中心地位,所有開(kāi)發(fā)者在開(kāi)發(fā)前對(duì)安全體系結(jié)構(gòu)必須達(dá)成共識(shí),并在開(kāi)發(fā)過(guò)程中自覺(jué)服從于安全體系結(jié)構(gòu),從而達(dá)到在它的指導(dǎo)下協(xié)同工作的目的。 安全體系結(jié)構(gòu)只能是一個(gè)概要設(shè)計(jì),而不能是系統(tǒng)功能的描述,不應(yīng)當(dāng)限制不影響安全的設(shè)計(jì)方法。,2020年8月17日星期一,4,第5章 操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.1 含義及其類(lèi)型,2.分類(lèi) 美國(guó)國(guó)防部“目標(biāo)安全體系DoD”中,把安全體系劃分為一下四類(lèi): 1)抽象體系 描述安全需求,定義安全功能及其提供的安全服務(wù),確定系統(tǒng)實(shí)現(xiàn)安全的指導(dǎo)原則及其基本概念。
3、2)通用體系 在已有的安全功能和相關(guān)安全服務(wù)配置的基礎(chǔ)上,定義系統(tǒng)分量類(lèi)型幾可得到的實(shí)現(xiàn)這些安全功能的有關(guān)安全機(jī)制。 3)邏輯體系 是滿(mǎn)足某個(gè)假設(shè)的需求集合的一個(gè)設(shè)計(jì),現(xiàn)實(shí)了一個(gè)把通用體系應(yīng)用于具體環(huán)境時(shí)的基本情況。,2020年8月17日星期一,5,第5章 操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.1 含義及其類(lèi)型,3)邏輯體系 是滿(mǎn)足某個(gè)假設(shè)的需求集合的一個(gè)設(shè)計(jì),現(xiàn)實(shí)了一個(gè)把通用體系應(yīng)用于具體環(huán)境時(shí)的基本情況。 4)特殊體系 要表達(dá)系統(tǒng)分量、接口、標(biāo)準(zhǔn)、性能和開(kāi)銷(xiāo);表明如何把所有被選擇的信息安全分量和機(jī)制結(jié)合起來(lái)以滿(mǎn)足我們正在考慮的特殊系統(tǒng)的安全需求。,2020年8月17日星期一,6,第5章操作系
4、統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.2 設(shè)計(jì)的基本原則,在安全體系結(jié)構(gòu)的設(shè)計(jì)中應(yīng)該遵守的基本規(guī)律: 1)從系統(tǒng)設(shè)計(jì)之初就考慮安全性 2)應(yīng)盡量考慮未來(lái)可能面臨的安全需求 在安全體系結(jié)構(gòu)的設(shè)計(jì)中需要考慮未來(lái)安全需求,應(yīng)注意: 不能把“預(yù)設(shè)的”安全問(wèn)題定的太特殊或太具體; 要從適應(yīng)的抽象層次來(lái)理解安全問(wèn)題; 設(shè)計(jì)計(jì)劃必須特別關(guān)注安全策略的定義。 3)隔離安全控制,并使其極小化 設(shè)計(jì)時(shí)應(yīng)注意: 并不是所有的從軟件工程的角度看是有效的設(shè)計(jì)原則都能很好地適用于操作系統(tǒng)安全部分的設(shè)計(jì)。,2020年8月17日星期一,7,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.2 設(shè)計(jì)的基本原則,在系統(tǒng)中的安全相關(guān)機(jī)制應(yīng)盡量簡(jiǎn)潔
5、,易于確認(rèn),且相對(duì)獨(dú)立,這樣有利于實(shí)現(xiàn)附加的控制來(lái)保護(hù)它們; 數(shù)據(jù)隔離必須適度,不能走極端。 4)實(shí)施特權(quán)最小化 無(wú)論在系統(tǒng)的什么部分,只要是執(zhí)行某個(gè)操作,執(zhí)行該操作的進(jìn)程除能獲得執(zhí)行該操作所需的特權(quán)外不能獲得其他的特權(quán)。 對(duì)于安全操作系統(tǒng)的構(gòu)筑,最小權(quán)限包括: 硬件特權(quán),與硬件相關(guān)的最小特權(quán); 軟件特權(quán),于軟件相關(guān)的最小特權(quán); 最小特權(quán)的實(shí)施方法:要求系統(tǒng)在構(gòu)造時(shí)必須按照一定的技術(shù)進(jìn)行,比如分層體系,2020年8月17日星期一,8,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.2 設(shè)計(jì)的基本原則,最小特權(quán)總是包含用戶(hù)的行為及系統(tǒng)管理者的行為; 結(jié)構(gòu)化安全相關(guān)功能; 使安全相關(guān)的界面友好; 不要讓
6、安全依賴(lài)于一些隱藏的東西。,2020年8月17日星期一,9,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.1 背景介紹 為了解決策略的變化和動(dòng)態(tài)的策略,系統(tǒng)必須有一種機(jī)制來(lái)撤銷(xiāo)以前授予的訪(fǎng)問(wèn)權(quán)限。Flask體系結(jié)構(gòu)使策略的靈活性的實(shí)現(xiàn)成為可能。 1.Flask結(jié)構(gòu)包括一個(gè)安全策略服務(wù)器來(lái)控制訪(fǎng)問(wèn)控制的決議,一個(gè)微內(nèi)核和系統(tǒng)其他客體管理器框架來(lái)執(zhí)行訪(fǎng)問(wèn)控制的決議。雖然原型系統(tǒng)是基于微內(nèi)核的,但安全機(jī)制并不依賴(lài)于微內(nèi)核結(jié)構(gòu),在沒(méi)有微內(nèi)核的情況下也能很容易實(shí)現(xiàn)。 2.Flask結(jié)構(gòu)支持策略的廣泛多樣性。 3.Flask系統(tǒng)的安全結(jié)構(gòu)來(lái)源于DTOS系統(tǒng)原型。 4.Flask的靈
7、活性安全模式與訪(fǎng)問(wèn)控制常規(guī)框架GFAC是一致的。 5.Flask原型由一個(gè)基于微內(nèi)核的操作系統(tǒng)實(shí)現(xiàn),支持硬件強(qiáng)行對(duì)進(jìn)程地址空間的分離。,2020年8月17日星期一,10,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.2 策略靈活性分析 1.通常通過(guò)安全策略的列表定義靈活性,實(shí)現(xiàn)簡(jiǎn)單,但是很難將現(xiàn)實(shí)中的安全策略清晰的反映到列表中。 2.把計(jì)算機(jī)系統(tǒng)抽象為一個(gè)狀態(tài)機(jī),通過(guò)執(zhí)行原子操作來(lái)從一個(gè)狀態(tài)遷移到下一個(gè)狀態(tài),可以增強(qiáng)定義安全策略靈活性,但實(shí)際考慮時(shí)卻可能受到限制。 3.更加理想的方法,定義一部分的與安全相關(guān)的系統(tǒng)狀態(tài),對(duì)這些狀態(tài)進(jìn)行控制的狀態(tài)以及被該部分狀態(tài)所影響的操作
8、。 4.這種策略靈活性的描述在三個(gè)方面受限: 允許一些操作在安全策略的控制外執(zhí)行; 限制了安全策略引發(fā)的操作; 允許一些安全策略范疇以外的系統(tǒng)狀態(tài)存在。,2020年8月17日星期一,11,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.2 策略靈活性分析,5.具有策略靈活性的系統(tǒng)必須能夠支持多種安全策略。在策略變更和受控操作的交叉間必須存在有效的原子操作。 6.解決這個(gè)難點(diǎn)的關(guān)鍵在于:該原子操作是否能夠確保先前授予的權(quán)限可以根據(jù)策略變更的需要而被撤銷(xiāo)。撤銷(xiāo)機(jī)制必須保證所有已傳遞的權(quán)限能被真正地撤銷(xiāo)。 7.當(dāng)進(jìn)程中的操作已經(jīng)接受檢查,撤銷(xiāo)權(quán)限就變得更加復(fù)雜,此時(shí)可能使用如下的三種方法: 中斷進(jìn)程中
9、的操作,返回一個(gè)出錯(cuò)狀態(tài); 可以重新啟動(dòng)該操作,允許另外的檢查來(lái)撤銷(xiāo)權(quán)限; 等待操作完成。,2020年8月17日星期一,12,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.3 Flask體系的設(shè)計(jì)與實(shí)現(xiàn) Flask安全結(jié)構(gòu)是在基于微內(nèi)核的多服務(wù)器操作系統(tǒng)的上下文實(shí)現(xiàn)中進(jìn)行描述。然而,安全結(jié)構(gòu)僅僅需要操作系統(tǒng)包括引用監(jiān)視器。特別地,安全體系需要完整性、分離性和可驗(yàn)證性的實(shí)現(xiàn)。 Flask原型來(lái)源于Fluke微內(nèi)核操作系統(tǒng)。但原始Fluke系統(tǒng)是基于功能而且自身的不能滿(mǎn)足Flask結(jié)構(gòu)的需求。 1.結(jié)構(gòu)概覽 結(jié)構(gòu)的基本目標(biāo):提供安全策略的可變通性,確保子系統(tǒng)不管判定怎樣產(chǎn)生
10、、變化都有一致的策略判定。 第二目標(biāo):包括應(yīng)用透明性、深度防御、保護(hù)的易操作性和最小的性能影響。,2020年8月17日星期一,13,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),2020年8月17日星期一,14,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),Flask安全結(jié)構(gòu)為對(duì)象管理器提供了三個(gè)主要要素: 提供從一個(gè)安全服務(wù)器重新訪(fǎng)問(wèn)、標(biāo)記和多實(shí)例判定接口; 提供一個(gè)訪(fǎng)問(wèn)向量緩存AVC模塊,允許兌現(xiàn)管理器緩存訪(fǎng)問(wèn)判定,以減小性能損耗; 提供對(duì)象管理器注冊(cè)接受安全策略的改變通知能力。 對(duì)象管理器負(fù)責(zé)定義機(jī)制其對(duì)象分配標(biāo)記。每個(gè)對(duì)象管理器必須定
11、義并實(shí)現(xiàn)一個(gè)控制策略,規(guī)定安全判定怎樣控制對(duì)象管理器提供的服務(wù)。,2020年8月17日星期一,15,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),2.常規(guī)支持機(jī)制 1)對(duì)象標(biāo)記 所有安全策略控制的對(duì)象同時(shí)也被安全策略所攜帶的安全屬性標(biāo)記,即安全上下文。 該結(jié)構(gòu)的基本要點(diǎn)之一就是:對(duì)象和安全上下文的結(jié)合是怎樣被支持的。簡(jiǎn)單的解決辦法是定義一個(gè)簡(jiǎn)單的與策略無(wú)關(guān)的數(shù)據(jù)類(lèi)型作為每個(gè)對(duì)象相關(guān)聯(lián)的數(shù)據(jù)的一部分。沒(méi)有一種數(shù)據(jù)結(jié)構(gòu)能很好地適應(yīng)系統(tǒng)中標(biāo)記的不同使用方式。,2020年8月17日星期一,16,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),在Flas
12、k中為標(biāo)記提供了兩種策略無(wú)關(guān)的數(shù)據(jù)類(lèi)型。 安全上下文,是一個(gè)長(zhǎng)度可變的字符串,能被任何了解安全策略的應(yīng)用或用戶(hù)解釋。擁有如下屬性:用戶(hù)標(biāo)識(shí)、分類(lèi)層、執(zhí)行域的角色和類(lèi)型,取決于特定的安全策略。 安全標(biāo)記符SID,固定值32位整數(shù),只能被安全服務(wù)器解釋并由安全服務(wù)器映射到一個(gè)特定的安全上下文。 當(dāng)一個(gè)對(duì)象創(chuàng)建時(shí),被分配一個(gè)SID來(lái)顯示其創(chuàng)建的安全上下文。通常,安全上下文依賴(lài)于用戶(hù)對(duì)對(duì)象創(chuàng)建的請(qǐng)求和創(chuàng)建的環(huán)境。,2020年8月17日星期一,17,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),一個(gè)客戶(hù)需要從安全管理器創(chuàng)建一個(gè)新對(duì)象,微內(nèi)核為對(duì)象管理提供客戶(hù)的SID。以客戶(hù)的S
13、ID、相關(guān)對(duì)象的SID和對(duì)象類(lèi)型作為參數(shù),向安全管理服務(wù)器請(qǐng)求一個(gè)新對(duì)象的SID。,2020年8月17日星期一,18,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),2)客戶(hù)和服務(wù)器鑒別 當(dāng)SID是安全策略的一部分時(shí),對(duì)象管理器必須能鑒別發(fā)出請(qǐng)求的客戶(hù)的SID,同時(shí)使客戶(hù)能鑒別服務(wù)器的SID。所以Flask結(jié)構(gòu)需要底層系統(tǒng)為進(jìn)程間通信IPC提供客戶(hù)服務(wù)器的鑒別格式。 Flask微內(nèi)核提供的鑒別服務(wù)直接作為IPC處理的一部分。微內(nèi)核和客戶(hù)的請(qǐng)求一起提供客戶(hù)到服務(wù)器的SID??蛻?hù)端利用IPC發(fā)送一個(gè)內(nèi)核調(diào)用鑒別服務(wù)器SID。之后,客戶(hù)端可以指定一個(gè)不同的SID作為有效的SI
14、D覆蓋它與服務(wù)器的鑒別,服務(wù)器也可以指定一個(gè)有效的SID。有效SID的許可權(quán)由安全服務(wù)器決定,并由內(nèi)核執(zhí)行。,2020年8月17日星期一,19,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),3)請(qǐng)求和緩存安全決策 為減少服務(wù)器因決策的計(jì)算和傳遞的通信而造成的性能降低,F(xiàn)lask體系在對(duì)象管理器內(nèi)提供了緩存決策的機(jī)制。 緩存訪(fǎng)問(wèn)向量AVC模塊提供了對(duì)象管理器和安全服務(wù)器之間的協(xié)調(diào)策略,它是由對(duì)象管理器共享的一個(gè)公共資源庫(kù)。既表達(dá)了來(lái)自對(duì)象管理器對(duì)策略決策的請(qǐng)求,又表達(dá)了來(lái)自服務(wù)器對(duì)策略變遷的請(qǐng)求。 在Flask體系中,控制操作是某個(gè)對(duì)象管理器必須做出決定主體是否允許訪(fǎng)問(wèn)
15、具有某些許可權(quán)的對(duì)象,還是一組許可權(quán)的對(duì)象。,2020年8月17日星期一,20,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),客戶(hù)請(qǐng)求對(duì)來(lái)自對(duì)象管理器的存在對(duì)象進(jìn)行修改,為訪(fǎng)問(wèn)控制規(guī)則,對(duì)象管理器請(qǐng)求其AVC模塊。,2020年8月17日星期一,21,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),4)支持多實(shí)例化 通過(guò)多實(shí)例化某資源及按群劃分終端實(shí)體,使得每個(gè)群中的實(shí)體能共享該資源的相同實(shí)例,從而限制固定資源在終端實(shí)體間的共享。 Flask提薪支持多實(shí)例化是通過(guò)提供一個(gè)接口來(lái)實(shí)現(xiàn)的,安全服務(wù)器利用該接口可以區(qū)分哪個(gè)實(shí)例可以被一個(gè)特殊的終端實(shí)體訪(fǎng)
16、問(wèn)。 終端實(shí)體和實(shí)例都是由SID唯一確定,實(shí)例化被稱(chēng)為成員。選擇一個(gè)成員的過(guò)程如下圖所示:,2020年8月17日星期一,22,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),2020年8月17日星期一,23,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.3 Flask設(shè)計(jì)與實(shí)現(xiàn),客戶(hù)請(qǐng)求創(chuàng)建來(lái)自對(duì)象管理器的新對(duì)象,而且微內(nèi)核為對(duì)象管理器提供客戶(hù)SID,對(duì)象管理器發(fā)送獲得的成員對(duì)象SID的請(qǐng)求給安全服務(wù)器,安全服務(wù)器返回客戶(hù)的SID,多實(shí)例化對(duì)象的SID及對(duì)象的型為參數(shù)。安全服務(wù)器咨詢(xún)?cè)诓呗赃壿嬛械亩鄬?shí)例化規(guī)則,為成員決定上下文。最后,對(duì)象管理器選擇基于返回的SID的一個(gè)
17、成員,并創(chuàng)建一個(gè)對(duì)象作為該成員的子對(duì)象。,2020年8月17日星期一,24,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.4 特殊微內(nèi)核特征 內(nèi)存本身在微內(nèi)核中不是一個(gè)對(duì)象,但微內(nèi)核為內(nèi)存管理及每個(gè)內(nèi)存段綁定SID提供基礎(chǔ)。每個(gè)內(nèi)核對(duì)象的SID和與之對(duì)應(yīng)的內(nèi)存段的SID是一致的。在內(nèi)存標(biāo)簽和該內(nèi)核相關(guān)的內(nèi)核對(duì)象的標(biāo)簽之間的這種關(guān)系允許實(shí)現(xiàn)Flask微內(nèi)核對(duì)控制器件的控制,它是現(xiàn)存的Fluke的保護(hù)模型。 Flask通過(guò)基于地址空間的SID和內(nèi)存段的SID,把每個(gè)訪(fǎng)問(wèn)模式與Flask許可權(quán)結(jié)合起來(lái),為內(nèi)存訪(fǎng)問(wèn)模式的傳播提供直接的安全策略控制。 當(dāng)初次訪(fǎng)問(wèn)內(nèi)存映射時(shí),微內(nèi)核
18、驗(yàn)證是否安全策略已經(jīng)明確地授予了對(duì)每個(gè)被請(qǐng)求的訪(fǎng)問(wèn)模式的許可權(quán)。 Flask中,內(nèi)存的許可權(quán)并不是在任意接口的層面上都被計(jì)算,而只是在出現(xiàn)頁(yè)錯(cuò)誤時(shí)才計(jì)算。,2020年8月17日星期一,25,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.4 特殊微內(nèi)核特征,在Fluke中,端口引用器作為能力,可執(zhí)行IPC到相關(guān)的端口集上的服務(wù)器線(xiàn)程的操作。Fluke對(duì)傳播的控制可以使用典型的插入技術(shù)來(lái)完成。Flask對(duì)這類(lèi)端口引用器的應(yīng)用提供了直接的控制,控制經(jīng)由下述方式完成: 對(duì)兩個(gè)主體而言,如果其獲得了適當(dāng)?shù)脑S可權(quán),在它們之間允許建立IPC連接,這些直接的控制使得使用策略完成對(duì)能力應(yīng)用的管理成為可能。 在F
19、luke微內(nèi)核中,利用對(duì)象管理器在兩個(gè)對(duì)象之間的關(guān)系上加以控制。Flask引入了對(duì)對(duì)象關(guān)系的另一種類(lèi)型的控制,并提供了更為細(xì)膩的控制。,2020年8月17日星期一,26,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.5 支持吊銷(xiāo)機(jī)制 在Flask體系中,最難處理的就是對(duì)象管理器要高效地保存一些安全決策的副本。安全策略的改變要求在安全服務(wù)器和對(duì)象管理器之間進(jìn)行協(xié)調(diào),以確保安全服務(wù)器和對(duì)象管理器之間對(duì)策略表達(dá)是一致的。 通過(guò)在系統(tǒng)上實(shí)施兩個(gè)基本要求,可以獲得有效的原子性需求。 在策略變動(dòng)完成后,對(duì)象管理器的行為必須反映該變化; 要求對(duì)象管理器必須采用實(shí)時(shí)的方式完成策略變化。
20、 當(dāng)用一個(gè)合理定義的協(xié)議把對(duì)象管理器和安全服務(wù)器聯(lián)系起來(lái),它將給出系統(tǒng)級(jí)策略的有效原子性。,2020年8月17日星期一,27,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.5 支持吊銷(xiāo)機(jī)制,協(xié)議分為三個(gè)實(shí)施步驟: 安全服務(wù)器讓所有對(duì)象管理器注意到以改變策略的任何部分可能是以前提供的。 每個(gè)對(duì)象管理器更新內(nèi)部狀態(tài)以反映發(fā)生的變化。 每個(gè)對(duì)象管理器讓安全服務(wù)器注意到改變的完成。 序列號(hào)用于指示提供給對(duì)象管理器的策略決策的信息與請(qǐng)求改變策略的信息之間的交互。 對(duì)象管理器的實(shí)時(shí)性要求協(xié)議提供的原子形式是合理的。 通用的AVC模塊的功能是,處理所有策略變更請(qǐng)求的初始進(jìn)程且適當(dāng)?shù)剡M(jìn)化緩存。,2020年8月
21、17日星期一,28,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.5 支持吊銷(xiāo)機(jī)制,Fluke API的兩個(gè)性質(zhì)簡(jiǎn)化了微內(nèi)核的吊銷(xiāo)機(jī)制:提供了線(xiàn)程狀態(tài)的及時(shí)、完全的輸出,且確保所有內(nèi)核的操作或是原子的或是清楚地被劃分為用戶(hù)可視的原子階段。 第一條性質(zhì)允許內(nèi)核吊銷(xiāo)機(jī)制訪(fǎng)問(wèn)內(nèi)核的狀態(tài),包括當(dāng)前進(jìn)程中的操作。 第二條性質(zhì)允許將Flask的許可檢查象它控制的服務(wù)一樣裝入同樣的原子操作中,這樣可以避免在吊銷(xiāo)完成之后服務(wù)的重啟。,2020年8月17日星期一,29,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.6 安全服務(wù)器 在Flask體系中,安全服務(wù)器提供安全策略的決策,保持SI
22、D和安全上下文之間的映射,為新創(chuàng)建的對(duì)象提供SID,提供成員對(duì)象的SID,控制對(duì)象管理器的訪(fǎng)問(wèn)向量緩存。此外還提供策略的載入和改變的功能。 除了對(duì)象管理器中的緩存機(jī)制外,在安全服務(wù)器中設(shè)計(jì)一個(gè)自己的緩存機(jī)制很有好處,它用來(lái)保存訪(fǎng)問(wèn)計(jì)算的結(jié)果。 安全服務(wù)器是一個(gè)對(duì)所提供的服務(wù)的策略強(qiáng)制執(zhí)行者。首先,如果安全服務(wù)器對(duì)改變策略提供了接口,它必須對(duì)主體能夠訪(fǎng)問(wèn)的接口強(qiáng)制執(zhí)行安全策略。其次,它必須限制能夠獲取策略信息的主體。,2020年8月17日星期一,30,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.6 安全服務(wù)器,被Flask安全服務(wù)器封裝的安全策略是通過(guò)對(duì)它的代碼或策略數(shù)據(jù)庫(kù)的綁定來(lái)定義的。當(dāng)前
23、Flask安全服務(wù)器原型實(shí)現(xiàn)了4個(gè)安全子策略:多級(jí)安全MLS、類(lèi)型實(shí)施、基于標(biāo)識(shí)的訪(fǎng)問(wèn)控制和基于角色的動(dòng)態(tài)訪(fǎng)問(wèn)控制。安全服務(wù)器提供的訪(fǎng)問(wèn)決策需要符合每個(gè)子策略。,2020年8月17日星期一,31,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.7 其他Flask對(duì)象管理器 1.文件服務(wù)器 Flask的文件服務(wù)器提供4種類(lèi)型的可控制對(duì)象:文件系統(tǒng)、目錄、文件和文件描述符。因?yàn)槲募到y(tǒng)、目錄和文件是永久性對(duì)象,所以賦予它們的標(biāo)簽也必須是永久性的。 Flask文件服務(wù)器定義了對(duì)每個(gè)文件或目錄狀態(tài)進(jìn)行監(jiān)測(cè)和修改的權(quán)限。 文件服務(wù)器支持重新為文件或目錄賦安全標(biāo)簽的操作。已經(jīng)轉(zhuǎn)移的文
24、件的權(quán)限可能會(huì)再被取消;主體也必須有對(duì)路徑上每個(gè)目錄的遍歷權(quán)限;重置標(biāo)簽的操作不僅僅通過(guò)客戶(hù)端主體和文件的SID控制,而且也關(guān)系到最近被申請(qǐng)的SID。,2020年8月17日星期一,32,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.7 其他Flask對(duì)象管理器,2.網(wǎng)絡(luò)服務(wù)器 Flask的網(wǎng)絡(luò)服務(wù)器保證每個(gè)網(wǎng)絡(luò)上的IPC都經(jīng)過(guò)安全策略的認(rèn)證。 網(wǎng)絡(luò)服務(wù)器中受控制的對(duì)象類(lèi)型主要是Socket,對(duì)于維護(hù)消息邊界的Socket類(lèi)型,網(wǎng)絡(luò)服務(wù)器為通過(guò)其發(fā)出或接收的每個(gè)消息綁定一個(gè)獨(dú)立的的SID。對(duì)于其他的Socket類(lèi)型,每個(gè)消息都隱含地與發(fā)送該消息的Socket的SID關(guān)聯(lián)。 網(wǎng)絡(luò)服務(wù)器的控制是根據(jù)
25、網(wǎng)絡(luò)協(xié)議的分層結(jié)構(gòu)分層。每層可直接訪(fǎng)問(wèn)的抽象對(duì)象都分配有SID,供安全策略實(shí)施控制。網(wǎng)絡(luò)服務(wù)器所在的節(jié)點(diǎn)SID由獨(dú)立的網(wǎng)絡(luò)安全服務(wù)器提供。 Flask結(jié)構(gòu)的多例化支持安全聯(lián)合端口空間SUP。支持用來(lái)在端口和Socket綁定時(shí),進(jìn)入包的目的端口存在于多個(gè)成員端口空間時(shí),決定采用哪個(gè)端口空間。,2020年8月17日星期一,33,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.7 其他Flask對(duì)象管理器,3.進(jìn)程管理器 Flask的進(jìn)程管理器完善了POSIX中的進(jìn)程抽象體,支持fork、exec等函數(shù)。進(jìn)程管理器提供了一個(gè)可控制的對(duì)象類(lèi)型POSIX進(jìn)程,并對(duì)每個(gè)POSIX進(jìn)程綁定一個(gè)SID,該SID
26、可以通過(guò)exec發(fā)生變化。 進(jìn)程管理器的使用是與文件服務(wù)器和微內(nèi)核相結(jié)合的。進(jìn)程管理器保證每個(gè)POSIX進(jìn)程能被安全初始化;文件服務(wù)器保證可執(zhí)行的內(nèi)存被標(biāo)識(shí)了文件的SID;微內(nèi)核保證進(jìn)程可以執(zhí)行具有execute訪(fǎng)問(wèn)權(quán)限的內(nèi)存。,2020年8月17日星期一,34,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.8 LSM訪(fǎng)問(wèn)控制框架 為了在主流操作系統(tǒng)內(nèi)核中提供一個(gè)通用訪(fǎng)問(wèn)控制框架,2001年,Linus Torvalds發(fā)起LSM項(xiàng)目。從設(shè)計(jì)之初就充分考慮并結(jié)合現(xiàn)今的Linux內(nèi)核的開(kāi)發(fā)和已存在各種Linux安全項(xiàng)目工程。LSM具備三個(gè)特征: 真正通用; 概念上簡(jiǎn)單,最
27、小的擴(kuò)散,有效; 能夠?qū)F(xiàn)有的POSIX.1e權(quán)能邏輯作為一個(gè)可選安全模塊實(shí)現(xiàn)。 LSM的訪(fǎng)問(wèn)控制如圖所示。,2020年8月17日星期一,35,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.8 LSM訪(fǎng)問(wèn)控制框架,2020年8月17日星期一,36,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.8 LSM訪(fǎng)問(wèn)控制框架,每當(dāng)系統(tǒng)通過(guò)DAC檢查而試圖對(duì)一個(gè)內(nèi)部對(duì)象進(jìn)行訪(fǎng)問(wèn)時(shí),LSM借助插入到核心代碼中的“hook函數(shù)”來(lái)仲裁對(duì)該對(duì)象的訪(fǎng)問(wèn),之所以稱(chēng)為hook函數(shù),因?yàn)長(zhǎng)SM并不為該函數(shù)提供具體的實(shí)現(xiàn),該函數(shù)就像鉤子一樣掛在它上面的某個(gè)具體安全模塊的函數(shù)上。試圖回答“一個(gè)主體S可以對(duì)核心內(nèi)部對(duì)象O執(zhí)行
28、核心操作OP嗎?”,安全模塊根據(jù)自己的安全策略來(lái)判斷訪(fǎng)問(wèn)還是可以通過(guò)還是拒絕并強(qiáng)制返回一個(gè)錯(cuò)誤碼。 LSM利用hook特性,將安全決策的重任轉(zhuǎn)交給實(shí)施特定安全模型的具體安全模塊來(lái)完成。,2020年8月17日星期一,37,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.8 LSM訪(fǎng)問(wèn)控制框架,開(kāi)發(fā)基于LSM的安全模塊,首先必須為L(zhǎng)inux內(nèi)核打上補(bǔ)丁patch-2.4.18-lsm3,LSM對(duì)內(nèi)核的修改主要體現(xiàn)在如下的5個(gè)方面: 新增安全域; 設(shè)置hook函數(shù); 新增安全系統(tǒng)調(diào)用; 安全模塊管理; 調(diào)節(jié)POSIX.1e權(quán)能機(jī)制。,2020年8月17日星期一,38,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3 Flask體系,5.3.9 Flask和LSM的結(jié)合 通過(guò)將Flask支持動(dòng)態(tài)多策略的優(yōu)點(diǎn)和LSM的模塊化實(shí)現(xiàn)方式整合,設(shè)計(jì)出一種基于Flask基本思想的模塊化安全內(nèi)核。如下圖所示。,2020年8月17日星期一,39,第5章操作系統(tǒng)安全體系結(jié)構(gòu)(6課時(shí)) 5.3.9 Flask和LSM的結(jié)合,安全內(nèi)核總體上由兩部分組成,即策略引擎和策略實(shí)施。策略引擎封裝在安全服務(wù)器中,策略實(shí)施由對(duì)象管理器負(fù)責(zé)實(shí)現(xiàn)。 對(duì)象管理器包括安全文件管理器、安全網(wǎng)絡(luò)管理器、安全進(jìn)程管理器、審計(jì)管理器等。各個(gè)對(duì)象管理器功能不同的鉤子調(diào)用,截獲客
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆四川省雙流藝體中學(xué)高一化學(xué)第二學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 2025屆云南省曲靖市羅平縣一中化學(xué)高二下期末監(jiān)測(cè)模擬試題含解析
- 山西省孝義市2025屆化學(xué)高二下期末聯(lián)考模擬試題含解析
- 2025屆上海市上海交大附中高一化學(xué)第二學(xué)期期末復(fù)習(xí)檢測(cè)試題含解析
- 2025屆山東省蓬萊第二中學(xué)化學(xué)高二下期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 吉林省舒蘭一中2025屆化學(xué)高一下期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 湖北省當(dāng)陽(yáng)市第二高級(jí)中學(xué)2025屆高一下化學(xué)期末達(dá)標(biāo)檢測(cè)試題含解析
- 福建泉州市2025年高二下化學(xué)期末達(dá)標(biāo)檢測(cè)試題含解析
- 機(jī)耕道路維護(hù)管理辦法
- 內(nèi)部成員沖突管理辦法
- 老舊住宅小區(qū)綜合整治裝飾裝修工程施工方案
- 小兒腸梗阻護(hù)理課件
- 2024-2025學(xué)年譯林版新七年級(jí)英語(yǔ)上冊(cè)Unit2《Hobbies》單元卷(含答案解析)
- 遼寧省大連市甘井子區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末生物學(xué)試題(原卷版)
- 5國(guó)家機(jī)構(gòu)有哪些 第一課時(shí)(教學(xué)設(shè)計(jì))部編版道德與法治六年級(jí)上冊(cè)
- AQ/T 1118-2021 礦山救援培訓(xùn)大綱及考核規(guī)范(正式版)
- 2024屆甘南市語(yǔ)文八年級(jí)第二學(xué)期期末聯(lián)考試題含解析
- 無(wú)人機(jī)航空測(cè)繪與后期制作 課件 第十二課時(shí) 現(xiàn)場(chǎng)飛行流程
- 2024年梅州市大埔縣重點(diǎn)中學(xué)小升初語(yǔ)文入學(xué)考試卷含答案
- 2022-2023學(xué)年北京市東城區(qū)高二(下)期末化學(xué)試卷(含解析)
- 防溺水老師培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論