1、信息安全概论第20讲2008年x月y日7.2 操作系统安全7.2.1操作系统安全概述 操作系统是管理计算机硬件,并为上层应用软件提供接口的系统软件,是计算机系统的核心。数据库系统、应用软件都运行在操作系统之上,因此操作系统安全是整个计算机系统安全的基石和关键,不能保证操作系统的安全性,就不可能达到数据库安全和应用安全。操作系统安全要达到的主要目标是:l依据系统安全策略对用户的操作进行访问控制,防止用户对计算机资源的非法访问(窃取、篡改和破坏);l标识系统中的用户并进行身份识别;l保证系统自身的可用性及系统数据的完整性;l监督系统运行的安全性。为了实现这些安全目标,需要依据特定的设计原则和设计方
2、法,实现相应的安全机制,从而构建安全操作系统,其中关键的操作系统安全机制包括:客体重用保护、身份鉴别、访问控制、最小特权原则、可信通道、安全审计等。7.2.2操作系统安全机制设计原则 J.H.Saltzer和M.D.Schroeder提出了操作系统安全保护机制应符合8原则:1.最小特权原则:每个用户和进程必须按照“所需”原则,尽可能使用最小特权。2.可验证性:保护操作系统安全的机制应该具备简单性和直接性,并能够通过形式化证明方法或穷举测试验证其可靠性。3.开放设计原则:安全机制设计应该是开放的,机制本身的不应保密。还应该接受广泛的公开审查,消除可能存在的设计缺陷。4.完全检查:每次访问尝试都必
3、须通过检查。5.基于许可:对客体的访问应该是默认拒绝访问,稳健的设计机制,主体还应该识别那些将被访问的客体。6.多重防护:理想情况下,对敏感客体的访问应依赖多个条件,比如用户鉴别和密钥。7.最少公用机制:共享对象为信息流提供了潜在的通道。采用物理或逻辑隔离的系统减少了共享的风险。8.易用性:使用简单的安全机制,并提供友好的用户接口,使其更容易被用户所接受。7.2.3操作系统安全机制操作系统安全机制主要包括客体重用保护身份鉴别访问控制最小特权原则可信通道安全审计等。1.硬件安全机制 存储保护存储保护主要指保护用户在存储器中的数据,对于在内存中一次只能运行一个进程的操作系统,存储保护机制应能防止用
4、户程序对操作系统的影响。而允许多个进程同时执行的多道操作系统还需要进一步要求存储保护机制对各个进程的存储空间进行相互隔离。运行保护安全操作系统的一个重要的设计原则是分层设计,如基于保护环的等级式结构。最内环是安全内核,具有最高的特权,外环则是不具有特权的用户程序。运行保护包括等级域机制和进程隔离机制。等级域机制应该保护某一环不被其外环侵入,并且允许在某一环内的进程能够有效地控制和利用该环及该环以外的环。进程隔离机制则指当一个进程在某个环内运行时,应保证该进程免遭同一环内同时运行的其他进程的破坏,也就是说系统将隔离在同一环内同时运行的各个进程。I/O保护绝大多数情况下,I/O操作是仅由操作系统完
5、成的一个特权操作,所有操作系统都对I/O操作提供一个相应的高层系统调用,在这些过程中,用户不需要控制I/O操作的细节。2.身份鉴别身份鉴别身份鉴别身份鉴别,即计算机系统对用户身份的标识与鉴别标识与鉴别(I&A:Identification&Authentication)机制,用于保证只有合法用户才能进入系统,进而访问系统中的资源。在操作系统中,身份鉴别一般在用户登录系统时进行,常使用的鉴别机制有口令机制、智能卡和生物鉴别技术等。3.访问控制访问控制3.访问控制访问控制包括以下3个任务:授权、确定访问权限、实施访问权限控制。在UNIX、Linux等操作系统中实现了一种简单、常用、有效的自主访问控
6、制模式,即在每个文件上附加有关访问控制信息的9位比特,如图7.3所示,这些比特位反映了不同类别用户对此文件的访问方式。但其控制的粒度比较粗糙,无法精确控制某个用户对文件的访问权。强制访问控制机制和自主访问控制机制可以同时结合应用。图 7.3比特位模式4.最小特权原则最小特权原则 一个特权就是一个可违反系统安全策略的操作能力,作用是为了保证操作系统的正常运行。在目前多数流行的多用户操作系统(如UNIX、Linux和Windows)中,超级用户一般具有所有特权,而普通用户不具有任何特权,一个进程要么具有所有特权(超级用户进程),要么不具有任何特权(普通用户进程)。便于系统维护和配置,但不利于系统的
7、安全性。最小特权原则最小特权原则(Least Privilege Principle)的基本思想是系统中每一个主体只能拥有与其操作相符的必需的最小特权集。一种典型的将超级用户的特权进行细分的方案如下:系统安全管理员:负责对系统资源和应用定义安全级别;为用户赋予安全级别;定义用户和自主访问控制的用户组;限制隐蔽通道活动的机制等。安全审计员:负责安全审计系统的控制,与系统安全管理员形成一个“检查平衡”,系统安全管理员负责实施安全策略,而安全审计员控制审计信息,审核安全策略是否被正确实施。操作员:完成常规的、非关键的安全操作,不能进行影响安全级的操作。网络管理员:负责所有网络服务及通信的管理。5.可
8、信通道可信通道 具体实施安全策略的软硬件构成安全内核,而用户是与安全周界外部的不可信的中间应用层及操作系统交互的,但用户登录、定义用户的安全属性、改变文件的安全级别等安全关键性操作,用户必须能够确认与安全内核进行交互,而不是与一个特洛伊木马程序打交道。这就需要提供一种安全机制,保障用户和安全内核之间的通信,而这种机制就是由可信通道提供的。可信通道可信通道(Trusted path)机制即终端人员能借以直接与可信计算基通信的一种机制。该机制只能由有关终端操作人员或可信计算基启动,并且不能被不可信软件模拟。对用户建立可信通道的一种常见的方案是基于安全提示键安全提示键(SAK:Security At
9、tention Key)实现。Linux操作系统提供的安全提示键在X86平台下为ALT+SysRq+k。Windows操作系统则为CTRL+ALT+DEL。6.安全审计安全审计一个系统的安全审计安全审计就是对系统中有关安全的活动进行记录、检查或审核。安全审计方法用于监视安全相关的活动。安全审计机制的实现一般是一个独立的过程,应与系统其他功能相隔离,同时要求操作系统必须能够生成、维护及保护审计过程,使其免遭修改、非法访问及毁坏。审计事件是安全审计机制最基本的单位。审计事件一般可分为注册事件、使用系统事件和利用隐蔽通道的事件3大类。亦即用户身份鉴别机制的使用、把客体引入到用户的地址空间或从地址空间
10、删除客体、特权用户所发生的动作以及利用隐蔽通道的事件。图7.4 安全审计机制实现方式7.2.4 UNIX操作系统安全机制 UNIX是一种多用户多任务操作系统,其基本功能就是要防止使用同一个操作系统的不同用户之间的相互干扰,因此UNIX操作系统在设计时就已经使用了以下的一些安全机制来适应安全性需求。1.运行保护运行保护UNIX系统具有两个执行态:核心态和用户态。运行内核中程序的进程处于核心态,而运行核外程序的进程处于用户态。系统保证用户态下的进程只能访问它自己的指令和数据,而不能访问内核和其他进程的指令和数据,并且保证特权指令只能在核心态执行。用户程序可以使用系统调用进入内核,运行完系统调用再返
11、回用户态。并且在不受用户干扰的情况下对该请求进行访问控制。2.身份鉴别身份鉴别用户唯一的标识号UID每个用户可以属于一个或多个用户组,每个用户组由GID唯一标识。系统的超级用户(root)的GID为0UNIX系统采用口令机制对用户身份进行鉴别,用户的信息存在/etc/passwd文件(加密口令也可能存于/etc/shadow文件中)。3.访问控制访问控制UNIX系统的访问控制机制在文件系统中实现,采取9比特访问控制模式。命令ls可列出文件(或目录)及不同用户对系统的访问权限,命令chmod可以用来改变文件的访问权限,Umask命令则用以控制该用户新建文件的访问权限。有时没有被授权的用户需要完成
12、某些要求授权的访问任务,如password程序,对于普通用户,它允许修改用户自身的口令,但其不能拥有直接修改/etc/password文件的权限,以防止改变其他用户的口令。为了解决此问题,UNIX系统允许对可执行的目标文件设置SUID和SGID特殊权限位。UNIX系统的进程执行时被赋予了4个编号,以标识该进程隶属于哪个用户,分别为实际UID、有效UID、实际GID和有效GID。实际UID和GID标识了该可执行文件的真实隶属用户及用户组的标识符,而有效UID和GID标识了正在运行该进程的用户及用户组的标识符,用于系统确认该进程对于文件的访问许可。而设置SUID位将改变上述情况,当设置SUID位后
13、,进程的有效UID为该可执行文件的所有者的UID,而不是执行该文件的用户的UID,因此由该程序创建的进程都具有与该程序所有者相同的访问许可。同样SGID和有效GID之间具有相似的关系。4.最小特权原则最小特权原则UNIX操作系统最初没有实现最小特权原则,超级用户拥有全部特权。在基于UNIX系统上开发的一些安全操作系统,如UNIX SVR4.1ES实现了最小特权原则,从而降低了由于超级用户口令被破解或其误操作所带来的安全风险。5.安全审计安全审计UNIX系统的审计日志主要包括:acct或pacct:记录每个用户使用过的命令历史列表;lastlog:记录每个用户最后一次成功登录的时间和最后一次登录
14、失败的时间;loginlog:记录失败的登录尝试记录;messages:记录输出到系统主控台以及由syslog系统服务产生的信息;sulog:记录su命令的使用情况;utmp或utmpx:记录当前登录的每个用户;wtmp或wtmpx:记录每一次用户登录和注销的历史信息,以及系统关闭和启动的信息;大部分版本的UNIX系统都具备安全审计服务程序syslogd,实现灵活配置和集中式安全审计和管理。当前的大部分UNIX系统实现的安全审计机制达到了TCSEC的C2级安全审计标准。6.网络安全性网络安全性UNIX系统属于网络型操作系统,网络安全性是UNIX系统所关注的一个重要方面,对网络访问控制提供强有力
15、的安全支持:/etc/inetd.conf文件,控制系统提供哪些网络服务。/etc/services文件,罗列了各种网络服务的端口号、协议和对应的网络服务名称。TCP_WRAPPERS由/etc/hosts.allow和/etc/hosts.deny两个文件控制哪些IP地址被禁止登录,哪些被允许登录。7.3 数据库安全数据库安全 7.3.1数据库系统概念数据库由数据和规则组成,规则指定了数据之间的关系。用户通过规则描述数据的逻辑格式,数据存储在文件中,但用户并不需要关心这些文件的实际物理格式。数据库管理员负责定义数据库中的数据规则,同时控制对数据各个部分的访问权限。用户通过数据库管理系统来访问
16、数据库的数据。1.数据库系统的组成数据库系统的组成数据库系统主要包括两个核心组成:数据集:一个是按一定规则组织的数据集合本身数据库管理系统:数据库管理系统(Database Management System,DBMS),为用户提供访问接口并且具有对数据库的管理、维护功能,保证数据库的安全性、可靠性和完整性。图7.5 数据库支撑示意图此外,支撑数据库系统运行的计算机系统,由用户开发的完成一定业务功能的数据库应用系统等也是数据库系统不可或缺的组成部分。2.数据库的历史数据库的历史 数据库技术最初产生于20世纪60年代中期。现在主流是关系数据库(如)和网络数据库(如LDAP)。3.数据库的特性数据库的特性 数据库除了具有多用户、高可靠性、频繁的更新、数据文件大等特性外,还具有以下的技术特性:(1)数据共享。(2)减少数据冗余。(3)数据的一致性。(4)数据的独立性。(5)数据保密性。(6)数据的完整性。(7)并发控制。(8)故障恢复。7.3.2数据库安全技术1.安全威胁安全威胁 包括:l数据本身的损坏l篡改l窃取l阻碍系统正常提供数据服务 可以用机密性、完整性和可用性来概括。图7.6 数据
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1