操作系统安全性概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)天窗
天窗是嵌在操作系统里的一段非法代码, 渗透者利用该代码提供的方法侵入操作系统而 不受检查。天窗由专门的命令激活,一般不容 易发现。
4.1.2 操作系统的安全服务
1.用户管理的安全性
首先是用户账号的管理。通常对用户账号进行 分组管理,并且这种分组管理应该是针对安全性问 题而考虑的分组。
其次是用户口令的加密机制。
2.域和委托
在Windows NT中,有两种类型的网络配置:工 作组和域。工作组是单独的系统,在工作组中系统各 自独立管理自己的用户账号和组账号以及它们的安全 账号管理数据库,不与别的系统共享这些信息。工作 组适用于小型网络环境。域模型是Windows NT网络 系统的核心,所有Windows NT的相关内容都是围绕 着域来组织,而且大部分Windows NT的网络都基于 域模型。
(2)强制访问控制(Mandatory Access Control,MAC)
强制访问控制是“强加”给访问主体的,即系 统强制主体服从访问控制政策,这种政策是强制性 规定的,用户或用户的程序不能加以修改。
4.1.3 操作系统安全性的设计原则与一般结构 (1)最小特权。 (2)机制的经济性。 (3)开放系统设计。 (4)完备的存取控制机制。 (5)基于“允许”的设计原则。 (6)权限分离。 (7)避免信息流的潜在通道。 (8)方便使用。
(2)网络登录过程(如图4.6所示)
图4.6 网络登录Windows NT/2000服务器的过程
① 用户将用户名和口令输入到网络客户机软件的登 录窗口。
② 该客户机软件打开NetBIOS,连接到服务器的 NetLogon服务上,该客户机软件对口令加密,发送 登录证书到服务器的WinLogon进程。
2.安全标识符(SID)
安全标识符是标识一个注册用户的惟一 名字,它可用来标识一个用户或一组用户。 安全标识符是用于系统内部的,在存取令牌 和访问控制表(ALC)内使用,它用一长串 数字来表示。
4.2.3 Windows NT/2000的访问控制
1.Windows NT/2000访问控制
Windows NT/2000的安全性达到了橘皮书C2 级,实现了用户级自主访问控制,它的访问机制 如图4.7所示。
4.1.4 安全操作系统的发展状况
KSOS(Kernelized Secure Operating System)是美国国防部研究计划局1977年发起 的一个安全操作系统研制项目,目标是为PDP11/70机器开发一个可投放市场的安全操作系统 ,系统的要求如下:
① 与贝尔实验室的UNIX操作系统兼容;
4.2 Windows NT/2000的安全
4.2.1 Windows NT/2000的安全模型
Windows NT/2000具有模块化的设计结构。 该操作系统由一组软件模块构成,称为执行程序 服务,运行在内核模式下。在内核模式之上的是 用户模式,用户模式由非特权的服务组成,称为 保护子系统,它们的启动由用户来决定。
(2)密码的存放与访问没有严格的安全保护。
(3)认证机制与访问控制机制不能很好地相互 配合和衔接,使得通过认证的合法用户进行有意 或无意的非法操作的机会大大增加。
2.访问控制 访问控制系统一般包括以下几个实体。 •主体(Subject) •客体(Object) •安全访问政策
访问控制常用的实现方法主要有以下几种。
4.2.4 Windows NT/2000的安全管理
1.用户和用户组 在Windows NT/2000中,每个用户必须有一个
账号。用户账号是系统安全的核心,系统网络中发 生的一切活动都可以以此账号追溯到特定的授权用 户。
Windows NT/2000还支持用户组,通过用户组为 一组相关的用户同时设定权利和权限。
• 更全面的存取控制;
• 更小的特权管理;
• 可信通路;
• 隐蔽通道分析和处理。
1993年,国防科技大学对基于TCSEC标准和 UNIX System V 3.2版的安全操作系统SUNIX的 研究与开发进行了探讨,提出了一个面向最小特 权原则的改进的BLP模型和一个病毒防御模型。
以Linux为代表的自由软件在中国的广泛流行 对中国安全操作系统的研究与开发具有积极的推 动作用。1999年,中国科学院软件研究所推出了 红旗Linux中文操作系统发行版本,同时,开展了 基于Linux的安全操作系统的研究与开发工作。
最后是认证机制。身份认证机制必须是强有力 的,即在用户登录时,与系统的交互过程必须有安 全保护,不会被第三方干扰或截取。
账号/密码的认证方案普遍存在着安全的隐 患和不足之处,具体有如下几种。
(1)认证过程的安全保护不够健壮,登录的步 骤没有进行集成和封装,而是暴露在外,容易受 到恶意入侵者或系统内部特洛伊木马的干扰或者 截取。
为了实现进程间的安全访问,Windows NT/2000中的对象采用了安全性描述符( Security Description)。安全性描述符主要由用 户SID(Owner)、工作组SID(Group)、访问控制 列表(DACL)和系统访问控制列表(SACL) 组成,安全性描述符的构成如图4.8所示。
图4.1 访问能力表
(3)访问控制表( Access Control List)
访问控制表ACL是目 前采用最多的一种方式, 如图4.2所示。
图4.2 访问控制表
(4)授权关系表(Authorization Relations List)
用每一行(或称每一个元组)表示主体和客体的一个权限关系,如
② 实现多级安全性和完整性;
③ 正确性可以被证明。
OSF/1是开放软件基金会于1990年推出的一个安 全操作系统,被美国国家计算机安全中心(NCSC )认可为符合TCSEC的B1级,其主要安全性表现如 下:
• 系统标识;
• 口令管理;
• 强制存取控制和自主存取控制;
• 审计。
UNIX SVR4.1ES是UI(UNIX国际组织)于 1991年推出的一个安全操作系统,被美国国家计算 机安全中心(NCSC)认可为符合TCSEC的B2级, 除OSF/1外的安全性主要表现如下:
NTFS为了保证文件和目录的安全性和可靠性, 制定了以下的权限设置规则。
① 只有用户在被赋予权限或是属于拥有这种权限的 组,才能对文件或目录进行访问。
② “拒绝访问”权限优先级高于其他所有权限。
③ 权限是积累的。
④ 文件权限始终优先于目录权限。
⑤ 当用户在相应权限的目录中创建新的文件和子目 录时,创建的文件和子目录继承该目录的权限。
Windows NT/2000的安全性依赖于 Windows NT/2000的核心层,它们在每个层 次提供一致的安全模型。Windows NT/2000 的安全模型由几个关键的安全子系统构成,这 些安全子系统控制着整个Windows NT/2000 操作系统,是与操作系统密不可分的。 Windows NT/2000安全模型主要由登录过程 、本地安全认证、安全账号管理器和安全参考 监督器构成,如图4.4所示。
第4章 操作系统的安全
4.1 操作系统安全性概述 4.2 Windows NT/2000的安全 4.3 UNIX/Linux的安全
4.1 操作系统安全性概述
4.1.1 操作系统安全的重要性
当前,对操作系统安全构成威胁的问题主要有以 下4种。 (1)计算机病毒 (2)特洛伊木马 (3)隐蔽通道
隐蔽通道可定义为系统中不受安全策略控制的、 违反安全策略的信息泄漏路径。它是允许进程以危害 系统安全策略的方式传输信息的通信信道。
图4.4 Windows NT/2000的安全模型
1.登录进程(Logon Process)
2.本地安全认证(Local Security Authority,LSA)
3.安全账号管理器(Security Account Manager, SAM)
安全账号管理器维护安全账号管理数据库,即SAM数 据库。
图4.7 Windows NT的客体访问示意图 图4.8 安全性描述符的构成
2.NTFS文件系统
NTFS主要采用两种措施对文件系统进行安全 性保护:一是对文件和目录的权限设置,二是对文 件和目录进行加密。
(1)文件和目录的权限
NTFS文件系统上的每个文件和目录在创建时 创建人就被指定为拥有者。拥有者控制着文件或目 录权限设置,并能赋予其他用户的访问权限。
表4.2所示。
主体
访问权限
客体
John
Own
File1
John
R
File1
John
W
File1
John
R
File3
Alice
R
File1
Alice
Own
File2
Alice
R
File2
Alice
W
File2
Alice
W
File3
Bob
R
File1
Bob
W
பைடு நூலகம்
File1
表4.2 授权关系表 Bob
W
File2
4.安全参考监视器(Security Reference Monitor, SRM)
安全参考监视器运行在内核模式,它负责访问控制和 审查策略。
4.2.2 Windows NT/2000的登录控制 1.登录过程 Windows NT/2000的登录控制过程比较繁琐,但 每一步对建立一个安全环境和用户能够完成有用的工 作都是必要的。用户本地登录与在域范围内登录到 Windows NT/2000计算机的步骤稍有不同,其登录 步骤分别如下。
在访问控制策略方面,计算机系统常采用以下 两种策略。
(1)自主访问控制(Discretionary Access Control,DAC)
自主访问控制是一种最为普遍的访问控制手段, 它是在确认主体身份以及它们所属组的基础上对访 问进行限定的一种方法,其基本思想是:允许某个 主体显式地指定其他主体对该主体所拥有的信息资 源是否可以访问以及可执行的访问类型。
⑥ 创建文件和目录的拥有者,总是可以随时更改对 文件或目录的权限设置来控制其他用户对该文件或 目录的访问。
(2)文件内容的加密
Windows 2000增强了文件系统的安全性,采用 了加密文件系统(Encrypted File System,EFS)技 术。加密文件系统提供的文件加密技术可以将加密 的NTFS文件存储到磁盘上。
③ 服务器的WinLogon进程发送账号名和加密口令 到本地安全认证。
④ 如果用户具有有效的用户名和口令,则本地安全 认证产生一个访问令牌,包括用户账号SID和用户 工作组SID。
⑤ WinLogon进程将访问令牌传送到Windows NT/2000的Server服务,它将访问令牌与被客户机打 开的NetBIOS连接联系起来。
(1)本地登录过程 (如图4.5所示)
图4.5 本地登录过程
① 用户按Ctrl+Alt+Del键,引起硬件中断,被系统 捕获,这样使操作系统激活WinLogon进程。
② WinLogon进程通过调用标识与鉴别DLL,将登 录窗口(账号名和口令登录提示符)展示在用户面 前。
③ WinLogon进程发送账号名和加密口令到本地安 全认证(LSA)。
④ 如果用户具有有效的用户名和口令,则本地安 全认证产生一个访问令牌,包括用户账号SID和用 户工作组SID。访问令牌也将得到用户的特权( LUID),然后该访问令牌传回WinLogon进程。
⑤ WinLogon进程传送访问令牌到Win32模块,同 时发出一个请求,以便为用户建立登录进程。
⑥ 登录进程建立用户环境,包括启动Desktop Explorer和显示背景等。
2000年,我国的安全操作系统研究人员相 继推出了一批基于Linux的安全操作系统。中 国科学院计算技术研究所研究开发了LIDS安 全操作系统;南京大学开发了基于Linux的安 全操作系统SoftOS;中国科学院信息安全技 术工程研究中心开发了基于Linux的 SecLinux安全操作系统;中国计算机软件与 服务总公司以TCSEC标准的B1安全等级为目 标对Linux进行了改造,开发了COSIX Linux V2.0的安全增强版本。
(1)访问控制矩阵(Access Matrix)
表4.1是一个访问控制矩阵的例子,这个例子将
在后面多次用到。表4.1
访问控制矩阵
File1
File2
File3
Own
John
R
R
W
Own
Alice
R
R
W
W
Bob
R W
R
(2)访问能力表(Access Capability List)
访问控制矩阵中 存在着不少空项, 为了减少系统开销 与浪费,从主体( 行)出发,形成一 个链表,以表示某 一行的信息,这就 是访问能力表,如 图4.1所示。