王云
【摘 要】本文就桌面操作系統平臺安全方面的常見問題、解決方法、安全性設計原則等幾方面進行了闡述,對桌面操作系統的安全機制進行了總結。
【關鍵詞】桌面操作系統;身份認證;訪問控制
在安全層次模型中,桌面操作系統的安全性屬于系統級安全的范疇。桌面操作系統向上為文件、目錄、網絡和群件系統等提供底層的安全保障平臺。桌面操作系統中的安全缺陷和安全漏洞,往往會造成嚴重的后果。因此,安全機制是桌面操作系統的一個重要組成部分;平臺的安全級別是對其性能進行評估的一個重要指標。本文將闡述桌面操作系統中常見的安全問題、安全性設計的主要原則和安全服務的主要內容。
一、桌面操作系統中常見的安全問題
對提供網絡服務的系統平臺來說,安全性問題主要體現在網絡通信安全、網絡非法入侵等方面。但是,桌面操作系統所面對的安全問題和任務則不大一樣。
關于桌面操作系統的安全,主要考慮的有如下幾個:
(1)惡意程序的威脅。包括病毒、邏輯炸彈、后門、特洛伊木馬等等。
(2)不合法使用。包括合法用戶在未授權使用某些數據、資源或程序的情況下越過系統的安全檢查而越權訪問;或者雖然屬合法授權,但有意或無意地錯誤使用某些功能而導致重要信息失密。
(3)惡意入侵者。他們的主要目的是竊取數據和非法修改系統。
(4)應用程序的安全性。系統應監督應用程序使用數據或資源權限的合法性。程序的執行還應該采用“最小特權”原則,即程序應按照它能做事的最小權限運行,否則就有可能被人利用。
(5)數據的安全性。機密數據如果沒有保存在安全的空間內,或者數據的加密處理不夠規范和健壯,也可能帶來安全問題。
二、安全性設計的原則
針對桌面操作系統平臺的安全性設計,Saltzer 和 Schroeder 提出了一些基本原則:
(1)系統設計必須公開。認為入侵者由于不知道系統的工作原理而會減少入侵可能性的想法是錯誤的,這樣只能迷惑管理者。
(2)默認情況應是拒絕訪問。合法訪問被拒絕的情況比未授權訪問被允許的情況更容易獲知。
(3)檢查操作的當前授權信息。系統不應只檢查訪問是否允許,然后只根據第一次的檢查結果而不理會后續的操作。
(4)為每個進程賦予可能的最小權限。每個進程只應當具備完成其特定功能的最小權限。
(5)保護機制必須簡單、一致并建立到系統底層。系統的安全性和系統的正確性一樣,不應當是一種附加特性,而必須建立到系統底層而成為系統固有的特性。
(6)方案必須是心理上可接收的。如果用戶感覺到為保護自己的文件而必須做這做那的話,用戶就會有厭煩心理,并且可能因僥幸心理而不會利用所提供的方案保護數據。
三、桌面操作系統的安全服務
與提供網絡服務的系統不同,桌面操作系統的安全服務主要包括如下兩個方面:
(1)用戶管理的安全性。首先,是用戶帳號的管理。其次,是用戶口令的加密機制。用戶口令的加密算法必須有足夠的安全強度,用戶的口令存放必須安全,不能被輕易竊取。最后,是認證機制。
(2)訪問控制。訪問控制實質上是對資源使用的限制,它決定主體是否被授權對客體執行某種操作。用戶訪問系統資源或執行程序時,系統應該先進行合法性檢查,沒有得到授權的用戶的訪問或執行請求將被拒絕。系統還要對訪問或執行的過程進行監控,防止用戶越權。程序的執行也應該受到監控。程序執行應遵循“最小”特權原則。
四、用戶身份認證
用戶身份認證通常采用帳號/密碼的方案。用戶提供正確的帳號和密碼后,系統才能確認他的合法身份。不同的系統內部采用的認證機制和過程一般是不同的。
帳號/密碼的認證方案普遍存在著安全的隱患和不足之處:
(1)認證過程的安全保護不夠健壯,登錄的步驟沒有做集成和封裝,暴露在外,容易受到惡意入侵者或系統內特洛伊木馬的干擾或者截取。
(2)密碼的存放與訪問沒有嚴格的安全保護。
(3)認證機制與訪問控制機制不能很好地相互配合和銜接,使得通過認證的合法用戶進行有意或無意的非法操作的機會大大增加。
為此,Windows 2000對身份認證機制做了重大的改進,引入了新的認證協議。Window 2000除了為向下兼容提供了對NTLM驗證協議的支持以外(作為桌面平臺使用時),還增加了KerberosV5和TLS作為分布式的安全性協議。它支持對smart cards的使用,這提供了在密碼基礎之上的一種交互式的登錄。Smart cards支持密碼系統和對私有密鑰和證書的安全存儲。Kerberos客戶端的運行時刻是通過一個基于SSPI的安全性接口來實現的,客戶Kerberos驗證過程的初始化集成到了WinLogon單一登錄的結構中。
五、總結
桌面操作系統的安全機制主要體現在身份認證和訪問控制兩個方面。身份認證是要保證合法的用戶使用系統,防止非法侵入。訪問控制是要保證授權和受控地訪問和使用系統資源。
常用的桌面操作系統有Linux 和Windows NT。
Linux 作為UNIX克隆,采用的是 UNIX在安全性方面成功的技術,是經受了近 20 年考驗的技術。盡管有一些安全漏洞,但因為設計上的開放性,這些漏洞能夠在很快的時間內發現并得到解決方案。
相比起來,雖然 Windows NT采用的ACL 技術更加復雜和嚴密,但因為其密碼加密步驟過于簡單,它的密碼容易被破解。安全性設計上的不公開性,也導致可能有許多安全漏洞尚未發現。
將要發布的Windows 2000系統,采用了很多新的認證技術和協議,訪問控制也設計得更加安全和靈活。但是,龐大的Windows 2000系統的安全機制是否真的健壯可靠,還需要經受時間的考驗。
參考文獻:
[1]http://www.ntsecurity.net/
[2]http://www.isbase.com/
[3]魏永明,鄭翔.《學用 Linux 和 Windows NT》
[4]《中國計算機世界報》1998年第10期,Michael Moeller / 李海 譯:《用NT 5.0來保護你的業務》