王云
【摘 要】本文就桌面操作系统平台安全方面的常见问题、解决方法、安全性设计原则等几方面进行了阐述,对桌面操作系统的安全机制进行了总结。
【关键词】桌面操作系统;身份认证;访问控制
在安全层次模型中,桌面操作系统的安全性属于系统级安全的范畴。桌面操作系统向上为文件、目录、网络和群件系统等提供底层的安全保障平台。桌面操作系统中的安全缺陷和安全漏洞,往往会造成严重的后果。因此,安全机制是桌面操作系统的一个重要组成部分;平台的安全级别是对其性能进行评估的一个重要指标。本文将阐述桌面操作系统中常见的安全问题、安全性设计的主要原则和安全服务的主要内容。
一、桌面操作系统中常见的安全问题
对提供网络服务的系统平台来说,安全性问题主要体现在网络通信安全、网络非法入侵等方面。但是,桌面操作系统所面对的安全问题和任务则不大一样。
关于桌面操作系统的安全,主要考虑的有如下几个:
(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来保护你的业务》