《網(wǎng)絡(luò)安全與保密》課件第9章_第1頁
《網(wǎng)絡(luò)安全與保密》課件第9章_第2頁
《網(wǎng)絡(luò)安全與保密》課件第9章_第3頁
《網(wǎng)絡(luò)安全與保密》課件第9章_第4頁
《網(wǎng)絡(luò)安全與保密》課件第9章_第5頁
已閱讀5頁,還剩273頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第9章訪問控制與系統(tǒng)審計9.1訪問控制9.2計算機安全等級的劃分9.3系統(tǒng)審計參考文獻思考題

JamesP.Anderson在1972年提出的參考監(jiān)視器[1](TheReferenceMonitor)的概念是經(jīng)典安全模型的最初雛形,如圖9-1所示。在這里,參考監(jiān)視器是個抽象的概念,可以說是安全機制的代名詞。

圖9-1經(jīng)典安全模型

經(jīng)典安全模型包含如下基本要素:

(1)明確定義的主體(執(zhí)行用戶操作的進程或者進程集)和客體(需要對其進行訪問控制的實體)。

(2)描述主體如何訪問客體的一個授權(quán)數(shù)據(jù)庫;它是安全策略的實現(xiàn)形式,包含了主體、客體和訪問權(quán)力。

(3)約束主體對客體訪問嘗試的參考監(jiān)視器;它是系統(tǒng)中負責執(zhí)行系統(tǒng)安全策略的硬件和軟件。當主體試圖對某個客體執(zhí)行某項操作(例如,讀操作或?qū)懖僮?時,參考監(jiān)視器必須比對主體和客體的屬性,并執(zhí)行相關(guān)的安全檢查。

(4)識別和驗證主體和客體的I&A可信子系統(tǒng)。

(5)審計參考監(jiān)視器活動的審計子系統(tǒng)。

可以看出,主體對客體的訪問嘗試都在參考監(jiān)視器的控制之下,并與授權(quán)數(shù)據(jù)庫所表示的策略保持一致。安全事件則都被保存在審計檔案中。

作為一種抽象機制,參考監(jiān)視器并沒有規(guī)定系統(tǒng)所要執(zhí)行的任何特定策略,也不指定其具體的實現(xiàn)方法。它主要是定義了一套保障框架,在高安全信息系統(tǒng)的設(shè)計、開發(fā)和實現(xiàn)中提供指導(dǎo)。參考監(jiān)視器要求實現(xiàn)三種最基本的原則:

(1)完整性(Completeness)。參考監(jiān)視器必須被執(zhí)行,不能被繞過;要求主體只能通過參考監(jiān)視器來引用客體。例如,不允許主體繞過文件系統(tǒng)直接對物理磁盤發(fā)起讀寫請求。

(2)隔離性(Isolation)。在未授權(quán)情況下,參考監(jiān)視器不會被篡改。

(3)驗證性(Verifiability)。參考監(jiān)視器的正確性必須是可以證明的;能夠給出這種證明的系統(tǒng)被認為是可信系統(tǒng)。

從參考監(jiān)視器模型可以看出,為了實現(xiàn)計算機系統(tǒng)安全所采取的基本安全措施,即安全機制有:(1)身份認證;(2)訪問控制;(3)審計。這三種安全機制之間的關(guān)系可以用圖9-2來表示。

從圖9-2可以看出,參考監(jiān)視器是主體/角色對客體進行訪問的橋梁,身份識別與驗證即身份認證是主體/角色獲得訪問授權(quán)的第一步,這也是早期黑客入侵系統(tǒng)的突破口。訪問控制是在主體身份得到認證后,根據(jù)安全策略對主體行為進行限制的機制和手段。審計作為一種安全機制,它在主體訪問客體的整個過程中都發(fā)揮著作用,為安全分析提供了有利的證據(jù)支持。它貫穿于身份認證、訪問控制的前前后后。同時,身份認證、訪問控制為審計的正確性提供保障。它們之間是互為制約、相互促進。

圖9-2安全機制

9.1訪問控制

在計算機安全防御措施中,訪問控制是極其重要的一環(huán),它是在身份認證的基礎(chǔ)上,根據(jù)身份的合法性對提出的資源訪問請求加以控制。訪問控制的目的是保證資源受控、合法地使用。用戶只能根據(jù)自己的權(quán)限大小來訪問系統(tǒng)資源,不得越權(quán)訪問。同時,訪問控制也是記賬、審計的前提。訪問控制是現(xiàn)代操作系統(tǒng)常用的安全控制方式之一。

9.1.1基本概念

從廣義的角度來看,訪問控制(AccessControl)是指對主體訪問客體的權(quán)限或能力的限制,以及限制進入物理區(qū)域(出入控制)和限制使用計算機系統(tǒng)和計算機存儲數(shù)據(jù)的過程(存取控制)。

在訪問控制中,主體是指必須控制它對客體的訪問的活動資源,它是訪問的發(fā)起者,通常為進程、程序或用戶。

客體則是指對其訪問必須進行控制的資源,客體一般包括各種資源,如文件、設(shè)備、信號量等。根據(jù)系統(tǒng)復(fù)雜度不同,客體可以是靜態(tài)的,即在進程生命周期中保持不變,或動態(tài)改變的。為使進程對自身或他人可能造成的危害最小,最好在所有時間里進程都運行在最小客體下。

訪問控制中的第三個元素是保護規(guī)則,它定義了主體與客體之間可能的相互作用途徑。

