第二章-操作系统安全机制.ppt
《第二章-操作系统安全机制.ppt》由会员分享,可在线阅读,更多相关《第二章-操作系统安全机制.ppt(99页珍藏版)》请在沃文网上搜索。
1、操作系统安全操作系统安全 第三章操作系统安全机制3.1 硬件安全机制硬件安全机制 优秀的硬件保护设施是实现高效、安全、可靠的操作系统的基础,计算机硬件安全的目标是保证其自身的可靠性,并为操作系统提供基本的安全设施,常用的有:存储保护、运行保护和I/O保护等。保护(或称内在保护)是指一种控制程序、进程或用户对计算机系统资源的访问机制。3.1.1 存储保护存储保护存储保护主要指保护用户在存储器中的数据,对于在内存中一次只能运行一个进程的操作系统,存储保护机制应能防止用户程序对操作系统的影响。而允许多个进程同时执行的多道操作系统还需要进一步要求存储保护机制对各个进程的存储空间进行相互隔离。3.1.1
2、 存储保护存储保护在多道程序中,一个重要的问题是防止一道程序在存储和运行时影响到其他程序。操作系统可以在硬件中有效使用硬保护机制进行存储器的安全保护,现在比较常用的有界址、界限寄存器、重定位、特征位、分段、分页和段页式机制等。53.1.13.1.1存储器保护存储器保护 内存储器是操作系统中的共享资源,即内存储器是操作系统中的共享资源,即使对于单用户的个人计算机,内存也是被使对于单用户的个人计算机,内存也是被用户程序与系统程序所共享,在多道环境用户程序与系统程序所共享,在多道环境下更是被多个进程所共享。为了防止共享下更是被多个进程所共享。为了防止共享失去控制和产生不安全问题,对内存进行失去控制和
3、产生不安全问题,对内存进行保护是必要的。保护是必要的。6内存储器是操作系统中的共享资源,内存储器是操作系统中的共享资源,内存被用户程序与系统程序所共享内存被用户程序与系统程序所共享在多道环境下更是被多个进程所共享。在多道环境下更是被多个进程所共享。7内存保护的目的内存保护的目的 防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的未授权访问;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防止对内存的错误读写,如向只读单元写;防防防防止止止止用用用用户户户户的的的的不不不不当当当当操操操操作作作作
4、破破破破坏坏坏坏内内内内存存存存数数数数据据据据区区区区、程程程程序序序序区区区区或或或或系统区;系统区;系统区;系统区;多多多多道道道道程程程程序序序序环环环环境境境境下下下下,防防防防止止止止不不不不同同同同用用用用户户户户的的的的内内内内存存存存区区区区域域域域互互互互不不不不影响;影响;影响;影响;将将将将用用用用户户户户与与与与内内内内存存存存隔隔隔隔离离离离,不不不不让让让让用用用用户户户户知知知知道道道道数数数数据据据据或或或或程程程程序序序序在在在在内存中的具体位置;内存中的具体位置;内存中的具体位置;内存中的具体位置;8常用的内存保护技术单用户内存保护技术单用户内存保护技术多
5、道程序的保护技术多道程序的保护技术分段与分页保护技术分段与分页保护技术和内存标记保护法和内存标记保护法 92.1 2.1 单用户内存保护问题单用户内存保护问题 可以利用地址界限寄存器在内存中规可以利用地址界限寄存器在内存中规定一条区域边界(一个内存地址),用户定一条区域边界(一个内存地址),用户程序运行时不能跨越这个地址。利用该寄程序运行时不能跨越这个地址。利用该寄存器也可以实现程序重定位功能,可以指存器也可以实现程序重定位功能,可以指定用户程序的装入地址。定用户程序的装入地址。10系统区系统区系统区系统区用户区用户区用户区用户区(内存)(内存)(内存)(内存)界限寄存器界限寄存器界限寄存器界
6、限寄存器单用户内存保护单用户内存保护 2.2 多道程序的保护11 单用户内存保护存在的问题:单用户内存保护存在的问题:单用户内存保护存在的问题:单用户内存保护存在的问题:利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不利用一个基址寄存器无法使这些用户程序分隔在不同内存区运行同内存区运行同内存区运行同内存区运行 。解决办法:解决办法:解决办法:解决办法:再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界地址。再增加一个寄存器保存用户程序的上边界
7、地址。硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否硬件系统将自动检查程序代码所访问的地址是否 在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。在基址与上边界之间,若不在则报错。用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边用这种办法可以把程序完整地封闭在上下两个边界地址空间中,可以有效地防止一个用户程序访问甚界地址空间中,可以有效地防止一个用户程序访问甚界地址空间中,可以有效地防止
8、一个用户程序访问甚界地址空间中,可以有效地防止一个用户程序访问甚至修改另一个用户的内存。至修改另一个用户的内存。至修改另一个用户的内存。至修改另一个用户的内存。12如果使用多对基址和边界寄存器,还如果使用多对基址和边界寄存器,还可以把用户的可读写数据区与只读数可以把用户的可读写数据区与只读数据区和程序区互相隔离,这种方法可据区和程序区互相隔离,这种方法可以防止程序自身的访问错误。例如,以防止程序自身的访问错误。例如,可以防止向程序区或只读数据区写访可以防止向程序区或只读数据区写访问。问。13系统区系统区系统区系统区程序程序程序程序R R内存区内存区内存区内存区程序程序程序程序S S内存区内存区
9、内存区内存区程序程序程序程序T T内存区内存区内存区内存区基地址寄存器基地址寄存器基地址寄存器基地址寄存器边界址寄存器边界址寄存器边界址寄存器边界址寄存器多道程序的保护多道程序的保护142.3 2.3 2.3 2.3 标记保护法标记保护法标记保护法标记保护法 多对基址与边界寄存器技术的问题:多对基址与边界寄存器技术的问题:只能保护只能保护数据区不被其他用户程序访问,不能控制自身数据区不被其他用户程序访问,不能控制自身程序对同一个数据区内单元有选择的读或写。程序对同一个数据区内单元有选择的读或写。例如,一个程序中若没有数组越界溢出检例如,一个程序中若没有数组越界溢出检查,当向该数组区写入时就有可
10、能越界到其他查,当向该数组区写入时就有可能越界到其他数据单元,甚至越界到程序代码区(这就是缓数据单元,甚至越界到程序代码区(这就是缓冲区溢出的一种情况),而代码区是严格禁止冲区溢出的一种情况),而代码区是严格禁止写的。写的。15 解决方法:解决方法:解决方法:解决方法:按其内容要求进行保护,例如有的单元只按其内容要求进行保护,例如有的单元只读,读读,读/写、或仅执行(代码单元)等不同要写、或仅执行(代码单元)等不同要求,可以在每个内存字单元中专用几个比特来求,可以在每个内存字单元中专用几个比特来标记该字单元的属性。标记该字单元的属性。除了标记读、写、执行等属性外,还可以除了标记读、写、执行等属
11、性外,还可以标记该单元的数据类型,如数据、字符、地址、标记该单元的数据类型,如数据、字符、地址、指针或未定义等。指针或未定义等。16加标记的内存加标记的内存EE代码代码代码代码EE代码代码代码代码EE代码代码代码代码EE代码代码代码代码RWRW数据数据数据数据OROR数据数据数据数据.其中其中其中其中E E表示执行,表示执行,表示执行,表示执行,R R表示读,表示读,表示读,表示读,WW表示写,表示写,表示写,表示写,OROR表表表表示只读。示只读。示只读。示只读。172.4 2.4 分段与分页技术分段与分页技术 对于稍微复杂一些的用户程序,通常按对于稍微复杂一些的用户程序,通常按功能划分成若
12、干个模块(过程)。每个模块功能划分成若干个模块(过程)。每个模块有自己的数据区,各模块之间也可能有共享有自己的数据区,各模块之间也可能有共享数据区。各用户程序之间也可能有共享模块数据区。各用户程序之间也可能有共享模块或共享数据区。或共享数据区。这些模块或数据区有着不同的访问属性这些模块或数据区有着不同的访问属性和安全要求,使用上述各种保护技术很难满和安全要求,使用上述各种保护技术很难满足这些要求。足这些要求。18分段技术的作用分段技术的作用 分分段段技技术术就就是是试试图图解解决决较较大大程程序序的的装装入入、调度、运行和安全保护等问题的一种技术。调度、运行和安全保护等问题的一种技术。分段以模
13、块(过程或子程序)为单位。分段以模块(过程或子程序)为单位。采采用用分分段段技技术术,用用户户不不知知道道他他的的程程序序实实际际使使用用的的内内存存物物理理地地址址。这这种种隐隐藏藏对对保保护护用户代码与数据的安全是极有好处的。用户代码与数据的安全是极有好处的。19分段技术的优点:分段技术的优点:(1)在段表中除了与段名对应的段号及段)在段表中除了与段名对应的段号及段基址外,还可以增加必要的访问控制信息,基址外,还可以增加必要的访问控制信息,对于任何企图访问某个段的操作,操作系对于任何企图访问某个段的操作,操作系统和硬件都可以进行检查。统和硬件都可以进行检查。(2)分段技术几乎可以实现对程序
14、的不同)分段技术几乎可以实现对程序的不同片段分别保护的目标。根据各段敏感性要片段分别保护的目标。根据各段敏感性要求,为各段划分安全级,并提供不同的保求,为各段划分安全级,并提供不同的保护措施。护措施。20(3)分分段段技技术术的的保保护护功功能能可可以以检检查查每每一一次次对对内内存存访访问问是是否否合合法法,可可以以让让保保护护粒粒度度达达到到数据项级。数据项级。(4)可可以以为为了了实实施施保保护护而而检检查查每每一一次次地地址址访访问。问。(5)还可以避免允许用户直接指定内存地址)还可以避免允许用户直接指定内存地址或段区所带来的安全问题,也可以让多个或段区所带来的安全问题,也可以让多个用
15、户用不同的权限访问一个段。用户用不同的权限访问一个段。21段的管理方式存在的问题与困难段的管理方式存在的问题与困难(1)由由于于各各段段的的长长度度不不相相同同,对对内内存存管管理理造造成了困难,容易产生内存成了困难,容易产生内存“碎片碎片”。这是一个很大的安全漏洞。这是一个很大的安全漏洞。22(2)在在许许多多情情况况下下(如如段段内内部部包包含含动动态态数数据据结结构构)要要求求在在使使用用段段方方式式时时允允许许段段的的尺尺寸寸可可以以增增大大。为为了了保保证证安安全全起起见见,要要求求系系统统检检查查所所产产生生的的地地址址,验验证证其其是是否否超超出出所所访问的段的末端。访问的段的末
16、端。23(3)段名不易在指令中编码,由操作系统查)段名不易在指令中编码,由操作系统查名字表的速度也会很慢。解决的办法是由编名字表的速度也会很慢。解决的办法是由编译器把段名转化为数字,并建立一张数字与译器把段名转化为数字,并建立一张数字与段名之间的对照表。但这又为段的共享带来段名之间的对照表。但这又为段的共享带来麻烦,因为每个调用者都必须知道该段的编麻烦,因为每个调用者都必须知道该段的编号。号。24分段与分页的问题与作用分段与分页的问题与作用分段与分页的问题与作用分段与分页的问题与作用 为了解决分段可能产生的内存碎片问题,为了解决分段可能产生的内存碎片问题,为了解决分段可能产生的内存碎片问题,为
17、了解决分段可能产生的内存碎片问题,引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都引入了分页技术。分页是把目标程序与内存都划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为划分成相同大小的片段,这些片段就称为“页页页页”。分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段分页技术解决了碎片问题,但损失了分段技术的安全功能。技术的安全功能。技术的安全功能。技术的安全功能。由于段具有逻辑上的完整意义,而页则没由于
18、段具有逻辑上的完整意义,而页则没由于段具有逻辑上的完整意义,而页则没由于段具有逻辑上的完整意义,而页则没有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全有这样的意义,程序员可以为段规定某些安全控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。控制要求,但却无法指定各页的访问控制要求。25 系统还可以为每个物理页分配一系统还可以为每个物理页分配一个密码,只允许拥有相同密码的进程个密码,只允许拥有相同密码的进程访问该页,该密码由操作系统装入进访问该页,
19、该密码由操作系统装入进程的状态字中,由硬件对进程的密码程的状态字中,由硬件对进程的密码进行检验。这种安全机制有效地保护进行检验。这种安全机制有效地保护了虚拟存储器的安全。了虚拟存储器的安全。3.1.2 运行保护运行保护安全操作系统很重要的一点是进行分层设计,而运行域安全操作系统很重要的一点是进行分层设计,而运行域正是这样一种基于保护环的等级式结构。运行域是进程正是这样一种基于保护环的等级式结构。运行域是进程运行的区域,在最内层具有最小环号的环具有最高特权,运行的区域,在最内层具有最小环号的环具有最高特权,而在最外层具有最大环号的环是最小的特权环。而在最外层具有最大环号的环是最小的特权环。设置两
20、环系统是很容易理解的,它只是为了隔离操作系设置两环系统是很容易理解的,它只是为了隔离操作系统程序与用户程序。这就像生活中的道路被划分为机动统程序与用户程序。这就像生活中的道路被划分为机动车道和非机动车道一样,各种车辆和行人各行其道,互车道和非机动车道一样,各种车辆和行人各行其道,互不影响,保证了各自的安全。对于多环结构,它的最内不影响,保证了各自的安全。对于多环结构,它的最内层是操作系统,它控制整个计算机系统的运行;靠近操层是操作系统,它控制整个计算机系统的运行;靠近操作系统环之外的是受限使用的系统应用环,如数据库管作系统环之外的是受限使用的系统应用环,如数据库管理系统或事务处理系统;最外一层
21、则是各种不同用户的理系统或事务处理系统;最外一层则是各种不同用户的应用环。应用环。Intelx86微芯片系列就是使用环概念来实施运行保护的,如微芯片系列就是使用环概念来实施运行保护的,如图所示。图所示。环有环有4个级别:环个级别:环0是最高权限的,环是最高权限的,环3是最低权限的。当然,是最低权限的。当然,微芯片上并没有实际的物理环。微芯片上并没有实际的物理环。Windows操作系统中的所有内核代码都在环操作系统中的所有内核代码都在环0级上运行。用级上运行。用户模式程序户模式程序(例如例如Office软件程序软件程序)在环在环3级上运行。包括级上运行。包括Windows和和Linux在内的许多
22、操作系统在在内的许多操作系统在Intelx86微芯片上只微芯片上只使用环使用环0和环和环3,而不使用环,而不使用环1和环和环2。3.1.23.1.2运行保护运行保护运行保护运行保护3.1.3 I/O 保护保护I/O介质输出访问控制最简单的方式是将设备看介质输出访问控制最简单的方式是将设备看作是一个客体,仿佛它们都处于安全边界外。由作是一个客体,仿佛它们都处于安全边界外。由于所有的于所有的I/O不是向设备写数据就是从设备接收不是向设备写数据就是从设备接收数据,所以一个进行数据,所以一个进行I/O操作的进程必须受到对操作的进程必须受到对设备的读写两种访问控制。这就意味着设备到介设备的读写两种访问控
23、制。这就意味着设备到介质间的路径可以不受什么约束,而处理器到设备质间的路径可以不受什么约束,而处理器到设备间的路径则需要施以一定的读写访问控制。间的路径则需要施以一定的读写访问控制。标识(identification):用来标明用户身份,确保用户的惟一性和可辨认性的标志,一般选用用户名称和用户标识符(UID)来标明一个系统用户,名称和标识符均为公开的明码信息。用户标识是有效实施其他安全策略,如用户数据保护和安全审计的基础。通过为用户提供标识,TCB能使用户对自己的行为负责。鉴别(authentication):用特定信息对用户身份、设备和其他实体的真实性进行确认,用于鉴别的信息是非公开的和难以
24、仿造的,如口令(也称密钥)。用户鉴别是有效实施其他安全策略的基础。3.2 主体标识与鉴别主体标识与鉴别AliceBobEveAlice?Alice?orEve?orEve?Bob?Bob?or Eve?or Eve?鉴别协议的目的鉴别协议的目的1、在诚实的情况下,声称者、在诚实的情况下,声称者A能向验证者能向验证者B证明他确实是他确实是A;在声称者;在声称者A向验证者向验证者B声称他的身份后,验证者声称他的身份后,验证者B不能获得任何有用的信息,任何有用的信息,B也也不能模仿A向其他第三方证明向其他第三方证明他就是他就是A。3、任何不同于、任何不同于A的实体的实体C以以A的身份,让的身份,让B
25、相信相信C是是A的概率的概率可忽略不计可忽略不计3.2 主体标识与鉴别主体标识与鉴别标识鉴别机制的设计和实现需要达到两个方面的要求:(1)标识鉴别系统的设计要协助安全操作系统实现新增的安全功能和安全策略,包括增加新的用户属性,并通过扩展标识鉴别命令来支持这些属性。(2)标识鉴别系统本身的安全性要达到安全操作系统本身的安全级别要求,增加新的安全功能,提高安全性。口令鉴别机制口令鉴别机制口令鉴别机制(1)静态口令鉴别机制传统的静态口令鉴别机制是利用用户名和口令核对的方法对系统进行维护。用户登录系统时,系统通过对比用户输入的口令和用户ID,来判断用户身份的合法性。口令鉴别机制口令鉴别机制(2)动态口
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 操作 系统安全 机制