通用操作系統(tǒng)保護(hù)課件_第1頁(yè)
通用操作系統(tǒng)保護(hù)課件_第2頁(yè)
通用操作系統(tǒng)保護(hù)課件_第3頁(yè)
通用操作系統(tǒng)保護(hù)課件_第4頁(yè)
通用操作系統(tǒng)保護(hù)課件_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章通用操作系統(tǒng)保護(hù)1感謝你的觀看2019年6月30第4章通用操作系統(tǒng)保護(hù)1感謝你的觀看2019年6月30本章要點(diǎn)

通用操作系統(tǒng)的保護(hù)特性:存儲(chǔ)保護(hù)、文件保護(hù)和執(zhí)行環(huán)境保護(hù)對(duì)象訪問(wèn)控制用戶鑒別2感謝你的觀看2019年6月30本章要點(diǎn)通用操作系統(tǒng)的保護(hù)特性:存儲(chǔ)保護(hù)、文件保護(hù)和執(zhí)行環(huán)

操作系統(tǒng)有兩個(gè)目標(biāo):控制共享訪問(wèn)、實(shí)現(xiàn)允許這種訪問(wèn)的接口。在這種目標(biāo)下,操作系統(tǒng)功能可以分為以下幾類(lèi):

(1)訪問(wèn)控制

(2)認(rèn)證與信任管理

(3)管理信息流

(4)審計(jì)和完整性保護(hù)所有這些活動(dòng)都與安全有關(guān)。3感謝你的觀看2019年6月30操作系統(tǒng)有兩個(gè)目標(biāo):控制共享訪問(wèn)、實(shí)現(xiàn)允許這種訪問(wèn)的接

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

事實(shí)上,多道程序的出現(xiàn)意味著需要保護(hù)計(jì)算機(jī)系統(tǒng)的幾個(gè)方面:

(1)內(nèi)存

(2)可共享的I/O設(shè)備,比如磁盤(pán)

(3)可連續(xù)復(fù)用的I/O設(shè)備,例如打印機(jī)和磁帶驅(qū)動(dòng)器

(4)網(wǎng)絡(luò)

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

(6)可共享的數(shù)據(jù)6感謝你的觀看2019年6月304.1.2保護(hù)對(duì)象事實(shí)上,多道程序的出現(xiàn)意味著需要保4.1.3操作系統(tǒng)的安全方法

最基本的保護(hù)是分離控制(separation):保持一個(gè)用戶的對(duì)象獨(dú)立于其他用戶。在操作系統(tǒng)中分離控制主要有以下4種方式:

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

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

(3)邏輯分離:使程序不能訪問(wèn)許可域之外的對(duì)象,這樣用戶感覺(jué)好象在沒(méi)有其他進(jìn)程的情況下執(zhí)行自己的進(jìn)程。

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

操作系統(tǒng)也提供了一些共享的保護(hù)路線:

(1)不保護(hù):當(dāng)敏感進(jìn)程在不同時(shí)間運(yùn)行時(shí)是恰當(dāng)?shù)摹?/p>

(2)隔離:當(dāng)操作系統(tǒng)提供隔離時(shí),各個(gè)進(jìn)程并發(fā)運(yùn)行,相互之間感覺(jué)不到其他進(jìn)程的存在。

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

(4)訪問(wèn)限制共享:通過(guò)訪問(wèn)限制保護(hù),操作系統(tǒng)檢查用戶對(duì)象的訪問(wèn)是否是允許的。操作系統(tǒng)充當(dāng)了用戶和被訪問(wèn)對(duì)象之間的守衛(wèi),確保只能進(jìn)行已授權(quán)的訪問(wèn)。

(5)訪問(wèn)權(quán)能共享:這種保護(hù)形式擴(kuò)展了訪問(wèn)限制共享的概念,它允許動(dòng)態(tài)產(chǎn)生對(duì)對(duì)象的共享權(quán)限。

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

可以在各種級(jí)別實(shí)現(xiàn)訪問(wèn)控制:比特、字節(jié)、記錄、文件或卷。我們關(guān)心控制粒度(granularity)。被控制對(duì)象的粒度越大,這種控制越容易實(shí)現(xiàn)。然而,這樣一來(lái)操作系統(tǒng)給用戶的訪問(wèn)權(quán)限就將多于用戶本身的需求。

9感謝你的觀看2019年6月304.1.3操作系統(tǒng)的安全方法(續(xù))可以在各種級(jí)別實(shí)現(xiàn)4.2內(nèi)存及地址保護(hù)4.2.1界地址

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

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

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

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

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

