面向访问过程的动态访问控制模型研究
2022-05-09胡文瑜陈金波
胡文瑜,陈金波*
(1.福建工程学院 计算机科学与数学学院,福建 福州 350118;2.福建省大数据挖掘与应用技术重点实验室,福建 福州 350118)
0 引 言
随着信息技术的普及,内部信息安全威胁成为了信息安全领域中亟需解决的难题之一[1]。企业或组织内部员工在取得权限的情况下非法获取企业或组织机密信息后将信息泄露给他人以牟取利益,给企业或组织带来巨大的损失[2-4]。
访问控制技术是解决内部信息泄露的信息安全策略之一,基于角色的访问控制技术(RBAC)是现阶段比较成熟的访问控制技术[5]。然而基于角色的访问控制技术存在安全隐患,它的主要工作原理是根据用户主体拥有的角色授予用户主体访问应用客体的相应权限[6]。一旦用户主体取得相应的权限之后,无论是进行合法操作还是非法操作,基于角色的访问控制技术都将束手无策,无法在用户访问过程中对用户权限实时调整[7-8]。
在实际的工作中,泄露机密信息的往往是那些通过访问控制模块获得一定权限的内部人员。由于后续的访问应用或功能过程没有实时进行监督,某些内部人员因为禁不住利益诱惑便会铤而走险窃取组织或企业的机密信息来换取非法利益。在信息泄露事件发生之后虽然可以通过日志审计技术追查到造成信息泄露的人员,但却无法弥补已经造成的损失,并且从信息泄露到追查到信息泄露的根源这个过程中存在很长的时间跨度。如果把信息安全防护过程分为前中后三个阶段的话,访问控制技术属于防护过程的前期阶段,日志审计属于防护过程的后期阶段,并且是处于被动的防护阶段。至于中期阶段的防护却时常被忽略,而这一阶段恰巧是防止信息泄露效果最显著的阶段。
针对上述问题,在面向访问过程的动态访问控制技术方面进行了探索,着眼于解决中期阶段的信息安全防护薄弱的问题,该文提出了一个面向访问过程的动态访问控制模型─APODAC。该模型首先建立基于用户角色和业务逻辑的用户基础行为序列,接着对正在进行访问的用户实时采集其访问行为序列,该序列信息代表了一段时间内用户的活动状态。然后采用模糊推理器对已经得到的用户序列模糊变量进行模糊推理从而得到模糊用户风险程度。最后根据模糊用户风险程度对用户的权限进行访问过程中的动态调整。
1 相关研究
信息安全领域中有关访问控制的研究方兴未艾,1997年Coyne等人提出了“角色工程”(Role Engineering)的定义[9],开始对用户进行了基于角色的分类,为后面人们基于角色的访问控制的研究奠定了坚实的基础。
文献[10]提出了一种基于语义技术的访问控制方法,实现了对软件用户的动态授权。该文献是根据软件用户上下文来动态确定软件用户对资源的访问权限;文献[11-14]通过动态授予用户访问权限来增强现有的访问控制模型,如RBAC模型。文献[15]提出了一种角色动态调整算法(Role Dynamic Adjusting,RDA),该算法能够实现调整目标系统的角色集,为抵御内部威胁奠定了基础;文献[16]提出了一种基于区块链多链架构的能源数据访问控制方法,利用区块链技术实现了保护用户隐私的同时对能源数据细粒度的访问控制;文献[17]提出了一种基于信任度的属性访问控制模型(TM-ABAC),该模型实现了对访问请求中的各类属性进行信任度评估,根据评估结果动态调整控制策略;文献[18]提出了基于信任度的多级动态访问控制模型,该模型采用信任度对用户权限进行调整,避免了权限滥用;文献[19]提出的RABAC模型相比于传统的访问控制模型有动态授权、细粒度访问控制等优点;文献[20]采用区块链技术提高了访问控制模型的安全性,并且基于用户信用度来实现访问控制的动态性;文献[21]提出了一种基于分类身份认证架构的权限管理体系,并基于数字证书设计并实现了联盟区块链内各类设施之间的连接策略,构建了基本的底层连接框架。其次,针对新节点在加入联盟区块链时面临的数据同步问题,设计并实现了一种基于区块链数据完整性校验的数据同步机制,并用节点服务质量控制机制保证同步性能,通过实验表明该实现具有良好的可用性。
上述文献所提的访问控制模型或算法都具有实际的应用价值和研究意义。该文提出的面向访问过程的动态访问控制模型能较好地解决在访问过程中无法对权限动态调整的问题。
2 APODAC模型
2.1 RBAC模型简述
在基于角色的访问控制模型(RBAC模型)中用户U的权限P是根据用户所属的角色R来确定的,而角色则是系统管理员在最初就设定好的,因此在访问过程中用户所拥有的权限是不变的。
为了实现用户访问过程中的权限动态调整,该文在RBAC模型的基础上增加了根据用户风险级别对用户权限进行调整的一个环节。
2.2 APODAC模型基本元素定义
APODAC模型是基于RBAC模型改进的,图1给出了APODAC模型具体的关系图。将模糊Sr序列满足程度(FS)、模糊STmax偏离程度(FD)、模糊SFmax一致程度(FC)输入到模糊推理器,从而推理出模糊用户风险等级,然后系统根据模糊用户风险等级对用户的权限进行动态调整,权限调增的上限为用户基于角色获取的所有权限。
图1 APODAC模型
APODAC模型基本元素的定义如下:
定义1:用户是指获得授权的合法用户。合法用户集记作U,U集合元素用u表示。
定义2:角色是根据用户对系统应用或功能的需求特点对用户进行的分类。用户角色集记作R,R集合的元素用字母r表示,R与U是多对多的映射关系。
定义3:客体是指系统对其进行访问控制的对象,诸如应用或功能等。客体集记作OB,OB集合元素用ob表示。
定义4:操作是指U对OB发生的动作,操作集记作OP,OP集合的元素用op表示。
定义5:权限是指合法用户对特定系统资源的使用权利,可以表示为OB×OP,即表示为客体和操作的二元关系。权限集记作P,P集合中的元素用p表示。
定义6:用户风险等级指对用户行为进行评估之后得出的一个参数。用户风险等级集合用UR(user risk)表示,UR集合中的元素用ur表示。
定义7:模糊Sr序列满足程度(FS)是指用户的实时访问序列与用户基础序列的契合程度。
定义8:模糊STmax偏离程度(FD)是指从用户实时序列中提取的时间最长的元素组成的新序列与从用户基础序列中提取的时间最长的元素组成的新序列两者之间的偏离程度。
定义9:模糊SFmax一致程度(FC)是指从用户实时序列中提取的出现频率最高的元素组成的新序列与从用户基础序列中提取的出现频率最高的元素组成的新序列两者之间的一致程度。
2.3 APODAC模型约束
APODAC模型中的约束是至关重要的,通过约束可以提高模型的动态授权能力,提高模型的可用性。模型只有在约束允许的范围内对用户的权限进行动态调整,如不满足约束条件,模型对权限的动态调整则被禁止。APODAC模型定义了权限依赖约束(PDC)、最大权限约束(MPC)这2条约束。
定义10:权限依赖约束(PDC)是指APODAC模型中一项权限的授予或禁用必须以另一项权限的授予或禁用为前提条件。PDC可以表示成一个三元组(P1,P2,PDC),∃P1∈P,∃P2∈P,P1依赖于P2,则PDC约束可以表示成:
(P1,P2)∈PDC∧(P1=Authorised)⟹P2=
Authorised
或者:
(P1,P2)∈PDC∧(P2=Disabled)⟹P1=
Disabled
定义11:最大权限约束(MPC)是指APODAC模型中U调增的权限不能超过PMax。其中,PMax为合法用户在基于角色的基础上获得的所有权限集合。MPC可以表示成一个三元组(p,num,PMax),其中p表示授予的权限,num表示授予权限的项数,PMax表示U可以拥有的最大权限项数。∃p∈P,则MPC约束可以表示成:
P.num≤PMax⊆P⟹P=Authorised
2.4 用户行为序列
在对用户进行风险等级评估之前需要建立基于角色和业务逻辑的用户行为规则库。具体的步骤如下:
①对每个应用或功能进行标记,采用A1,A2,…,An等大写字母表示。
②基于用户角色和业务逻辑给出用户基础行为序列Sb。设Sb的长度为m,且m≥1。
③按用户访问应用或功能的先后顺序记录访问时长大于设定阈值的实时序列Sr,即可表述为:
∀Ai∈Sb,TAi≥Tl
其中设定的时间阈值为Tl,用户对Ai实际的访问时长记为TAi。
④提取出Sr中访问时间最长的元素组成一个新的序列STmax。
⑤提取出Sr中访问频率最高的一个元素组成一个新的序列SFmax。
⑥得到用户的行为序列:
S=(Sb,Sr,STmax,SFmax)
设某业务应用系统共有N个应用或功能。若用户的初始序列为Si:
Si=((A1,14),(A3,9),(A4,468),(A2,7),(A1,6),(A3,632),(A1,22))
其中数字代表用户在某个应用停留的时长,则用户行为序列的构建示例如图2所示。
图2 用户行为序列构建示例
2.5 用户风险等级评估
APODAC模型通过模糊推理器来实现对用户风险等级的评估,模糊推理器具体架构如图3所示。
图3 模糊推理器架构
模糊推理器的三个输入变量分别为:模糊Sr序列满足程度(FS)、模糊STmax偏离程度(FD)、模糊SFmax一致程度(FC)。RM为模糊推理机,下面给出RM的实现过程,其中涉及到的有关模糊数学的相关知识请参考文献[22],文中不再赘述。
首先对FS、FD、FC、UR定义不同的模糊变量,具体的定义方式如表1至表4所示。
表1 FS模糊变量
表2 FD模糊变量
表3 FC模糊变量
表4 UR模糊变量
以上不同模糊变量的取值以自由组合的方式可以生成多条模糊用户风险等级评估规则,如表5所示。
表5 模糊用户风险等级评估规则
续表5
其中规则库中UR的确定是通过对FS、FD、FC采用加权平均数计算得到的,具体的权重比例可以根据实际情况来分配。表5中共有3*3*3=27条模糊用户风险等级评估规则,例如,该表中第一条规则表示:如果某用户的FS为非常满足,FD为基本不偏离并且FC为完全一致则该用户评估为低风险用户的可能性很大。
根据表5给出的模糊用户风险等级评估规则库可以将模糊推理机RM构造出来。设i为用户等级规则库中的规则数,由模糊数学的知识可知RM是FS、FD、FC、UR上的一个模糊关系,于是可以得到RM,即:
RM=Ul(FS×FD×FC×UR)
若采用常用的最小推理机,则可以进一步简化问题,最小推理机的有关知识可以参考文献[23]。若给定一组输入FSi、FDj、FCk,则可以得到模糊用户风险等级URx,即:
URx=(FSi,FDj,FCk)•RM
最后,对U的P进行重要程度(IM)划分并设置允许获得权限的用户风险等级最低阈值(URmin),重要程度则分为非常重要(AIM)、重要(BIM)、一般重要(CIM),具体划分如表6所示。
表6 权限重要程度划分表
为简便起见,表6只列出5项权限,例如,由表6可知A的重要程度为BIM,意味着只有风险等级为中风险等级以下的用户才能拥有此项权限。
2.6 动态授权算法
根据上文给出的URmin,若某用户的风险等级为URx,基于角色拥有的权限集合为Pr,系统所有权限依据重要程度分为PAIM、PBIM、PCIM,则动态授权算法如下:
Input:URx,Pr
Output:T(授予权限),F(收回权限)
Grant(URx,Pr)
(PAIM,PBIM,PCIM)⟸Pr//将用户基于角色的权限进行分类
if URx≥URmin(PAIM) //用户风险等级比拥有权限PAIM的风险等级高
if URmin(PAIM)≥URmin(PBIM)and URmin(PAIM)←URmin(PCIM) //PBIM、PCIM部分依赖于PAIM
returnFPAIM,FPBIM,FPCIM//根据PDC约束,收回PAIM以及PBIM、PCIM中的部分权限
else if URmin(PAIM)←URmin(PBIM)or URmin(PAIM)←URmin(PCIM)
returnFPAIM,FPBIMor returnFPAIM,FPCIM//根据PDC约束,收回PAIM以及PBIM或PCIM中的部分权限
else if URx≤URmin(PAIM)
andP.num≤PMax
returnTAIM
3 应用实例
相较于APODAC模型,RBAC模型完全依赖用户拥有的角色进行授权,而不对用户行为进行评估,APODAC模型能够对用户拥有的权限动态调整。本节将通过某生物实验室管理系统来验证APODAC模型的动态授权能力。该系统的应用、权限、角色及用户设定如表7~表10所示。
表7 应用/功能设定
表8 权限设定
表9 角色设定
表10 用户设定
若U2是一名安全管理员,9:00AM的时候该用户登录到系统,系统根据U2的角色给他分配了人员管理、日志查询这两个权限。然而在9:30AM的时候,系统将U2的实时访问序列Sr进行处理得到STmax、SFmax两个序列,然后将其与Sb逐一比对得到FS、FD、FC三个模糊变量,将这三个模糊变量输入到模糊推理器中得出U2的风险等级为BUR。根据U2的风险等级以及表8的权限设定可知U2不允许拥有P5权限,系统会将U2的权限强制收回。收回权限的时候系统确认P4和P5不存在依赖关系,则没有强制收回P4权限。
4 结束语
在RBAC模型的基础上提出了APODAC模型,该模型注重于解决访问过程中的动态访问控制的问题,提高了信息安全防护的有效性和实时性。但是所提的模型和方法还存在需要进一步研究的地方,具体如下:
(1)研究通过序列模式挖掘的方法对用户行为进行分析。
(2)研究如何提高APODAC模型对用户风险等级的评估准确度。