通用操作系統保護課件_第1頁
通用操作系統保護課件_第2頁
通用操作系統保護課件_第3頁
通用操作系統保護課件_第4頁
通用操作系統保護課件_第5頁
已閱讀5頁,還剩96頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第4章通用操作系統保護1感謝你的觀看2019年6月30第4章通用操作系統保護1感謝你的觀看2019年6月30本章要點

通用操作系統的保護特性:存儲保護、文件保護和執行環境保護對象訪問控制用戶鑒別2感謝你的觀看2019年6月30本章要點通用操作系統的保護特性:存儲保護、文件保護和執行環

操作系統有兩個目標:控制共享訪問、實現允許這種訪問的接口。在這種目標下,操作系統功能可以分為以下幾類:

(1)訪問控制

(2)認證與信任管理

(3)管理信息流

(4)審計和完整性保護所有這些活動都與安全有關。3感謝你的觀看2019年6月30操作系統有兩個目標:控制共享訪問、實現允許這種訪問的接

對于一個支持多道程序的操作系統,操作系統設計者提供了包括存儲保護、文件保護、對象的一般訪問控制和鑒別等方法,來保護計算免受其他用戶無意或惡意的干擾。本章僅以兩類操作系統為例:MicrosoftWindowsNT,2000,XP,2003Server,和Vista;Unix,Linux,和它們的變化版本。4感謝你的觀看2019年6月30對于一個支持多道程序的操作系統,操作系統設計者提供了包4.1保護對象和保護方法4.1.1歷史回顧第一代操作系統是一種簡單的設備——執行器(executive),其設計目的是協助各位程序員完成各自的工作,以及平穩地實現用戶之間的切換。執行器要求每個時刻只有一個程序員執行程序。多道程序操作系統也稱為監控器(monitor),用以監督每個程序的執行。監控器充當了主動的角色,只要用戶的請求與系統要求一致,監控器就主動控制計算機系統把資源分配給用戶。5感謝你的觀看2019年6月304.1保護對象和保護方法4.1.1歷史回顧5感謝你4.1.2保護對象

事實上,多道程序的出現意味著需要保護計算機系統的幾個方面:

(1)內存

(2)可共享的I/O設備,比如磁盤

(3)可連續復用的I/O設備,例如打印機和磁帶驅動器

(4)網絡

(5)可共享的程序或子程序

(6)可共享的數據6感謝你的觀看2019年6月304.1.2保護對象事實上,多道程序的出現意味著需要保4.1.3操作系統的安全方法

最基本的保護是分離控制(separation):保持一個用戶的對象獨立于其他用戶。在操作系統中分離控制主要有以下4種方式:

(1)物理分離:指不同的進程使用不同的物理對象。

(2)時間分離:指有著不同安全要求的進程,在不同時間執行。

(3)邏輯分離:使程序不能訪問許可域之外的對象,這樣用戶感覺好象在沒有其他進程的情況下執行自己的進程。