用戶可能不慎將數(shù)據(jù)存儲(chǔ)在指令存儲(chǔ)區(qū)中??梢允褂脙蓪?duì)寄存器來(lái)解決這一問(wèn)題,一對(duì)用于界定程序指令,另一對(duì)用于界定存儲(chǔ)數(shù)據(jù)空間。這似乎鼓勵(lì)使用更多對(duì)寄存器對(duì),但兩對(duì)已經(jīng)是計(jì)算機(jī)設(shè)計(jì)的界限。超過(guò)這一數(shù)量每條代碼需要明確向操作系統(tǒng)指明寄存器對(duì)。圖4.4兩對(duì)基址/范圍寄存器14感謝你的觀看2019年6月304.2.3基址/范圍寄存器(續(xù))用戶可能不慎將數(shù)據(jù)存4.2.4標(biāo)記結(jié)構(gòu)

使用基址/范圍寄存器保護(hù)只能提供全部數(shù)據(jù)的保護(hù),而有時(shí)用戶只希望保護(hù)部分?jǐn)?shù)據(jù)。此外,有時(shí)還希望實(shí)現(xiàn)對(duì)數(shù)據(jù)段和程序段的共享。一種解決辦法是使用標(biāo)記結(jié)構(gòu)(taggedarchitecture),機(jī)器內(nèi)存的每個(gè)字節(jié)都有一個(gè)或幾個(gè)額外的比特用來(lái)表示該單元訪問(wèn)權(quán)限,這些訪問(wèn)比特由操作系統(tǒng)特權(quán)指令設(shè)置,每次指令訪問(wèn)某存儲(chǔ)區(qū)時(shí),都對(duì)這些比特進(jìn)行權(quán)限檢查。15感謝你的觀看2019年6月304.2.4標(biāo)記結(jié)構(gòu)使用基址/范圍寄存器保護(hù)只能提供全部4.2.4標(biāo)記結(jié)構(gòu)(續(xù))圖4.5標(biāo)記結(jié)構(gòu)示例16感謝你的觀看2019年6月304.2.4標(biāo)記結(jié)構(gòu)(續(xù))圖4.5標(biāo)記結(jié)構(gòu)示例16感謝你4.2.4標(biāo)記結(jié)構(gòu)(續(xù))

少數(shù)操作系統(tǒng)采用了這種保護(hù)技術(shù)。BurroughsB6500-7500系統(tǒng)用了3個(gè)比特標(biāo)記區(qū)分?jǐn)?shù)據(jù)字(3種類(lèi)型)、說(shuō)明符(指針)和控制字(堆棧指針和地址控制字)。IBM操作系統(tǒng)/38用標(biāo)記來(lái)控制完整性和訪問(wèn)。在一組連續(xù)的地址上應(yīng)用標(biāo)記是使用標(biāo)記的一種推廣形式,如128或256字節(jié)。是否使用標(biāo)記結(jié)構(gòu)與代碼的兼容性有關(guān)。標(biāo)記結(jié)構(gòu)通常要求從根本上改變操作系統(tǒng)的所有實(shí)際代碼,這個(gè)要求可能因代價(jià)昂貴而不可行。隨著內(nèi)存價(jià)格下降,標(biāo)記結(jié)構(gòu)實(shí)現(xiàn)變得可行了。17感謝你的觀看2019年6月304.2.4標(biāo)記結(jié)構(gòu)(續(xù))少數(shù)操作系統(tǒng)采用了這種保護(hù)技4.2.5分段式

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

操作系統(tǒng)必須維護(hù)一個(gè)包括段名和段在內(nèi)存中實(shí)際地址的表。以便進(jìn)程確定數(shù)據(jù)和代碼在內(nèi)存中的實(shí)際地址??紤]效率,通常每個(gè)正在執(zhí)行的進(jìn)程有一個(gè)操作系統(tǒng)的段地址表(segmentaddresstable)。如果有兩個(gè)進(jìn)程共享訪問(wèn)同一個(gè)分段,它們段地址表里就有相同的段名和地址。20感謝你的觀看2019年6月304.2.5分段式(續(xù))操作系統(tǒng)必須維護(hù)一個(gè)包括段名和4.2.5分段式(續(xù))圖4.7段地址轉(zhuǎn)換21感謝你的觀看2019年6月304.2.5分段式(續(xù))圖4.7段地址轉(zhuǎn)換21感謝你的觀4.2.5分段式(續(xù))

用戶程序不知道其使用的實(shí)際內(nèi)存地址,通過(guò)<段名,偏移量>程序可以訪問(wèn)任何數(shù)據(jù)與程序。地址隱藏給操作系統(tǒng)帶來(lái)了三個(gè)好處:

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

(2)可將當(dāng)前不使用的分段換出主內(nèi)存(并可存儲(chǔ)在輔助存儲(chǔ)器中)。

