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