根據(jù)訪問控制策略的不同,訪問控制一般分為自主訪問控制、強制訪問控制、基于角色的訪問控制。自主訪問控制是目前計算機系統(tǒng)中實現(xiàn)最多的訪問控制機制,它是根據(jù)訪問者的身份和授權(quán)來決定訪問模式。強制訪問控制是將主體和客體分級,然后根據(jù)主體和客體的級別標記來決定訪問模式?!皬娭啤敝饕w現(xiàn)在系統(tǒng)強制主體服從訪問控制策略?;诮巧脑L問控制的基本思想是:授權(quán)給用戶的訪問權(quán)限通常由用戶在一個組織中擔當?shù)慕巧珌泶_定。它根據(jù)用戶在組織內(nèi)的所處的角色作出訪問授權(quán)和控制,但用戶不能自主地將訪問權(quán)限傳給他人。這一點是基于角色的訪問控制和自主訪問控制的最基本區(qū)別。

9.1.2自主訪問控制

自主訪問控制,又稱任意訪問控制(DiscretionaryAccessControl,DAC),是指根據(jù)主體身份或者主體所屬組的身份或者二者的結(jié)合,對客體訪問進行限制的一種方法。它最初由TCSEC(可信計算機安全評估標準[2])定義,是訪問控制措施中最常用的一種方法,這種訪問控制方法允許用戶可以自主地在系統(tǒng)中規(guī)定誰可以存取它的資源實體,即用戶(包括用戶程序和用戶進程)可選擇同其它用戶一起共享某個文件。所謂自主,是指具有授予某種訪問權(quán)力的主體(用戶)能夠自己決定是否將訪問權(quán)限授予其它的主體。

安全操作系統(tǒng)需要具備的特征之一就是自主訪問控制,它基于對主體及主體所屬的主體組的識別來限制對客體的存取。在大多數(shù)的操作系統(tǒng)中,自主訪問控制的客體不僅僅是文件,還包括郵箱、通信信道、終端設(shè)備等。

自主訪問控制的具體實施可采用以下幾種方法:

1.訪問控制矩陣(AccessControlMatrix)

從理論上來說,訪問控制矩陣是用來表示訪問控制系統(tǒng)安全狀態(tài)的,因此訪問控制矩陣模型是用狀態(tài)和狀態(tài)轉(zhuǎn)換進行定義的,系統(tǒng)和狀態(tài)用矩陣表示,狀態(tài)的轉(zhuǎn)換則用命令來進行描述。直觀地看,訪問控制矩陣是一張表格,每行代表一個用戶(即主體),每列代表一個存取目標(即客體),表中縱橫對應(yīng)的項是該用戶對該存取客體的訪問權(quán)集合(權(quán)集)。訪問控制系統(tǒng)的基本功能是確保只有矩陣中指定的操作才能被執(zhí)行。

圖9-3是訪問控制矩陣原理的簡單示意圖。抽象地說,系統(tǒng)的訪問控制矩陣表示了系統(tǒng)的一種保護狀態(tài),如果系統(tǒng)中用戶發(fā)生了變化,訪問對象發(fā)生了變化,或者某一用戶對某個對象的訪問權(quán)限發(fā)生了變化,都可以看作是系統(tǒng)的保護狀態(tài)發(fā)生了變化。由于訪問控制矩陣模型只規(guī)定了系統(tǒng)狀態(tài)的遷移必須有規(guī)則,而沒有規(guī)定是什么規(guī)則,因此,該模型的靈活性很大,但卻給系統(tǒng)埋下了潛在的安全隱患。另外,當系統(tǒng)擁有大量用戶和客體時,訪問控制矩陣將變得十分臃腫且稀疏,效率很低。因此,訪問控制系統(tǒng)很少采用矩陣形式,更多的是其替代形式:訪問控制列表和能力表。

圖9-3訪問控制矩陣舉例

2.能力表(CapabilityList)

在能力表訪問控制方法中借用了系統(tǒng)對文件的目錄管理機制,為每一個欲實施訪問操作的主體,建立一個能被其訪問的“客體目錄表(文件目錄表)”。例如,某個主體的客體目錄表可能為

目錄表中的每一項稱為能力,它由特定的客體和相應(yīng)的訪問權(quán)限組成,表示主體對該客體所擁有的訪問能力。把主體所擁有的所有能力組合起來就得到了該主體的能力表。這種方法相當于把訪問控制矩陣按照行進行存貯。

當然,客體目錄表中各個客體的訪問權(quán)限的修改只能由該客體的合法屬主確定,不允許其它任何用戶在客體目錄表中進行寫操作,否則將可能出現(xiàn)對客體訪問權(quán)的偽造。因此,操作系統(tǒng)必須在客體的擁有者控制下維護所有的客體目錄。

能力表訪問控制機制的優(yōu)點是容易實現(xiàn),每個主體擁有一張客體能力表,這樣主體能訪問的客體及權(quán)限一目了然,依據(jù)該表對主體和客體的訪問與被訪問進行監(jiān)督比較簡便。

缺點一是系統(tǒng)開銷、浪費較大,這是由于每個用戶都有一張目錄表,如果某個客體允許所有用戶訪問,則將給每個用戶逐一填寫文件目錄表,因此會造成系統(tǒng)額外開銷;二是由于這種機制允許客體屬主用戶對訪問權(quán)限實施傳遞并可多次進行,造成同一文件可能有多個屬主的情形,各屬主每次傳遞的訪問權(quán)限也難以相同,甚至可能會把客體改用別名,因此使得能越權(quán)訪問的用戶大量存在,在管理上繁亂易錯。

3.訪問控制列表(AccessControlList)