(3)每個(gè)地址引用都將傳遞給操作系統(tǒng),所以為了保護(hù)內(nèi)存,操作系統(tǒng)可以檢查每個(gè)地址引用。

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

操作系統(tǒng)可以把分段和其保護(hù)等級(jí)聯(lián)系起來(lái),并同時(shí)使用硬件和操作系統(tǒng)檢查每次對(duì)段的訪問(wèn),以實(shí)現(xiàn)對(duì)不同安全級(jí)別段的不同保護(hù)。分段可以提供如下安全特性:

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

(2)可為不同級(jí)別的數(shù)據(jù)項(xiàng)指派不同的保護(hù)級(jí)別

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

(4)用戶不能產(chǎn)生地址或訪問(wèn)未經(jīng)許可的段23感謝你的觀看2019年6月304.2.5分段式(續(xù))操作系統(tǒng)可以把分段和其保護(hù)等級(jí)4.2.5分段式(續(xù))

分段式的缺點(diǎn)在于:

(1)各段有特定的大小,但程序通過(guò)段名和偏移量產(chǎn)生的引用卻可以超出段的范圍。這個(gè)問(wèn)題在編譯和裝入程序時(shí)不能被阻止,這是因?yàn)?,為了有效使用分段,要求在程序?zhí)行過(guò)程中能增加段的大小。因此,分段的安全實(shí)現(xiàn)要求檢查產(chǎn)生的地址不超過(guò)當(dāng)前段的邊界。

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

(3)內(nèi)存碎片問(wèn)題。24感謝你的觀看2019年6月304.2.5分段式(續(xù))分段式的缺點(diǎn)在于:24感謝你的4.2.6分頁(yè)式

用戶程序的地址空間被劃分為若干個(gè)大小相等的區(qū)域,稱為頁(yè)(page);并且內(nèi)存空間也分成與頁(yè)相同大小的存儲(chǔ)塊,稱為頁(yè)幀(pageframe)。分頁(yè)式的地址結(jié)構(gòu)包含兩個(gè)部分<頁(yè)號(hào),偏移量>。圖4.8頁(yè)地址轉(zhuǎn)換#頁(yè)尋址不存在超頁(yè)問(wèn)題,偏移量超過(guò)某個(gè)頁(yè)邊界時(shí),將導(dǎo)致頁(yè)號(hào)部分進(jìn)位。25感謝你的觀看2019年6月304.2.6分頁(yè)式用戶程序的地址空間被劃分為若干個(gè)大4.2.6分頁(yè)式(續(xù))

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

綜合分段和分頁(yè)系統(tǒng)的優(yōu)點(diǎn)可以形成段頁(yè)式系統(tǒng)。IBM390系列、Multics操作系統(tǒng)都采用了這種方式。程序員先將程序分成邏輯段,每段再分成固定大小的若干頁(yè)。這種方式保留了段的邏輯單元并允許有不同保護(hù)級(jí)別,但需要額外的地址轉(zhuǎn)換??梢栽黾佑布?lái)改善實(shí)現(xiàn)效率。27感謝你的觀看2019年6月304.2.7段頁(yè)式綜合分段和分頁(yè)系統(tǒng)的優(yōu)點(diǎn)可以形成段4.2.7段頁(yè)式(續(xù))圖4.9段頁(yè)式28感謝你的觀看2019年6月304.2.7段頁(yè)式(續(xù))圖4.9段頁(yè)式28感謝你的觀看24.3一般對(duì)象的訪問(wèn)控制

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

保護(hù)對(duì)象有幾點(diǎn)補(bǔ)充要求:

(1)檢查每次訪問(wèn):可以撤消用戶對(duì)于對(duì)象的訪問(wèn)權(quán)限,這需要用戶每次訪問(wèn)都進(jìn)行檢查。

(2)執(zhí)行最小特權(quán):主體應(yīng)該只訪問(wèn)完成特定任務(wù)所必須的對(duì)象,即使訪問(wèn)了額外的信息對(duì)主體沒(méi)有影響,主體也不應(yīng)當(dāng)執(zhí)行這樣的訪問(wèn)。

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

簡(jiǎn)單的保護(hù)對(duì)象的方法是使用如同文件目錄一樣的保護(hù)機(jī)制。每個(gè)用戶有一個(gè)文件目錄,該目錄用于記錄用戶可以訪問(wèn)的文件。當(dāng)然不允許用戶寫(xiě)文件目錄,而由操作系統(tǒng)來(lái)維護(hù)所有文件目錄。讀、寫(xiě)和執(zhí)行是共享文件的訪問(wèn)權(quán),另外一個(gè)權(quán)限“所有者”歸文件所有者,允許其對(duì)用戶進(jìn)行授予或撤消訪問(wèn)權(quán)限。31感謝你的觀看2019年6月304.3.1目錄簡(jiǎn)單的保護(hù)對(duì)象的方法是使用如同文件目錄4.3.1目錄(續(xù))圖4.10訪問(wèn)目錄32感謝你的觀看2019年6月304.3.1目錄(續(xù))圖4.10訪問(wèn)目錄32感謝你的觀看4.3.1目錄(續(xù))