(4)密碼分離:進程對其數據和計算加密,使其他進程無法理解。7感謝你的觀看2019年6月304.1.3操作系統的安全方法最基本的保護是分離控制(4.1.3操作系統的安全方法(續)

操作系統也提供了一些共享的保護路線:

(1)不保護:當敏感進程在不同時間運行時是恰當的。

(2)隔離:當操作系統提供隔離時,各個進程并發運行,相互之間感覺不到其他進程的存在。

(3)共享一切或不共享:對象所有者宣布對象是公有或私有。

(4)訪問限制共享:通過訪問限制保護,操作系統檢查用戶對象的訪問是否是允許的。操作系統充當了用戶和被訪問對象之間的守衛,確保只能進行已授權的訪問。

(5)訪問權能共享:這種保護形式擴展了訪問限制共享的概念,它允許動態產生對對象的共享權限。

(6)對象的限制使用:這種保護形式不僅限制了對對象的訪問,并同時限制了獲得訪問后的使用情況。8感謝你的觀看2019年6月304.1.3操作系統的安全方法(續)操作系統也提供了一4.1.3操作系統的安全方法(續)

可以在各種級別實現訪問控制:比特、字節、記錄、文件或卷。我們關心控制粒度(granularity)。被控制對象的粒度越大,這種控制越容易實現。然而,這樣一來操作系統給用戶的訪問權限就將多于用戶本身的需求。

9感謝你的觀看2019年6月304.1.3操作系統的安全方法(續)可以在各種級別實現4.2內存及地址保護4.2.1界地址

界地址(fence)是一個預定義的內存地址,設置了用戶的內存區界限。圖4.1固定界地址10感謝你的觀看2019年6月304.2內存及地址保護4.2.1界地址圖4.14.2.1界地址(續)

另一種方法是使用硬件寄存器,稱為界地址寄存器(fenceregister),用于存放操作系統的尾址。圖4.2可變界地址寄存器#界地址寄存器只是單向保護操作系統。11感謝你的觀看2019年6月304.2.1界地址(續)另一種方法是使用硬件寄存器,4.2.2重定位

重定位(relocation)是假定程序地址開始于地址0,然后改變所有地址以反映程序在內存中的實際地址。重定位因子(relocationfactor)是分配給程序的內存首地址。界地址寄存器可以是硬件重定位設備。界地址寄存器的內容加上程序的相對地址,不但可以重定位,而且可以控制用戶訪問操作系統空間。12感謝你的觀看2019年6月304.2.2重定位重定位(relocation)是假定4.2.3基址/范圍寄存器

可變界地址寄存器通常稱為基地址寄存器(baseregister)。范圍寄存器(boundsregister)用于存放上界地址限制。

圖4.3基址/范圍寄存器對#改變兩個寄存器的地址稱為上下文轉換(contextswitch)13感謝你的觀看2019年6月304.2.3基址/范圍寄存器可變界地址寄存器通常稱為基4.2.3基址/范圍寄存器(續)

用戶可能不慎將數據存儲在指令存儲區中。可以使用兩對寄存器來解決這一問題,一對用于界定程序指令,另一對用于界定存儲數據空間。這似乎鼓勵使用更多對寄存器對,但兩對已經是計算機設計的界限。超過這一數量每條代碼需要明確向操作系統指明寄存器對。圖4.4兩對基址/范圍寄存器14感謝你的觀看2019年6月304.2.3基址/范圍寄存器(續)用戶可能不慎將數據存4.2.4標記結構

使用基址/范圍寄存器保護只能提供全部數據的保護,而有時用戶只希望保護部分數據。此外,有時還希望實現對數據段和程序段的共享。一種解決辦法是使用標記結構(taggedarchitecture),機器內存的每個字節都有一個或幾個額外的比特用來表示該單元訪問權限,這些訪問比特由操作系統特權指令設置,每次指令訪問某存儲區時,都對這些比特進行權限檢查。15感謝你的觀看2019年6月304.2.4標記結構使用基址/范圍寄存器保護只能提供全部4.2.4標記結構(續)圖4.5標記結構示例16感謝你的觀看2019年6月304.2.4標記結構(續)圖4.5標記結構示例16感謝你4.2.4標記結構(續)

少數操作系統采用了這種保護技術。BurroughsB6500-7500系統用了3個比特標記區分數據字(3種類型)、說明符(指針)和控制字(堆棧指針和地址控制字)。IBM操作系統/38用標記來控制完整性和訪問。在一組連續的地址上應用標記是使用標記的一種推廣形式,如128或256字節。是否使用標記結構與代碼的兼容性有關。標記結構通常要求從根本上改變操作系統的所有實際代碼,這個要求可能因代價昂貴而不可行。隨著內存價格下降,標記結構實現變得可行了。17感謝你的觀看2019年6月304.2.4標記結構(續)少數操作系統采用了這種保護技4.2.5分段式

分段(segmentation),即將一個程序分成幾塊的簡單方法。每一塊是一個邏輯單元,表現為一組有關聯的代碼或數據。分段允許程序分成有不同訪問權限的幾部分。各段使用<段名,偏移量>對段內數據項和代碼尋址。各段可以分別重定位,并且允許把各段分別放在任何可用的內存中。18感謝你的觀看2019年6月304.2.5分段式分段(segmentation),即4.2.5分段式(續)圖4.6分段的邏輯和物理表示19感謝你的觀看2019年6月304.2.5分段式(續)圖4.6分段的邏輯和物理表示19感4.2.5分段式(續)

操作系統必須維護一個包括段名和段在內存中實際地址的表。以便進程確定數據和代碼在內存中的實際地址。考慮效率,通常每個正在執行的進程有一個操作系統的段地址表(segmentaddresstable)。如果有兩個進程共享訪問同一個分段,它們段地址表里就有相同的段名和地址。20感謝你的觀看2019年6月304.2.5分段式(續)操作系統必須維護一個包括段名和4.2.5分段式(續)圖4.7段地址轉換21感謝你的觀看2019年6月304.2.5分段式(續)圖4.7段地址轉換21感謝你的觀4.2.5分段式(續)

用戶程序不知道其使用的實際內存地址,通過<段名,偏移量>程序可以訪問任何數據與程序。地址隱藏給操作系統帶來了三個好處:

(1)操作系統可以將任意分段放置或移動到任意位置,甚至在程序開始執行后,都可以這樣做。操作系統只要不斷更新新分段地址表即可。

(2)可將當前不使用的分段換出主內存(并可存儲在輔助存儲器中)。

(3)每個地址引用都將傳遞給操作系統,所以為了保護內存,操作系統可以檢查每個地址引用。

22感謝你的觀看2019年6月304.2.5分段式(續)用戶程序不知道其使用的實際內存4.2.5分段式(續)

操作系統可以把分段和其保護等級聯系起來,并同時使用硬件和操作系統檢查每次對段的訪問,以實現對不同安全級別段的不同保護。分段可以提供如下安全特性:

(1)為了保護,可檢查每個地址引用

(2)可為不同級別的數據項指派不同的保護級別

(3)兩個或兩個以上用戶可共享同一個段,但可以有不同的訪問權限

(4)用戶不能產生地址或訪問未經許可的段23感謝你的觀看2019年6月304.2.5分段式(續)操作系統可以把分段和其保護等級4.2.5分段式(續)

分段式的缺點在于:

(1)各段有特定的大小,但程序通過段名和偏移量產生的引用卻可以超出段的范圍。這個問題在編譯和裝入程序時不能被阻止,這是因為,為了有效使用分段,要求在程序執行過程中能增加段的大小。因此,分段的安全實現要求檢查產生的地址不超過當前段的邊界。

(2)分段的效率存在兩方面的問題:段名在指令中不便于編碼;操作系統在段表中查找段名速度可能很慢。因此,編譯程序時,段名被轉換數字,同時,編譯器還維持一個聯系數字和真正段名的映射。這為兩個進程共享一個分段帶來了麻煩。

(3)內存碎片問題。24感謝你的觀看2019年6月304.2.5分段式(續)分段式的缺點在于:24感謝你的4.2.6分頁式

用戶程序的地址空間被劃分為若干個大小相等的區域,稱為頁(page);并且內存空間也分成與頁相同大小的存儲塊,稱為頁幀(pageframe)。分頁式的地址結構包含兩個部分<頁號,偏移量>。圖4.8頁地址轉換#頁尋址不存在超頁問題,偏移量超過某個頁邊界時,將導致頁號部分進位。25感謝你的觀看2019年6月304.2.6分頁式用戶程序的地址空間被劃分為若干個大4.2.6分頁式(續)

分段方式中程序員了解各段,但是,分頁方式中,程序員可以忽略頁的范圍。分頁方式中頁不是邏輯單位,僅表示程序中相鄰的若干字節。如果考慮保護,這種變化就存在問題。段的信息為邏輯單位,方便設定不同的保護權限,地址轉換時可以處理這種變化。但在分頁方式中,頁內每一項不必是邏輯單位。因此,就不可能對一頁中的所有值建立一種等級的保護。26感謝你的觀看2019年6月304.2.6分頁式(續)分段方式中程序員了解各段,但是4.2.7段頁式

綜合分段和分頁系統的優點可以形成段頁式系統。IBM390系列、Multics操作系統都采用了這種方式。程序員先將程序分成邏輯段,每段再分成固定大小的若干頁。這種方式保留了段的邏輯單元并允許有不同保護級別,但需要額外的地址轉換。可以增加硬件來改善實現效率。27感謝你的觀看2019年6月304.2.7段頁式綜合分段和分頁系統的優點可以形成段4.2.7段頁式(續)圖4.9段頁式28感謝你的觀看2019年6月304.2.7段頁式(續)圖4.9段頁式28感謝你的觀看24.3一般對象的訪問控制

在多道程序環境下,內存保護只是對象保護的一種特殊情形,需要保護的對象包括:內存、輔助存儲設備上的文件或數據、內存中正在執行的程序、文件目錄、硬件設備、數據結構、操作系統中的表、指令集特別是特權指令集、口令和用戶鑒別機制、保護機制本身等。隨著對象數量的增多,對所有訪問集中授權顯然不夠,而且訪問權限也不能簡單限制為只讀,只寫或只執行。我們用用戶或主體來描述對一般對象的訪問。用戶和主體可以是使用計算機程序的人、程序員、另一個對象或需要使用這個對象的其他事件。29感謝你的觀看2019年6月304.3一般對象的訪問控制在多道程序環境下,內存保護只4.3一般對象的訪問控制(續)

保護對象有幾點補充要求:

(1)檢查每次訪問:可以撤消用戶對于對象的訪問權限,這需要用戶每次訪問都進行檢查。

(2)執行最小特權:主體應該只訪問完成特定任務所必須的對象,即使訪問了額外的信息對主體沒有影響,主體也不應當執行這樣的訪問。

(3)檢查允許用法:訪問能力僅決定可或不可訪問,但是,檢查對訪問對象的操作是否合法同樣重要。30感謝你的觀看2019年6月304.3一般對象的訪問控制(續)保護對象有幾點補充要求4.3.1目錄

簡單的保護對象的方法是使用如同文件目錄一樣的保護機制。每個用戶有一個文件目錄,該目錄用于記錄用戶可以訪問的文件。當然不允許用戶寫文件目錄,而由操作系統來維護所有文件目錄。讀、寫和執行是共享文件的訪問權,另外一個權限“所有者”歸文件所有者,允許其對用戶進行授予或撤消訪問權限。31感謝你的觀看2019年6月304.3.1目錄簡單的保護對象的方法是使用如同文件目錄4.3.1目錄(續)圖4.10訪問目錄32感謝你的觀看2019年6月304.3.1目錄(續)圖4.10訪問目錄32感謝你的觀看4.3.1目錄(續)

為每個用戶維護一張文件目錄列表,雖然比較易于實現,但也存在幾個困難之處:

(1)如果所有用戶都可以訪問的共享對象很多,將造成列表很大。在用戶訪問目錄中,每個即使不用的共享對象也要占一個表項,十分浪費,而刪除共享對象也必須反映到每個用戶目錄中。33感謝你的觀看2019年6月304.3.1目錄(續)為每個用戶維護一張文件目錄列表,4.3.1目錄(續)(2)另一個難點是撤消訪問權限(revocationofaccess)。如果用戶A授予用戶B可讀文件F的權限,F的權限將記入用戶B的訪問目錄中。暗示用戶A和用戶B存在信任關系。當然,用戶A也可以撤消用戶B對文件F的權限。但是如果用戶A要撤消所有用戶對文件F的權限,這項工作在大系統中開銷很大。此外,用戶B可能將文件F的權限轉交給了其他用戶,造成用戶A不知道存在其他用戶有權訪問文件F,而無法撤消,這在網絡操作系統中尤其嚴重。34感謝你的觀看2019年6月304.3.1目錄(續)(2)另一個難點是撤消訪問權限4.3.1目錄(續)

(3)再一個困難與文件別名有關。所有者A和B可能分別有同名的兩個不同文件F,并且允許用戶S訪問這兩個文件。顯然,用戶S的文件目錄不能包含文件名相同但針對不同文件的兩個表項。一個方法是把文件的所有者名字包含在文件名內,如A:F(或B:F)。另一個辦法是允許用戶S在它的文件目錄中用另外一個唯一的名字替文件F。這樣,用戶A的文件F可能被用戶S稱為文件Q。用戶可能之后忘記文件Q就是用戶A的文件F,再次向用戶A請求訪問文件F,用戶A可能更信任用戶S比起初賦予更多權限,這樣用戶S就有了對文件F的兩種不同訪問權限,導致不一致的多種訪問許可。35感謝你的觀看2019年6月304.3.1目錄(續)(3)再一個困難與文件別名有4.3.1目錄(續)圖4.11兩種訪問路徑36感謝你的觀看2019年6月304.3.1目錄(續)圖4.11兩種訪問路徑36感謝你的4.3.2訪問控制列表

每個對象都有一個訪問控制列表

(accesscontrollist),其中包含欲訪問該對象的所有主體,以及主體具有的權限。訪問控制列表包含默認表項,它表示所有用戶可以訪問該對象。特殊用戶可以顯式說明訪問權限,而其他用戶則可以有一組默認訪問權限。在這種結構下,公共文件或程序可以被系統所有的潛在用戶訪問,而不需要在每個用戶各自的訪問目錄為該對象增加表項。37感謝你的觀看2019年6月304.3.2訪問控制列表每個對象都有一個訪問控制列表4.3.2訪問控制列表(續)圖4.12訪問控制列表38感謝你的觀看2019年6月304.3.2訪問控制列表(續)圖4.12訪問控制列表38感4.3.2訪問控制列表(續)Multics操作系統采用了這種形式的訪問控制列表,列表中每個用戶有三種保護類:用戶指一個特定主體;組將相同利益主體組織在一起;分隔區限制了不信任的對象,在一個分隔區中運行的程序未經許可不能訪問另一個分隔區的對象。39感謝你的觀看2019年6月304.3.2訪問控制列表(續)Multics操作系統采4.3.2訪問控制列表(續)

用戶Adams登錄時,其身份是在分組Dec1及分隔區Art2的用戶。在會話中允許該用戶訪問的對象需要在訪問控制列表中包含Adams-Dec1-Art2。這種保護不實用,用戶Adams不能生成一般的文件用于所有會話。共享對象、可接受的組和分隔區都需要明確列出Adams。解決辦法是引入通配符*(wildcard),它表示任意用戶(或任意組或任意分隔區),例如,Adams-*-Art2。訪問控制列表可以按順序組織,包含“*”的用戶排列在所有說明了名字表項的后面。在查找規則中,所有顯示給定了名字的表總是比表項中的任意位置包含通配符的表項先檢查,而最后一項用戶可能是*-*-*,定義所有不指明用戶的權限。40感謝你的觀看2019年6月304.3.2訪問控制列表(續)用戶Adams登錄時,其4.3.3訪問控制矩陣

訪問控制矩陣(accesscontrolmatrix)是一張表格,每行代表一個主體,每一列代表一個對象,表中的每個元素表示訪問權限。一般說來,訪問控制矩陣是一個稀疏矩陣。因此,訪問控制矩陣也可以用<主體,對象,權限>的三元組表示。表4.1訪問控制矩陣41感謝你的觀看2019年6月304.3.3訪問控制矩陣訪問控制矩陣(accessc

4.3.4訪問權能

訪問權能(capability),是一種不可偽造的標簽(ticket),代表對某個對象有某種類型的訪問權限。使標簽不可偽造的一個方法是不直接將它交給用戶,而由操作系統代管。只有用戶向操作系統發出特殊請求時,才能生成訪問權能。另一個方法是,使用訪問控制機制的密鑰加密包含合法用戶身份的訪問權能證。訪問權能將部分保護對象的負擔交給用戶,對于對象的可能訪問權限包括轉移或傳播,每個訪問權能都對應一個許可的訪問權限類型列表,如果具有轉移權限,用戶才可以將對象的訪問權轉給第三方。42感謝你的觀看2019年6月304.3.4訪問權能訪問權能(capability)

4.3.4訪問權能(續)

考慮一個進程執行時,它運行在一個域(domain)或本地名字空間(localnamespace)中。域是進程要訪問對象的集合。圖4.13進程執行域43感謝你的觀看2019年6月304.3.4訪問權能(續)考慮一個進程執行時,它運行4.3.4訪問權能(續)

而調用子程序時,需要傳遞一些子程序需要訪問的對象,主程序可以只傳遞部分對象訪問權限給子程序,子程序也可以擁有主程序沒有的其他對象訪問權。因為每個訪問權能僅對應一個對象,訪問權能的集合定義了域。當進程調用子程序時,操作系統形成一個目前程序所有訪問權能堆棧,之后為子程序產生一個新的訪問權能。44感謝你的觀看2019年6月304.3.4訪問權能(續)而調用子程序時,需要傳遞一些4.3.4訪問權能(續)圖4.14將對象傳遞給一個主體45感謝你的觀看2019年6月304.3.4訪問權能(續)圖4.14將對象傳遞給一個主體4.3.4訪問權能(續)

訪問權能的幾點說明:

(1)在操作上,訪問權能是跟蹤執行主體對于對象的訪問權限的直接方法,可以用一張全面的表來備份訪問權能。一個進程需要使用新對象時,由操作系統檢查決定是否賦予新的權能。

(2)訪問權能必須保存在普通用戶不可訪問的內存區,可以存儲在用戶表不能引用的內存段,或用標記結構機制將訪問權能標識為保護的數據結構。

(3)在執行期間,只有被當前進程訪問過的對象的權能會被保持可用狀態,這可以改善訪問對象時檢查速度。

(4)訪問權能可以撤消,撤消后的訪問權能不允許包含任何訪問權限。訪問權能表用指針形成活動訪問權能鏈,方便動態管理。46感謝你的觀看2019年6月304.3.4訪問權能(續)訪問權能的幾點說明:46感謝4.3.5Kerberos

Kerberos實現了通過訪問權能(稱為票據)的鑒別與訪問授權,票據使用對稱加密技術保證了安全性。Kerberos具有兩個系統鑒別服務器(AS,authenticationserver)和票據授權服務器(TGS,ticket-grantingserver)。它們都是密鑰分發中心(KDC,keydistributioncenter)的一部分。

Kerberos實現了單點登錄(singlesign-on),即用戶只需要登錄一次,其后用戶被允許的所有需要授權的活動都不需要反復登錄。47感謝你的觀看2019年6月304.3.5KerberosKerberos實現了通4.3.5Kerberos(續)

如果用戶需要在不同的域中訪問資源,只要這兩個域之間建立了授權,用戶都可直接訪問而不需要在不同的系統間登錄。

Kerberos實現了本地與遠程鑒別和帶共享密鑰系統的授權,實際上,每個用戶的口令被作為加密密鑰使用。48感謝你的觀看2019年6月304.3.5Kerberos(續)如果用戶需要在不同4.3.6面向程序的訪問控制

面向程序(procedure-oriented)的保護,即用程序來控制訪問的對象(例如,通過執行它的用戶鑒別來加強操作系統提供的基本保護)。也就是說,程序在對象周圍形成保護層,只準許指定的訪問。程序可以確保只有通過可信界面才能訪問對象。例如,合法用戶表只允許三個程序訪問該表:增加用戶程序,刪除用戶程序以及檢查程序。增加用戶程序、刪除用戶程序可以使用檢查機制以確保對它們的調用是合法的。49感謝你的觀看2019年6月304.3.6面向程序的訪問控制面向程序(proced4.3.6面向程序的訪問控制(續)

由于只有對象控制程序知道被保護的對象,所以面向程序的保護方法實現了信息隱藏的原則。當然,保護的程度是以效率為代價的。保護機制提供的靈活性越大,為此付出的代價也越多。安全科學中,在簡單性和功能性之間尋求平衡需要做出不斷的努力。50感謝你的觀看2019年6月304.3.6面向程序的訪問控制(續)由于只有對象4.3.7基于角色的訪問控制

某些用戶(如系統管理員)具有某種特權,而其他用戶(普通用戶或客人)具有低一些的權限。基于角色的訪問控制(role-basedaccesscontrol)可以將權限與分組聯系在一起。根據職責的改變,用戶的訪問控制也相應改變,系統管理員不必為該用戶重新選擇適合的訪問權限。51感謝你的觀看2019年6月304.3.7基于角色的訪問控制某些用戶(如系統管理員)4.4文件保護機制

4.4.1基本保護形式保證用戶之間不能相互惡意或無意地訪問或修改文件。隨著用戶的增多,這種保護方法的復雜度也增大了。

完全保護或完全不保護

文件被默認為公共文件,這里假定用戶只知道他們有權訪問的文件名。口令保護被認為是保護操作系統最有價值的方法。有兩種方法執行:口令用于控制所有的訪問(讀、寫或刪除),所有文件完全由系統管理員控制;口令僅控制寫、刪除兩種訪問,因為只有這兩種行為會影響其他用戶。

52感謝你的觀看2019年6月304.4文件保護機制4.4.1基本保護形式52感謝4.4.1基本保護形式(續)

這種完全保護或完全不保護有幾個原因不切實際:

缺乏信任:假定用戶值得信任是不合理的。

過于粗糙:即使確定了一批可信任的用戶,也沒有簡單方法只允許這些用戶訪問。

共享的出現:這種保護更適合于批處理環境。在共享使用環境下,用戶需要與其他用戶交互使用文件與程序。

復雜性:因為文件保護需要機制干涉,降低了操作系統的性能。

文件列表:通常一些程序可以創建包含所有文件的列表。因此,用戶不可能一點都不知道系統中駐留文件情況。53感謝你的觀看2019年6月304.4.1基本保護形式(續)這種完全保護或完全不保護4.4.1基本保護形式(續)

組保護

重點集中在識別有公共聯系的用戶組上。典型的UNIX+實現是,主體世界被劃分為三個等級:用戶、相互信任的用戶組和其余用戶。我們可以將之簡稱為用戶、用戶組和全體用戶。WindowsNT+系列使用的分組是:系統管理員、有權用戶、用戶和客人。所有授權用戶被分成不同的組。用戶組成員是基于共享需求而組合起來的,可以與其他成員共享文件。一個用戶只能屬于一個組。54感謝你的觀看2019年6月304.4.1基本保護形式(續)組保護54感謝你的觀4.4.1基本保護形式(續)

當用戶創建一個文件時,可以定義用戶本身、組內成員以及組外用戶的訪問權限。通常,訪問權限來自一個有限集合,比如

更新、讀-執行、讀、寫-創建-刪除

。用戶組保護的主要優點就是易于實現。盡管這種保護方案彌補了完全保護或完全不保護方法的某些不足,但是也帶來了一些新的麻煩。

組的從屬性:一個用戶不能屬于兩個組。55感謝你的觀看2019年6月304.4.1基本保護形式(續)當用戶創建一個文件時,可4.4.1基本保護形式(續)

多重身份:為克服一個成員只能從屬一個組的限制,允許一定數量的人有多個帳號,也就是允許一個用戶有多個用戶身份。多重身份導致了帳號的增加、文件冗余、對共同文件的有限保護,以及用戶使用不方便的問題。

所有組:為了避免多重身份,用戶可以在訪問執行期間屬于多個組的成員。

限制共享:用戶希望根據每個文件的情況識別共享文件的伙伴。56感謝你的觀看2019年6月304.4.1基本保護形式(續)多重身份:為克服一個成4.4.2單獨許可

將單個文件與訪問許可聯系起來時,還可以有更簡單的保護實現方法。

持久許可

持久許可(persistentpermission)通常是使用一個名稱和令牌,通過訪問控制列表,決定可以訪問的資源。這種方法的困難之處在于,將某用戶從一個控制列表中刪除很容易,但找到針對該用戶的所有控制,并刪除他的權限,則非常復雜。57感謝你的觀看2019年6月304.4.2單獨許可將單個文件與訪問許可聯系起來時,還4.4.2單獨許可(續)

獲得臨時許可

UNIX+操作系統提供了一個許可方案,方案基于:用戶/組/全局。UNIX的設計者增加了一種setuserid(suid)的訪問許可。如果對一個文件的保護設置為執行,則文件的保護級別是文件所有者而不是文件的執行者。由于普通用戶只能在規定的方式下執行系統功能,所以采用這種機制便于實現系統功能。利用suid的特點,系統可以擁有一個口令修改程序,通過它可以完全訪問系統的口令表。58感謝你的觀看2019年6月304.4.2單獨許可(續)獲得臨時許可58感謝你的觀看4.4.3每個對象和每個用戶的保護

文件保護方法的最基本的限制是要求能夠產生有意義的用戶組,組內的用戶對一個或多個數據集有相似的訪問權限。前面提到的訪問控制表和訪問控制矩陣雖然靈活,但如果某個用戶允許很多用戶分別對許多不同的數據集進行訪問,則該用戶必須詳細說明每個數據集應該被哪個用戶訪問。當增加一個新用戶時,所有相關的用戶必須詳細說明該用戶的訪問權限。59感謝你的觀看2019年6月304.4.3每個對象和每個用戶的保護文件保護方法的最4.5用戶鑒別

操作系統提供的大部分保護都是以知道用戶身份為基礎的。生活中有許多鑒別手段,包括文件、聲音識別、指紋和視網膜匹配等可信的識別方法。但是在計算機技術中鑒別工具的選擇有許多的局限性,而且安全性可能更差。大多數計算機系統的鑒別需要依賴計算系統和用戶都知道的某些知識。60感謝你的觀看2019年6月304.5用戶鑒別操作系統提供的大部分保護都是以知道用戶

鑒別機制使用下列三種性質中的某種性質來確認用戶的身份:

(1)用戶已知的事情:如口令、PIN數字、口令短語等。

(2)用戶擁有的東西:如身份徽章、物理鑰匙、駕駛執照等。

(3)用戶身體的一些特征:以用戶物理特征為鑒別的基礎,稱為生物特征鑒別(biometrics),如指紋、人的聲音、相貌等。

#兩種或更多方式結合起來能形成更穩妥的鑒別服務。61感謝你的觀看2019年6月30鑒別機制使用下列三種性質中的某種性質來確認用戶的身份:

生物特征鑒別推進困難的原因:用戶的接受程度不高。

Prabhakar等列出了生物特征鑒別與隱私有關的三類情況:

(1)不可預計的功能范疇:鑒別不僅僅是授權,還可能具有其他附加的功能。

(2)不可預計的應用范疇:鑒別例程識別客體。例如鑒別例程可以識別出一個客體是否使用的假姓名。

(3)隱藏的身份識別:不必通過識別或鑒別就可以識別一個客體。62感謝你的觀看2019年6月30生物特征鑒別推進困難的原因:用戶的接受程度不高。624.5.1口令鑒別

口令(password)

是用戶和計算機都知道的一個“單詞”。口令保護可以提供一個相對安全的系統,但是人們對口令的不恰當使用可能降低安全保護的質量。這里我們將主要討論口令攻擊、選擇口令的標準和口令的鑒別方法。63感謝你的觀看2019年6月304.5.1口令鑒別口令(password)是用戶4.5.1口令鑒別(續)

口令實際上是相互達成一致的字碼,并假定只有用戶和系統知道這個字碼。口令可以由用戶選擇也可以是系統分配。口令格式和長度各個操作系統會有所不同。口令也存在一些問題:

丟失:根據口令的實現方法,沒有人能找回原來的口令。

使用:每次訪問文件,都要求提供口令,這種方式非常不方便。

泄露:如果口令泄露給非授權個體,則文件就可能被非法訪問。更改口令需要通知所有合法用戶。

撤消:為了撤消一個用戶對文件的訪問權限,需要更改口令,將引起與泄露口令相同的問題。64感謝你的觀看2019年6月304.5.1口令鑒別(續)口令實際上是相互達成一致的4.5.2附加的鑒別信息

除用戶名和口令之外,可能還需要授權用戶的其他信息來用于鑒別。如Adams工作于會計部門,他允許的登錄辦公計算機的時間可以是周一至五的上午8:00至下午5:00。這樣做的好處在于:

(1)阻止外界的某個人試圖假冒Adams。這種嘗試由于時間或訪問端不符合而以失敗告終。

(2)阻止Adams本人試圖在家或在周末訪問系統,訪問不允許使用的資源或偷偷地干不能公開的事情。副作用:使系統復雜化。65感謝你的觀看2019年6月304.5.2附加的鑒別信息除用戶名和口令之外,可能還需4.5.2附加的鑒別信息(續)

使用附加的鑒別信息稱為多因素鑒別(multifactorauthentication)。兩種形式的鑒別稱為兩因素鑒別(two-factorauthentication),通常認為比一種形式的鑒別好,因為一般地說這樣的鑒別安全性更強。但隨之而來的是復雜度增加。66感謝你的觀看2019年6月304.5.2附加的鑒別信息(續)使用附加的鑒別信息稱為4.5.3口令攻擊有幾種方法可以確定用戶口令:(1)嘗試所有可能的口令(2)嘗試經常使用的口令(3)嘗試一個用戶可能的口令(4)查找系統口令表(5)詢問用戶#困難程度依次降低,成功可能性依次降低67感謝你的觀看2019年6月304.5.3口令攻擊有幾種方法可以確定用戶口令:67感謝你的4.5.3口令攻擊(續)

松懈的系統假設一個對系統一無所知的入侵者,如下登錄設計不好:

WELCOMETOTHEXYZCOMPUTINGSYSTEMSENTERUSERNAME:adamsINVALIDUSERNAMEUNKNOWNUSERENTERUSERNAME:68感謝你的觀看2019年6月304.5.3口令攻擊(續)松懈的系統68感謝你的觀看24.5.3口令攻擊(續)

改進的設計為:

WELCOMETOTHEXYZCOMPUTINGSYSTEMSENTERUSERNAME:adamsENTERPASSWORD:johnINVALIDACCESSENTERUSERNAME:69感謝你的觀看2019年6月304.5.3口令攻擊(續)改進的設計為:69感謝你的觀看4.5.3口令攻擊(續)

更好的設計為:

ENTERUSERNAME:adamsENTERPASSWORD:johnINVALIDACCESSENTERUSERNAME:adamsENTERPASSWORD:johnqWELCOMETOTHEXYZCOMPUTINGSYSTEMS70感謝你的觀看2019年6月304.5.3口令攻擊(續)更好的設計為:70感謝你的觀4.5.3口令攻擊(續)

窮舉法攻擊

在窮舉法攻擊(exhaustiveattack)或暴力攻擊(bruteforceattack)中,攻擊者通過某種自動的方式嘗試所有可能的口令。當然,可能口令的數量取決于特定計算系統的實現情況。搜索特定的口令不需要嘗試所有口令,而只需要測試到正確口令為止。如果口令均勻分布,只需要測試一半的口令。71感謝你的觀看2019年6月304.5.3口令攻擊(續)窮舉法攻擊71感謝你的觀看24.5.3口令攻擊(續)

很可能的口令大多數用戶都會選擇短的,常見的,容易拼寫或發音的單詞作為口令。攻擊者在搜索口令時意識到這一特點,并有效利用它。許多計算系統都帶有拼寫檢驗程序,用于檢查文件中拼寫錯誤和印刷錯誤,通常這些程序包含最常用的單詞在線詞典,以這些詞作為搜索集合,通常需要的時間非常短。72感謝你的觀看2019年6月304.5.3口令攻擊(續)很可能的口令72感謝你的觀看4.5.3口令攻擊(續)

與用戶有關的可能口令一般情況下,用戶會選擇自己認為有意義的字符作為口令,例如,配偶、孩子、兄弟姐妹、寵物、街道等的名字作為口令,如果加以限制,這個口令集合實際非常小,可以非常快地完成對這個集合的口令正確性驗證。因此,口令保護在理論上很強大,但在實踐中常常變得很脆弱。73感謝你的觀看2019年6月304.5.3口令攻擊(續)與用戶有關的可能口令73感謝4.5.3口令攻擊(續)Morris和Thompson報道了他們收集的許多用戶的口令統計規律。表4.2實際口令的分布

統計人數百分率口令形式150.5%單個ASCII字符722%兩個ASCII字符46414%三個ASCII字符47714%4個字母70621%5個字母(全部是大寫或小寫)60518%6個小寫字母49215%字典中的單詞或人名283186%以上各類的合計74感謝你的觀看2019年6月304.5.3口令攻擊(續)Morris和Thomps4.5.3口令攻擊(續)圖4.15用戶選擇的口令#在口令選擇方面的進步非常有限75感謝你的觀看2019年6月304.5.3口令攻擊(續)圖4.15用戶選擇的口令#在4.5.3口令攻擊(續)Knight和Hartley依次排列了攻擊者在測試口令時可能使用的12個步驟:

(1)沒有口令

(2)和用戶ID相同

(3)是用戶的名字或來源于用戶的名字

(4)普通的單詞列表加普通的名字和模式

(5)學生用字典

(6)完整的英語單詞列表

(7)非英語國家的常用字典

76感謝你的觀看2019年6月304.5.3口令攻擊(續)Knight和Hartle4.5.3口令攻擊(續)(8)使用大小寫和替代字符的學生用字典包含大小寫和替代字符的完整英語字典包含大小寫和替代字符的非英語字典暴力攻擊所有的小寫字母字符暴力攻擊所有的字符77感謝你的觀看2019年6月304.5.3口令攻擊(續)(8)使用大小寫和替代字符的學生4.5.3口令攻擊(續)

明文系統口令表口令表是一個包括用戶身份和相應口令的兩列表格。可以用多種不同的安全方法來隱藏口令表,以避免無關用戶發現。

可以用強訪問控制方法限制對操作系統的訪問以保護口令表。但是在一些系統中,有n+1個用戶知道口令表,n個常規用戶和1個操作系統,并且操作系統的所有模塊沒有區別對待,都有訪問所有信息的特權。這使攻擊者潛在可能利用操作系統的缺陷訪問口令表。更好的方法是只有必要的操作系統模塊才可以訪問口令表。78感謝你的觀看2019年6月304.5.3口令攻擊(續)明文系統口令表78感謝你的觀4.5.3口令攻擊(續)

如果口令以明文方式存儲,攻擊者也可以在適當時間通過遍歷內存中的所有內容,找到可能為口令表的文件。攻擊者利用系統備份也可以獲得口令表。為了從系統錯誤中恢復,系統管理員會周期性地把文件備份到一些介質上以保證存儲安全。如果普通用戶可以訪問系統備份,就可能獲得系統備份的口令表,該表可能包含仍然有效的口令。還有可能泄露口令表的情況是其在磁盤上復制以便保存。79感謝你的觀看2019年6月304.5.3口令攻擊(續)如果口令以明文方式存儲,攻擊4.5.3口令攻擊(續)

加密口令文件保護口令表的簡單辦法是:加密。用傳統加密技術,既可以隱藏整個口令表,也可以隱藏口令表的口令部分。接受用戶輸入的口令后,系統對口令表中的口令進行解密,然后相互比較。但這種方法的缺點在于可以在主存中以明文的方式獲取用戶的口令。80感謝你的觀看2019年6月304.5.3口令攻擊(續)加密口令文件80感謝你的觀看4.5.3口令攻擊(續)

另一種方法是使用單向函數加密技術。口令表經過單向函數計算后存儲。當用戶輸入口令時,計算它的單向函數值,看是否與存儲值相等。UNIX操作系統就使用這種訪問控制機制,所有用戶可以讀存儲的口令表。總是有可能兩個人選擇相同的口令值,UNIX+操作系統通過擴展口令來繞過這個弱點,稱為salt。salt是包含系統時間和進程標識符組成的12個比特。salt對于每個用戶唯一,且公開,這樣即使用戶選擇相同的口令pw,由于單向函數計算的輸入是(pw+salt),所以輸出也不會相等。

#對于口令文件的保護與口令提供的保護具有相同的重要性。81感謝你的觀看2019年6月304.5.3口令攻擊(續)另一種方法是使用單向函數加密4.5.3口令攻擊(續)

輕率的用戶一種簡單的方法是直接獲得口令。人們經常把口令輸入身邊的終端機中,或是寫在卡片上放在抽屜里,特別是用戶有幾個帳號的時候。分擔工作或共享數據時,試圖共享口令也比共享文件更危險。82感謝你的觀看2019年6月304.5.3口令攻擊(續)輕率的用戶82感謝你的觀看24.5.4口令選擇標準

盡管口令應用有諸多不盡如人意之處,但可以預計在未來一段時間內還將繼續使用。其難度應該適合環境的安全需要。我們可以對口令的使用做如下總結:

(1)用所有字符而不是只用A

Z:應該包含大小寫和數字。

(2)選擇長口令:選擇的口令越長,被識破的可能就越小。

(3)避免實際的名字或單詞:字母的隨機組合的數量遠遠多于單詞數量。83感謝你的觀看2019年6月304.5.4口令選擇標準盡管口令應用有諸多不盡如人意之4.5.4口令選擇標準(續)(4)選擇一個看似無意義的口令:口令的選擇為雙重約束。為了容易記住,需要選擇對用戶具有特別意義的口令,而這又不能讓其他人猜出其意義。如,2Brn2B代表“tobeornottobe”,但像I10veu已經被收入字典了。

(5)有規律地更改口令:即使沒有口令面臨威脅的證據,也要定期更改口令。

(6)不要寫下口令:實踐表明當擁有多個帳戶口令時,設置相同口令或者使用不安全但好記的口令要比將口令記錄在一個保護妥當的表上更危險,但是在用戶自身安全面臨考驗的時候除外。

(7)不要告訴任何人:最容易的攻擊是使用社會工程學(socialengineering)。84感謝你的觀看2019年6月304.5.4口令選擇標準(續)(4)選擇一個看似無4.5.4口令選擇標準(續)

一些系統提供了無字面意義但可發音的口令。例如,VAXVMS系統隨機產生5個口令供用戶選擇其中一個。但這樣產生的口令也容易出錯,如,發音為bliptab和blaptib、blabtip易混淆。一些學者發現口令短語比口令字有更好的安全強度。有些系統鼓勵用戶有規律的改變口令。如一個系統規定30天更改一次口令,可以到了30天后用戶第一次登錄時,要求用戶修改口令。有時系統要求周期性更改口令,用戶可以選擇兩個口令交替使用,為防止這種情況,Windows2000系統可以拒絕接受最近k次使用過的口令。85感謝你的觀看2019年6月304.5.4口令選擇標準(續)一些系統提供了無字面意4.5.4口令選擇標準(續)

一次性口令

一次性口令(one-timepassword)只能使用一次,以后不再有效。用戶使用一個靜態的數學函數,而不是一個靜態的短語。用戶使用這個數學函數計算并把函數值返回給系統進行認證。這樣的系統又稱為挑戰-響應系統(challenge-responsesystem)。Lamport一次口令方案就是此類方案。86感謝你的觀看2019年6月304.5.4口令選擇標準(續)一次性口令86感謝你的4.5.4口令選擇標準(續)87感謝你的觀看2019年6月304.5.4口令選擇標準(續)87感謝你的觀看2019年64.5.4口令選擇標準(續)88感謝你的觀看2019年6月304.5.4口令選擇標準(續)88感謝你的觀看2019年6月4.5.4口令選擇標準(續)

一次性口令使得中途截取口令變得毫無用處。但是人們能夠記憶的算法程度有限,因而一次口令的實用性受到限制。口令生成設備,可以實現更復雜的函數,價格合理的這類設備已有好幾種型號了。89感謝你的觀看2019年6月304.5.4口令選擇標準(續)一次性口令使得中途截取4.5.5鑒別過程

在鑒別過程中,如果用戶錯誤輸入口令,一般的系統會允許其繼續輸入直到正確口令為止。一些系統可能會故意延長執行時間,阻止攻擊者搜索口令。另一些系統會在幾次登錄失敗后,斷開與用戶的連接。更安全的系統中,可能會因為用戶錯誤輸入指定次數而將用戶帳戶鎖住。只有系統管理員才能恢復其帳號。這樣系統管理員可以識別出成為攻擊者目標的賬號。90感謝你的觀看2019年6月304.5.5鑒別過程在鑒別過程中,如果用戶錯誤輸入口令4.5.5鑒別過程(續)

修復鑒別過程中的缺陷口令被認為是鑒別用戶身份的最基本或第一手證據,如果對輸入口令產生懷疑,系統可以要求更多令人信服的證明。可以采取:增加另一輪口令確認或挑戰-響應協議,實現第二層保護。如果有物理設備輔助可以實現更強的挑戰-響應協議。91感謝你的觀看2019年6月304.5.5鑒別過程(續)修復鑒別過程中的缺陷91感謝4.5.5鑒別過程(續)

另一個問題是假扮登錄界面問題。前面的討論都是用戶向系統的單向鑒別過程。攻擊者也可能編寫出與登錄程序完全相同的程序來,在目標系統上建立假扮登錄界面,等待無辜受害者輸入身份與口令信息,之后以看似正常的方式結束會話。為防止這種攻擊,用戶必須確保每次使用系統時都要重新初始化。而有些計算機系統則通過網絡進行訪問連接,所以不可能重新初始化。因此,用戶對計算機系統也必須保持審慎態度。在相信系統是安全之前不應該輸入任何機密數據。當然,在設計系統時也可使系統在鑒別過程中顯示一些只有雙方才了解的信息增強信任。92感

溫馨提示

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

評論

0/150

提交評論