訪問控制列表的策略正好與能力表訪問控制相反,它是從客體角度、按列進行設(shè)置的、面向客體的訪問控制。每個客體有一個訪問控制列表,用來說明有權(quán)訪問該客體的所有主體及其訪問權(quán)限,如圖9-4所示。圖中說明了不同主體對客體(Example文件)的訪問權(quán)限。其中客體Example文件的訪問控制列表如下:

<john,r><jane,rw>

其中,john和jane表示用戶的注冊ID;r和w表示所允許的訪問類型讀和寫。

圖9-4訪問控制列表

訪問控制列表通常還支持統(tǒng)配符,從而可以制定更一般的訪問規(guī)則。例如,我們可以制定:

<*.*,r>

表示任何組當中的任何用戶都可以讀文件。也可以制定如下規(guī)則:

<@.*,rw>

表示只有文件的屬主(@)才能讀和寫文件。

訪問控制列表方式的最大優(yōu)點就是能較好地解決多個主體訪問一個客體的問題,不會像能力表訪問控制那樣因授權(quán)繁亂而出現(xiàn)越權(quán)訪問。缺點是由于訪問控制列表需占用存儲空間,并且由于各個客體的長度不同而出現(xiàn)存放空間碎片造成浪費,每個客體被訪問時都需要對訪問控制列表從頭到尾掃描一遍,影響系統(tǒng)運行速度和浪費了存儲空間。

4.許可模式

存取許可與存取模式是自主訪問控制機制中的兩個重要概念。存取許可是一種權(quán)力,即存取許可能夠允許主體修改客體的訪問控制列表,因此,可以利用存取許可實現(xiàn)自主訪問控制機制的控制。存取模式是經(jīng)過存取許可的確定后,對客體進行各種不同的存取操作。存取許可的作用在于定義或改變存取模式;存取模式的作用是規(guī)定主體對客體可以進行的存取操作。

在各種以自主訪問控制機制進行訪問控制的系統(tǒng)中,存取模式主要有:讀(Read),即允許主體對客體進行讀和拷貝的操作;寫(Write),即允許主體寫入或修改信息,包括擴展、壓縮及刪除等;執(zhí)行(Execute),就是允許將客體作為一種可執(zhí)行文件運行,在一些系統(tǒng)中該模式還需要同時擁有讀模式;空模式(Null),即主體對客體不具有任何的存取權(quán)。

在許多操作系統(tǒng)當中,對文件或者目錄的訪問控制是通過把各種用戶分成三類來實施的:屬主(Self)、同組的其它用戶(Group)和其它用戶(Public)。

訪問控制系統(tǒng)的作用就是給不同類型的用戶分配不同的存取模式。通常每個文件或者目錄都同幾個稱為文件許可(FilePermissions)的控制比特位相關(guān)聯(lián)。各個文件許可位的含義,如圖9-5所示。

圖9-5self/group/public訪問控制

以下給出了某系統(tǒng)中smit.log文件和bin目錄的訪問許可模式:

其中,最左邊的第9位表示文件類型,可以為p、d、l、s、c、b和-。p表示命名管道文件;d表示目錄文件;l表示符號連接文件;s表示socket文件;c表示字符設(shè)備文件;b表示塊設(shè)備文件;-表示普通文件。

位是用來區(qū)分客體是一個文件還是一個目錄,隨后的9個比特才是真正的許可模式,其中第8-6位、5-3位、2-0位分別表示文件所有者的權(quán)限,同組用戶的權(quán)限,其它用戶的權(quán)限,分別對應(yīng)圖9-5中三類用戶的訪問權(quán)限。例如屬主對文件smit.log擁有讀和寫權(quán)限,而其它用戶只有讀權(quán)限?!?”表示對應(yīng)的許可權(quán)限沒有提供,也就代表沒有相應(yīng)權(quán)限。

缺省情況下,創(chuàng)建文件的用戶即成為文件的所有者。一般來說,文件的所有者是除了超級用戶外可以修改文件許可模式的唯一用戶。

自主訪問控制面臨的最大缺陷主要有兩點:第一,在基于DAC的系統(tǒng)中,主體的擁有者負責設(shè)置訪問權(quán)限。也就是說,主體擁有者對訪問的控制有一定權(quán)利。但正是這種權(quán)利使得信息在移動過程中其訪問權(quán)限關(guān)系會被改變。如用戶A將其對客體目標O的讀訪問權(quán)限傳遞給用戶B,那么B就可以讀取O的內(nèi)容并將其拷貝到另一個客體X,此時,原用戶A就很難再對客體O的內(nèi)容進行控制了,這很容易產(chǎn)生安全漏洞。第二,DAC機制很容易受特洛伊木馬攻擊。

9.1.3強制訪問控制

強制訪問控制(MandatoryAccessControl,MAC)是根據(jù)客體中信息的敏感標簽和訪問敏感信息的主體的訪問等級,對客體訪問實行限制的一種方法。它主要用于保護那些處理特別敏感數(shù)據(jù)(例如,政府保密信息或企業(yè)敏感數(shù)據(jù))的系統(tǒng)。在強制訪問控制中,用戶的權(quán)限和客體的安全屬性都是固定的,由系統(tǒng)決定一個用戶對某個客體能否進行訪問。所謂“強制”就是安全屬性由系統(tǒng)管理員人為設(shè)置,或由操作系統(tǒng)自動地按照嚴格的安全策略與規(guī)則進行設(shè)置,用戶和他們的進程不能修改這些屬性。所謂“強制訪問控制”是指訪問發(fā)生前,系統(tǒng)通過比較主體和客體的安全屬性來決定主體能否以他所希望的模式訪問一個客體。