為每個(gè)用戶維護(hù)一張文件目錄列表,雖然比較易于實(shí)現(xiàn),但也存在幾個(gè)困難之處:

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

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

每個(gè)對(duì)象都有一個(gè)訪問(wèn)控制列表

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

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

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

4.3.4訪問(wèn)權(quán)能

訪問(wèn)權(quán)能(capability),是一種不可偽造的標(biāo)簽(ticket),代表對(duì)某個(gè)對(duì)象有某種類(lèi)型的訪問(wèn)權(quán)限。使標(biāo)簽不可偽造的一個(gè)方法是不直接將它交給用戶,而由操作系統(tǒng)代管。只有用戶向操作系統(tǒng)發(fā)出特殊請(qǐng)求時(shí),才能生成訪問(wèn)權(quán)能。另一個(gè)方法是,使用訪問(wèn)控制機(jī)制的密鑰加密包含合法用戶身份的訪問(wèn)權(quán)能證。訪問(wèn)權(quán)能將部分保護(hù)對(duì)象的負(fù)擔(dān)交給用戶,對(duì)于對(duì)象的可能訪問(wèn)權(quán)限包括轉(zhuǎn)移或傳播,每個(gè)訪問(wèn)權(quán)能都對(duì)應(yīng)一個(gè)許可的訪問(wèn)權(quán)限類(lèi)型列表,如果具有轉(zhuǎn)移權(quán)限,用戶才可以將對(duì)象的訪問(wèn)權(quán)轉(zhuǎn)給第三方。42感謝你的觀看2019年6月304.3.4訪問(wèn)權(quán)能訪問(wèn)權(quán)能(capability)

4.3.4訪問(wèn)權(quán)能(續(xù))

考慮一個(gè)進(jìn)程執(zhí)行時(shí),它運(yùn)行在一個(gè)域(domain)或本地名字空間(localnamespace)中。域是進(jìn)程要訪問(wèn)對(duì)象的集合。圖4.13進(jìn)程執(zhí)行域43感謝你的觀看2019年6月304.3.4訪問(wèn)權(quán)能(續(xù))考慮一個(gè)進(jìn)程執(zhí)行時(shí),它運(yùn)行4.3.4訪問(wèn)權(quán)能(續(xù))

而調(diào)用子程序時(shí),需要傳遞一些子程序需要訪問(wèn)的對(duì)象,主程序可以只傳遞部分對(duì)象訪問(wèn)權(quán)限給子程序,子程序也可以擁有主程序沒(méi)有的其他對(duì)象訪問(wèn)權(quán)。因?yàn)槊總€(gè)訪問(wèn)權(quán)能僅對(duì)應(yīng)一個(gè)對(duì)象,訪問(wèn)權(quán)能的集合定義了域。當(dāng)進(jìn)程調(diào)用子程序時(shí),操作系統(tǒng)形成一個(gè)目前程序所有訪問(wèn)權(quán)能堆棧,之后為子程序產(chǎn)生一個(gè)新的訪問(wèn)權(quán)能。44感謝你的觀看2019年6月304.3.4訪問(wèn)權(quán)能(續(xù))而調(diào)用子程序時(shí),需要傳遞一些4.3.4訪問(wèn)權(quán)能(續(xù))圖4.14將對(duì)象傳遞給一個(gè)主體45感謝你的觀看2019年6月304.3.4訪問(wèn)權(quán)能(續(xù))圖4.14將對(duì)象傳遞給一個(gè)主體4.3.4訪問(wèn)權(quán)能(續(xù))

訪問(wèn)權(quán)能的幾點(diǎn)說(shuō)明:

(1)在操作上,訪問(wèn)權(quán)能是跟蹤執(zhí)行主體對(duì)于對(duì)象的訪問(wèn)權(quán)限的直接方法,可以用一張全面的表來(lái)備份訪問(wèn)權(quán)能。一個(gè)進(jìn)程需要使用新對(duì)象時(shí),由操作系統(tǒng)檢查決定是否賦予新的權(quán)能。

(2)訪問(wèn)權(quán)能必須保存在普通用戶不可訪問(wèn)的內(nèi)存區(qū),可以存儲(chǔ)在用戶表不能引用的內(nèi)存段,或用標(biāo)記結(jié)構(gòu)機(jī)制將訪問(wèn)權(quán)能標(biāo)識(shí)為保護(hù)的數(shù)據(jù)結(jié)構(gòu)。

