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