桌面操作系統(tǒng)平臺的安全性.doc_第1頁
桌面操作系統(tǒng)平臺的安全性.doc_第2頁
桌面操作系統(tǒng)平臺的安全性.doc_第3頁
桌面操作系統(tǒng)平臺的安全性.doc_第4頁
桌面操作系統(tǒng)平臺的安全性.doc_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

桌面操作系統(tǒng)平臺的安全性張建宇(19908065)1. 引言在安全層次模型中,桌面操作系統(tǒng)的安全性屬于系統(tǒng)級安全的范疇。桌面操作系統(tǒng)向上為文件、目錄、網(wǎng)絡和群件系統(tǒng)等提供底層的安全保障平臺。桌面操作系統(tǒng)中的安全缺陷和安全漏洞,往往會造成嚴重的后果。因此,安全機制是桌面操作系統(tǒng)的一個重要組成部分;平臺的安全級別是對其性能進行評估的一個重要指標。本文將結合Linux、Windows NT 4.x中具體的安全策略,闡述桌面操作系統(tǒng)中常見的安全問題、安全性設計的主要原則和安全服務的主要內(nèi)容。2. 桌面操作系統(tǒng)中常見的安全問題對提供網(wǎng)絡服務的系統(tǒng)平臺來說,安全性問題主要體現(xiàn)在網(wǎng)絡通信安全、網(wǎng)絡非法入侵等方面。但是,桌面操作系統(tǒng)所面對的安全問題和任務則不大一樣。關于桌面操作系統(tǒng)的安全,主要考慮的有如下幾個:A. 惡意程序的威脅。包括病毒、邏輯炸彈、后門、特洛伊木馬等等。B. 不合法使用。包括合法用戶在未授權使用某些數(shù)據(jù)、資源或程序的情況下越過系統(tǒng)的安全檢查而越權訪問;或者雖然屬合法授權,但有意或無意地錯誤使用某些功能而導致重要信息失密。C. 惡意入侵者。他們的主要目的是竊取數(shù)據(jù)和非法修改系統(tǒng)。其手段之一是竊取合法用戶的口令,在合法身份的掩護下進行非法操作;其手段之二便是利用操作系統(tǒng)的某些合法但不為系統(tǒng)管理員和合法用戶所熟知的操作指令。D. 應用程序的安全性。系統(tǒng)應監(jiān)督應用程序使用數(shù)據(jù)或資源權限的合法性。程序的執(zhí)行還應該采用“最小特權”原則,即程序應按照它能做事的最小權限運行,否則就有可能被人利用。E. 數(shù)據(jù)的安全性。機密數(shù)據(jù)如果沒有保存在安全的空間內(nèi),或者數(shù)據(jù)的加密處理不夠規(guī)范和健壯,也可能帶來安全問題。A項涉及到病毒預防和病毒防治的問題,E 項則與數(shù)據(jù)加密相關,本文不做討論。B項和D項與系統(tǒng)的訪問控制機制有關,C項則對應于系統(tǒng)的用戶管理和用戶身份認證機制,是本文討論的重點。3. 安全性設計的原則針對桌面操作系統(tǒng)平臺的安全性設計,Saltzer 和 Schroeder 提出了一些基本原則:l 系統(tǒng)設計必須公開。認為入侵者由于不知道系統(tǒng)的工作原理而會減少入侵可能性的想法是錯誤的,這樣只能迷惑管理者。l 默認情況應是拒絕訪問。合法訪問被拒絕的情況比未授權訪問被允許的情況更容易獲知。l 檢查操作的當前授權信息。系統(tǒng)不應只檢查訪問是否允許,然后只根據(jù)第一次的檢查結果而不理會后續(xù)的操作。l 為每個進程賦予可能的最小權限。每個進程只應當具備完成其特定功能的最小權限。l 保護機制必須簡單、一致并建立到系統(tǒng)底層。系統(tǒng)的安全性和系統(tǒng)的正確性一樣,不應當是一種附加特性,而必須建立到系統(tǒng)底層而成為系統(tǒng)固有的特性。l 方案必須是心理上可接收的。如果用戶感覺到為保護自己的文件而必須做這做那的話,用戶就會有厭煩心理,并且可能因僥幸心理而不會利用所提供的方案保護數(shù)據(jù)。4. 桌面操作系統(tǒng)的安全服務與提供網(wǎng)絡服務的系統(tǒng)不同,桌面操作系統(tǒng)的安全服務主要包括如下兩個方面:l 用戶管理的安全性。首先,是用戶帳號的管理。通常對用戶帳號進行分組管理,并且這種分組管理應該是針對安全性問題而考慮的分組。也就是說,應該根據(jù)不同的安全級別將用戶分為若干等級,每一等級的用戶只能訪問與其等級相對應的系統(tǒng)資源和數(shù)據(jù),執(zhí)行指定范圍的程序。其次,是用戶口令的加密機制。用戶口令的加密算法必須有足夠的安全強度,用戶的口令存放必須安全,不能被輕易竊取。最后,是認證機制。身份認證必須強有力,在用戶登錄時,與系統(tǒng)的交互過程必須有安全保護,不會被第三方干擾或截取。認證機制是用戶安全管理的重點。l 訪問控制。訪問控制實質(zhì)上是對資源使用的限制,它決定主體是否被授權對客體執(zhí)行某種操作。它依賴于鑒別使主體合法化,并將組成員關系和特權與主體聯(lián)系起來。只有經(jīng)授權的用戶,才允許訪問特定的網(wǎng)絡資源。用戶訪問系統(tǒng)資源或執(zhí)行程序時,系統(tǒng)應該先進行進行合法性檢查,沒有得到授權的用戶的訪問或執(zhí)行請求將被拒絕。系統(tǒng)還要對訪問或執(zhí)行的過程進行監(jiān)控,防止用戶越權。程序的執(zhí)行也應該受到監(jiān)控。程序執(zhí)行應遵循“最小”特權原則,程序不能越權調(diào)用執(zhí)行另外一些與本程序執(zhí)行無關的程序,特別是某些重要的系統(tǒng)調(diào)用;也不能越權訪問無關的重要資源。5. 用戶身份認證用戶身份認證通常采用帳號/密碼的方案。用戶提供正確的帳號和密碼后,系統(tǒng)才能確認他的合法身份。不同的系統(tǒng)內(nèi)部采用的認證機制和過程一般是不同的。Linux的登錄過程相對比較簡單。Windows NT采用的是NT LAN Manager (或NTLM, 建立于1988年)安全技術進行身份認證。下面以Linux的認證過程為例。通過終端登錄Linux的過程描述如下:l init 確保為每個終端連接(或虛擬終端)運行一個 getty 程序。l getty 監(jiān)聽對應的終端并等待用戶準備登錄。l getty 輸出一條歡迎信息(保存在 /etc/issue 中),并提示用戶輸入用戶名,最后運行 login 程序。l login 以用戶作為參數(shù),提示用戶輸入密碼。l 如果用戶名和密碼相匹配,則 login 程序為該用戶啟動 shell。否則,login 程序退出,進程終止。l init 程序注意到 login 進程已終止,則會再次為該終端啟動 getty。在上述過程中,唯一的新進程是 init 利用 fork 系統(tǒng)調(diào)用建立的進程,而 getty 和 login 僅僅利用 exec 系統(tǒng)調(diào)用替換了正在運行的進程。由于其后建立的進程均是由 shell 建立的子進程,這些子進程將繼承 shell 的安全性屬性,包括 uid 和 gid。Linux在文本文件 /etc/passwd(密碼文件)中保存基本的用戶數(shù)據(jù)庫,其中列出了系統(tǒng)中的所有用戶及其相關信息。默認情況下,系統(tǒng)在該文件中保存加密后的密碼。因為系統(tǒng)中的任何用戶均可以讀取該文件的內(nèi)容,因此,所有人均可以讀取任意一個用戶的密碼字段,即 passwd 文件每行的第二個字段。盡管密碼是加密保存的,但是,所有密碼均是可以破譯的,尤其是簡單的密碼,更可以不花大量時間就可以破譯。許多 Linux 系統(tǒng)利用影象密碼以避免在密碼文件中保存加密的密碼,它們將密碼保存在單獨的 /etc/shadow 文件中,只有 root 才能讀取該文件,而 /etc/passwd 文件只在第二個字段中包含特殊的標記。帳號/密碼的認證方案普遍存在著安全的隱患和不足之處:l 認證過程的安全保護不夠健壯,登錄的步驟沒有做集成和封裝,暴露在外,容易受到惡意入侵者或系統(tǒng)內(nèi)特洛伊木馬的干擾或者截取。l 密碼的存放與訪問沒有嚴格的安全保護。比如,Linux 系統(tǒng)中全部用戶信息,包括加密后的口令信息一般保存于 /etc/passwd 文件中,而該文件的默認訪問許可是任何用戶均可讀,因此,任何可能獲得該文件副本的人,就有可能獲得系統(tǒng)所有用戶的列表,進而破譯其密碼。l 認證機制與訪問控制機制不能很好地相互配合和銜接,使得通過認證的合法用戶進行有意或無意的非法操作的機會大大增加。例如能夠物理上訪問Windows NT機器的任何人,可能利用NTRecover、Winternal Software 的 NTLocksmith等工具程序來獲得Administrator級別的訪問權。為此,Windows 2000對身份認證機制做了重大的改進,引入了新的認證協(xié)議。Window 2000除了為向下兼容提供了對NTLM驗證協(xié)議的支持以外(作為桌面平臺使用時),還增加了KerberosV5和TLS作為分布式的安全性協(xié)議。它支持對smart cards的使用,這提供了在密碼基礎之上的一種交互式的登錄。Smart cards支持密碼系統(tǒng)和對私有密鑰和證書的安全存儲。Kerberos客戶端的運行時刻是通過一個基于SSPI的安全性接口來實現(xiàn)的,客戶Kerberos驗證過程的初始化集成到了WinLogon單一登錄的結構中。6. 訪問控制系統(tǒng)中的訪問控制通常通過定義對象保護域來實現(xiàn)。保護域是指一組(對象、權限)對,每個(對象,權限)對指定了一個對象以及能夠在這個對象上執(zhí)行的操作子集。保護域可以相互交叉。進程在執(zhí)行過程中,可以根據(jù)情況在不同的保護域中切換,不同的系統(tǒng)對切換規(guī)則的定義不同。針對保護域的保護機制,最常見的屬訪問控制列表(Access Control Lists,ACL)。在 ACL 中,每個對象具有一個關聯(lián)列表,該列表定義了所有可能訪問該對象的保護域,以及賦予這些保護域的訪問權限。如下所示,假定我們有四個用戶:user1、user2,、dev1、 dev2,分別屬于 users 組和 devs 組,系統(tǒng)中的文件 file1 和 file2 具有如下的訪問控制列表:file1file2(user1, *, RW-)(dev1, devs, RWX)(user2, *, -)(dev2, devs, R-X)(*, devs, RW-)(*, users, R-)其中,RWX 分別代表讀?。≧ead)、寫入(Write)和執(zhí)行(eXecute)權限,減號代表拒絕對應的權限,星號代表所有的用戶或組。Linux 和 Windows NT 均采用 ACL機制保護系統(tǒng)對象,但它們在實施上有些差別。這里我們以Windows NT的訪問控制機制為例。6.1. Windows NT 的訪問控制模型當用戶登錄到 Windows NT 系統(tǒng)時,和 UNIX 系統(tǒng)類似,Windows NT 也使用帳號/密碼機制驗證用戶身份。如果系統(tǒng)允許用戶登錄,則安全性子系統(tǒng)將建立一個初始進程,并創(chuàng)建一個訪問令牌,其中包含有安全性標識符(SID),該標識符可在系統(tǒng)中唯一標識一個用戶。初始進程建立了其他進程之后,這些進程將繼承初始進程的訪問令牌。訪問令牌有兩個目的:l 訪問令牌保存有全部的安全性信息,可加速訪問驗證過程。當某個用戶進程要訪問某個對象時,安全性子系統(tǒng)可利用與該進程相關的訪問令牌判斷用戶的訪問權限。l 因為每個進程均有一個與之相關聯(lián)的訪問令牌,因此,每個進程也可以在不影響其他代表該用戶運行的進程的情況下,在某種可允許的范圍內(nèi)修改進程的安全性特征。Windows NT 初始時禁止所有的用戶可能擁有的特權,而當進程需要某個特權時,才打開相應的特權。由于 Windows NT 的進程均有一個自己的訪問令牌,其中包含有用戶的特權信息,因此,進程所打開的特權只在當前進程內(nèi)有效,而不會影響其他進程。這種管理方法的優(yōu)點的比較明顯的,但也會造成對系統(tǒng)性能的負面影響。為了實現(xiàn)進程間的安全性訪問,Windows NT 采用了安全性描述符。安全性描述符的主要組成部分是訪問控制列表,訪問控制列表指定了不同的用戶和用戶組對某個對象的訪問權限。當某個進程要訪問一個對象時,進程的 SID 將和對象的訪問控制列表比較,決定是否運行訪問該對象。下圖給出了訪問令牌、安全標識符、安全性描述符以及訪問控制列表之間的關系。訪問令牌中包含有用戶的安全標識符、用戶所在組的安全標識符以及相應的訪問權限。Windows NT 在內(nèi)部利用用戶安全標識符,以及組安全標識符唯一標識用戶或組。系統(tǒng)在每次建立新的用戶或組時,建立唯一的用戶或組安全標識符。Windows NT 的 ACL 由 ACE (訪問控制項)組成,每個 ACE 標識用戶或組對某個對象的訪問許可或拒絕。ACL 首先列出拒絕訪問的 ACE,然后才是允許訪問的 ACE。當 Windows NT 根據(jù)進程的存取令牌確定訪問許可時,依據(jù)如下規(guī)則:A. 從 ACL 的頂部開始,檢查每項 ACE,看 ACE 是否顯式拒絕了進程的訪問請求,或者拒絕了用戶所在組的訪問請求。B. 繼續(xù)檢查,看是否進程所要求的訪問類型已經(jīng)顯式地授予用戶,或授予用戶所在的組。C. 對 ACL 中的每項 ACE 重復 A,B 步驟,直到遇到拒絕訪問,或直到累計所有請求的許可均被滿足為止。D. 如果對于某個請求的訪問許可,在 ACL 中既沒有授權,也沒有拒絕,則拒絕訪問。當 Windows NT 判斷是否授予某個進程對指定對象的訪問請求時,一般經(jīng)過如下步驟:A. 進程用請求的許可打開對象。例如,用戶以讀寫方式打開文件。B. 系統(tǒng)利用與該進程相關聯(lián)的訪問令牌和對象的 ACL 比較,以判斷是否允許用戶利用請求的許可打開對象。C. 如果授權許可,系統(tǒng)將為對象建立一個句柄,并建立一個授權許可表。這些句柄和授權許可表返回到進程中,并在進程的對象表中存放。D. Windows NT 只在打開對象時才檢查 ACL。在打開的對象上隨后進行的操作,按照在 C 中保存的對象權限表進行,而不是每次均和 ACL 比較,這主要是出于性能考慮。由于授權許可表只反映了打開對象時的對象安全描述符狀態(tài),在關閉這一對象之前,進程對該對象的訪問一直沿用最初的授權許可表,因此,在關閉之前的對象 ACL 的變化,不會影響關閉之前的操作。7. 總結桌面操作系統(tǒng)的安全機制主要體現(xiàn)在身份認證和訪問控制兩個方面。身份認證是要保證合法的用戶使用系統(tǒng),防止非法侵入。訪問控制是要保證授權和受控地訪問和使用系統(tǒng)資源。常用的桌面操作系統(tǒng)有Linux 和Windows NT。Linux 作為UNIX克隆,采用的是 UNIX在安全性方面成功的技術,是經(jīng)受了近

溫馨提示

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

評論

0/150

提交評論