(3)在執(zhí)行期間,只有被當(dāng)前進(jìn)程訪問(wèn)過(guò)的對(duì)象的權(quán)能會(huì)被保持可用狀態(tài),這可以改善訪問(wèn)對(duì)象時(shí)檢查速度。

(4)訪問(wèn)權(quán)能可以撤消,撤消后的訪問(wèn)權(quán)能不允許包含任何訪問(wèn)權(quán)限。訪問(wèn)權(quán)能表用指針形成活動(dòng)訪問(wèn)權(quán)能鏈,方便動(dòng)態(tài)管理。46感謝你的觀看2019年6月304.3.4訪問(wèn)權(quán)能(續(xù))訪問(wèn)權(quán)能的幾點(diǎn)說(shuō)明:46感謝4.3.5Kerberos

Kerberos實(shí)現(xiàn)了通過(guò)訪問(wèn)權(quán)能(稱為票據(jù))的鑒別與訪問(wèn)授權(quán),票據(jù)使用對(duì)稱加密技術(shù)保證了安全性。Kerberos具有兩個(gè)系統(tǒng)鑒別服務(wù)器(AS,authenticationserver)和票據(jù)授權(quán)服務(wù)器(TGS,ticket-grantingserver)。它們都是密鑰分發(fā)中心(KDC,keydistributioncenter)的一部分。

Kerberos實(shí)現(xiàn)了單點(diǎn)登錄(singlesign-on),即用戶只需要登錄一次,其后用戶被允許的所有需要授權(quán)的活動(dòng)都不需要反復(fù)登錄。47感謝你的觀看2019年6月304.3.5KerberosKerberos實(shí)現(xiàn)了通4.3.5Kerberos(續(xù))

如果用戶需要在不同的域中訪問(wèn)資源,只要這兩個(gè)域之間建立了授權(quán),用戶都可直接訪問(wèn)而不需要在不同的系統(tǒng)間登錄。

Kerberos實(shí)現(xiàn)了本地與遠(yuǎn)程鑒別和帶共享密鑰系統(tǒng)的授權(quán),實(shí)際上,每個(gè)用戶的口令被作為加密密鑰使用。48感謝你的觀看2019年6月304.3.5Kerberos(續(xù))如果用戶需要在不同4.3.6面向程序的訪問(wèn)控制

面向程序(procedure-oriented)的保護(hù),即用程序來(lái)控制訪問(wèn)的對(duì)象(例如,通過(guò)執(zhí)行它的用戶鑒別來(lái)加強(qiáng)操作系統(tǒng)提供的基本保護(hù))。也就是說(shuō),程序在對(duì)象周?chē)纬杀Wo(hù)層,只準(zhǔn)許指定的訪問(wèn)。程序可以確保只有通過(guò)可信界面才能訪問(wèn)對(duì)象。例如,合法用戶表只允許三個(gè)程序訪問(wèn)該表:增加用戶程序,刪除用戶程序以及檢查程序。增加用戶程序、刪除用戶程序可以使用檢查機(jī)制以確保對(duì)它們的調(diào)用是合法的。49感謝你的觀看2019年6月304.3.6面向程序的訪問(wèn)控制面向程序(proced4.3.6面向程序的訪問(wèn)控制(續(xù))

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

某些用戶(如系統(tǒng)管理員)具有某種特權(quán),而其他用戶(普通用戶或客人)具有低一些的權(quán)限?;诮巧脑L問(wèn)控制(role-basedaccesscontrol)可以將權(quán)限與分組聯(lián)系在一起。根據(jù)職責(zé)的改變,用戶的訪問(wèn)控制也相應(yīng)改變,系統(tǒng)管理員不必為該用戶重新選擇適合的訪問(wèn)權(quán)限。51感謝你的觀看2019年6月304.3.7基于角色的訪問(wèn)控制某些用戶(如系統(tǒng)管理員)4.4文件保護(hù)機(jī)制

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

完全保護(hù)或完全不保護(hù)

文件被默認(rèn)為公共文件,這里假定用戶只知道他們有權(quán)訪問(wèn)的文件名??诹畋Wo(hù)被認(rèn)為是保護(hù)操作系統(tǒng)最有價(jià)值的方法。有兩種方法執(zhí)行:口令用于控制所有的訪問(wèn)(讀、寫(xiě)或刪除),所有文件完全由系統(tǒng)管理員控制;口令僅控制寫(xiě)、刪除兩種訪問(wèn),因?yàn)橹挥羞@兩種行為會(huì)影響其他用戶。

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

