10.7.3  操作系统安全的实现

10.7.3 操作系统安全的实现

1.Unix/Linux安全机制的实现

Unix/Linux是一种多用户、多任务的操作系统,目前在我国银行业中大量应用,尤其是开放平台类的服务器主要采用Unix/Linux。在Unix/Linux操作系统中,一般借助以下4种方式提供安全功能。

1)系统调用。用户进程通过UNIXAPI的内核部分,即系统调用接口,显式地从内核获得服务。内核以调用进程的身份执行这些请求。

2)异常。进程的某些不正常操作,诸如除数为0或用户堆栈溢出将引起硬件异常。异常需要内核干预,内核为进程处理这些异常。

3)中断。内核处理外围设备的中断。设备通过中断机制通知内核I/O完成状态变化。内核将中断视为全局事件,与任何特定进程都不相关。

4)由swapper和pagedaemon之类的一组特殊的系统进程执行系统级的任务,比如:控制活动进程的数目或维护空闲内存池。

Unix/Linux操作系统具有两个执行态:核心态和用户态。运行内核中程序的进程处于核心态,运行内核外程序的进程处于用户态。系统保证用户态下的进程只能访问它自己的指令和数据,而不能访问内核和其他进程的指令和数据,并且保证特权指令只能在核心态执行,像中断、异常等在用户态下不能使用。

用户程序可以通过系统调用进入核心,运行完系统调用后再返回用户态。系统调用是用户在编写程序时可以使用的界面,是用户程序进入Unix内核的唯一入口。因此,用户对系统资源中信息的访问都要通过系统调用才能完成。一旦用户程序通过系统调用进入内核,便完全与用户隔离,从而使内核中的程序可对用户的访问请求进行响应,而不受用户干扰的访问控制。

Unix/Linux操作系统安全机制的实现如下。

(1)标识 Unix的各种管理功能都被限制在一个超级用户root中。作为超级用户可以控制一切,包括用户账号、文件和目录、网络资源等。超级用户可以管理所有资源的种类变化情况,或者只管理很小范围的重大变化。例如每个账号都是具有不同用户名、不同口令和不同访问权限的一个单独实体。超级用户有权授予或者拒绝任何用户、用户组合的访问。用户可以生成自己的文件、安装自己的程序等。为了确保次序,系统会分配好用户目录。每个用户都得到一个主目录和一块硬盘空间。这块空间与系统区域和其他用户占用的区域分割开来。这种作用可以防止一般用户的活动影响其他文件系统,进而系统还为每个用户提供一定程度的保密措施。在Unix系统中,创建用户账户时,系统会为该用户分配一个唯一的标识号。

(2)鉴别 在Unix系统中,用户名是标识,口令是确认证据。用户登录系统时,需要输入口令来鉴别用户身份。当用户输入口令时,Unix系统使用改进的DES算法对其加密,并将结果与存储在/etc/passwd或NES数据库中的加密用户口令比较,若二者匹配,则说明该用户的登录合法,否则拒绝用户登录。

(3)访问控制 Unix/Linux的访问控制机制是通过文件系统实现的。在Unix/Linux文件系统中,控制文件和目录中的信息存放在访问控制列表(ACL)中,具体物理位置存放在磁盘及其他辅助存储介质上,它控制每个用户可以访问的信息及访问方式。具体表现为通过一组访问控制规则来确定一个主体是否可以访问一个指定客体。

(4)审计 Unix/Linux系统的审计机制监控系统中发生的事件,以保证安全机制正确工作,并及时对系统异常报警提示。审计结果通过写在系统的日志文件中。Unix/Linux系统中有丰富的日志文件,包括记录每个用户使用过的命令的日志、记录用户最后一次成功登录时间和每一次登录失败时间的日志、记录非法登录尝试记录的日志、记录当前登录的每个用户的日志、记录网络访问情况的日志等。这些丰富的日志为Unix/Linux的安全运行提供了保障。

(5)加密 Unix/Linux中的加密涵盖到文件系统管理、网络通信、用户标识等。其中,文件加密有crypt、DES、pgp、MD5等;网络通信则提供一些点对点的加密方法以保护网络传输中的数据,例如secureshell等;用户标识则提供加密用户密码或改变系统密码文件存放位置等方法,以及使用可插入认证模块等。

(6)网络安全 Unix/Linux系统通常运行在网络环境中,默认支持TCP/IP协议。在其网络安全性上,主要是通过标识、鉴别、加密文件及加密通讯来防止本机或本网络被非法入侵、访问,从而达到保护网络安全的目的。在网络服务方面,可以修改访问端口、限定服务、限定用户等。

(7)网络监控与入侵检测 Unix/Linux系统中的网络监控与入侵检测功通过检查本地的安全访问配置,扫描本地文件系统、用户权限、访问端口等行为来识别非法入侵并发出警报,还可以通过配置进行欺骗或诱捕,比如被入侵时模拟成其他操作系统的返回等。

(8)备份与恢复 常用的备份策略有实时备份、全量备份、增量备份等。在Unix/Linux中,提供了专门的备份程序来实现备份与恢复,还可以通过任务调度实现系统的自动备份。

2.Windows安全机制的实现

(1)标识、鉴别及可信通路机制 用于保证只有合法用户才能以系统允许的方式存取系统中的资源。用户合法性检查和身份认证机制通常采用口令验证或物理鉴定(如磁卡或IC卡、数字签名、指纹识别、声音识别)的方式。而就口令验证来讲,系统必须采用将用户输入的口令和保存在系统中的口令相比较的方式,因此系统口令表应基于特定加密手段及存取控制机制来保证其保密性。此外,还必须保证用户与系统间交互特别是登陆过程的安全性和可信性。

(2)自主访问控制与强制访问控制机制 访问控制是操作系统安全的核心内容和基本要求。在Windows中,通过域权限、组策略、文件(目录)权限、用户权限等来组合限制用户访问。

(3)最小特权管理机制 最小特权原则的思想是系统只给用户执行任务所需的最小权限,也就是用户所得权限仅能完成当前任务。最小特权原则是系统安全中最基本的原则之一,它限定每个主体所必需的最小特权,确保由于可能的事故、错误、网络部件的篡改等原因造成的损失最小。

(4)隐蔽通道分析处理机制 所谓隐蔽通道是指允许进程间以危害系统安全策略的方式传输信息的通信信道。根据共享资源性质的不同,其具体可分为存储隐蔽通道和时间隐蔽通道。鉴于隐蔽通道可能造成严重的信息泄露,所以应当建立适当的隐蔽通道分析处理机制,以监测和识别可能的隐蔽通道,并予以消除、降低带宽或进行审计。

(5)安全审计机制 安全审计是一种事后追查的安全机制,其主要目标是检测和判定非法用户对系统的渗透或入侵,识别误操作并记录进程基于特定安全级活动的详细情况。通常,安全审计机制应提供审计事件配置、审计记录分类及排序等附带功能。

(6)备份与恢复 常用的备份策略有:实时备份、全量备份和增量备份等。在Windows中也提供了专门的备份程序来实现备份与恢复,同样可以通过任务调度实现系统的自动备份。而且,在新的Windows版本中,还添加了系统还原及恢复功能,最小化地实现系统级的还原与恢复。