強制訪問控制的實質(zhì)是對系統(tǒng)當中所有的客體和所有的主體分配敏感標簽(SensitivityLabel)。用戶的敏感標簽指定了該用戶的敏感等級或者信任等級,也被稱為安全許可(Clearance)。而文件的敏感標簽則說明了要訪問該文件的用戶所必須具備的信任等級。

強制訪問控制就是利用敏感標簽來確定誰可以訪問系統(tǒng)中的特定信息。

貼標簽和強制訪問控制可以實現(xiàn)多級安全策略(multi-levelsecuritypolicy)。這種策略可以在單個計算機系統(tǒng)中處理不同安全等級的信息。

只要系統(tǒng)支持強制訪問控制,那么系統(tǒng)中的每個客體和主體都有一個敏感標簽同它相關(guān)聯(lián)。敏感標簽由兩個部分組成:類別(Classification)和類集合(有時也稱為隔離間-Compartments)。例如:

類別是單一的、層次結(jié)構(gòu)的。在軍用安全模型(基于美國國防部的多級安全策略)中,有四種不同的等級:絕密級(TopSecret)、機密級(Secret)、秘密級(Confidential)及普通級(Unclassified),其級別關(guān)系為T>S>C>U。

類集合或者隔離間是非層次的,代表系統(tǒng)當中信息的不同區(qū)域。類當中可以包含任意數(shù)量的項。

強制訪問控制機制的特點主要有:一是強制性,這是強制訪問控制的突出特點,除了代表系統(tǒng)的管理員以外,任何主體、客體都不能直接或間接地改變它們的安全屬性。二是限制性,即系統(tǒng)通過比較主體和客體的安全屬性來決定主體能否以它所希望的模式訪問一個客體,這種無法回避的比較限制,將防止某些非法入侵。同時,也不可避免地要對用戶自己的客體施加一些嚴格的限制。

9.1.4訪問控制模型

在強制訪問控制系統(tǒng)當中,控制系統(tǒng)之間的信息輸入和輸出是非常重要的。MAC系統(tǒng)有大量的規(guī)則用于數(shù)據(jù)輸入和輸出。

在MAC系統(tǒng)當中,所有的訪問決策都是由系統(tǒng)作出,而不是自由訪問控制當中的由用戶自行決定。對某個客體是否允許訪問的決策由以下三個因素決定:

(1)主體的標簽,即你的安全許可,如

TOPSECRET[VENUSTANKALPHA]

(2)客體的標簽,例如文件Example的敏感標簽如

SECRET[VENUSALPHA]

(3)訪問請求,例如你試圖讀還是寫訪問。

根據(jù)主體和客體的敏感標簽和讀寫關(guān)系可以有以下四種組合:

(1)下讀(Readdown)。主體級別高于客體級別的讀操作。

(2)上寫(Writeup)。主體級別低于客體級別的寫操作。

(3)下寫(Writedown)。主體級別高于客體級別的寫操作。

(4)上讀(Readup)。主體級別低于客體級別的讀操作。

這四種組合中不同的讀寫方式導(dǎo)致了不同的安全模型。

1.Bell-LaPadula模型

Bell-LaPadula(BLP)模型[3]是20世紀70年代,美國軍方提出的用于解決分時系統(tǒng)的信息安全和保密問題,該模型主要用于防止保密信息被未授權(quán)的主體訪問。

BLP模型使用主體、客體、訪問操作(讀,寫,讀/寫)以及安全級別這些概念,當主體和客體位于不同的安全級別時,主體對客體就存在一定的訪問限制。BLP模型基于以下兩種規(guī)則來保障數(shù)據(jù)的保密性,如圖9-6所示。

圖9-6Bell-LaPadula模型

(1)禁止上讀(NRU)。主體不可讀安全級別高于它的數(shù)據(jù),稱為簡單安全特性。

(2)禁止下寫(NWD)。主體不可寫安全級別低于它的數(shù)據(jù),稱為*(星號)特性。

上述兩條規(guī)則能保證信息不被非授權(quán)主體所訪問,實現(xiàn)分級安全。

以圖9-7為例,客體Example文件的敏感標簽為:SECRET[VENUSALPHA]),主體Jane的敏感標簽為SECRET[ALPHA]),雖然主體的敏感等級滿足上述讀寫規(guī)則,但是由于主體Jane的類集合當中沒有VENUS,所以不能讀此文件。而寫則允許,因為客體Example的敏感等級不低于主體Jane的敏感等級,寫了以后不會降低敏感等級。

圖9-7強制訪問控制舉例

BLP模型是一個很安全的模型,其控制信息只能由低向高流動,能滿足軍事部門等一類對數(shù)據(jù)保密性要求特別高的機構(gòu)的需求??偟膩碚f,BLP模型“過于安全”:上級對下級發(fā)文受到限制、部門之間信息的橫向流動被禁止、缺乏靈活、安全的授權(quán)機制。BLP模型主要的安全弱點在于:

(1)低安全級的信息向高安全級流動,可能破壞高安全客體中數(shù)據(jù)完整性,被病毒和黑客利用。

(2)只要信息由低向高流動即合法(高讀低),不管工作是否有需求,這不符合最小特權(quán)原則。

2.Biba完整性模型

20世紀70年代,KenBiba提出了Biba訪問控制模型[4],該模型對數(shù)據(jù)提供了分級別的完整性保證,類似于BLP保密性模型,Biba模型也使用強制訪問控制系統(tǒng)。BLP模型使用安全級別(絕密,機密,秘密等),這些安全級別用于保證敏感信息只被授權(quán)的個體所訪問,而Biba模型不關(guān)心信息保密性的安全級別,因此,它的訪問控制不是建立在安全級別上,而是建立在完整性級別上。