這種完全保護(hù)或完全不保護(hù)有幾個(gè)原因不切實(shí)際:

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

過(guò)于粗糙:即使確定了一批可信任的用戶,也沒(méi)有簡(jiǎn)單方法只允許這些用戶訪問(wèn)。

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

復(fù)雜性:因?yàn)槲募Wo(hù)需要機(jī)制干涉,降低了操作系統(tǒng)的性能。

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

組保護(hù)

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

當(dāng)用戶創(chuàng)建一個(gè)文件時(shí),可以定義用戶本身、組內(nèi)成員以及組外用戶的訪問(wèn)權(quán)限。通常,訪問(wèn)權(quán)限來(lái)自一個(gè)有限集合,比如

更新、讀-執(zhí)行、讀、寫(xiě)-創(chuàng)建-刪除

。用戶組保護(hù)的主要優(yōu)點(diǎn)就是易于實(shí)現(xiàn)。盡管這種保護(hù)方案彌補(bǔ)了完全保護(hù)或完全不保護(hù)方法的某些不足,但是也帶來(lái)了一些新的麻煩。

組的從屬性:一個(gè)用戶不能屬于兩個(gè)組。55感謝你的觀看2019年6月304.4.1基本保護(hù)形式(續(xù))當(dāng)用戶創(chuàng)建一個(gè)文件時(shí),可4.4.1基本保護(hù)形式(續(xù))

多重身份:為克服一個(gè)成員只能從屬一個(gè)組的限制,允許一定數(shù)量的人有多個(gè)帳號(hào),也就是允許一個(gè)用戶有多個(gè)用戶身份。多重身份導(dǎo)致了帳號(hào)的增加、文件冗余、對(duì)共同文件的有限保護(hù),以及用戶使用不方便的問(wèn)題。

所有組:為了避免多重身份,用戶可以在訪問(wèn)執(zhí)行期間屬于多個(gè)組的成員。

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

將單個(gè)文件與訪問(wèn)許可聯(lián)系起來(lái)時(shí),還可以有更簡(jiǎn)單的保護(hù)實(shí)現(xiàn)方法。

持久許可

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

獲得臨時(shí)許可

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

文件保護(hù)方法的最基本的限制是要求能夠產(chǎn)生有意義的用戶組,組內(nèi)的用戶對(duì)一個(gè)或多個(gè)數(shù)據(jù)集有相似的訪問(wèn)權(quán)限。前面提到的訪問(wèn)控制表和訪問(wèn)控制矩陣雖然靈活,但如果某個(gè)用戶允許很多用戶分別對(duì)許多不同的數(shù)據(jù)集進(jìn)行訪問(wèn),則該用戶必須詳細(xì)說(shuō)明每個(gè)數(shù)據(jù)集應(yīng)該被哪個(gè)用戶訪問(wèn)。當(dāng)增加一個(gè)新用戶時(shí),所有相關(guān)的用戶必須詳細(xì)說(shuō)明該用戶的訪問(wèn)權(quán)限。59感謝你的觀看2019年6月304.4.3每個(gè)對(duì)象和每個(gè)用戶的保護(hù)文件保護(hù)方法的最4.5用戶鑒別

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

鑒別機(jī)制使用下列三種性質(zhì)中的某種性質(zhì)來(lái)確認(rèn)用戶的身份:

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

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

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

#兩種或更多方式結(jié)合起來(lái)能形成更穩(wěn)妥的鑒別服務(wù)。61感謝你的觀看2019年6月30鑒別機(jī)制使用下列三種性質(zhì)中的某種性質(zhì)來(lái)確認(rèn)用戶的身份:

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

Prabhakar等列出了生物特征鑒別與隱私有關(guān)的三類(lèi)情況:

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

(2)不可預(yù)計(jì)的應(yīng)用范疇:鑒別例程識(shí)別客體。例如鑒別例程可以識(shí)別出一個(gè)客體是否使用的假姓名。

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

口令(password)

是用戶和計(jì)算機(jī)都知道的一個(gè)“單詞”??诹畋Wo(hù)可以提供一個(gè)相對(duì)安全的系統(tǒng),但是人們對(duì)口令的不恰當(dāng)使用可能降低安全保護(hù)的質(zhì)量。這里我們將主要討論口令攻擊、選擇口令的標(biāo)準(zhǔn)和口令的鑒別方法。63感謝你的觀看2019年6月304.5.1口令鑒別口令(password)是用戶4.5.1口令鑒別(續(xù))

口令實(shí)際上是相互達(dá)成一致的字碼,并假定只有用戶和系統(tǒng)知道這個(gè)字碼??诹羁梢杂捎脩暨x擇也可以是系統(tǒng)分配??诹罡袷胶烷L(zhǎng)度各個(gè)操作系統(tǒng)會(huì)有所不同??诹钜泊嬖谝恍﹩?wèn)題:

