1、1目录(Contents)001010访问控制的基本概念011访问控制策略模型100访问控制机制计算机安全形式化模型访问控制(Access Control)在身份认证的基础上,依据授权对提出的资源访问请求加以控制。对机密性、完整性起直接作用;是针对越权使用资源的防御措施访问控制策略模型:自主访问控制(Discretionary Access Control,DAC):等保1-2级强制型访问控制(Mandatory Access Control,MAC):等保3级及以上基于角色的访问控制(Role-Based Access Control,RBAC)基于属性的访问控制(Attribute-Bas
2、ed Access Control,ABAC)2访问控制基本概念自主访问控制模型是指一个实体可以被授权按照自己的意志使另一个实体能够访问某些资源基于用户身份,应用最广泛。用户可以设置访问控制机制来许可或拒绝对客体的访问,也称基于身份的访问控制如主流OS(Windows,UNIX系统)、防火墙(ACLs)由Lampson、Graham和Denning等开发访问控制矩阵模型是其典型模型和实现框架3访问控制策略模型DAC4访问控制的类型DAC主体(Subject,O):所有被保护实体的集合,如数据、文件等主体(Subject,S):所有活动对象的集合,如进程、用户等访问权限(Access Right
3、,R):所有权限类型,如读、写、执行等O/S之间的关系用带有权限的矩阵A描述矩阵中的元素as,o代表主体s对于客体o具有的权限5访问控制矩阵(AccessControlMatrix)模型File1File2File3User1rwrrwoUser2rwxorUser3rxrwow进程(process):访问权限包括删除、中止、阻塞和唤醒进程的能力设备(device):访问权限包括读写设备、设备控制和加解锁的能力存取单元(memory):访问权限包括读写存储区域中某些受到保护从而在默认状态下不允许被访问单元的能力主体(subject):对主体的访问权或授予/删除该主体对其他客体的访问权限的能力6
4、DAC模型实例主体S1主体S2主体S3文件F1文件F2进程P1进程P2磁盘D1主体S1控制拥有拥有控制读读拥有唤醒唤醒拥有主体S2控制写执行查找主体S3控制写终止强制型访问控制(MAC):主体与客体都被标记了固定的安全属性(如安全级、访问权限等),在每次访问时,系统检测安全属性以便确定一个主体是否有权访问该客体。基于授权,与身份无关。系统机制控制对客体的访问,用户不能改变这种控制,也称为基于规则的访问控制LSM(LinuxSecurityModule)SELinux(Security-EnhancedLinux):通过LSM框架被集成到Linux内核SEAndroid(2012)7访问控制的类
5、型MAC用户:可以独立访问计算机系统中的数据或者用数据表示的其他资源的主体角色:组织或任务中的工作或者位置,代表了权利、资格和责任许可(特权):允许对一个或多个客体执行的操作 基本思想:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。许可被授权给角色,角色被授权给用户,用户不直接与许可关联。对访问权限的授权由管理员统一管理,用户不能自主地将访问权限传给他人8基于角色访问控制(RBAC)用户、角色、许可的关系 一个用户可经授权而拥有多个角色一个角色可由多个用户构成每个角色可拥有多种许可每个许可也可授权给多个不同的角色每个操作可施加于多个客体(受控对象)每个客体也可以接受多个操作 9
6、基于角色访问控制(RBAC)用户角色操作客体许可角色继承:角色有自己的属性,但可能还继承其他角色的许可。角色继承可以用祖先关系来表示。角色2是角色1的“父亲”,它包含角色1的许可 10基于角色访问控制(RBAC)心脏病专家风湿病专家21专家医生护士角色激活用户是静态的,会话是动态的会话是用户的一个活跃进程,代表用户与系统交互用户与会话是一对多关系,一个用户可同时打开多个会话一个会话构成一个用户到多个角色的映射,即会话激活了用户授权角色集的某个子集,这个子集称为活跃角色集。活跃角色集决定了本次会话的许可集 11基于角色访问控制(RBAC)角色限制:包括角色互斥与角色基数限制对于某些特定的操作集,
7、某一个用户不可能同时独立地完成所有这些操作角色互斥有静态和动态两种:p静态角色互斥:只有当一个角色与用户所属的其他角色彼此不互斥时,这个角色才能授权给该用户p动态角色互斥:只有当一个角色与一主体的任何一个当前活跃角色都不互斥时,该角色才能成为该主体的另一个活跃角色角色基数限制:在创建角色时,要指定角色基数p在一个特定的时间段内,有一些角色只能由一定人数的用户占用12基于角色访问控制(RBAC)RBACRBAC描述复杂的安全策略1.通过角色定义、分配和设置适应安全策略2.通过角色分层映射组织结构 3.容易实现最小特权原则 4.能够满足职责分离原则5.岗位上的用户数通过角色基数约束 13基于角色访
8、问控制(RBAC)14基于角色访问控制(RBAC)USERSROLESOBJECTSOPERATIONSPERMISSIONS角色/许可分配用户/角色分配会话管理模块定义角色关系系统管理模块RBAC数据库与各模块的对应关系会话RBACRBAC系统的运行步骤 用户登录时向认证模块发送用户标识、口令,确证用户身份会话管理模块从RBACRBAC数据库检索用户的授权角色集并送回用户用户选择本次会话的活跃角色集,在此过程中会话管理模块维持动态角色互斥会话创建成功,本次会话的授权许可体现在菜单与按扭上,如不可用显示为灰色会话过程中,系统管理员若要更改角色或许可,可在此会话结束后进行或终止此会话立即进行15
9、基于角色访问控制(RBAC)ABAC模型能够定义表达资源和主体两者属性条件的授权优势:灵活性和表达能力最大的障碍:每次的属性评价对系统性能的影响对于诸如Web服务和云计算的综合应用而言,每次访问所增加的性能损失相对于本已相当高的性能代价而言微不足道主要包括三个要素:属性:为实体定义,包括:主体、客体和环境属性策略模型:定义ABAC的策略架构模型:应用于实施访问控制的策略16基于属性的访问控制ABAC17基于属性的访问控制ABAC购票票类型型允允许购票用票用户的条件的条件全票(全票(full)18岁及以上半票(半票(half)学生(student)免票(免票(zero)身高低于140cm18基于
10、属性的访问控制ABAC提出访问请求后,由访问控制策略进行控制19ABAC架构模型1.提出“资源访问请求”2.提出“访问请求判决”3.提出“属性访问请求”4.属性信息返回5.提出“策略访问请求”6.策略规则返回7.返回访问请求判决结果8.发送资源访问许可9.客体响应访问请求10.主体完成访问20ABAC控制原理常见的访问控制机制包括访问控制列表ACL能力表锁与钥匙保护环21访问控制机制22访问控制列表File1File2File3User1rwrrwoUser2rwxorUser3rxrwow例:Linux文件权限每个文件属于一个用户(u)和一个组(g),由UID,GID标示具体权限(读(r,4
11、)、写(w,2)、执行(x,1))23访问控制列表实例drwxr-xr-x文件类型:d(目录)、l(符号链接)、c(字符设备文件)、b(块设备文件)、p(pipe管道)、s(socket套接字)文件所有者(u)权限其他用户(o)权限文件组用户(g)权限例:Linux文件的特殊权限s或S(suid):可执行文件启用此权限后可以获得该文件所有者的权限s或S(sgid):可执行文件获得文件所在组的权限t或T(Stickybit):通常用于目录,如/tmp或/var/tmp目录。如果在权限为777的目录/tmp设置粘滞位,则具有写权限的每个用户都可以在该目录下创建文件,但每个用户只能删除自己创建的文件
12、特殊权限占用x标志位置,大小写有区分小写:同时开启执行权限和相应的suid、sgid或者stickybit大写:未开启执行权限,仅设置suid、sgid或者stickybit24访问控制矩阵模型Linux文件权限设置命令chmod&umask25访问控制矩阵模型umask设置用户创建文件的默认权限,与chmod相反,umask设置的是权限“补码”对于文件,umask的最 大值是6。系统不允许在创建一个文件时就赋予执行权限,必须在创建后用chmod命令增加这一权限目录则允许设置执行权限,umask中最大可以到726能力表File1File2File3User1rwrrwoUser2rwxorUs
13、er3rxrwow27锁与钥匙给已授权的用户、程序和进程以一定访问权,并按给定的方式操作在最内层具有最小环号的环具有最高特权,而在最外层具有最大环号的环是最小特权环0环:一般操作系统应包含的基本部分,如最底层的内存管理支持,0环软件对系统具有全能的权力1环:虚拟设备驱动程序2环:内核和用户模型3环:运行应用程序28保护环复杂的软件系统最终都会暴露缺陷或错误,构建一个不易于遭受各种安全攻击的的计算机系统是一件非常困难的事情开发一种在逻辑或数学上证明设计确实满足一组规定的安全要求且其实现能够确保遵循设计规范的方法设计可以用来验证安全设计与实现的计算机安全形式化模型:涉及机密性的Bell-LaPad
14、ula(BLP)模型涉及完整性的Biba模型29计算机安全形式化模型保密性分类形式是按照线性排列的安全许可,代表了敏感等级。安全许可越高,信息就越敏感数据和用户被划分为以下安全等级公开(Unclassified)受限(Restricted)秘密(Confidential)机密(Secret)高密(Top Secret)每一个主体都有一个安全许可。当我们同时指主体的许可和客体的密级时,用术语“密级”30保密性分类形式31机密性安全策略Bell-LaPadula模型(BLP)不上读/不下写保证保密性32机密性安全策略Bell-LaPadula模型客体允许写允许读禁止读允许读Top Secret主体
15、SecretUnclassifiedTop SecretSecretUnclassified允许写禁止写Top Secret主体SecretUnclassifiedTop Secret客体SecretUnclassified例:防火墙实现的单向访问机制不允许敏感数据从内部网络(安全级别为“机密”)流向Internet(安全级别为“公开”)提供“不上读”功能来阻止Internet对内部网络的访问 提供“不下写”功能来限制进入内部的数据流,只能经由由内向外发起的连接流入(例如,允许HTTP的GET操作而拒绝POST操作,或阻止任何外发的邮件)33机密性安全策略Bell-LaPadula模型系统包括
16、一个主体集合S,一个客体集合O和一个完整性等级集合I等级有序:高等级的数据比低等级的数据具备更高的精确性和可靠性隐含的融入了“信任”的概念。用“可信度”衡量完整性等级s S可以读取o O,当且仅当i(s)i(o)s S可以写入o O,当且仅当i(o)i(s)s1 S可以执行s2 S,当且仅当i(s2)i(s1)34完整性安全策略Biba模型不下读/不上写保证完整性 35完整性安全策略Biba模型允许写允许读允许读禁止读High integrityMedium integrityLow integrity禁止写允许写High integrityMedium integrityLow integr
17、ityHigh integrityMedium integrityLow integrityHigh integrityMedium integrityLow integrity例:对WEB服务器的访问过程Web服务器上发布的资源安全级别为“秘密”,Internet上用户的安全级别为“公开”,依照Biba模型,Web服务器上数据的完整性将得到保障 Internet上的用户只能读取服务器上的数据而不能更改它 36完整性安全策略Biba模型最小特权原则(Least Least PrivilegePrivilege):赋予每个主体(用户或进程)必不可少的特权 使用户拥有的权力不能超过他执行工作时所需
18、的权限p给予主体“必不可少”的特权,保证所有的主体都能在所赋予的特权之下完成所需要完成的任务或操作p只给予主体“必不可少”的特权,限制主体所能进行的操作 多人负责原则即授权分散化,对于关键任务必须在功能上进行划分,由多人来共同承担,保证没有任何个人具有完成任务的全部授权或信息如将责任分解使得没有一个人具有重要密钥的完全拷贝职责分离原则 将不同的责任分派给不同的人员以期达到互相牵制,消除一个人执行两项不相容的工作的风险 37访问控制的基本原则 访问控制策略模型:自主访问控制(Discretionary Access Control,DAC)强制型访问控制(Mandatory Access Control,MAC)基于角色的访问控制(Role-Based Access Control,RBAC)基于属性的访问控制(Attribute-Based Access Control,ABAC)计算机安全形式化模型机密性安全策略Bell-LaPadula模型完整性安全策略Biba模型访问控制的基本原则 38Summary感谢聆听感谢聆听BitSec(张立江)中国矿业大学 网络空间安全系39