1、第8章 保密第8章 操作系统安全2012.10本章主要内容操作系统的安全问题存储器保护用户认证访问控制Windows 系统的安全机制8.1 操作系统的安全问题操作系统安全的重要性操作系统的安全是整个计算机系统安全的基础,没有操作系统安全,就不可能真正解决数据库安全、网络安全和其他应用软件的安全问题。?操作系统面临的安全威胁(1)误操作(2)恶意破坏系统资源或系统的正常运行,危害计算机系统的可用性(3)破坏系统完成指定的功能(4)在多用户操作系统中,各用户程序执行过程中相互间会产生不良影响,用户之间会相互干扰。?操作系统安全的目标标识系统中的用户并进行身份鉴别;依据系统安全策略对用户的操作进行存
2、取控制,防止用户对计算机资源的非法存取;监督系统运行的安全;保证系统自身的安全性和完整性。 为了实现操作系统安全的目标,需要建立相应的安全机制,包括隔离控制、存储器保护、用户认证、访问控制等。隔离控制的方法有四种:? 物理隔离。在物理设备或部件一级进行隔离,使不同的用户程序使用不同的物理对象。 时间隔离。对不同安全要求的用户进程分配不同的运行时间段。对于用户运算高密级信息时,甚至独占计算机进行运算 逻辑隔离。多个用户进程可以同时运行,但相互之间感觉不到其他用户进程的存在,这是因为操作系统限定各进程的运行区域,不允许进程访问其他未被允许的区域。? 加密隔离。进程把自己的数据和计算活动隐蔽起来,对
3、其他进程不可见;对用户的口令信息或文件数据以密码形式存储,使其他用户无法访问,也是加密隔离控制措施。隔离措施复杂性、安全性这几种隔离措施实现的复杂性是逐步递增,安全性则是逐步递减的前两种方法的安全性是比较高的,但降低硬件资源的利用率。后两种隔离方法主要依赖操作系统的功能实现。系统提供的保护方式 无保护方式。当处理高密级数据的程序(又称敏感程序)在单独的时间内运行时,使用无保护的系统是合适的。 隔离保护方式。当操作系统提供隔离机制时,可以使并行运行的进程彼此感觉不到对方的存在。每个进程都有自己的内存空间、文件和其他资源。操作系统必须控制运行中每个进程不得访问其他进程的资源。 共享或独占保护方式。
4、用户资源(或称客体)是否可以共享由用户自己说明,凡被该用户指定为共享的客体,其他用户都可以访问,而被指定为私有的客体,则只能被该用户自己独占使用。 受限共享保护方式。通过对其他用户访问进行限制来保护用户的某些客体。根据需要为各用户分配不同的访问控制条件,可以把这些访问控制信息存储在某种数据结构(如表格)中,以便操作系统对指定客体进行访问控制。 按能力共享保护方式。这种方式是受限共享保护方式的推广,用户被赋予访问客体的某种能力,能力代表一种访问权利。该保护方式允许动态创建客体的共享权,用户的进程共享客体的能力取决于客体的拥有者或主体本身,取决于计算的内容,也取决于客体本身。 限制对客体的使用。这
5、种保护方式不限制对客体的访问,而是限制访问后对客体的使用,例如允许读,但不允许复制;或者只读不许修改等限制6种实现难度如何?保护能力如何?上述六种对客体的保护是按实现的难度递增顺序排列的,他们对客体的保护能力也是越来越强的。一个功能较强的操作系统应该能够对不同的客体、不同的用户和不同的情况提供不同安全级别的保护功能。8.2 存储器保护存储器是操作系统中的共享资源,即使对于单用户的个人计算机,内存也是被用户程序与系统程序所共享,在多道环境下更是被多个进程所共享。为了防止共享失去控制和产生不安全问题,对内存进行保护是必要的。内存保护的目的是:防止对内存的未授权访问; 防止对内存的错误读写,如向只读
6、单元写; 防止用户的不当操作破坏内存数据区、程序区或系统区; 多道程序环境下,防止不同用户的内存区域互相影响; 将用户与内存隔离,不让用户知道数据或程序在内存中的具体位置;用的内存保护技术单用户内存保护技术 多道程序的保护技术 分段与分页保护技术 和内存标记保护法8.2.1 单用户内存保护问题可以利用地址界限寄存器在内存中规定一条区域边界(一个内存地址),用户程序运行时不能跨越这个地址。?利用该寄存器也可以实现程序重定位功能,可以指定用户程序的装入地址。单用户内存保护内存界限寄存器系统区用户区8.2.2多道程序的保护单用户内存保护存在的问题:利用一个基址寄存器无法使这些用户程序分隔在不同内存区
7、运行 。解决办法:再增加一个寄存器保存用户程序的上边界地址 如果使用多对基址和边界寄存器,还可以把用户的可读写数据区与只读数据区和程序区互相隔离,这种方法可以防止程序自身的访问错误。例如,可以防止向程序区或只读数据区写访问。系统区基地址寄存器边界址寄存器多道程序的保护程序R内存区程序S内存区程序T内存区8.2.3 标记保护法多对基址与边界寄存器技术的问题:只能保护数据区不被其他用户程序访问,不能控制自身程序对同一个数据区内单元有选择的读或写。例如,一个程序中若没有数组越界溢出检查,当向该数组区写入时就有可能越界到其他数据单元,甚至越界到程序代码区(这就是缓冲区溢出的一种情况),而代码区是严格禁
8、止写的。解决方法:在每个内存字单元中专用几个比特来标记该字单元的属性。除了标记读、写、执行等属性外,还可以标记该单元的数据类型,如数据、字符、地址、指针或未定义等。加标记的内存其中E表示执行,R表示读,W表示写,OR表示只读。8.2.4分段与分页技术对于稍复杂一些的用户程序,通常按功能划分成若干个模块(过程)。每个模块有自己的数据区,各模块之间也可能有共享数据区。各用户程序之间也可能有共享模块或共享数据区。这些模块或数据区有着不同的访问属性和安全要求,使用上述各种保护技术很难满足这些要求。 分段技术的作用分段技术就是试图解决较大程序的装入、调度、运行和安全保护等问题的一种技术。分段以模块(过程
9、或子程序)为单位采用分段技术,用户不知道他的程序实际使用的内存物理地址。这种隐藏对保护用户代码与数据的安全是极有好处的。 分段技术的优点:(1)增加必要的访问控制信息,对于任何企图访问某个段的操作,操作系统和硬件都可以进行检查。(2)分段技术几乎可以实现对程序的不同片段分别保护的目标。根据各段敏感性要求,为各段划分安全级,并提供不同的保护措施。分段技术的优点续:(3)可以检查每一次对内存访问是否合法,可以让保护粒度达到数据项级。(4)可以为了实施保护而检查每一次地址访问。(5)可以避免允许用户直接指定内存地址或段区所带来的安全问题,也可以让多个用户用不同的权限访问一个段。段的管理方式存在的问题
10、与困难(1)由于各段的长度不相同,对内存管理造成了困难,容易产生内存“碎片”。这是一个很大的安全漏洞。段的管理方式存在的问题与困难续:(2)在许多情况下(如段内部包含动态数据结构)要求在使用段方式时允许段的尺寸可以增大。为了保证安全起见,要求系统检查所产生的地址,验证其是否超出所访问的段的末端。段的管理方式存在的问题与困难续:(3)段名不易在指令中编码,由操作系统查名字表的速度也会很慢。解决的办法是由编译器把段名转化为数字,并建立一张数字与段名之间的对照表。但这又为段的共享带来麻烦,因为每个调用者都必须知道该段的编号。分段与分页的问题与作用为了解决分段可能产生的内存碎片问题,引入了分页技术。分
11、页是把目标程序与内存都划分成相同大小的片段,这些片段就称为“页”。分页技术解决了碎片问题,但损失了分段技术的安全功能。由于段具有逻辑上的完整意义,而页则没有这样的意义,程序员可以为段规定某些安全控制要求,但却无法指定各页的访问控制要求。系统还可以为每个物理页分配一个密码,只允许拥有相同密码的进程访问该页,该密码由操作系统装入进程的状态字中,由硬件对进程的密码进行检验。这种安全机制有效地保护了虚拟存储器的安全8.3 用户认证? 用户认证的任务是确认当前正在试图登录进入系统的用户就是账户数据库中记录的那个用户。认证用户的方法一般有三种:(1)要求输入一些保密信息,如用户的姓名、通行字或加密密钥等;
12、(2)稍微复杂一些鉴别方法,如询问应答系统、采用物理识别设备(如访问卡、钥匙或令牌标记)等方法;(3)利用用户生物特征,如指纹、声音、视网膜等识别技术对用户进行唯一的识别。8.3.1口令认证方法是一种容易实现并有效地只让授权用户进入系统的方法。用户想使用系统,首先必须通过系统管理员向系统中建立一个用户账号,账号中存放用户的名字(或标识)和口令。用户输入的用户名和口令必须和存放在系统中的账户/口令文件中的相关信息一致才能进入系统。存在弱口令选取口令应遵循以下规则:扩大口令字符空间字母(大小写)、数字、符号。选择长口令八位以上 选用无规律的口令口令要自己记忆口令更换多个口令系统生成口令对口令的控制
13、除了以上各种安全措施外,有的系统对使用口令进行访问还采取更严格的控制,通常有以下一些措施:登录时间限制系统消息限制登录次数最后一次登录尽量减少会话透露的信息增加认证的信息量8.3.2其他认证方法(1)询问响应系统:本质上是一个密码系统,其中主机发送消息m,用户用E(m)来回答。虽然消息m 及其加密形式都可能被截获(通过观察或线路截听),但这种泄露不会暴露加密算法。询问响应系统提示用户,要求每次注册都给出不同的回答。(2)通行短语:另外一种简单而又保密的鉴别方案是通行短语,它是一种更长的口令的变形。通行短语等价于有鉴别能力的口令。通行短语也可以用于可变的询问响应系统,系统和用户之间可以约定许多互
14、相知道的秘密信息,如有关用户个人经历、爱好、家庭、个人特征等方面的信息,每当用户向系统登录时,询问响应系统便随机从这些信息中挑出几个向用户询问,在用户给出正确回答和系统提问内容在事先约定范围内的情况下,双方可以互相取得信任。8.4 访问控制基本目标是防止非法用户进入系统和合法用户对系统资源的非法使用。常以用户身份认证为前提,在此基础上实施各种访问控制策略来控制和规范合法用户在系统中的行为。8.4.1 访问控制模型1访问控制的三要素(1)主体(Subject):访问操作的主动发起者,但不一定是动作的执行者。(2)客体(Object):通常是指信息的载体或从其他主体或客体接收信息的实体。(3)安全
15、访问规则:用以确定一个主体是否对某个客体拥有某种访问权力。2基本的访问控制模型(1)访问控制矩阵基本思想是将所有的访问控制信息存储在一个矩阵中集中管理。当前的访问控制模型一般都是在它的基础上建立起来的。(2)访问目录表:实际上按访问控制矩阵的行实施对系统中客体的访问控制。用户A目录文件名客体 (文件)OXRABO:OwnerR:ReadW:WriteX:Execute用户B目录CDBRWR访问目录表机制CD(3)访问控制表ACLACL表保护机制实际上是按矩阵的列实施对系统中客体的访问控制的。访问目录表和访问控制表分别差别在于管理共享客体的方法上,访问控制表技术易于实现对这些共享客体的管理。客体
16、目录ACL表客体FILE1USER-CO:WONERR:READW:WRITEX:EXCUTE访问控制表机制ORWFILE2PRG1HELP(4)能力机制可以满足要求更高的访问控制机制。主体具有的能力是一种权证,类似一个“入场卷”它是操作系统赋予主体访问客体的许可权限,它是一种不可伪造的标记。能力是在用户向系统登录时,由操作系统赋予的一种权限标记,用户凭借该标记对客体进行许可的访问。能力机制需要结合访问控制表(或访问控制矩阵)技术实现,当一个过程要求访问新客体的时候,操作系统首先查询访问控制表,确认该过程是否有权访问该客体,若有,操作系统就要为该过程创立一个访问该客体的能力。 为了安全起见,能
17、力应该存储在用户程序访问不到的区域中。(5)面向过程的访问控制在主体访问客体的过程中对主体的访问操作进行监视与限制。建立一个对客体访问进行控制的过程,该过程能够自己进行用户认证,以此加强操作系统的基本认证能力。访问目录表、访问控制表、访问控制矩阵、能力和面向过程的控制等五种对客体的访问控制机制的实现复杂性是逐步递增的。实现能力机制需要必须对每次访问进行检查,而访问目录表方式实现比较容易,它只需要在主体对客体第一次访问时进行检查。实现复杂的保护方式提高了系统的安全性,但降低了系统响应速度。安全与效率之间需要平衡。8.4.2 文件的保护机制文件系统是任何一个操作系统的最重要的组成部分。? 由于用户
18、交由计算机处理的数据(其中有的是敏感数据)和系统安全机制的信息都是用文件的形式保存的,因此文件的保护是非常重要的。1、基础保护任何一个多用户系统都必须提供最低限度的文件保护功能,防止用户有意或无意访问、修改和破坏其他用户的文件。(1)全-或-无保护对用户信赖的基础上,假定用户不会去读或修改别人的文件,只会访问自己有权访问的文件,并且假定用户只知道其有合法访问权的文件名。因此对文件一般不设保护,默认文件是公开的。实际上,对文件是没有保护的,任何一个用户都可以读、修改甚至删除其他用户的文件。主要存在以下问题:以信任为基础的安全机制是不可靠的。? 如果某个文件只希望一部分人可以访问,由于采用了“要么
19、对所有用户都是公开的,要么对所有用户都是有保护的”安全机制,这一要求无法实现。? 这种安全机制更适合于批处理系统,而不适用于分时系统。在批处理的环境下可以把有相同兴趣的用户安排在同一批进行处理。需要操作员干预,麻烦、降低了操作系统的效率。 需要向用户提供系统所有文件的列表,帮助用户回忆他们需要对哪些文件负责。(2)分组保护根据上述情况,全-或-无保护方式主要问题是不能满足不同利益用户对文件的保护要求。分组保护方式可以解决这个问题。在分组方案中, 可以根据某种共同性把用户划分在一个组中。系统中的用户分为三类:(单个)用户(User)、用户组(Group)和全部(World),分组时要求每个用户只
20、能分在一个组中,同一个组中的用户对文件有相同的需求,一般具有相同访问权。该方案在新型操作系统(如NT、LINUX等)被广泛采用。由于引入组的概念,需要用用户和组这两个标识符标识一个用户。该方案还存在以下问题:组的隶属关系:分组不允许一个用户同属两个组,否则会引起访问权限的混乱。? 多重账户:为了克服一人一组带来的限制,可以允许用户建立多个账户,在不同的组里使用不同的账号,代表不同的用户,增加了管理的难度,对用户也不方便。? 有限的共享:文件要么只能在组内共享,要么只能为全部用户共享。无法以文件为基础区分出一个文件的共享者。2、单独许可权(1) 文件通行字? 为了控制用户对指定文件的访问,可以为
21、该文件设置一个通行字。当用户访问这个文件的时候必须提供正确的通行字。通行字可以用于控制对文件的各种访问,或仅控制对文件的某一种访问,如控制对文件的修改。通行字的管理与维护还存在一些麻烦,无论通行字丢失或者泄漏都需要由操作员干预,去掉文件的旧通行字,换成新的通行字;为了撤消某个用户的文件访问权,也必须更换文件的通行字。更换通信字后,还要把新通行字告诉所有与该文件有关的所有用户。(2)临时许可证UNIX系统中增加了一种许可权方法,称为设置用户标识符和设置组标识符。利用该功能,用户可以建立维护专用信息的特定保护程序,其他用户如果希望访问这些专用信息就必须运行其特定保护程序。3、指定保护允许用户为任何
22、文件建立一张访问控制表(ACL),指定谁有权访问该文件,每个人有什么样的访问权。这都是符合自主访问控制原则要求的。假设甲、乙、丙、丁四个用户原先分属四个不同的组,现因项目开发需要,要求成立一个新组。系统管理员可以定义一个新的一般标识符ITEM,让它只包括这四个人,用户可以允许在一般标识符下的人访问一个文件,但不允许这四个用户所在组的其他人访问这个文件。8.4.3 新型访问控制 1基于任务的访问控制基本思想是:授予给用户的访问权限,不仅仅依赖主体、客体,还依赖于主体当前执行的任务及任务的状态。当任务处于活动状态时,主体拥有访问权限;一旦任务被挂起,主体拥有的访问权限就被冻结;如果任务恢复执行,主
23、体将重新拥有访问权限;任务处于终止状态时,主体拥有的权限马上被撤销。2基于对象的访问控制在基于对象的访问控制模型中,将访问控制列表与受控对象或受控对象的属性相关联,并将访问控制选项设计成为用户、组或角色及其对应权限的集合;同时允许对策略和规则进行重用、继承和派生操作。8.5 Windows XP系统的安全机制Windows XP操作系统就是建立在一套完整的安全机制上的,因而在使用前都必须指定它们的安全策略。在使用Windows XP操作系统时,要熟悉它的登录验证、访问控制、安全策略等安全保护机制,这样才能降低遭受威胁和攻击的风险。8.5.1 Windows系统的安全子系统1Windows系统的
24、安全组件自主访问控制对象重用强制登录对象的访问控制2Windows安全子系统8.5.2 用户账户管理1用户账户在Windows XP中,访问控制依赖于系统能够惟一地识别出每个用户。用户账户(UserAccount)提供了这种惟一性。2组Windows XP还提供组帐户。可使用组帐户对同类用户授予权限以简化帐户管理。如果用户是可访问某个资源的一个组中的成员,则该特定用户也可访问这一资源。因此,若要使某个用户能访问各种工作相关的资源只需将该用户加入正确的组。3本地账户和域账户本地账户,即存储在计算机SAM中的用户账户和安全组。独立的计算机和工作组中的计算机都只使用本地账户。工作组中的每台计算机只维
25、护含有该台计算机本地账户的自己SAM。本地账户只允许用户登录到存储其账户的计算机,并且只允许访问该计算机上的资源。Windows 还提供了域的概念进行网络访问控制,即允许或拒绝某个主机或用户连接到其他主机的能力。域账户存储在一个称为域控制器的中央计算机上。8.5.3 登录验证1验证机制Windows XP安全系统包括了三种不同的身份验证协议来进行加密:(1)NTLM(与Windows NT 4.0系统兼容)(2)Kerberos V5(3)公钥证书2登录及身份验证过程成功的登录过程要经过以下4个步骤:Winlogon过程给出一个对话框,要求回答一个用户名和口令。Winlogon将用户名和口令传
26、递给LSA(LocalSecurity Authority,本地安全权威),LSA决定该登录应该在本地计算机还使网络上进行身份验证。如果是本地登录,LSA会查询 SAM数据库,以确定用户名和口令是否属于授权的系统用户。如果用户名和密码合法, SAM把该用户的SID以及该用户所属的所有组的 SID返回 LSA。LSA使用这些信息创建一个访问令牌,每当用户请求访问一个受保护资源时,LSA就会将访问令牌显示出来以代表用户的“标记”。 Winlogon启动系统,该用户的访问令牌就成了用户进程在Windows xp系统中的通行证。8.5.4 系统访问控制1访问控制方案(1)访问令牌(2)安全描述符(3)
27、访问控制表2活动目录(Active Directory)活动目录包括两个方面:目录和与目录相关的服务。目录是存储各种对象的一个物理上的容器;而目录服务是使目录中所有信息和资源发挥作用的服务。8.5.5 Windows xp 安全策略1密码策略2锁定策略3审核策略4用户权力指派5安全选项6装载自定义安全模板8.5.6 Windows xp操作系统安全检查表1安装最新的系统补丁(Service Pack)与更新(Hotfix)程序2为Administrator账号指定安全的口令3把Administrator帐号重新命名4禁用或删除不必要的帐号5关闭不必要的服务6安装防病毒软件7给所有必要的文件共享设置适当的访问控制权限8激活系统的审计功能9关于应用软件方面的建议
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1