Biba模型能夠防止數(shù)據(jù)從低完整性級別流向高完整性級別,跟BLP一樣,Biba模型基于下述兩種規(guī)則來保障數(shù)據(jù)的完整性,如圖9-8所示。

(1)禁止下讀(NRU)屬性。主體不能讀取安全級別低于它的數(shù)據(jù),稱為簡單完整特性。

(2)禁止上寫(NWD)屬性。主體不能寫入安全級別高于它的數(shù)據(jù),稱為完整特性。

從這兩個屬性來看,我們發(fā)現(xiàn)Biba與BLP模型的兩個屬性是相反的,BLP模型提供保密性,而Biba模型對于數(shù)據(jù)的完整性提供保障。

Biba模型在應(yīng)用中的一個例子是對Web服務(wù)器的訪問過程。如圖9-9所示。定義Web服務(wù)器上發(fā)布的資源安全級別為“秘密”,Internet上用戶的安全級別為“公開”,依照Biba模型,Web服務(wù)器上數(shù)據(jù)的完整性將得到保障,Internet上的用戶只能讀取服務(wù)器上的數(shù)據(jù)而不能更改它,因此,任何“POST”操作將被拒絕。

圖9-8Biba模型圖9-9Biba模型應(yīng)用舉例

另一個例子,是對系統(tǒng)狀態(tài)信息的收集,網(wǎng)絡(luò)設(shè)備作為對象,被分配的安全等級為“機密”,網(wǎng)管工作站的安全級別為“秘密”,那么網(wǎng)管工作站將只能使用SNMP的“get”命令來收集網(wǎng)絡(luò)設(shè)備的狀態(tài)信息,而不能使用“set”命令來更改該設(shè)備的設(shè)置。這樣,網(wǎng)絡(luò)設(shè)備的配置完整性就得到了保障。

Biba模型并沒有被用來設(shè)計安全操作系統(tǒng),但大多數(shù)完整性保障機制都基于Biba模型的兩個基本屬性構(gòu)建。

9.1.5基于角色的訪問控制

強制訪問控制彌補了自主訪問控制在防范木馬型攻擊方面的不足,但是強制訪問控制只能應(yīng)用于等級觀念明顯的行業(yè)(如軍隊),在商業(yè)領(lǐng)域其應(yīng)用并不十分有效。在20世紀80年代到90年代初這段時期,訪問控制領(lǐng)域的研究人員逐漸認識到將角色作為一個管理權(quán)限的實體單獨抽象出來的好處,1992年,F(xiàn)erraiolo和Kuhn合作提出了RBAC模型[7]。1996年Sandhu等人[8]提出了RBAC模型框架:RBAC96,該框架把RBAC分成四個概念模型。2004年2月,美國國家標準委員會(ANSI)和IT國際標準委員會(INCITS)以RBAC96為基礎(chǔ)制定了ANSIINCITS359-2004標準。從概念提出到商業(yè)運用和部署,RBAC得到了快速發(fā)展。

基于角色的訪問控制(Role–BasedAccessControl,RBAC),其核心思想就是:將訪問許可權(quán)分配給一定的角色,用戶通過飾演不同的角色獲得角色所擁有的訪問許可權(quán)。這是因為在很多實際應(yīng)用中,用戶并不是可以訪問的客體信息資源的所有者(這些信息屬于企業(yè)或公司),這樣的話,訪問控制應(yīng)該基于員工的職務(wù)而不是基于員工在哪個組或是誰。

在RBAC中,“角色”是指一個或一群用戶在組織內(nèi)可執(zhí)行的操作的集合。RBAC從控制主體的角度出發(fā),根據(jù)管理中相對穩(wěn)定的職權(quán)和責任來劃分角色,將訪問權(quán)限與角色相聯(lián)系,這點與傳統(tǒng)的MAC和DAC將權(quán)限直接授予用戶的方式不同;通過給用戶分配合適的角色,讓用戶與訪問權(quán)限相聯(lián)系。角色成為訪問控制中訪問主體和受控客體之間的一座橋梁,如圖9-10所示。

圖9-10基于角色的訪問控制

RBAC不允許用戶與權(quán)限有直接的聯(lián)系。在RBAC中,權(quán)限被指派給角色,所有用戶只能通過指派給他們的角色獲得權(quán)限。每個角色所對應(yīng)的權(quán)限可以跨越不同平臺和應(yīng)用程序來授權(quán)。在某些組織中,用戶和權(quán)限眾多且變更頻繁,而角色則相對穩(wěn)定。通過角色來控制訪問簡化了訪問控制的管理和審核。

9.1.6RBAC標準模型

ANSIINCITS359-2004標準RBAC模型由4個部件模型組成,這4個部件模型分別是基礎(chǔ)模型RBAC0(CoreRBAC)、層次模型RBAC1(HierarchalRBAC)、約束模型RBAC2(ConstraintRBAC)和統(tǒng)一模型RBAC3(CombinesRBAC),如圖9-11所示。

圖9-11RBAC框架模型

RBAC0包含了構(gòu)成一個RBAC控制系統(tǒng)的最小元素集合,其中包括以下五個基本單元:

(1)用戶(users):代表人,也可以是設(shè)備、代理等,是一個可以獨立訪問計算機系統(tǒng)中的數(shù)據(jù)或者用數(shù)據(jù)表示的其它資源的主體。

(2)角色(roles):表示工作職責。

(3)客體(objects):表示資源或者對象,任何訪問控制機制都是為了保護系統(tǒng)的資源??腕w可以是文件、目錄、數(shù)據(jù)庫表、行、字段等,甚至于磁盤空間、CPU周期等都是資源。

