《保障与安全访问控制.ppt》由会员分享,可在线阅读,更多相关《保障与安全访问控制.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信息保障与安全 12 访问控制2/27/20231访问控制的目的访问控制的目的 访问控制的目的是为了限制访问主访问控制的目的是为了限制访问主体(用户、进程等)对访问客体(文件、体(用户、进程等)对访问客体(文件、系统等)的访问权限,从而使计算机系系统等)的访问权限,从而使计算机系统在合法范围内使用。它决定用户能做统在合法范围内使用。它决定用户能做什么,也决定代表一定用户利益的程序什么,也决定代表一定用户利益的程序能做什么。能做什么。2/27/20232 James P.Anderson在1972年提出的参考监视器(The Reference Monitor)的概念是经典安全模型(如图12-1所
2、示)的最初雏形。在这里,参考监视器是个抽象的概念,可以说是安全机制的代名词。2/27/20233图12-1 经典安全模型 2/27/20234经典安全模型包含如下基本要素:(1)明确定义的主体和客体;(2)描述主体如何访问客体的一个授权数据库;(3)约束主体对客体访问尝试的参考监视器;(4)识别和验证主体和客体的可信子系统;(5)审计参考监视器活动的审计子系统。2/27/20235 可以看出,这里为了实现计算机系统安全所采取的基本安全措施,即安全机制有身份认证、访问控制和审计。通常,我们用图12-2来表示这三者之间的关系。从该示意图可以看出,参考监视器是主体/角色对客体进行访问的桥梁,身份识别
3、与验证,即身份认证是主体/角色获得访问授权的第一步,这也是早期黑客入侵系统的突破口。2/27/20236图12-2 安全机制2/27/20237 访问控制是在主体身份得到认证后,根据安全策略对主体行为进行限制的机制和手段。审计作为一种安全机制,它在主体访问客体的整个过程中都发挥着作用,为安全分析提供了有利的证据支持。它贯穿于身份认证、访问控制的前前后后。同时,身份认证、访问控制为审计的正确性提供保障。它们之间是互为制约、相互促进的。访问控制技术并不能取代身份认证,它是建立在身份认证基础上的。身份认证解决“你是谁,你是否真的是你所声称的身份”访问控制解决的是“你能做什么,你有什么样的权限”2/2
4、7/20238 12.1 基本概念在访问控制中:主主体体(subject):是指必须被控制对客体的访问的活动资源,它是访问的发起者,通常为进程、程序或用户。客客体体(object):被访问的对象,客体一般包括可供访问的各种软硬件资源,如文件、设备、信号量等。授授权权(Authorization):资源所有者对他人使用资源的许可。访问控制中的第三个元素是保保护护规规则则,它定义了主体与客体之间可能的相互作用途径。2/27/20239 12.1 基本概念 访访问问控控制制(Access Control)是指对主体访问客体的权限或能力的限制,以及限制进入物理区域(出入控制)和限制使用计算机系统和计算
5、机存储数据的过程(存取控制)。基本目标:基本目标:防止对任何资源(如计算资源、通信资源或信息资源)进行未授权的访问。从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。未授权的访问包括:未经授权的使用、泄露、修改、销毁信息以及颁发指令等。非法用户进入系统。合法用户对系统资源的非法使用。2/27/202310 首先引入保护域的概念。每一主体(进程)都在一特定的保护域下工作,保护域规定了进程可以访问的资源。每一域定义了一组客体及可以对客体采取的操作。可对客体操作的能力称为访访问问权权(Access Right),访问权定义为有序对的形式。一个域是访问权的集合。
6、如域X有访问权,则在域X下运行的进程可对文件A执行读写,但不能执行任何其它的操作。保护域并不是彼此独立的。它们可以有交叉,即它们可以共享权限。如图12-3所示,域X和域Y对打印机都有写的权限,从而产生了访问权交叉现象。2/27/202311图12-3 有重叠的保护域2/27/202312 主体(进程)在某一特定时刻可以访问的实体(软件,硬件)的集合称为客体。根据系统复杂度不同,客体可以是静态的,即在进程生命周期中保持不变,或是动态改变的。为使进程对自身或他人可能造成的危害最小,最好在所有时间里进程都运行在最小客体下。2/27/202313如何决定访问权限用户分类资源资源及使用访问规则2/27/
7、202314用户的分类(1)特殊的用户:系统管理员,具有最高级别的特权,可以访问任何资源,并具有任何类型的访问操作能力。(2)一般的用户:最大的一类用户,他们的访问操作受到一定限制,由系统管理员分配。(3)作审计的用户:负责整个安全系统范围内的安全控制与资源使用情况的审计。(4)作废的用户:被系统拒绝的用户。2/27/202315资源 系统内需要保护的是系统资源:磁盘与磁带卷标 远程终端 信息管理系统的事务处理及其应用 数据库中的数据 应用资源2/27/202316资源和使用 对需要保护的资源定义一个访问控制包(Access control packet),包括:资源名及拥有者的标识符 缺省访
8、问权 用户、用户组的特权明细表 允许资源的拥有者对其添加新的可用数据的操作 审计数据2/27/202317访问规则 规定了若干条件,在这些条件下,可准许访问一个资源。规则使用户与资源配对,指定该用户可在该文件上执行哪些操作,如只读、不许执行或不许访问。由系统管理人员来应用这些规则,由硬件或软件的安全内核部分负责实施。2/27/202318 访问控制策略 系统中存取文件或访问信息的一整套严密安全的规则。通过不同方式建立:OS固有的,管理员或用户制定的。访问控制机制(Access Control Mechanisms):在信息系统中,为检测和防止未授权访问,以及为使授权访问正确进行所设计的硬件或软
9、件功能、操作规程、管理规程和它们的各种组合。是访问控制策略的软硬件低层实现。访问控制机制与策略独立,可允许安全机制的重用。2/27/202319 根据访问控制策略的不同,访问控制一般分为自主访问控制、强制访问控制、基于角色的访问控制三种。自主访问控制自主访问控制是目前计算机系统中实现最多的访问控制机制,它是根据访问者的身份和授权来决定访问模式的。强制访问控制强制访问控制是将主体和客体分级,然后根据主体和客体的级别标记来决定访问模式。“强制”主要体现在系统强制主体服从访问控制策略上。基于角色的访问控制基于角色的访问控制的基本思想是:授权给用户的访问权限通常由用户在一个组织中担当的角色来确定。它根
10、据用户在组织内所处的角色作出访问授权和控制,但用户不能自主地将访问权限传给他人。这一点是基于角色访问控制和自主访问这一点是基于角色访问控制和自主访问控制的最基本区别。控制的最基本区别。2/27/202320 12.2 自主访问控制 自主访问控制自主访问控制又称任意访问控制(Discretionary Access Control,DAC),是指根据主体身份或者主体所属组的身份或者二者的结合,对客体访问进行限制的一种方法。它是访问控制措施中最常用的一种方法,这种访问控制方法允许用户可以自主地在系统中规定谁可以存取它的资源实体,即用户(包括用户程序和用户进程)可选择同其它用户一起共享某个文件。2/
11、27/202321所谓自主,是指具有授与某种访问权力的主体(用户)能够自己决定是否将访问权限授予其它的主体。安全操作系统需要具备的特征之一就是自主访问控制,它基于对主体及主体所属的主体组的识别来限制对客体的存取。在大多数的操作系统中,自主访问控制的客体不仅仅是文件,还包括邮箱、通信信道、终端设备等。2/27/202322 存取许可与存取模式是自主访问控制机制中的两个重要概念,决定着能否正确理解对客体的控制和对客体的存取。存存取取许许可可是一种权力,即存取许可能够允许主体修改客体的访问控制表,因此可以利用存取许可实现自主访问控制机制的控制。在自主访问控制方式中,有等级型、拥有型和自由型三种控制模
12、式。存存取取模模式式是经过存取许可的确定后,对客体进行的各种不同的存取操作。存取许可的作用在于定义或改变存取模式;存取模式的作用是规定主体对客体可以进行何种形式的存取操作。2/27/202323 在各种以自主访问控制机制进行访问控制的系统中,存取模式主要有:读(read),即允许主体对客体进行读和拷贝的操作;写(write),即允许主体写入或修改信息,包括扩展、压缩及删除等;执行(execute),就是允许将客体作为一种可执行文件运行,在一些系统中该模式还需要同时拥有读模式;空模式(null),即主体对客体不具有任何的存取权。2/27/202324 在许多操作系统当中,对文件或者目录的访问控制
13、是通过把各种用户分成三类来实施的:属主(self)、同组的其它用户(group)和其它用户(public)。每个文件或者目录都同几个称为文件许可(File Permissions)的控制比特位相关联。各个文件许可位的含义通常如图12-4所示。2/27/202325图12-4 self/group/public访问控制2/27/202326 自主访问控制的具体实施可采用以下四种方法。1)目录表(Directory List)在目录表访问控制方法中借用了系统对文件的目录管理机制,为每一个欲实施访问操作的主体,建立一个能被其访问的“客体目录表(文件目录表)”。例如某个主体的客体目录表可能为客体1:权
14、限客体2:权限客体i:权限客体j:权限客体n:权限2/27/202327 客体目录表中各个客体的访问权限的修改只能由该客体的合法属主确定,不允许其它任何用户在客体目录表中进行写操作,否则将可能出现对客体访问权的伪造。因此,操作系统必须在客体的拥有者控制下维护所有的客体目录。目录表访问控制机制的优点是容易实现,每个主体拥有一张客体目录表,这样主体能访问的客体及权限就一目了然了,依据该表对主体和客体的访问与被访问进行监督比较简便。2/27/202328 缺点之一是系统开销、浪费较大,这是由于每个用户都有一张目录表,如果某个客体允许所有用户访问,则将给每个用户逐一填写文件目录表,因此会造成系统额外开
15、销;二是由于这种机制允许客体属主用户对访问权限实施传递并可多次进行,造成同一文件可能有多个属主的情形,各属主每次传递的访问权限也难以相同,甚至可能会把客体改用别名,因此使得能越权访问的用户大量存在,在管理上繁乱易错。2/27/202329 2)访问控制列表(Access Control List)访问控制列表的策略正好与目录表访问控制相反,它是从客体角度进行设置的、面向客体的访问控制。每个客体有一个访问控制列表,用来说明有权访问该客体的所有主体及其访问权限,如图 12-5所 示。图 中 说 明 了 不 同 主 体 对 客 体(PAYROLL文件)的访问权限。其中,PAYROLL的访问控制列表如
16、下:2/27/202330图12-5 访问控制列表的DAC2/27/202331 其中,john和jane表示用户的注册ID;acct和pay表示用户所属的组ID;r和w表示所允许的访问类型。如果john属于acct组,则他只能阅读文件;如果他不属于任何组,则缺省情况下他没有任何访问权限。类似的,如果jane属于pay组,则她可以阅读和修改文件。2/27/202332 访问控制列表通常还支持统配符,从而可以制定更一般的访问规则。例如,我们可以制定:表示任何组当中的任何用户都可以读文件。也可以制定如下规则:表示只有文件的属主()才能读和写文件。2/27/202333 访问控制列表方式的最大优点就
17、是能较好地解决多个主体访问一个客体的问题,不会像目录表访问控制那样因授权繁乱而出现越权访问。缺点是由于访问控制列表需占用存储空间,并且由于各个客体的长度不同而出现存放空间碎片,造成浪费;每个客体被访问时都需要对访问控制列表从头到尾扫描一遍,影响系统运行速度和浪费了存储空间。2/27/202334 3)访问控制矩阵(Access Control Matrix)访问控制矩阵是对上述两种方法的综合。存取控制矩阵模型是用状态和状态转换进行定义的,系统和状态用矩阵表示,状态的转换则用命令来进行描述。直观地看,访问控制矩阵是一张表格,每行代表一个用户(即主体),每列代表一个存取目标(即客体),表中纵横对应
18、的项是该用户对该存取客体的访问权集合(权集)。图12-6是访问控制矩阵原理的简单示意图。2/27/202335图12-6 访问控制矩阵原理示意图2/27/202336 抽象地说,系统的访问控制矩阵表示了系统的一种保护状态,如果系统中用户发生了变化,访问对象发生了变化,或者某一用户对某个对象的访问权限发生了变化,都可以看作是系统的保护状态发生了变化。由于访问控制矩阵模型只规定了系统状态的迁移必须有规则,而没有规定是什么规则,因此该模型的灵活性很大,但却给系统埋下了潜在的安全隐患。2/27/202337 4)能力表(Capability List)能力表是访问控制矩阵的另一种表示方式。在访问控制矩
19、阵表中可以看到,矩阵中存在一些空项(空集),这意味着有的用户对一些客体不具有任何访问或存取的权力,显然保存这些空集没有意义。能力表的方法是对存取矩阵的改进,它将矩阵的每一列作为一个客体而形成一个存取表。每个存取表只由主体、权集组成,无空集出现。为了实现完善的自主访问控制系统,由访问控制矩阵提供的信息必须以某种形式保存在系统中,这种形式就是用访问控制表和能力表来实施的。2/27/202338 自主访问控制面临的最大问题是:在自主访问控制中,具有某种访问权的主体能够自行决定将其访问权直接或间接地转交给其它主体。自主访问控制的特点是允许系统的用户对于属于自己的客体,按照自己的意愿,允许或者禁止其它用
20、户访问。在基于DAC的系统中,主体的拥有者负责设置访问权限。也就是说,主体拥有者对访问的控制有一定权利。但正是这种权利使得信息在移动过程中,其访问权限关系会被改变。如用户A可以将其对客体目标O的访问权限传递给用户B,从而使不具备对O访问权限的B也可以访问O,这样做很容易产生安全漏洞,所以自主访问控制的安全级别很低。2/27/202339 12.3 强制访问控制 强制访问控制强制访问控制(Mandatory Access Control,MAC)是根据客体中信息的敏感标签和访问敏感信息的主体的访问等级,对客体的访问实行限制的一种方法。它主要用于保护那些处理特别敏感数据(例如,政府保密信息或企业敏
21、感数据)的系统。在强制访问控制中,用户的权限和客体的安全属性都是固定的,由系统决定一个用户对某个客体能否进行访问。所谓“强制”,就是安全属性由系统管理员人为设置,或由操作系统自动地按照严格的安全策略与规则进行设置,用户和他们的进程不能修改这些属性。2/27/202340 所谓“强制访问控制”,是指访问发生前,系统通过比较主体和客体的安全属性来决定主体能否以他所希望的模式访问一个客体。强制访问控制的实质是对系统当中所有的客体 和 所 有 的 主 体 分 配 敏 感 标 签(Sensitivity Label)。用户的敏感标签指定了该用户的敏感等级或者信任等级,也被称为安全许可(Clearance
22、);而文件的敏感标签则说明了要访问该文件的用户所必须具备的信任等级。敏感标签 sensitivity label:表示客体安全级别并描述客体数据敏感性的一组信息。2/27/202341强制访问控制就是利用敏感标签来确定谁可以访问系统中的特定信息的。贴标签和强制访问控制可以实现多级安全策略(Multi-level Security Policy)。这种策略可以在单个计算机系统中处理不同安全等级的信息。只要系统支持强制访问控制,那么系统中的每个客体和主体都有一个敏感标签同它相关联。敏感标签由两个部分组成:类别(Classification)和类集合(Compartments)(有时也称为隔离间)。
23、例如:2/27/202342SECRET VENUS,TANK,ALPHAClassification Categories2/27/202343 类别是单一的、层次结构的。在军用安全模型(基于美国国防部的多级安全策略)中,有四种不同的等级:绝密级(Top Secret)、机密级(Secret)、秘密级(Confidential)及普通级(Unclassified),其级别为TSCU。类集合或者隔离间是非层次的,表示了系统当中信息的不同区域。类当中可以包含任意数量的项。在军事环境下,类集合可以是:情报、坦克、潜艇、秘密行动组等。2/27/202344 在强制访问控制系统当中,控制系统之间的信息
24、输入和输出是非常重要的。MAC系统有大量的规则用于数据输入和输出。2/27/202345 在MAC系统当中,所有的访问决策都是由系统作出,而不像自由访问控制当中由用户自行决定。对某个客体是否允许访问的决策将由以下三个因素决定:(1)主体的标签,即你的安全许可:TOP SECRET VENUS TANK ALPHA (2)客体的标签,例如文件LOGISTIC的敏感标签如下:SECRET VENUS ALPHA (3)访问请求,例如你试图读该文件。2/27/202346 当你试图访问LOGISTIC文件时,系统会比较你的安全许可和文件的标签从而决定是否允许你读该文件。图12-7显示了强制访问控制是
25、如何工作的。2/27/202347图12-7 强制访问控制2/27/202348 基本上,强制访问控制系统根据如下判断准则来确定读和写规则:只有当主体的敏感等级高于或等于客体的等级时,访问才是允许的,否则将拒绝访问。根据主体和客体的敏感等级和读写关系可以有以下四种组合:(1)下读(Read Down):主体级别大于客体级别的读操作;(2)上写(Write Up):主体级别低于客体级别的写操作;(3)下写(Write Down):主体级别大于客体级别的写操作;(4)上读(Read Up):主体级别低于客体级别的读操作。2/27/202349 这些读写方式保证了信息流的单向性。显然,上读下写方式只
26、能保证数据的完整性,而上写下读方式则保证了信息的安全性,也是多级安全系统必须实现的。以图12-7为例,客体LOGISTIC文件的敏感标签为SECRET VENUS ALPHA,主体Jane的敏感标签为SECRET ALPHA。虽然主体的敏感等级满足上述读写规则,但是由于主体Jane的类集合当中没有VENUS,所以不能读此文件,而写则允许,因为客体LOGISTIC的敏感等级不低于主体Jane的敏感等级,写了以后不会降低敏感等级。2/27/202350 强制访问控制机制的特点主要有:一是强制性,这是强制访问控制的突出特点,除了代表系统的管理员以外,任何主体、客体都不能直接或间接地改变它们的安全属性
27、。二是限制性,即系统通过比较主体和客体的安全属性来决定主体能否以它所希望的模式访问一个客体,这种无法回避的比较限制,将防止某些非法入侵,同时,也不可避免地要对用户自己的客体施加一些严格的限制。2/27/202351 12.4 基于角色的访问控制 基于角色的访问控制(Role-Based Access Control,RBAC)的核心思想就是:授权给用户的访问权限通常由用户在一个组织中担当的角色来确定,如图12-8所示。在RBAC中,引入了“角色”这一重要的概念,所谓“角色”,是指一个或一群用户在组织内可执行的操作的集合。这里的角色就充当着主体(用户)和客体之间的关系的桥梁。这是与传统的访问控制
28、策略的最大区别所在。2/27/202352图12-8 基于角色的访问控制2/27/202353一个基于角色的访问控制的实例 在银行环境中,用户角色可以定义为出纳员、分行管理者、顾客、系统管理者和审计员 访问控制策略的一个例子如下:(1)允许一个出纳员修改顾客的帐号记录(包括存款和取款、转帐等),并允许查询所有帐号的注册项(2)允许一个分行管理者修改顾客的帐号记录(包括存款和取款,但不包括规定的资金数目的范围)并允许查询所有帐号的注册项,也允许创建和终止帐号(3)允许一个顾客只询问他自己的帐号的注册项(4)允许系统的管理者询问系统的注册项和开关系统,但不允许读或修改用户的帐号信息(5)允许一个审
29、计员读系统中的任何数据,但不允许修改任何事情2/27/202354Core RBAC 包括五个基本数据元素:用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)关系:多对多,用户被分配一定角色,角色被分配一定的许可权 会话sessions:是用户与激活的角色集合之间的映射2/27/202355角色关系 偏序关系(partial orders)自反(reflexive)传递(transitive)反对称(anti-symmetric)2/27/202356 基于角色的访问控制有以下五
30、个特点。1)以角色作为访问控制的主体 用户以什么样的角色对资源进行访问,决定了用户拥有的权限以及可执行何种操作。2)角色继承 为了提高效率,避免相同权限的重复设置,RBAC采用了“角色继承”的概念,定义的各类角色,它们都有自己的属性,但可能还继承其它角色的属性和权限。角色继承把角色组织起来,能够很自然地反映组织内部人员之间的职权、责任关系。2/27/202357 角色继承可以用祖先关系来表示,如图12-9所示,角色2是角色1的“父亲”,它包含角色1的属性和权限。在角色继承关系图中,处于最上面的角色拥有最大的访问权限,越下端的角色拥有的权限越小。2/27/202358图12-9 角色继承2/27
31、/202359 3)最 小 特 权 原 则(Least Privilege Theorem)最小特权原则是系统安全中最基本的原则之一。所谓最小特权,是指“在完成某种操作时所赋予网络中每个主体(用户或进程)的必不可少的特权”。最小特权原则则是指“应限定网络中每个主体所必须的最小特权,确保由于可能的事故、错误、网络部件的篡改等原因造成的损失最小”。换句话说,最小特权原则是指用户所拥有的权利不能超过他执行工作时所需的权限。2/27/202360 实现最小权限原则,需分清用户的工作内容,确定执行该项工作的最小权限集,然后将用户限制在这些权限范围之内。在RBAC中,可以根据组织内的规章制度、职员的分工等
32、设计拥有不同权限的角色,只有角色执行所需要的才授权给角色。当一个主体需访问某资源时,如果该操作不在主体当前所扮演的角色授权操作之内,该访问将被拒绝。最小特权原则一方面给予主体“必不可少”的特权,这就保证了所有的主体都能在所赋予的特权之下完成所需要完成的任务或操作;另一方面,它只给予主体“必不可少”的特权,这就限制了每个主体所能进行的操作。2/27/202361 职员的分工等设计拥有不同权限的角色,只有角色执行所需要的才授权给角色。当一个主体需访问某资源时,如果该操作不在主体当前所扮演的角色授权操作之内,该访问将被拒绝。最小特权原则一方面给予主体“必不可少”的特权,这就保证了所有的主体都能在所赋
33、予的特权之下完成所需要完成的任务或操作;另一方面,它只给予主体“必不可少”的特权,这就限制了每个主体所能进行的操作。2/27/202362 最小特权原则要求每个用户和程序在操作时应当使用尽可能少的特权,而角色允许主体以参与某特定工作所需要的最小特权去控制(Sign)系统。特别是被授权拥有高特权角色(Powerful Roles)的主体,不需要动辄使用到其所有的特权,只有在那些特权有实际需求时,主体才会运用它们。如此一来,可减少由于无意的错误或是入侵者假装合法主体所造成的安全事故。另外它还减少了特权程序之间潜在的相互作用,从而尽量避免对特权无意的、没必要的或不适当的使用。这种机制还可以用于计算机
34、程序:只有程序中需要特权的代码才能拥有特权。2/27/202363 4)职责分离(主体与角色的分离)对于某些特定的操作集,某一个角色或用户不可能同时独立地完成所有这些操作。“职责分离”可以有静态和动态两种实现方式。静态职责分离:只有当一个角色与用户所属的其它角色彼此不互斥时,这个角色才能授权给该用户。动态职责分离:只有当一个角色与一主体的任何一个当前活跃角色都不互斥时,该角色才能成为该主体的另一个活跃角色。2/27/202364 5)角色容量 在创建新的角色时,要指定角色的容量。在一个特定的时间段内,有一些角色只能由一定人数的用户占用。基于角色的访问控制是根据用户在系统里表现的活动性质而定的,
35、这种活动性质表明用户充当了一定的角色。用户访问系统时,系统必须先检查用户的角色,一个用户可以充当多个角色,一个角色也可以由多个用户担任。2/27/202365 基于角色的访问控制机制有几个优点:便于授权管理、便于根据工作需要分级、便于赋于最小特权、便于任务分担、便于文件分级管理、便于大规模实现。基于角色的访问控制是一种有效而灵活的安全措施,目前仍处在深入研究之中。2/27/202366 12.5 总结 访问控制作为安全防御措施的一个重要环节,其作用是举足轻重的。自主访问控制机制虽然有着很大的灵活性,但同时也存在着安全隐患;强制访问控制机制虽然大大提高了安全性,但是在灵活性上就会大打折扣。这两种传统的访问控制机制存在的问题使得访问控制的研究向着新的方向发展,基于角色的访问控制机制就是在这种形势下的产物,它克服了传统的访问控制机制的不足,是一种有效而灵活的安全策略,它是未来访问控制的发展趋势。2/27/202367访问控制策略分为几类,各有何特点。2/27/202368