丟失:根據(jù)口令的實(shí)現(xiàn)方法,沒(méi)有人能找回原來(lái)的口令。

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

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

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

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

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

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

使用附加的鑒別信息稱為多因素鑒別(multifactorauthentication)。兩種形式的鑒別稱為兩因素鑒別(two-factorauthentication),通常認(rèn)為比一種形式的鑒別好,因?yàn)橐话愕卣f(shuō)這樣的鑒別安全性更強(qiáng)。但隨之而來(lái)的是復(fù)雜度增加。66感謝你的觀看2019年6月304.5.2附加的鑒別信息(續(xù))使用附加的鑒別信息稱為4.5.3口令攻擊有幾種方法可以確定用戶口令:(1)嘗試所有可能的口令(2)嘗試經(jīng)常使用的口令(3)嘗試一個(gè)用戶可能的口令(4)查找系統(tǒng)口令表(5)詢問(wèn)用戶#困難程度依次降低,成功可能性依次降低67感謝你的觀看2019年6月304.5.3口令攻擊有幾種方法可以確定用戶口令:67感謝你的4.5.3口令攻擊(續(xù))

松懈的系統(tǒng)假設(shè)一個(gè)對(duì)系統(tǒng)一無(wú)所知的入侵者,如下登錄設(shè)計(jì)不好:

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

改進(jìn)的設(shè)計(jì)為:

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

更好的設(shè)計(jì)為:

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

窮舉法攻擊

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

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

與用戶有關(guān)的可能口令一般情況下,用戶會(huì)選擇自己認(rèn)為有意義的字符作為口令,例如,配偶、孩子、兄弟姐妹、寵物、街道等的名字作為口令,如果加以限制,這個(gè)口令集合實(shí)際非常小,可以非??斓赝瓿蓪?duì)這個(gè)集合的口令正確性驗(yàn)證。因此,口令保護(hù)在理論上很強(qiáng)大,但在實(shí)踐中常常變得很脆弱。73感謝你的觀看2019年6月304.5.3口令攻擊(續(xù))與用戶有關(guān)的可能口令73感謝4.5.3口令攻擊(續(xù))Morris和Thompson報(bào)道了他們收集的許多用戶的口令統(tǒng)計(jì)規(guī)律。表4.2實(shí)際口令的分布

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

(1)沒(méi)有口令

(2)和用戶ID相同

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

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

(5)學(xué)生用字典

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

(7)非英語(yǔ)國(guó)家的常用字典

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

明文系統(tǒng)口令表口令表是一個(gè)包括用戶身份和相應(yīng)口令的兩列表格。可以用多種不同的安全方法來(lái)隱藏口令表,以避免無(wú)關(guān)用戶發(fā)現(xiàn)。

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

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

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

另一種方法是使用單向函數(shù)加密技術(shù)??诹畋斫?jīng)過(guò)單向函數(shù)計(jì)算后存儲(chǔ)。當(dāng)用戶輸入口令時(shí),計(jì)算它的單向函數(shù)值,看是否與存儲(chǔ)值相等。UNIX操作系統(tǒng)就使用這種訪問(wèn)控制機(jī)制,所有用戶可以讀存儲(chǔ)的口令表??偸怯锌赡軆蓚€(gè)人選擇相同的口令值,UNIX+操作系統(tǒng)通過(guò)擴(kuò)展口令來(lái)繞過(guò)這個(gè)弱點(diǎn),稱為salt。salt是包含系統(tǒng)時(shí)間和進(jìn)程標(biāo)識(shí)符組成的12個(gè)比特。salt對(duì)于每個(gè)用戶唯一,且公開(kāi),這樣即使用戶選擇相同的口令pw,由于單向函數(shù)計(jì)算的輸入是(pw+salt),所以輸出也不會(huì)相等。

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

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

盡管口令應(yīng)用有諸多不盡如人意之處,但可以預(yù)計(jì)在未來(lái)一段時(shí)間內(nèi)還將繼續(xù)使用。其難度應(yīng)該適合環(huán)境的安全需要。我們可以對(duì)口令的使用做如下總結(jié):

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

Z:應(yīng)該包含大小寫(xiě)和數(shù)字。

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

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

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

(6)不要寫(xiě)下口令:實(shí)踐表明當(dāng)擁有多個(gè)帳戶口令時(shí),設(shè)置相同口令或者使用不安全但好記的口令要比將口令記錄在一個(gè)保護(hù)妥當(dāng)?shù)谋砩细kU(xiǎn),但是在用戶自身安全面臨考驗(yàn)的時(shí)候除外。