(4)操作(operations):是程序的可執(zhí)行映像,被用于調(diào)用和執(zhí)行。例如文件系統(tǒng)的操作有讀、寫、執(zhí)行等。

(5)權(quán)限(permissions):權(quán)限由客體以及客體所對應(yīng)的操作組成。

在RBAC中,權(quán)限被賦予角色,而不是用戶,當一個角色被指定給一個用戶時,此用戶就擁有了該角色所包含的權(quán)限,如圖9-12所示。圖中采用的雙向箭頭,表示多對多的關(guān)系。例如,一個主體可以有多個角色,而一個角色也可以分配給不同主體。

圖9-12用戶、角色和權(quán)限之間關(guān)系

RBAC的重點關(guān)注對象就是角色和用戶、權(quán)限的關(guān)系,分別被稱為用戶角色分配UA(Userassignment)和角色權(quán)限分配PA(Permissionassignment)。關(guān)系的左右兩邊都是多對多關(guān)系。

會話(Session)是用戶與激活的角色集合之間的映射。用戶是一個靜態(tài)的概念,而會話則是一個動態(tài)的概念。一次會話是用戶的一個激活進程,它代表用戶與系統(tǒng)的一次交互。用戶與會話是一對多關(guān)系,一個用戶可以同時打開一或多個會話,每個會話和單個用戶關(guān)聯(lián)。

每個會話將一個用戶與他所對應(yīng)的角色集中的一部分建立映射關(guān)系,這個角色會話子集稱為被會話激活的角色集。當一個用戶激活他所有角色的一個子集的時候,就建立了一個會話。于是,在這次會話中,用戶可以執(zhí)行的操作就是該會話激活的角色集對應(yīng)的權(quán)限所允許的操作。

為了提高效率,避免相同權(quán)限的重復(fù)設(shè)置,RBAC采用了“角色繼承”的概念,定義的各類角色,它們都有自己的屬性,但可能還繼承其它角色的屬性和權(quán)限。角色繼承把角色組織起來,能夠很自然地反映組織內(nèi)部人員之間的職權(quán)、責任關(guān)系。

角色繼承是一種角色和角色之間的關(guān)系,當角色A繼承角色B的權(quán)限時,我們稱角色A為資深角色(SeniorRole),角色B為資淺角色(JuniorRole),也就是資深角色會繼承資淺角色的權(quán)限。這種繼承我們稱之為直接繼承。另一種繼承方式是間接繼承,即當前述角色B又繼承另一角色C的權(quán)限,此時角色A不僅擁有角色B的權(quán)限,而且還會通過角色B間接擁有角色C的權(quán)限。由此,角色之間形成一種層次型的結(jié)構(gòu),稱之為無環(huán)有向圖(AcyclicDirectedGraph)結(jié)構(gòu)。樹狀圖(Tree)和網(wǎng)格圖(Lattice)都屬于這種結(jié)構(gòu),分別對應(yīng)不同的繼承方式。

RBAC1引入角色間的繼承關(guān)系,角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。受限繼承關(guān)系(LimitedInheritance)中的一個角色只能直接繼承另一個資淺角色的權(quán)限,但間接繼承不受限制,這種角色繼承關(guān)系是一個樹結(jié)構(gòu),如圖9-13所示。

圖9-13受限角色繼承層次圖

圖9-13中,技術(shù)開發(fā)人員所共同的權(quán)限,分配給技術(shù)開發(fā)人員這個角色。而軟件開發(fā)人員所共用的權(quán)限,則分配給軟件開發(fā)人員這個角色,并依此類推。因此,我們在設(shè)定軟件工程師這個角色的權(quán)限時,只需要分配其特有的權(quán)限即可,其余的權(quán)限則從軟件開發(fā)人員及技術(shù)開發(fā)人員的角色中繼承。在角色繼承關(guān)系圖中,處于最上面的角色擁有最大的訪問權(quán)限,越下端的角色擁有的權(quán)限越小。圖9-13中權(quán)限繼承的方向和面向?qū)ο蟪绦蛟O(shè)計中對象繼承的方向剛好相反。

一般繼承關(guān)系(GeneralInheritance)中的一個角色能直接繼承多于一個資淺角色的權(quán)限。此時角色之間形成網(wǎng)格圖,如圖9-14所示,但也可能形成樹狀圖(實際上是反轉(zhuǎn)樹(InvertedTree)結(jié)構(gòu)),如圖9-14中最上面三層結(jié)構(gòu)。

圖9-14一般角色繼承層次圖

RBAC2模型中添加了多種約束關(guān)系。RBAC2的約束規(guī)定了權(quán)限被賦予角色,或角色被賦予用戶時,以及當用戶在某一時刻激活一個角色時所應(yīng)遵循的強制性規(guī)則。主要的約束關(guān)系如下:

(1)職責分離包括靜態(tài)職責分離和動態(tài)職責分離。

靜態(tài)職責分離(SSD)。只有當一個角色與用戶所屬的其它角色彼此不互斥時,這個角色才能授權(quán)給該用戶。例如,會計和出納一般都不允許同一個人兼任。

動態(tài)職責分離(DSD)。只有當一個角色與一主體的任何一個當前激活角色都不互斥時,該角色才能成為該主體的另一個激活角色。

(2)基數(shù)限制(CardinalityConstraints)。在創(chuàng)建新的角色時,要指定角色的容量。在一個特定的時間段內(nèi),有一些角色只能由一定人數(shù)的用戶占用。同樣,一個角色對應(yīng)的權(quán)限數(shù)目也受限。

