操作系统是重要的系统 软 件之 一。目前 多 数操 作系 统支 持多 道 程 序设 计 和资 源 共 享 , 能够对计算机的硬件资源和软件资源实 行统 一管理 和控 制。正因 为操 作系统 有如 此 重要的功能 , 因而也是被攻击的对象之一。
研究操作系统的安全性问题 , 一方面研究如何设计和实现一个安全操作系统 ; 另一方 面要研究安全操作系统能够为用户提供的各种安全保护措施。
数据库技术在各种系统中应用得非常广 泛。在电 子商 务中和 信息 系统中 , 数 据库 是 最重要的组成部分。在各种金融网络及商业网络 中 , 安全 问题 中最重 要的 是保护 数据 库 系统的安全。数据库系统的安全主要是保证数据的完整性、保密性和可用性。
6 .1 安全 操作 系统 的设 计
6 .1 .1 安全操 作系统设 计原则
实现操作系统安全性的任务 , 实质上增加了设计操作系统的难度。
1 . 安全操作系统的设计原理
Saltzer 和 Sc hrode r 提出了安全操作系统的设计原理 :
(1 ) 最小特权 : 为了使恶意的和 无 害的 攻击 所造 成的 破 坏达 到最 低限 度 , 每 个用 户 和程序员尽可能地使用最小特权。
(2 ) 经济性 : 为了便于能得到验 证 和正 确的 执行 , 设计 的操 作系 统应 该 是足 够小 和 足够简单的 , 并且易于理解。
(3 ) 开放系统设计保护机构应该是公开的 , 不取决于公开者的无知 , 而只 取决于相 对 少的关键项的安全性。如 , 口令表。开放系 统设计 对广 泛的 公共的 仔细 检查很 有用。 以 许可为基础存取时否认、排除违约条件 , 保守的 设计者 能识 别可存 取的 一些 项 , 而 不是 不 可存取的情况。
(4 ) 公用机构少 , 减少共享所产生的错误。
( 5 ) 有 效 性 : 存 取 控 制 机 构应 该 是 有 效 的 , 操 作 系 统 中的 每 一 次 存 取都 必 须 受 到 控制。
(6 ) 完全协调 , 每次存取应该经过检查 , 该机构必须是有高效 率 , 用 户应能掌 握 , 三 者 应协调。
(7 ) 方便性 : 使用的存取控制机构要使用户在心理上容易接受且乐于使用。
2. 操作系统实现的安全功能 1) 用户身份识别
操作系统应该对有存取要求的每个用户进行 身份 识别 , 并 保证每 个用 户都是 它所 支
第 6 章 操作系统与数据库安全 持的用户。最普通的身份识别机构就是口令比较。
2) 存储器保护
每个程序在指定的存储空间运行 , 非法用户不能对其进行访问。
3) 通用目标分配和存取控制
操作系统应该给用户提供通用目标 , 像 允许 并行和 同步 的机 构。但是 应该控 制使 用 这些目标 , 避免一个用户对其他用户有副作用和不良影响。
4) 文件和 I/ O 设备控制 5) 进程通信和同步
正在执行的进程有时需要和其他进程进行通信或同步存取共享的资源。操作系统作 为进程之间的桥梁 , 提供这些服务还提供和其他进程的异步通信。
6) 保证公平服务
把硬件时钟和调度规则结合起来使用 , 以提供公平服务。
3. 安全操作系统的隔离设计
隔离性设计 : 隔离设计指采用一定措施使系统某一部分的问题不影响其他的部分。
隔离方式如下所述。
(1 ) 物理隔离过程处理使 用了不 同的 硬件 设备。例 如 : 把不同 的打 印机 分配 给不 同 安全级别的用户。
(2 ) 时间隔离不同的运行 时间运 行不 同的 过程。也 就是 说 : 以 不同 的安 全级 别的 程 序在不同的时间使用计算机。
(3 ) 密码技术隔离将密码技术用于隔离 , 使未授权的用户不能存 取敏感数 据。例如 : 把文件、数据加密 , 使无关人员无法阅读。
(4 ) 逻辑隔离也称分离 , 监控器隔离用户对象。例如 : 把各个进 程的运行 限于一定 的
图 6 1 操作系统结构
空间 , 使得相互之间不感到其他进程或程序的存在。
4. 操作系统核心设计
核心是操作系统中完 成 最低 级功 能的 部分。 完成 同 步进程通信 , 信息传递和中断处理。安全核心负责完成全 部操作系统的安全机构。
5. 安全操作系统设计的 4 个环节
一个安全操作系统的设计至少应考虑 4 个环节 : 用户接 口、用户身份认证、验证数据比较和验证数据修改, 如图 6 1 所示。
6 .2 访 问 控 制
操作系统采用的安全控制方法主要是隔离控制和访问控制。访问控制是安全控制的 最核心问题。由它来确定谁能访问系统 , 能访问系统何种资源 , 以及在何种程度上使用这 种资源 , 访问控制就是对系统各种资源的存取控制。它既包括对设备的存取控制 , 也包括 对文件、数据的存取控制。
存取控制必须解决两个基本问题 : 一是访问控制策略 , 二是访问控制机构。
计算机网络信息安全保密技术
l 130
访问控制策略是根据系统安全保密需求以及实际可能而提出的一系列安全控制方法 和策略 , 如“ 最小特权”策略 , 即用户仅有获得保 证其完 成自 己的工 作所 需要 的数据、信 息 的特权 , 而与其工作无关的数据、信息 , 他一点也得不到。
访问控制策略有多种 , 最常用的是对用户 进行 授权 , 即 授予用 户不 同的特 权 , 如只 读 或执行 , 或允许修改等。给予不同特权的用户所能访问的设备、文件或数据是不同的。
访问控制机构则是系统具体实施访问控制策略的硬件、软件或固件。
6 .2 .1 访问控 制的基本 任务
1 . 授权
系统授权的含义即规定系统可以给哪些主体访问客体的特权。
主体指的是人、进程或设备 , 它可以使信息在客体间流动。
客体是一种信息实体 , 不受所依存的系统的限制。
按照对用户的授权 , 一般可将用户分成 4 种等级 : 超级用户、系统用户、普通用户和低 级用户。
访问控制的基础是主体和客体的安全属 性。每个 客体 都有一 组安 全属性 , 并 以此 鉴 别客体和确定客体所允许的访问权。
2 . 访问控制方式
访问控制可分为以下 4 种。
1) 自主访问控制 ( DA C , discretionary acces s con trol )
一种普遍采用的访问控制手段。它使用户可以按自己的意愿对系统参数作适当的修 改 , 以决定哪些用户可以访问他们的系统资源。
2) 强制访问控制 ( M AC , mand atory access cont rol)
一种强有力的访问控制手段。它使用户与文 件都 有一 个固定 的安 全属性 , 系 统利 用 安全属性来决定一个用户是否可以访问某种资源。也称为指定型访问控制。
3) 有限访问控制
它对用户和资源进一步区分 , 只有授权用户才能访问指定的资源。
4) 共享/ 独占型访问控制
它把资源分成“共享”和“独占”两种。“ 共享”可以 使资 源为所 有用 户使用 ,“独 占”只 能被资源所有者使用。
3 . 访问控制的主要内容
用户身份识别是访问控制的主要内容。身份识别主要是基于口令的身份识别。
6 .2 .2 自主访 问控制
1 . 自主访问控制的方法
1) 基于行的自主访问控制方法
(1 ) 权利表 ( ca pa bilities lis t ) : 根据 该表 决定 用户 是否 可 对客 体进 行访 问 , 以 及进 行 何种访问 ( 读、写、修改、运行 ) 。目前利用权利表进行自主访问控制的系统还不是很多 , 仅 少数系统 , 如 M U LTICS、CAL 等。
第 6 章 操作系统与数据库安全
(2 ) 前缀表 ( profile ) : 包括受保护 的 客体 以 及主 体 对它 的 访问 权。 当主 体 访问 某 客 体时 , 自主访问控制将检查主体的前缀是否具有它所请求的访问权。
(3 ) 口令 ( password) : 口令机制是按行表示访问控制矩阵的。每个 客体有一 个口令 , 主体在对客体进行访问前 , 必须向操作系统提供该客体的口令。
2) 基于列的自主访问控制方法
(1 ) 保护位 ( pro tection bit s ) : 该机制不能完 整表达 访问 控制 矩阵。它 对所有 主体 和 客体以及该客体的拥有者指明一个访问模式集 合 , 拥 有者 是惟 一能够 改变 客体保 护位 的 主体。
(2 ) 访问控制表 : 每个客体有一 张 访问 控制 表 , 记 录该 客体 可被 哪些 主 体访 问以 及 访问形式。
2. 强制访问控制
强制访问控制是比任意访问控制更强的一种 访问 控制 机制 , 它可 以通 过无法 回避 的 访问限制来防止某些对系统的非法入侵。在强制 访问 控制 下 , 安全属 性是 由系统 自动 地 或由系统管理员或系统安全员人工分配给每一个主体或客体。
例 Windows N T 系统登录
Windows N T 要求每一个用户提供惟一的用 户名 和口 令来登 录到 计算机 , 这 种强 制 性登录过 程不 能关闭。 强制性 登录 和使 用 Ct rl + Alt + Del 组合 键启 动登录 过程 的好 处 是 : 强制性登录过程用以确定用户身份是否合法 , 确定用户的身份从而确定用户对系统资 源的访问权限。在强制性登录期间 , 挂起对用户模式程序的访问 , 这样可以防止有人创建 或偷窃用户账号和口令的应用 程序。例 如入 侵者 可能 会 模仿 一个 Windows N T 的登 录 界面 , 然后让用户进行登录从而获得用户 登录名和 相应 的密 码。使用 Ctr l + Alt + Del 组 合键会造成 用户 程序被 终止 , 而 真正 的登录 程序 可以由 Ct rl + Alt + Del 组合 键启 动 , 阻 止这种欺骗行为产生。强制登录过程允许用户具有单独的配置 , 包括桌面和网络连接 , 这 些配置在用户退出时自动保存 , 在用户登录 后自 动调出。 这样 多个用 户可 以使用 同一 台 机器 , 并且仍然具有他们自己的专用设置。用户的配置文件可以放在域控制器上 , 这样用 户在域中任何一台机器登录都会有相同的界面和网络连接设置。
成功的登录过程有 4 个步骤 :
① Win 32 的 Win Login 过程给出一个对话框 , 要求有一个用户名和口令 , 这个信息 被传递给安全性账户管理程序 ;
② 安全性账户管理程序查询安全性账户数据库 , 以确定指定的 用户名和 口令是否 属 于授权的系统用户 ;
③ 如果访问是授权的 , 安全性系统构造一个存取令牌 , 并将它传回到 Win 32 的 Win Login 过程 ;
④ Win Login 调用 Win 32 子系统 , 为用户创建一个 新的进 程 , 传递存取 令牌给子 系 统 , Win 32 对新创建的过程连接此令牌。
为了防止有人企图强行闯入系统中 , 用户可以设定最大登录次数 , 如果用户在规定次
为了防止有人企图强行闯入系统中 , 用户可以设定最大登录次数 , 如果用户在规定次