(7)不要告訴任何人:最容易的攻擊是使用社會(huì)工程學(xué)(socialengineering)。84感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))(4)選擇一個(gè)看似無(wú)4.5.4口令選擇標(biāo)準(zhǔn)(續(xù))

一些系統(tǒng)提供了無(wú)字面意義但可發(fā)音的口令。例如,VAXVMS系統(tǒng)隨機(jī)產(chǎn)生5個(gè)口令供用戶選擇其中一個(gè)。但這樣產(chǎn)生的口令也容易出錯(cuò),如,發(fā)音為bliptab和blaptib、blabtip易混淆。一些學(xué)者發(fā)現(xiàn)口令短語(yǔ)比口令字有更好的安全強(qiáng)度。有些系統(tǒng)鼓勵(lì)用戶有規(guī)律的改變口令。如一個(gè)系統(tǒng)規(guī)定30天更改一次口令,可以到了30天后用戶第一次登錄時(shí),要求用戶修改口令。有時(shí)系統(tǒng)要求周期性更改口令,用戶可以選擇兩個(gè)口令交替使用,為防止這種情況,Windows2000系統(tǒng)可以拒絕接受最近k次使用過(guò)的口令。85感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))一些系統(tǒng)提供了無(wú)字面意4.5.4口令選擇標(biāo)準(zhǔn)(續(xù))

一次性口令

一次性口令(one-timepassword)只能使用一次,以后不再有效。用戶使用一個(gè)靜態(tài)的數(shù)學(xué)函數(shù),而不是一個(gè)靜態(tài)的短語(yǔ)。用戶使用這個(gè)數(shù)學(xué)函數(shù)計(jì)算并把函數(shù)值返回給系統(tǒng)進(jìn)行認(rèn)證。這樣的系統(tǒng)又稱為挑戰(zhàn)-響應(yīng)系統(tǒng)(challenge-responsesystem)。Lamport一次口令方案就是此類(lèi)方案。86感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))一次性口令86感謝你的4.5.4口令選擇標(biāo)準(zhǔn)(續(xù))87感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))87感謝你的觀看2019年64.5.4口令選擇標(biāo)準(zhǔn)(續(xù))88感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))88感謝你的觀看2019年6月4.5.4口令選擇標(biāo)準(zhǔn)(續(xù))

一次性口令使得中途截取口令變得毫無(wú)用處。但是人們能夠記憶的算法程度有限,因而一次口令的實(shí)用性受到限制??诹钌稍O(shè)備,可以實(shí)現(xiàn)更復(fù)雜的函數(shù),價(jià)格合理的這類(lèi)設(shè)備已有好幾種型號(hào)了。89感謝你的觀看2019年6月304.5.4口令選擇標(biāo)準(zhǔn)(續(xù))一次性口令使得中途截取4.5.5鑒別過(guò)程

在鑒別過(guò)程中,如果用戶錯(cuò)誤輸入口令,一般的系統(tǒng)會(huì)允許其繼續(xù)輸入直到正確口令為止。一些系統(tǒng)可能會(huì)故意延長(zhǎng)執(zhí)行時(shí)間,阻止攻擊者搜索口令。另一些系統(tǒng)會(huì)在幾次登錄失敗后,斷開(kāi)與用戶的連接。更安全的系統(tǒng)中,可能會(huì)因?yàn)橛脩翦e(cuò)誤輸入指定次數(shù)而將用戶帳戶鎖住。只有系統(tǒng)管理員才能恢復(fù)其帳號(hào)。這樣系統(tǒng)管理員可以識(shí)別出成為攻擊者目標(biāo)的賬號(hào)。90感謝你的觀看2019年6月304.5.5鑒別過(guò)程在鑒別過(guò)程中,如果用戶錯(cuò)誤輸入口令4.5.5鑒別過(guò)程(續(xù))

修復(fù)鑒別過(guò)程中的缺陷口令被認(rèn)為是鑒別用戶身份的最基本或第一手證據(jù),如果對(duì)輸入口令產(chǎn)生懷疑,系統(tǒng)可以要求更多令人信服的證明??梢圆扇。涸黾恿硪惠喛诹畲_認(rèn)或挑戰(zhàn)-響應(yīng)協(xié)議,實(shí)現(xiàn)第二層保護(hù)。如果有物理設(shè)備輔助可以實(shí)現(xiàn)更強(qiáng)的挑戰(zhàn)-響應(yīng)協(xié)議。91感謝你的觀看2019年6月304.5.5鑒別過(guò)程(續(xù))修復(fù)鑒別過(guò)程中的缺陷91感謝4.5.5鑒別過(guò)程(續(xù))

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論