(3)先決條件角色??梢苑峙浣巧o用戶僅當該用戶已經(jīng)是另一角色的成員;對應(yīng)地,可以分配權(quán)限給角色,僅當該角色已經(jīng)擁有另一種操作權(quán)限。例如,當用戶擁有了角色A時才可以分配角色B給用戶,而且在其它任何情況下角色B都不能分配給用戶,那么角色A即為角色B的先決條件角色,有的時候我們也稱為必備角色。同理類推必備權(quán)限。

(4)時間頻度限制。規(guī)定特定角色權(quán)限的使用時間及頻度。

RBAC3是RBAC1和RBAC2兩者的結(jié)合,既提供了角色間的繼承關(guān)系,又提供了職責分離等多種約束關(guān)系,其模型如圖9-15所示。

圖9-15RBAC3組合模型

9.1.7總結(jié)

訪問控制,作為安全防御措施的一個重要環(huán)節(jié),其作用是舉足輕重的。自主訪問控制機制雖然有著很大的靈活性,但同時也存在著安全隱患;強制訪問控制機制雖然大大提高了安全性,但是在靈活性上就會大打折扣。這兩種傳統(tǒng)的訪問控制機制存在的問題使得訪問控制的研究向著新的方向發(fā)展,基于角色的訪問控制機制就是這種形勢下的產(chǎn)物,它克服了傳統(tǒng)的訪問控制機制的不足,是一種有效而靈活的安全策略。它是未來訪問控制的發(fā)展趨勢。

9.2計算機安全等級的劃分

為了加強計算機系統(tǒng)的信息安全,1985年美國國防部發(fā)表了《可信計算機評估準則》(縮寫為TCSEC)[2],即通常所說的黃皮書。TCSEC提出了訪問控制在計算機安全系統(tǒng)中的重要作用,給出了自主訪問控制和強制訪問控制策略,以阻止非授權(quán)用戶對敏感信息的訪問。該標準將計算機系統(tǒng)的安全程度從高到低劃分劃分了4類7個安全等級,分別為A1,B3,B2,B1,C2,C1,D七個等級,每一等級對訪問控制都提出了不同的要求。例如,C級要求至少具有自主型的訪問控制;B級以上要求具有強制型的訪問控制手段。各個等級具體劃分如下。

(1)

D級:(MinimalProtection)最低安全保護。沒有任何安全性防護,如DOS和Windows95/98等操作系統(tǒng)。

(2)

C1級:(DiscretionarySecurityProtection)自主安全保護。這一級的系統(tǒng)必須對所有的用戶進行分組;對于每個用戶必須注冊后才能使用;系統(tǒng)必須記錄每個用戶的注冊活動;系統(tǒng)對可能破壞自身的操作將發(fā)出警告。

(3)

C2級:(ControledAccessProtection)可控訪問保護。在C1級基礎(chǔ)上,增加了以下要求:所有的客體都只有一個主體;對于每個試圖訪問客體的操作,都必須檢驗權(quán)限;有且僅有主體和主體指定的用戶可以更改權(quán)限;管理員可以取得客體的所有權(quán),但不能再歸還;系統(tǒng)必須保證自身不能被管理員以外的用戶改變;系統(tǒng)必須有能力對所有的操作進行記錄,并且只有管理員和由管理員指定的用戶可以訪問該記錄。SCOUNIX和WindowsNT屬于C2級。

(4)

B1級:(LabeledSecurityProtection)標識的安全保護。在C2的基礎(chǔ)上,增加以下幾條要求:不同的組成員不能訪問對方創(chuàng)建的客體,但管理員許可的除外;管理員不能取得客體的所有權(quán)。WindowsNT的定制版本可以達到B1級。

(5)

B2級:(StructuredProtection)結(jié)構(gòu)化保護。在B1的基礎(chǔ)上,增加以下幾條要求:所有的用戶都被授予一個安全等級;安全等級較低的用戶不能訪問高等級用戶創(chuàng)建的客體。銀行的金融系統(tǒng)通常達到B2級。

(6)

B3級:(SecurityDomain)安全域保護。在B2的基礎(chǔ)上,增加以下要求:系統(tǒng)有自己的執(zhí)行域,不受外界干擾或篡改。系統(tǒng)進程運行在不同的地址空間從而實現(xiàn)隔離。

(7)

A1級:(VerifiedDesign)可驗證設(shè)計。在B3的基礎(chǔ)上,增加以下要求:系統(tǒng)的整體安全策略一經(jīng)建立便不能修改。

1999年9月13日我國頒布了《計算機信息系統(tǒng)安全保護等級劃分準則》(GB17859—1999),定義了計算機信息系統(tǒng)安全保護能力的五個等級:第一級到第五級。實際上,國標中將國外的最低級D級和最高級A1級取消,余下的分為五級。TCSEC中的B1級與GB17859的第三級對應(yīng)。

(1)第一級:用戶自主保護級;

(2)第二級:系統(tǒng)審計保護級;

(3)第三級:安全標記保護級;

(4)第四級:結(jié)構(gòu)化保護級;

(5)第五級:訪問驗證保護級。

計算機的出現(xiàn),尤其計算機網(wǎng)絡(luò)的出現(xiàn),使得安全問題備受人們關(guān)注。而且人們在為實現(xiàn)計算機安全的征程中經(jīng)歷著不斷的探索。最為引人注目的應(yīng)該是美國國防部(DOD)在20世紀70年代支持的一項內(nèi)容廣泛的研究計劃,該計劃研究安全策略、安全指南和“可信系統(tǒng)”的控制。

9.3系統(tǒng)審計

