信息系统分级保护课件.pptx
1 概述,1.1 什么是访问控制1.2 访问控制与其他安全措施的关系1.3 主体与客体1.4 访问权限,1.1 什么是访问控制,访问控制(Access Control)是对信息系统资源的访问范围以及方式进行限制的策略。简单地说,就是防止合法用户的非法操作。访问控制是建立在身份认证之上的操作权限控制。身份认证解决了访问者是否合法者,但并非身份合法就什么都可以做,还要根据不同的访问者,规定他们分别可以访问哪些资源,以及对这些可以访问的资源可以用什么方式(读?写?执行?删除?等)访问。它是基于权限管理的一种是非常重要的安全策略。对用户权限的设定,称为授权(Authorization)。,引用监视器,认证,访问控制,授权数据库,用户,目标,目标,目标,目标,目标,管理员,审 计,1.2 访问控制与其他安全措施的关系模型,访问控制可以描述为:主动的主体(Subject)使用某种特定的访问操作去访问一个被动的客体(Object),所使用的特定的访问操作受访问监视器控制,如图:,安全系统逻辑模型,1.3 主体与客体,主体和客体都是访问控制系统中的实体。 主体是发出访问请求的主动方,通常是用户或用户进程。 客体是被访问的对象,通常是被调用的程序、进程,要存取的数据、文件、内存、系统、设备、设施等资源。信息系统的安全目标就是控制和管理主体对客体的访问。 安全策略,就是对这些访问进行约束的一组规则和目标,它反映了系统的安全需求,并可以用达到安全目的而采取的步骤进行描述。,(1)Bell-LaPadula安全模型中的访问权限 1973年David Bell和Len Lapadula提出了第一个也是最著名安全策略模型Bell-LaPadula安全模型,简称BLP模型。 在基本层面上,定义了两种访问方式: 观察(Observe):查看客体的内容。 改变(Alter):改变客体的内容。 在Bell-LaPadula安全模型中定义了4种访问权限:执行、读、添加(有时也称盲目的写)和写。表9.1给出了这些访问权限与访问方法之间的关系。,1.4 访问权限,表9.1 Bell-LaPadula安全模型中的访问权限,注意,这里基于效率的考虑,写访问通常包含读访问。这样,在编辑一个文件时,就无须先打开一次进行读(了解内容),再打开一次用于写了。所以写访问包含了查看和改变两种访问形式。,(2)Unix Unix的访问控制用3种权限表示:读(read)、写(write)、执行(execute)。它们应用于文件和目录时含义有所不同,如表9.2所示。,表9.2 Unix的访问控制3种权限,(3)Windows NT/2000/XP Windows NT/2000/XP的权限分为文件权限和目录权限。每一个权限级别都确定了一个执行特定的任务组合的能力,这些任务是: Read(R)、 Execute(X)、 Write(W)、 Set Permission(P)、 Take Ownership(O)。 表9.3表明任务与各种权限级别之间的关联。,表9.3 Windows NT/2000/XP表明任务与各种权限级别之间的关联,2 访问控制模型,2.1 自主访问控制2.2 强制访问控制2.3 基于角色的访问控制2.4 基于任务的访问控制,2.1 自主访问控制,自主访问控制模型(DAC Model,Discretionary Access Control Model)定义:允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体,允许某些用户自主地把自己所拥有的客体的访问权限授予其它用户(又称为任意访问控制)特点:一般资源创建者是资源访问者的拥有者,但可调整配合以资源创建者的管理,构成完善的访问控制模型。灵活性高,被大量采用(WindowsUnixMacintoch)缺点:信息在移动过程中其访问权限关系会被改变。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。,2.2 强制访问控制,强制访问控制模型(MAC Model:Mandatory Access Control Model)和DAC模型不同的是,MAC是一种多级访问控制策略,数据所有者无权决定文件的访问权限,权限由操作系统决定,可能覆盖所有者的设置基于安全标签实现:系统事先给访问主体和受控对象分配不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控对象的安全级别属性进行比较,再决定访问主体能否访问该受控对象。MAC对访问主体和受控对象标识两个安全标记:一个是具有偏序关系的安全等级标记;另一个是非等级分类标记。对于标签的类别,部分可实施须知规则。 BLP模型是一个例子。,强制访问控制(MAC)中,系统包含主体集S和客体集O,每个S中的主体s及客体集中的客体o,都属于一固定的安全类SC,安全类SC=包括两个部分:有层次的安全级别和无层次的安全范畴。构成一偏序关系。Bell-LaPadula:保证保密性简单安全特性(无上读):仅当SC(o)SC(s)时,s可以读取o*-特性(无下写): 仅当SC(s) SC(o)时,s可以修改oBiba:保证完整性同(上)相反,Biba模型用偏序关系可以表示为:当且仅当SC(s) SC(o),允许读操作当且仅当SC(s) SC(o),允许写操作,自主访问控制配置的粒度小配置的工作量大,效率低强制访问控制配置的粒度大缺乏灵活性,2.3 基于角色的访问控制,基于角色的访问控制模型(RBAC Model,Role-based Access Model):RBAC模型的基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权。在很多实际应用中,用户并不是可以访问的客体信息资源的所有者(这些信息属于企业或公司),这样的话,访问控制应该基于员工的职务而不是基于员工在哪个组或是谁信息的所有者,即访问控制是由各个用户在部门中所担任的角色来确定的例如,一个学校可以有教工、老师、学生和其他管理人员等角色。,角色可以看作是一组操作的集合,不同的角色具有不同的操作集,这些操作集由系统管理员分配给角色。比如:我们假设Tch1,Tch2,Tch3Tchi是对应的教师,Stud1,Stud 2,Stud3 Studj是相应的学生,Mng1,Mng 2,Mng 3Mngk是教务处管理人员老师的权限为TchMN=查询成绩、上传所教课程的成绩;学生的权限为Stud MN=查询成绩、反映意见;教务管理人员的权限为MngMN=查询、修改成绩、打印成绩清单依据角色的不同,每个主体只能执行自己所制定的访问功能。用户在一定的部门中具有一定的角色,其所执行的操作与其所扮演的角色的职能相匹配,系统管理员负责授予用户各种角色的成员资格或撤消某用户具有的某个角色,RBAC提供了一种描述用户和权限之间的多对多关系。例如学校新进一名教师Tchx,那么系统管理员只需将Tchx添加到教师这一角色的成员中即可,而无需对访问控制列表做改动。同一个用户可以是多个角色的成员,即同一个用户可以扮演多种角色,比如一个用户可以是老师,同时也可以作为进修的学生。同样,一个角色可以拥有多个用户成员,这与现实是一致的,一个人可以在同一部门中担任多种职务,而且担任相同职务的可能不止一人。角色可以划分成不同的等级,通过角色等级关系来反映一个组织的职权和责任关系,这种关系具有反身性、传递性和非对称性特点,通过继承行为形成了一个偏序关系,比如MngMNTchMNStud MN。,一般步骤: (所有者、管理员和用户三方参与,体现职责分离)所有者决定给角色分配特权,给用户分配角色管理员代表所有者统一创建角色和功能管理员创建用户ID并赋予权限,2.4 基于任务的访问控制,基于任务的访问控制(task-based authorization control,TBAC)是一种新的安全模型,从应用和企业层角度来解决安全问题,而非已往从系统的角度。它采用“面向任务”的观点,从任务(活动)的角度来建立安全模型和实现安全机制,在任务处理的过程中提供动态实时的安全管理。在TBAC中,对象的访问权限控制并不是静止不变的,而是随着执行任务的上下文环境发生变化,这是我们称其为主动安全模型的原因。,TBAC特点:它是在工作流的环境考虑对信息的保护问题。在工作流环境中,每一步对数据的处理都与以前的处理相关,相应的访问控制也是这样,因而TBAC是一种上下文相关的访问控制模型。它不仅能对不同工作流实行不同的访问控制策略,而且还能对同一工作流的不同任务实例实行不同的访问控制策略。这是“基于任务”的含义,所以TBAC又是一种基于实例(instance-based)的访问控制模型。 因为任务都有时效性,所以在基于任务的访问控制中,用户对于授予他的权限的使用也是有时效性的。,通过授权步的动态权限管理,TBAC支持两个著名的安全控制原则: 最小特权原则:在执行任务时只给用户分配所需的权限,未执行任务或任务终止后用户不再拥有所分配的权限;而且在执行任务过程中,当某一权限不再使用时,授权步自动将该权限回收。 职责分离原则:有时,一些敏感的任务需要不同的用户执行,如支票处理流程中准备支票和提交支票的职员必须不同。这可通过授权步之间的互斥依赖实现。,3 访问控制实现,访问控制矩阵访问控制列表访问控制能力表访问控制安全标签列表,访问控制矩阵,任何访问控制策略最终均可被模型化为访问矩阵形式:行对应于用户,列对应于目标,每个矩阵元素规定了相应的用户对应于相应的目标被准予的访问许可、实施行为。我们在这里举个例子说明一下,如下图所示:,访问控制列表,访问控制列表(access control lists,ACLs)是实现访问控制矩阵的一种流行的方法。每一个客体与一个ACL相连,表示了能访问该客体的主体以及访问权限。这种方法实质上就是按列的方式实现访问控制矩阵。下图是上图的访问控制列表实现:,访问控制能力表,权利列表(Capability lists)是与访问控制列表对偶的方法。每一个主体与一个权利列表相连,表示了所有该主体能访问的客体以及访问权限。这种方法实质上就是按行的方式实现访问控制矩阵。下图是前图的权利列表实现:,访问控制安全标签列表,安全标签是限制和附属在主体或客体上的一组安全属性信息。安全标签的含义比能力更为广泛和严格,因为它实际上还建立了一个严格的安全等级集合。访问控制标签列表(ACSLLs: Access Control Security Labels Lists)是限定一个用户对一个客体目标访问的安全属性集合。访问控制标签列表的实现示例见图4.7,左侧为用户对应的安全级别,右侧为文件系统对应的安全级别。假设请求访问的用户UserA的安全级别为S,那么UserA请求访问文件File2时,由于SC,所以允许访问。,4 TCSEC,4.1 TCSEC简介4.2 D类保护等级4.3 C类保护等级4.4 B类保护等级4.4 A类保护等级,4.1 TCSEC简介,1985年由美国国防部正式公布了DOD5200.28-STD可信计算机系统评估准则(TCSEC,也称桔皮书)TCSEC作为军用标准,提出了美国在军用信息技术安全性方面的要求,所提出的要求主要是针对没有外部连接的多用户操作系统在TCSEC中,美国国防部按处理信息的等级和应采用的响应措施,将计算机安全从高到低分为:A、B、C、D四类八个级别,共27条评估准则。每一级要求涵盖安全策略、责任、保证、文档四个方面。随着安全等级的提高,系统的可信度随之增加,风险逐渐减少。,4.2 D类保护等级,D类是最低保护等级,即无保护级 为那些经过评估,但不满足较高评估等级要求的系统设计的,只具有一个级别 该类是指不符合要求的那些系统,因此,这种系统不能在多用户环境下处理敏感信息,4.3 C类保护等级,C类为自主保护级具有一定的保护能力,采用的措施是自主访问控制和审计跟踪 一般只适用于具有一定等级的多用户环境具有对主体责任及其动作审计的能力,C类分为两个级别自主安全保护级(C1级)它具有多种形式的控制能力,对用户实施访问控制为用户提供可行的手段,保护用户和用户组信息,避免其他用户对数据的非法读写与破坏C1级的系统适用于处理同一敏感级别数据的多用户环境 C1级TCB通过隔离用户与数据,使用户具备自主安全保护的能力控制访问保护级(C2级)C2级计算机系统比C1级具有更细粒度的自主访问控制C2级通过注册过程控制、审计安全相关事件以及资源隔离,使单个用户为其行为负责,4.4 B类保护等级,B类为强制保护级 主要要求是TCB应维护完整的安全标记,并在此基础上执行一系列强制访问控制规则B类系统中的主要数据结构必须携带敏感标记系统的开发者还应为TCB提供安全策略模型以及TCB规约应提供证据证明访问监控器得到了正确的实施,B类分为三个类别标记安全保护级(B1级):B1级系统要求具有C2级系统的所有特性 在此基础上,还应提供安全策略模型的非形式化描述、数据标记以及命名主体和客体的强制访问控制并消除测试中发现的所有缺陷,结构化保护级(B2级)在B2级系统中,TCB建立于一个明确定义并文档化形式化安全策略模型之上要求将B1级系统中建立的自主和强制访问控制扩展到所有的主体与客体在此基础上,应对隐蔽信道进行分析TCB应结构化为关键保护元素和非关键保护元素,TCB接口必须明确定义,其设计与实现应能够经受更充分的测试和更完善的审查鉴别机制应得到加强,提供可信设施管理以支持系统管理员和操作员的职能提供严格的配置管理控制B2级系统应具备相当的抗渗透能力,隐蔽信道,安全区域保护级(B3级)在B3级系统中,TCB必须满足访问监控器需求访问监控器对所有主体对客体的访问进行仲裁访问监控器本身是抗篡改的访问监控器足够小访问监控器能够分析和测试B3级系统支持:安全管理员职能扩充审计机制当发生与安全相关的事件时,发出信号提供系统恢复机制系统具有很高的抗渗透能力,4.5 A类保护等级,A类为验证保护级A类的特点是使用形式化的安全验证方法,保证系统的自主和强制安全控制措施能够有效地保护系统中存储和处理的秘密信息或其他敏感信息为证明TCB满足设计、开发及实现等各个方面的安全要求,系统应提供丰富的文档信息,A类分为两个类别验证设计级(A1级)A1级系统在功能上和B3级系统是相同的,没有增加体系结构特性和策略要求最显著的特点是,要求用形式化设计规范和验证方法来对系统进行分析,确保TCB按设计要求实现从本质上说,这种保证是发展的,它从一个安全策略的形式化模型和设计的形式化高层规约(FTLS)开始,针对A1级系统设计验证,有5种独立于特定规约语言或验证方法的重要准则:安全策略的形式化模型必须得到明确标识并文档化,提供该模型与其公理一致以及能够对安全策略提供足够支持的数学证明 应提供形式化的高层规约,包括TCB功能的抽象定义、用于隔离执行域的硬件/固件机制的抽象定义应通过形式化的技术(如果可能的化)和非形式化的技术证明TCB的形式化高层规约(FTLS)与模型是一致的,通过非形式化的方法证明TCB的实现(硬件、固件、软件)与形式化的高层规约(FTLS)是一致的。应证明FTLS的元素与TCB的元素是一致的,FTLS应表达用于满足安全策略的一致的保护机制,这些保护机制的元素应映射到TCB的要素应使用形式化的方法标识并分析隐蔽信道,非形式化的方法可以用来标识时间隐蔽信道,必须对系统中存在的隐蔽信道进行解释,A1级系统:要求更严格的配置管理要求建立系统安全分发的程序支持系统安全管理员的职能,超A1级超A1级在A1级基础上增加的许多安全措施超出了目前的技术发展随着更多、更好的分析技术的出现,本级系统的要求才会变的更加明确今后,形式化的验证方法将应用到源码一级,并且时间隐蔽信道将得到全面的分析 在这一级,设计环境将变的更重要形式化高层规约的分析将对测试提供帮助TCB开发中使用的工具的正确性及TCB运行的软硬件功能的正确性将得到更多的关注,超A1级系统涉及的范围包括:系统体系结构安全测试形式化规约与验证可信设计环境等,5 小结,内容小结:什么是访问控制强制访问控制和自主访问控制信息系统安全分级问题:分析国标GB17859-1999,Thank You !,