一、操作系统安全概要
操作系统面临的安全威胁
- 操作系统安全是整个系统安全的基础
- 任何想象中的、脱离操作系统的应用软件的高安全性,就如同幻想在沙滩上建立坚不可摧的堡垒一样,毫无根基可言
- 没有安全的操作系统支持,网络安全也毫无根基可言
- 保密性威胁(confidentiality)
- 完整性威胁(integrity)
- 可用性威胁(availability)
拒绝服务攻击,对可用性造成威胁的安全问题
操作系统安全基本概念及术语
- 主体与客体
- 主体(subject):一个主动的实体,使信息在客体中间流动或者改变系统状态
- 客体(object):一种包含或接受信息的被动实体
- 可信计算基(Trusted Computing Base,TCB):计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体—独立、抗篡改、不可旁路、最小化以便于分析与测试
- 敏感标记(sensitivity label):用以表示客体安全级别并描述客体数据敏感性的一组信息,在可信计算基中把敏感标记作为强制访问控制决策的依据
- 自主访问控制(discretionary access control,DAC):用来决定一个用户是否拥有权限访问此客体的一种访问约束机制,该客体的所有者可以按照自己的意愿指定系统中的其他用户对此客体的访问权
- 强制访问控制(mandatory access control,MAC):用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问那些被标明可以由他访问的信息的一种访问约束机制
- 角色(role):系统中的一类访问权限的集合
- 隐蔽通道(covert channel):按常规不会用于传送信息但却被利用与泄露信息的信息传送渠道
如存储隐蔽信道、时间隐蔽信道、网络(协议)隐蔽信道 - 客体重用(object reuse):对曾经包含一个或几个客体的存贮介质(如页框、盘扇面、磁带)重新分配和重用
- 可信通路(trusted path):终端人员能借以直接同可信计算基通信的一种机制
–该机制只能由有关终端操作人员或可信计算基启动,并且不能被不可信软件模仿 - 多级安全(multi-level secure,MLS):一类包含不同等级敏感信息的系统,它既可供具有不同安全许可的用户同时进行合法访问,又能阻止用户去访问其未被授权的信息
- 安全操作系统(secure operating system):能对所管理的数据与资源提供适当的保护级、有效地控制硬件与软件功能的操作系统
- 多级安全操作系统(multilevel secure operating system):实现了多级安全策略的安全操作系统,比如:按TCSEC标准,B1级以上的操作系统称为安全操作系统
二、操作系统安全策略
安全策略是指有关管理、保护和发布敏感信息的法律、规定和实施细则
- 一个操作系统是安全的,则它应满足某一给定的安全策略
- 安全操作系统的设计和开发,也应围绕一个给定的安全策略进行
- 安全策略由一整套严密的规则组成,确定授权访问的规则是决定访问控制的基础
安全策略通常是隐含定义而非明确定义,安全模型则是对策略实施规则(规程)的清晰,无歧义的乃至形式化的表达
A.军事安全策略
军事安全策略是基于保护机密信息的策略
每条信息被标识为一个特定的等级,如公开、受限制、秘密、机密和绝密 - 层次结构
B.商业安全策略
机构分多个组或者部门,各自负责不同的项目
还可能存在一些机构级的职责,比如财务或人事
位于不同级别的数据项具有不同的安全等级,例如:公共的、专有的或内部的
商业信息安全和军事信息安全有两个很显著的区别
第一,通常没有正式的“许可”概念
第二,允许访问的规则不太规范
三、操作系统安全模型
对安全策略所表达的安全需求的简单、抽象和无歧义的描述,它为安全策略和安全策略实现机制的关联提供了一种框架
形式化的安全模型是设计开发高级别安全系统的全提
形式化:在完备数学概念基础上,采用具有明确语义定义并有严格语法的语言表达的规范风格
半形式化:采用具有确定语义定义并有严格语法的语言表达规范风格
非形式化:采用自然语言表达的规范风格
四、操作系统的安全机制
A.普通的安全机制
- 信任的功能性
- 事件检测
- 审计跟踪
- 安全恢复
具体的安全机制
操作系统安全的相应机制 - 硬件安全机制
硬件安全机制包括
(1)存储保护:保护存储器中的数据
(2)运行保护:分层保护环
(3)I/O保护:I/O读写操作保护 - 标识与鉴别
标识:用户向系统表明身份- 系统可以识别别的用户内部名称:用户名、智能卡、登录ID
- 具有唯一性、不能被伪造
鉴别:对用户宣称的身份标识的有效性进行校验和测试的过程
方法:- 口令-----账号、密码
- 密码验证----PKI
- 生物鉴别方法—面部、指纹、虹膜、声音等特征
- 可信计算基----与鉴别相关的认证机制
- 存取控制
- 最小特权管理
- 可信通路
- 安全审计
(2)访问控制
访问控制的基本任务:防止用户对系统资源的非法使用,保证对客体的所有直接访问都是被认可的
措施:
- 确定要保护的资源
- 授权
- 确定访问权限
- 实施访问权限
访问控制技术:自主访问控制DAC、强制访问控制MAC、基于角色的访问控制RBAC
访问控制-------DAC
自主访问控制DAC
基于行的自主访问控制机制 - 能力表:权限字
- 前缀表:包括受保护的客体名和主体对它的访问权限
- 口令:每个客体有一个
基于列的自主访问控制机制 - 保护位:对客体的拥有者及其他主体、主体组,规定的对该客体访问模式的集合
- 访问控制表:对某个特定资源制定任意用户的访问权限
- 访问控制----MAC
强制访问控制MAC- 对系统中的每个进程、文件、IPC客体赋予相应安全属性,当进程访问客体时,调用其安全属性和访问方法,比较进程的安全属性与客体的安全属性,确定是否允许访问
- 三种方法
- 限制访问控制
- 远程控制
- 系统限制
- 三种方法
- 对系统中的每个进程、文件、IPC客体赋予相应安全属性,当进程访问客体时,调用其安全属性和访问方法,比较进程的安全属性与客体的安全属性,确定是否允许访问
- 访问控制RBAC
基于角色的访问控制RBAC
NIST提出的访问控制机制,实际是强制访问控制机制的一种- 基本思想:将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权
- RBAC从控制主体的角度出发,根据管理种相对稳定的执权和责任来划分角色,将访问权限与角色相联系
- 特征
1. 访问权限与角色相关联
2. 角色继承
3. 最小权限原则
4. 职责分离
5. 角色容量
(3)最小特权管理
系统安全中最基本的原则之一
要求赋予系统种每个使用者执行授权任务所需的权限性最强的一组特权,即最低许可
常见的形式
—基于文件的特权机制
—基于进程的特权机制
(4)可信通路
用户能借以直接同可信计算基(TCB)通信的一种机制
建立可信通路的方法:安全注意键
(5)安全审计机制
- 日志:记录的事件或统计数据
- 安全审计:对日志记录的分析并以清晰的、能理解的方式表述系统信息,即对系统种有关安全的活动进行记录、检查及审核
- 作用
审计事件:主体、客体 - 系统级审计
- 登录情况、登录识别号、每次登录尝试的日期和具体时间、每次退出的日期和时间、所使用的设备、登录后运行的内容
- 应用级审计
- 打开和关闭数据文件、读取、编辑和删除记录或字段的特定操作、打印报告等用户活动
- 用户级审计
- 用户直接启动的所有命令、用户所有鉴别和认证尝试、用户所访问的文件和资源等方面
(6)存储保护、运行保护和I/O保护
存储保护
- 虚地址空间
- 分段
- 物理页号上的秘密信息
- 基于描述符的地址解释机制
运行保护
- 保护环—运行域—等级域机制
—进程隔离机制 - I/O保护
—I/O操作是操作系统完成的特权操作
五、安全操作系统设计
-
黑客的目标:攻击OS的防御,获得计算机系统的秘密,控制应用程序的运行
-
安全操作系统的目标:保密性与完整性
-
信息的安全 保密
-
文件的安全 多密级安全管理
-
高安全等级的操作系统设计趋势
-
安全体系支持多安全策略 --满足多种安全的目标,适合安全策略的多样性
-
及时响应环境变化,支持新环境的安全策略并有效实施
-
还存在的问题
-
合成策略的安全性问题
-
动态授权的支持问题
-
隐蔽通道问题
-
安全操作系统的设计原理
-
通用操作系统安全功能
- 用户认证
- 存储器保护
- 文件和I/O设备的访问控制
- 对普通对象的定位和访问控制
- 共享的实现----保证完整性和一致性
- 保证公平的服务
- IPC和同步
安全操作系统设计原则
- 最小特权原则
- 机制的经济性
- 开放系统设计
- 完整的存取控制机制
- 基于“允许”的设计原则—失败-保险默认原则
- 权限分离
- 避免信息流的潜在通道
- 方便使用—心里可接受性原则
安全操作系统一般结构
- 安全内核:控制整个操作系统的安全操作
- 可信应用软件:系统管理员与操作员进行安全管理所需的应用程序,以及运行具有特权操作的、保障系统正常工作所需的应用程序
- 安全内核和可信应用软件组成可信计算基的一部分
六、操作系统安全测评
操作系统已知漏洞(弱点)
- I/O处理是操作系统最大的薄弱点
- 第二个突出弱点是访问策略的二义性
- 第三个潜在的问题是不安全检查
- 通用性是第四个弱点
操作系统安全评测方法
- 形式化验证
- 非形式化确认
- 入侵分析:“老虎”小组入侵测试
国际通用安全评价准则CC
- CC标准提出了“保护轮廓”,将评估过程分为“功能”和“保证”两部分,是目前最全面的信息技术安全评估标准
- CC标准在内容上包括三部分
- 一是简介和一般模型
- 二是安全功能要求
- 三是安全保证要求