可信系統(tǒng)定義為“能夠提供足夠的硬件和軟件,以確保系統(tǒng)同時處理一定范圍內(nèi)的敏感或分級信息”。因此,可信系統(tǒng)主要是為軍事和情報組織在同一計算機系統(tǒng)中存放不同敏感級別(通常對應(yīng)于相應(yīng)的分級)信息而提出的。

在最初的研究中,研究人員爭論安全審計機制是否對可信系統(tǒng)的安全級別有幫助。最終,審計機制被納入《可信計算機系統(tǒng)評估準則》(“橙皮書”)中,作為對C2及C2以上級系統(tǒng)的要求的一部分。概括了DOD的可信計算機系統(tǒng)研究成果的這一系列文檔通常被稱為“彩虹系列”(RainbowSeries)。“彩虹系列”中的一份文檔“褐皮書”(TanBook)就是說明可信系統(tǒng)中的審計的,標題是《理解可信系統(tǒng)中的審計指南》。彩虹系列文檔可在網(wǎng)站:/rainbow_series/下載。

9.3.1審計及審計跟蹤

審計(Audit)是指產(chǎn)生、記錄并檢查按時間順序排列的系統(tǒng)事件記錄的過程。它是一個被信任的機制,TCB的一部分。同時,它也是計算機系統(tǒng)安全機制的一個不可或缺的部分,對于C2及以上安全級別的計算機系統(tǒng)來講,審計功能是其必備的安全機制。而且,審計是其它安全機制的有力補充,它貫穿計算機安全機制實現(xiàn)的整個過程,從身份認證到訪問控制這些都離不開審計。同時,審計還是后來人們研究的入侵檢測系統(tǒng)的前提。

可信計算基礎(chǔ)(TrustedComputingBase,簡稱TCB)

所謂可信計算基礎(chǔ)即操作系統(tǒng)中用于實現(xiàn)安全策略的一個集合體(包含軟件、固件和硬件),該集合體根據(jù)安全策略來處理主體對客體的訪問,并滿足以下特征:(a)TCB實施主體對客體的安全訪問;(b)TCB是抗篡改的;(c)TCB的結(jié)構(gòu)易于分析和測試。

審計跟蹤(AuditTrail)(“褐皮書”)是系統(tǒng)活動的記錄,這些記錄足以重構(gòu)、評估、審查環(huán)境和活動的次序,這些環(huán)境和活動是同一項事務(wù)的開始到最后結(jié)束期間圍繞或?qū)е乱豁棽僮?、一個過程或一個事件相關(guān)的。

從這個意義來講,審計跟蹤可用來實現(xiàn):確定和保持系統(tǒng)活動中每個人的責任;重建事件;評估損失;監(jiān)測系統(tǒng)問題區(qū);提供有效的災(zāi)難恢復(fù);阻止系統(tǒng)的不正當使用等。

作為一種安全機制,計算機系統(tǒng)的審計機制的安全目標有(“褐皮書”):

(1)審查基于每個目標或每個用戶的訪問模式,并使用系統(tǒng)的保護機制。

(2)發(fā)現(xiàn)試圖繞過保護機制的外部人員和內(nèi)部人員。

(3)發(fā)現(xiàn)用戶從低等級到高等級的訪問權(quán)限轉(zhuǎn)移。

(4)制止用戶企圖繞過系統(tǒng)保護機制的嘗試。

(5)作為另一種機制確保記錄并發(fā)現(xiàn)用戶企圖繞過保護的嘗試,為損失控制提供足夠的信息。

9.3.2安全審計

審計是記錄用戶使用計算機網(wǎng)絡(luò)系統(tǒng)進行所有活動的過程,它是提高安全性的重要工具。安全審計跟蹤機制的價值在于:經(jīng)過事后的安全審計可以檢測和調(diào)查安全漏洞。

(1)它不僅能夠識別誰訪問了系統(tǒng),還能指出系統(tǒng)正被怎樣地使用。

(2)對于確定是否有網(wǎng)絡(luò)攻擊的情況,審計信息對于確定問題和攻擊源很重要。

(3)系統(tǒng)事件的記錄能夠更迅速和系統(tǒng)地識別問題,并且它是后面階段事故處理的重要依據(jù)。

(4)通過對安全事件的不斷收集與積累并且加以分析,有選擇性地對其中的某些站點或用戶進行審計跟蹤,以提供發(fā)現(xiàn)可能產(chǎn)生破壞性行為的有力證據(jù)。

安全審計就是對系統(tǒng)的記錄與行為進行獨立的品評考查,目的是:

(1)測試系統(tǒng)的控制是否恰當,保證與既定安全策略和操作能夠協(xié)調(diào)一致。

(2)有助于作出損害評估。

(3)對控制、策略與規(guī)程中特定的改變作出評價。

安全審計跟蹤機制的內(nèi)容是在安全審計跟蹤中記錄有關(guān)安全的信息,而安全審計管理的內(nèi)容是分析和報告從安全審計跟蹤中得來的信息。

安全審計跟蹤將考慮。

(1)要選擇記錄什么信息。審計記錄必須包括網(wǎng)絡(luò)中任何用戶、進程、實體獲得某一級別的安全等級的嘗試:包括注冊、注銷,超級用戶的訪問,產(chǎn)生的各種票據(jù),其它各種訪問狀態(tài)的改變。特別注意公共服務(wù)器上的匿名或客人賬號。

實際收集的數(shù)據(jù)隨站點和訪問類型的不同而不同。通常要收集的數(shù)據(jù)包括:用戶名和主機名,權(quán)限的變更情況,時間戳,被訪問的對象和資源。當然這也依賴于系統(tǒng)的空間。(注意不要收集口令信息)

(2)在什么條件下記錄信息。

(3

溫馨提示

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

評論

0/150

提交評論