- 1、本文档共105页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[互联网]第4章 操作系统安全
计算机系统安全原理与技术 第4章 操作系统安全 本章主要内容 操作系统的安全问题 存储器保护 用户认证 访问控制 Windows 2000(XP)系统的安全机制 4.1 操作系统的安全问题 操作系统安全的重要性 操作系统的安全是整个计算机系统安全的基础,没有操作系统安全,就不可能真正解决数据库安全、网络安全和其他应用软件的安全问题。 操作系统面临的安全威胁 (1)恶意用户 (2)恶意破坏系统资源或系统的正常运行,危害计算机系统的可用性 (3)破坏系统完成指定的功能 (4)在多用户操作系统中,各用户程序执行过程中相互间会产生不良影响,用户之间会相互干扰。 操作系统安全的目标 ·标识系统中的用户并进行身份鉴别; ·依据系统安全策略对用户的操作进行存取控制,防止用户对计算机资源的非法存取; ·监督系统运行的安全; ·保证系统自身的安全性和完整性。 为了实现操作系统安全的目标,需要建立相应的安全机制,包括隔离控制、存储器保护、用户认证、访问控制等。下面先介绍隔离控制,其它安全机制在后面介绍。 隔离控制的方法有四种: ① 物理隔离。在物理设备或部件一级进行隔离,使不同的用户程序使用不同的物理对象。 ② 时间隔离。对不同安全要求的用户进程分配不同的运行时间段。对于用户运算高密级信息时,甚至独占计算机进行运算。 ③ 逻辑隔离。多个用户进程可以同时运行,但相互之间感觉不到其他用户进程的存在,这是因为操作系统限定各进程的运行区域,不允许进程访问其他未被允许的区域。 ④加密隔离。进程把自己的数据和计算活动隐蔽起来,使他们对于其他进程是不可见的,对用户的口令信息或文件数据以密码形式存储,使其他用户无法访问,也是加密隔离控制措施。 这几种隔离措施实现的复杂性是逐步递增的,第一种相对简单,最后一种则相对复杂.而它们的安全性则是逐步递减的. 前两种方法的安全性是比较高的,但会降低硬件资源的利用率。后两种隔离方法主要依赖操作系统的功能实现。 4.2 存储器保护 内存储器是操作系统中的共享资源,即使对于单用户的个人计算机,内存也是被用户程序与系统程序所共享,在多道环境下更是被多个进程所共享。为了防止共享失去控制和产生不安全问题,对内存进行保护是必要的。 内存储器是操作系统中的共享资源, 内存被用户程序与系统程序所共享 在多道环境下更是被多个进程所共享。 内存保护的目的是: 防止对内存的未授权访问; 防止对内存的错误读写,如向只读单元写; 防止用户的不当操作破坏内存数据区、程序区或系统区; 多道程序环境下,防止不同用户的内存区域互不影响; 将用户与内存隔离,不让用户知道数据或程序在内存中的具体位置; 常用的内存保护技术 有单用户内存保护技术 多道程序的保护技术 分段与分页保护技术 和内存标记保护法 4.2.1 单用户内存保护问题 在单用户操作系统中,系统程序和用户程序同时运行在一个内存之中,若无防护措施,用户程序中的错误有可能破坏系统程序的运行。可以利用地址界限寄存器在内存中规定一条区域边界(一个内存地址),用户程序运行时不能跨越这个地址。利用该寄存器也可以实现程序重定位功能,可以指定用户程序的装入地址。 4.2.2 多道程序的保护 单用户内存保护存在的问题:对于单用户操作系统可以,但对于多用系统,可能有多个用户程序需要在内存运行,利用一个基址寄存器无法使把这些用户程序分隔在不同内存区运行 。 解决办法:再增加一个寄存器保存用户程序的上边界地址。 硬件系统将自动检查程序代码所访问的地址是否在基址与上边界之间,若不在则报错。 用这种办法可以把程序完整地封闭在上下两个边界地址空间中,可以有效地防止一个用户程序访问甚至修改另一个用户的内存。 如果使用多对基址和边界寄存器,还可以把用户的可读写数据区与只读数据区和程序区互相隔离,这种方法可以防止程序自身的访问错误。例如,可以防止向程序区或只读数据区写访问。 4.2.3 标记保护法 多对基址与边界寄存器技术的问题:只能保护数据区不被其他用户程序访问,不能控制自身程序对同一个数据区内单元有选择的读或写。 例如,一个程序中若没有数组越界溢出检查,当向该数组区写入时就有可能越界到其他数据单元,甚至越界到程序代码区(这就是缓冲区溢出的一种情况),而代码区是严格禁止写的。 解决方法:为了能对每个存储单元按其内容要求进行保护,例如有的单元只读,读/写、或仅执行(代码单元)等不同要求,可以在每个内存字单元中专用几个比特来标记该字单元的属性。 除了标记读、写、执行等属性外,还可以标记该单元的数据类型,如数据、字符、地址、指针或未定义等。 4.2.4
文档评论(0)