【文档说明】操作系统的保护与安全.pptx,共(58)页,201.232 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-289518.html
以下为本文档部分文字说明:
第11章操作系统的保护与安全1基本概念◼保护(或称内在保护)是指一种控制程序、进程或用户对计算机系统资源的访问机制。◼该机制由操作系统内部采用。2基本概念◼安全是对系统完整性和系统数据安全的可信度的衡量。◼还需要考虑系统运行的外部环境。3保护4保护◼当信息保存在计算机系统中,需
要保护其安全,使之不受物理损坏(可靠性)和非法访问(保护)。◼可靠性通常是由文件备份来提供的。◼保护可以有多种方法。对于小的、单用户系统,可以通过使用软盘、CDs(把它们锁在安全的地方)来提供保护。5保护◼
在多用户系统中,需要其它的机制。◼需要的是对文件的控制访问。◼实现控制访问的几种机制◼密码◼访问控制列表◼对各种用户分类的文件许可6保护◼每种机制都有优点和缺点,适用于特定的应用。◼小计算机系统(只为少数几个研究成员使用的)不需要提供大
型企业级计算机(用于研究、商务和其他人事活动)一样的保护类型。7保护◼“保护在计算机系统中扮演的角色是:为加强资源使用的控制策略提供一种机制。”◼策略决定了做什么。◼机制决定了怎样做。◼为了适应性(弹性),从机制中分离出策略是很重要的(策略可能会
随着位置和时间而改变)。8保护域◼要保护什么?◼软件对象(文件、程序等)◼硬件对象(CPU、内存、磁盘和其他设备)◼保护域指定了进程可以访问的资源。◼一个进程只在一个保护域内操作。9保护域◼一个保护域是一个访问权限的集合。◼每一个访问权限
是一个有序对:◼<对象名,权限集合>◼权限集合表示在该对象上可以执行什么操作。如写到打印机、读或写文件、在CPU上执行。◼一个进程在所给域中的操作只能访问该域所列出的对象,只能使用为每个对象所指定的权限。10进程支持◼对操作系统安全
性的基本要求是,当受控路径执行信息交换操作时,系统能够使各个用户彼此隔离。◼所有现代操作系统都支持一个进程代理一个用户的概念,并且在分时和多道程序运行的系统中,每个用户在自己的权限内都可能会有几个同时运行的进程。◼由于多道程
序运行是多用户操作系统安全性的中心问题,所以进程的快速转换是非常重要的。11进程支持◼为描述和控制进程的活动,系统为每个进程定义了一个数据结构,即进程控制块PCB,系统创建一个进程的同时就为它设置了一个进程控制块,用它去对进程进行控制和管理,
进程任务完成了,系统回收其PCB,该进程就消亡了。◼系统将通过PCB而感知相应的进程,进程控制块PCB是进程存在的惟一标志。◼进程控制块PCB包含了进程的描述信息和控制信息。12内存及地址保护◼多道程
序中的一个最明显的问题是防止一道程序在存储和运行时影响到其他程序。操作系统可以在硬件中有效使用硬保护机制进行存储器的安全保护。◼现在最常用的是界址、界限寄存器、重定位、特征位、分段、分页和段页式机制。1.界址◼最简单的内存保护机制是将系统所用的存储空间和用户空间分开。◼界址则是将用户
限制在地址范围的一侧的方法。在这种方法中,界址被预先定义为内存地址,以便操作系统驻留在界址的一边而用户使用另一边的空间。13内存及地址保护固定界址:可变界址寄存器:地址0内存操作系统用户空间NN+1硬件地址限制地址范围…地址0内存操作系统用户空间NN+1界址
寄存器地址范围N+1…14内存及地址保护2.重定位◼我们可以将系统实际赋给程序的内存起始地址的值作为一个常数重定位因子。◼先将程序的起始地址视为0(这时程序内的每个地址的值实际上就是相对于起始地址的偏移值),在把程
序真正装入到内存时再将常数重定位因子加到程序内的每个地址上,使得程序执行时所涉及的所有和实际地址有关的地址都相应得到改变,这个过程,我们称之为重定位(Relocation)。◼界址寄存器可以作为硬件重定位设备。15内存及地址保护3.基址/界限寄存器◼在两个或多个用户情况下
,任何一方都不能预先知道程序将被装入到内存的什么地址去执行,系统通过重定位寄存器提供的基址来解决这一问题。◼程序中所有的地址都是起始于基地址(程序在内存中的起始地址)的位移,由此可见,基地址寄存器提供了向下的界限,而向上的地址界限由谁来提供呢?系统引进了界限寄
存器,其内容作为向上的地址界限。于是每个程序的地址被强制在基址之上,界限地址之下。16内存及地址保护基址/界限寄存器对:两对基址/界限寄存器:内存操作系统用户空间ANN+1PP+1用户空间B用户空间CQQ+1……………基址寄存器械N+1界限寄存器P+1地址内存程序基址寄存器操作系统
程序界限寄存器用户A程序空间数据基址寄存器用户B数据空间用户A数据用户程序数据界限寄存器空间和数据用户C程序空间空间用户C数据空间用户B程序空间17内存及地址保护4.特征位结构◼下面介绍内存地址保护的另一种方法——使用特征位结构,即在机器内存
的每个字中都有一个或多个附加位表示该字的存取权限,这些存取位仅能被特权指令(操作系统指令)设置。◼在程序状态字中同样设置特征位,每次指令存取该单元时都对这些位进行检查,仅当两者的特征位相匹配时才允许访问
,否则产生保护中断。18内存及地址保护5.分段、分页和段页式◼程序可以被划分为许多具有不同存取权限的块,每块具有一个逻辑实体,可以是一个过程代码或是一个数组的数据等等。◼从逻辑上讲,程序员将程序看做一系列段的集合,段可以分别重定位,允许将任何段放在任何可用的内存单元内。操作系统通过
在段表中查找段名以确定其实际的内存地址,用户程序并不知道也无需知道程序所使用的实际内存地址。这种地址隐藏的意义:◼其一,操作系统可以将任何段移到任何内存单元中。◼其二,若段当前未使用的话,可以将其移出主内存,并存入辅存中,这样可以让出存储空间。◼其三,
每个地址引用都经由操作系统处理,以保证系统行使其安全保护检查的职责。19内存及地址保护◼和程序分段相对应的是分页。◼从保护的角度来看,分页可能有一个严重的缺陷,它和分段不同,分段有可能将不同的段赋予不同的保护权限(如只读或只执行),可以在
地址转换中很方便地解决保护问题,而使用分页由于没有必要将页中的项看做整体,因此,不可能将页中的所有信息置为同一属性。20文件保护--访问类型◼访问类型◼读–从文件中读◼写–对文件写或改写◼执行–将文件装入内存并执行它。◼添加–将新信息添加到文件尾部。
◼删除–删除文件并释放它所占据的空间。◼列表清单–列出文件名称和属性。◼其它操作,例如文件的复制是基于上面列出的某些基本操作来实现的。21文件保护--文件密码◼每个文件关联一个密码◼如果每个文件关联一个单独的密码,那么需要多少密
码呢?◼为所有的文件用一个密码,那么一旦密码被发现所有的文件都可以访问。◼TOPS-20(forDEC’sPDP机器)允许用户为目录而不是文件关联一个密码。◼MSWindows文件共享–在网络环境中设置一个密码以让其他用户共享PC上的一个目录。22文件保护--访问控制列表◼让访问依赖于用户的身份◼
每个文件或目录关联一个访问列表,以给定每个用户名及其所允许的访问类型。23文件保护--访问控制列表◼在VMS上实现◼在Unix上为非通用的(存在许可系统以提供合理的保护)◼开销:如果允许每个用户都能读文件,那么必须列出所有具有读访问权限的用户--控
制列表很大。24文件保护--文件许可◼为了精简访问列表,许多系统为每个文件采用了三种用户类型。◼拥有者,组,其他◼组必须通过超级用户建立◼为每个文件的目录项附加上一组许可。◼即文件或目录:可读、可写、可执行25文件保护--文件许可◼然而,对于这种保护方案,如果一个文件
的用户类型为“其他”,文件许可属于为“可读”,那么无法阻止别人读文件。26文件保护--Unix文件许可-rwxrwxrwxafileuser(owner)groupother(world)fileugo27文件保护--Unix文件许可-rwxr--r--user(y
ou)groupother(world)file◼你建立的某个文件28文件保护--Unix文件许可drwxr-xr-xuser(you)groupother(world)directory◼你建立的某个目录29文件保护--Unix目录许可
◼读–可以列出存储在该目录中所有的文件名称。◼写–用户被允许建立或移动该目录中的文件。◼执行–用户可以“通过”该目录搜索子目录。30文件保护--Unix文件许可-r--------user(root)group(sys)other(world)file◼/etc/s
hadow(影子文件)31文件保护--访问(存取)矩阵◼一组访问权限可以看成一个矩阵。◼矩阵提供了一个指定保护策略的方法。D1D2D3D4读F1F2F3打印机读打印读执行读、写读、写对象保护域(F1,F2,F3:文件)32安全33备份与恢复34备份◼由于磁盘有时会
出错,所以从磁盘上备份数据到其它存储设备(软盘、磁带、光盘)上是十分重要的。◼大公司的典型备份方案(下一张幻灯片)◼存储成永久的备份并远离计算机◼如果火灾摧毁了计算机实验室…35一个典型的备份计划◼第1天:完全备份–从磁盘上
复制所有的文件到备份介质。◼第2天:复制自第一天后改变的文件到另一个备份介质。这是增量备份。◼第3天:复制自第二天后改变的所有文件到另一个备份介质。◼……◼第N天:复制自第N-1天后改变的所有文件到另一个备份介质。然后回到第一天备份上并重复。◼要不时地进行完全备份以永远保存。
36验证◼如果用户帐户可以很容易地被未经授权的人员访问,那么内部保护是没有用。◼一个主要的安全问题是验证,应该怎样确定一个用户的身份是否真实呢?◼最常用的方法是使用用户名(标识符)和密码(验证码)。◼用户的身份决定了他们访问计算机资源的级别。◼资源:CPU(计算时间)、文
件、外部设备等。37Unix验证◼详细资料存储在/etc/passwd文件中◼传统的格式是:◼用户名◼加密密码(现在存储在/etc/shadow文件中)◼用户ID(UID)◼组ID(GID)◼用户全名◼主目录◼登录
shelltgray:qU48usgPj5m:2000:260:TonyGray:/u/soc/tgray:/bin/csh38密码加密◼绝大多数系统为了提高安全性采用加密密码。◼密码不以明文存储。◼在Unix中,输入的密码被加密并与/etc/
shadow(影子)文件中的密码条目比较。◼影子文件仅超级用户可读。39Unix影子文件(权限)-r--------超级用户同组用户其他用户文件◼/etc/shadow文件(权限)40密码脆弱的一面◼加密的密码是难以破解的◼例如,Unix系
统为加密密码采用一种单向(不可逆)的数学函数。◼然而,如果用户选择的密码不好◼例如,用户名或自己喜爱的车名。41密码脆弱的一面◼在过去,黑客可以获取(其他用户可读)密码文件(/etc/passwd),并给字典中的所有单词加密,再将加密结果和密码文件中的密码做比较。42密码脆弱的一面◼有两种常
见的猜测密码的方法。◼第一种,入侵者(人或程序)掌握了目标用户的有关信息。◼第二种,使用暴力:一个由十进制数组成的长度为4位的密码只有10000种可能。平均5000次命中一个密码(一个程序可能只花5秒钟就可以猜出一个4位的纯数字密码)。43密码脆弱的一面◼可见
的监视◼在用户登录时,入侵者的视线可以越过用户的肩膀偷窥用户密码(偷窥)。◼电子的监视◼网络监视器将让入侵者看到所有在网络上传输的数据(嗅探),包括密码。◼数据加密解决了这个问题。44密码脆弱的一面◼某些系统强迫用户使用很难记忆的或是很长的密码。◼这可能
迫使用户将密码记录下来,这比允许使用简单密码的系统更不安全。◼用户选择的密码常常很容易被猜中(例如,宠物狗的名字)。45密码◼密码不要用:◼用户名字或宠物名…◼容易与用户相关联的任何东西。◼字典中的单词◼上面任何一个的颠倒。46密码◼密码要:◼有足够长度(但是有
些系统有限制长度)。◼用混有数字、特定字符的组合。◼用一些对自己容易记住,但是对别人又难以猜到的数字、字符组合。◼用输入较快的数字、特定字符的组合。◼不要记录下密码。◼不时改变密码。47其他密码机制◼产生密码
的一种好方法:用一个容易记忆的短语中每个单词的第一个字母。例如:◼MmniHKW.◼Mymother’snameisHelenKateWilliams.◼在密码输入多次错误后,帐户封锁。◼密码老化并强制改变◼但是用户可能只准备两个密码,并在这两个密码之间切换。◼防止密码重用◼记录用户用过的N个
密码,并禁止它们重用。48其他密码机制◼一次性密码:用一个算法作为一个密码。◼例如,计算机选择一个随机的整数12,并告知用户。◼加密算法是:1+2+2+0=5(假定当前日期是某月的20号)◼所以用户对计算机的响应是5◼计算机用相同的算法计算得到该数5,那么访问被允许。◼(这里“5”是一次
性密码,因为下次就不同了!)◼这里加密算法是计算机系统与用户约定的、保密的。49其他密码机制◼下一次:计算机选择另一个随机整数120◼加密算法:1+2+0+2+1=6(假定日期为某月的21号)◼所以用户对计算机的响应一定是6◼计算机用相同的算法计算得到该数6,那么访问被
允许。50程序威胁51特洛伊木马◼特洛伊木马:一种伪装成正常应用程序的程序。◼例如,一种声称能让你摆脱计算机病毒但却把计算机病毒引入你计算机的程序。◼另一个例子,是为获取密码而伪造的登录程序(演示示例)。◼特洛伊木马不会自我复制。52后门◼后门◼在应用程序中故意留下的、只有编程者自
己能够使用的漏洞,要发现它必须检查所有的源代码!◼例如,一种总是可以接受特殊用户名和密码的登录方案。◼此外还有栈和缓冲区溢出问题(演示示例)。53蠕虫◼绝大多数操作系统都为进程提供了产生其他进程的方法。◼蠕虫◼是一种利用繁殖(spawn)机制进行自我复制,直到耗尽系统资源的程序。54病毒◼
病毒◼是一个内嵌到合法程序中的代码段,会修改和毁坏文件、导致系统崩溃和程序出错。◼蠕虫是一个独立而完整的程序。◼病毒通常通过用户从网络下载程序而传播。◼一般在多用户计算机中,操作系统不能允许写可执行程序,因此病毒对它危害要小一些。55病毒◼针对计算机病毒的
最好保护方法是:◼购买未拆封的软件。◼少用免费软件和盗版软件。◼少交换磁盘。◼MSOffice文档可能包含有将自动执行的宏(VB程序)。最好以RTF(富文本格式)格式交换MSWord文档。◼决不要打开来自未知用户的电子邮件的附件(包括贺卡)。56威胁监测◼记录用户行为日志以追踪安全问题
,例如◼所有失败的登录◼所有网络连接(telnet、rlogin、ftp等)◼所有使用su命令的尝试(成功的或失败的)◼所有电子邮件事务◼每个用户运行的每个命令◼所有web访问(流入与流出)(incoming&outgoing)574:进程管理3:存储管理6:文件管理2:设备管理1:用户接口(图形
或命令行方式)操作系统5:保护与安全58