实现行为监控的多级访问控制模型

2018-10-22 01:48:44董玉蓉王鹏程
现代计算机 2018年25期
关键词:安全级别访问控制范畴

董玉蓉,王鹏程

(1.河西学院信息技术与传媒学院,张掖 734000;2.中国联通张掖市分公司,张掖 734000)

0 引言

访问控制技术是公认的确保系统和数据安全共享的重要手段之一[1],一直处于安全系统的核心地位。传统的基于角色的访问控制是通过定义用户所有的授权规则来实现的,从角色的角度进行权限的划分易造成过度授权的问题[1],从效率和准确性两方面来说也不是理想的方式[2]。利用相关实体的属性作为授权基础来实现访问控制,很好地解决了行业分布式应用的可信关系,而且通过构造用户权限和数据权限的复合组合控制方式,提高了敏感数据的安全性[3]。文献[4]在ABAC模型的基础上结合多级安全策略[5]提出了基于用户访问行为的AMAC模型,实现了对云计算环境中的多级安全访问。并基于Rushby提出的信息流不干扰理论,证明了AMAC模型中多级访问控制策略的安全性。文献[6]从分析云计算用户的工作习惯与任务完成时间期望值在时间轴上的变化规律出发,建立用户行为特征信息表,从而预测出不同时间片内用户的任务提交规律以及用户期望完成时间,动态调整云计算环境中的资源分配策略。针对用户随时、随地访问产生的安全属性动态伸缩调整需求,文献[7]结合ABAC机制和BLP模型,对行为进行安全级别细化,并通过行为映射函数获取安全属性,提出了响应的安全规则,为授权策略的动态调整提供了支撑。文献[8]在文献[7]研究的基础上,针对传统访问控制技术中用户行为和角色不确定带来的安全隐患,通过用户角色树将用户的信誉与服务访问授权进行映射,提出了一种基于动态授权机制的自适应云访问控制方法,能够在一定程度上保证信息的机密性和完整性。

大数据背景下的访问控制不仅要考虑数据的安全,还要考虑由数据的隐私保护问题[2]。在分布式信息系统中,保障单个信息的机密性不能确保整个系统的机密性。在多级安全访问控制模型中,客体的安全等级可以分为多级,客体又可以按照内容或主题的不同被分为多种类别或划分在不同的范畴。实际应用中,一个安全级别内的客体又由多个属于不同类别或范畴的客体组成,而不同的安全级别会对应不同的访问范畴。主体安全级别越高,能够访问的客体安全等级越高,访问范畴也越大。

理想的状态下,主体的某一访问操作具有针性,即访问的客体是明确的。当主体的访问行为级别符合客体的某一安全等级,他就有权访问这个安全等级下且在主体访问范畴内的任意客体。若一个主体的访问操作没有明确的目标或有特殊目的时,他能够访问允许其访问的所有客体,通过访问他能够获取更多的信息。而这些信息的数量大大超过了有明确访问目标的普通用户,这类访问行为被称为过度访问。用户获取的信息量越大,系统的隐私信息泄露的风险就越大。本文中将具有过度访问行为的用户称为恶意用户。而在实际应用中,内部用户一直都是信息泄露的头号威胁[5]。因此,保障信息系统的机密性,不仅要保障信息的机密性,还要对内部用户的过度访问行为进行约束和监控。

使用风险阈值来对访问行为进行判定是访问控制有效的手段之一。为了能够更好地保护信息系统的机密性,本文在文献[8]模型的基础上,允许用户先进行访问,并使用主体访问所获得的信息量量化风险。通过比较风险值与风险阈值判定用户的行为类别,来实现对访问行为的动态监控,达到保障整个信息系统敏感信息不被泄露的目的。

1 相关概念

为了能更好地描述访问控制模型,本文将信息系统的使用者抽象为主体,将操作对象抽象为客体,主体对客体的访问操作抽象为行为,对整个信息系统的保密性进行研究。下面对基于行为监控的多级安全访问模型中的基本元素进行定义。

主体:系统内资源的使用者。根据用户访问行为的特征,分为普通用户和恶意用户。两种用户对应的主体分别为普通主体和恶意主体。主体集合记为S,单个主体用si表示。

客体:信息系统内包含的所有资源,能被主体访问。客体集合记为O,单个客体用oj表示。

会话:主体通过会话向系统提出访问客体的请求,包括访问主体信息si、客体信息oj、操作类型。

属性:属性用来描述主体和客体的特征。主体和客体拥有多个属性,每个属性又有多个属性值。主体属性包括用户名、安全级别、访问范畴等;一个主体的一个属性有且仅有一个取值。客体属性包括客体名、安全等级、所属类别等;一个客体的一个属性有且仅有一个取值。其中主体的安全级别、访问范畴被称为主体安全属性;客体安全等级、所属类别被称为客体安全属性。

行为:主体在当前环境中能够对客体进行的操作,行为集合记为A。主体的访问行为由主体安全属性、客体安全属性、会话发出的时间、环境来约束。为了能够更好地实现行为监控,进行风险管理时,按照风险阈值的不同,行为被分为安全行为、低危行为、高危行为三种。

2 基于行为监控的多级访问控制模型

本模型在访问控制实现过程中,沿用原模型对主体属性到行为属性的映射,结合客体的安全等级为主体确定操作权限。改进之处是在访问过程中将主体访问行为获得的信息熵作为风险值,并通过风险阈值建立行为与访问等级、访问范畴之间对应关系,实现对主体行为的实时监控。

对于系统而言,无法事先确定用户属于哪一类用户,因此本文中的模型允许用户先进行访问,并在以下两个假设的基础上进行研究。两个假设表明用户已经获得系统允许能够对客体进行访问操作。

假设1初始化

用户初始化:用户在系统注册时,系统依据安全需求,为该用户进行了角色划分、安全属性赋值与初始化,对应的主体记si,其初始化属性为Init(si)=(ID(si),role,linit,acinit)。其中ID(si)为用户在系统内的标识属性,role为主体的角色属性,linit与acinit是主体si的安全级别和访问范畴。

数据资源初始化:依据系统安全需求对数据资源进行初始化,为其进行安全属性赋值与初始化,对应的客体记为oj,其属性为Init(oj)=(ID(oj),lj,ck),其中ID(oj)为客体在系统内的标识属性,lj与ck表示客体oj的安全等级和类别标识。

假设2用户访问授权

系统对用户访问的授权是以主体初始化信息为基础。用户在成功登录系统后,发送访问请求req(si,[an,oj)],其中an∈A表示操作类型。系统接受到访问请求之后,结合主体属性、请求发送的时态、环境、客体属性,获取主体行为属性信息,且通过查找权限分配表后允许主体的访问请求。

2.1风险量化

量化风险需要确定一个基准值作为阈值,用来确定主体的访问行为是否产生了风险。确定风险阈值也就是设置2类主体(普通用户和恶意用户)访问行为产生信息量的分界值,并能通过分界值来区分2类用户和三种访问行为。若2类用户访问客体的产生的信息熵分别服从2个具有不同均值的正态分布,那么全体用户产生的信息熵就是一个混合的正态分布。

在访问进行的过程中,通过分析用户在一段时间内的行为和选择访问客体的类别来考察用户的行为以确定风险。由假设可知,恶意用户不论是在访问行为还是访问客体的选择上,与普通用户相比更加多样化,即混乱程度高于普通用户,因此可以使用信息熵对风险进行量化。熵值越高,说明该用户获得敏感信息的风险越大。

风险值即访问主体的行为对系统主体内敏感信息泄露的风险程度,用risk来表示,其值的大小主要受访问主体行为、客体类别等因素的影响,取值为risk∈[0,1]。

在主体访问系统资源的同时,系统会对主体的访问行为进行记录并分析计算出风险值。主体的访问记录是一个三元组记为Op(si,aj,ck),表示访问主体si对所属某一类别客体进行的一次操作,其中aj为主体的行为,且aj∈Ai(Ai表示主体si一段时间内访问行为的集合),ck表示某一类别的客体,ck∈C(C为安全类别集合,包含主体的访问范畴和客体所属类别)。用fsi(aj,ck)表示访问主体si的行为aj下类别标签为ck的客体出现的次数,通过该次数能够计算出si访问的不同客体类别ck的概率

其中cb表示si能够访问的类别标签集合。

基于信息熵进行计算可以得出主体si在某一时间段内访问行为aj下得到的信息量。

通过调用系统存储的近似访问记录能够计算出近似访问产生的平均量的值。

IS(aj)表示近似记录中包含的所有主体S的信息量总和,N(S)表示主体数量。通过比较主体si的信息量和S的平均信息量,就可以得到在相同时间内、相同的访问行为aj下信息量的差值,即风险值。

在系统中,需要周期性地对所有主体的aj访问行为进行计算,就可以得到aj行为产生风险值和风险阈值ϖaj。

当恶意主体访问的客体产生的信息量过多时,行为的风险值就会增加。风险阈值也为下一步进行的风险管理提供了依据。

2.2风险管理与行为监控

为了能够实施有效的访问控制,系统会在初始化时根据用户的个人信息为每位用户设置安全等级和访问范畴。用户的每次访问都会造成一定的风险,这些风险会影响用户的安全等级和访问范畴。风险阈值表示系统对每个访问主体行为的容忍程度,使用风险阈值能够对主体访问行为进行准确判断。为了使得行为判断更合理,本文将主体的行为级别分为安全级别、低危级别和高危级别。

风险阈值与用户行为安全等级和访问范畴之间存在对应关系,如下表1所示。

表1 风险阈值、安全等级、访问范畴关系表

依据上表中描述的对应关系,可以判定不同时刻主体的行为等级,并计算出该行为等级对应的主体安全级别和访问范畴。当ϖaj>0时,主体当前行为风险值低于行为平均风险值,则该行为为安全操作,主体安全等级和访问范畴均为初始化值;当ϖaj=0时,行为风险值等于行为平均风险值时为低危操作,主体的安全等级,访问范畴时,行为风险值高于行为平均风险值,为高危操作,主体的安全等级

每次访问结束时,系统会计算出新的安全等级和访问范畴,新的安全属性值会成为用户下次登录系统时的初始安全属性值。若在访问过程中,主体行为风险值高于风险阈值时,系统判定该行为是高危操作,即系统认为该主体的访问行为会对系统的机密性造成威胁,系统会终止主体访问行为,将其强制退出登录,并将其访问范畴归0。若该用户仍想登录系统进行访问操作,必须先向管理员提出申请,重新获得访问范畴。

3 模型分析

将风险引入访问控制模型一直是实现访问控制自动化和自适应性的一种主要方法。风险的引入也更好地保障了信息系统的机密性、动态性和行为监控的合理性。

3.1机密性

本文模型符合BLP模型的安全特性,是在基于行为的多级安全访问控制模型的基础上增加了风险值的引入,能有效地防止低安全级别的用户对高安全等级客体的访问,保障了单个客体的机密性。通过对主体访问客体行为进行动态监控,降低了由主体访问客体类别过多带来的隐私信息泄露的风险,保障了整个信息系统的机密性。

3.2动态性

在大数据环境下,主体的安全属性和客体的安全属性都会随着时态、环境的变化发生改变。用户初始化时,系统管理员很难做到准确设置用户角色、划分用户安全级别和访问范畴,这会导致恶意用户由于级别高、范畴大带来的隐私信息泄露的问题。利用风险对访问能力进行动态调整,能弥补系统管理员在进行角色划分时考虑不全面的缺陷。根据主体行为所处的级别,调整用户的安全级别和访问范畴,达到动态的修改其访问能力的目的。主体的访问行为由系统动态监控,能够更好地满足分布式环境下复杂的访问需求,保障有效的访问控制。

3.3合理性

由本模型的动态性可知,主体的每次访问都会产生一定的风险,这些风险会影响主体的安全等级和访问范畴,即会影响主体的当次和下一次的访问操作。本模型中,风险阈值的计算依据了历史访问记录中的近似访问数据,即将普通用户的历史访问记录产生的信息量近似视为先验分布。相比于恶意用户,普通用户的访问有明确的目标性,因此历史记录中普通用户访问客体获得的信息量较低,这也为区分三种行为提供了依据,使得风险管理对用户行为的监控更加合理。

4 结语

本文中的模型是在已有的基于行为的多级访问控制模型基础上引入了风险值,在主体的访问过程中,对访问行为进行动态监控。在风险阈值的设置上依据不同主体的访问行为产生的信息熵为参考,能够准确地判断用户行为类型,做到对用户行为进行合理的实时监控。通过引入风险值进行行为监控,能够在原模型保证单个客体机密性和完整性的基础上保障了整个系统的机密性。相比原模型,本文提出的模型具备更好的合理性和动态性,更能适应开放、动态、多变的云环境。

猜你喜欢
安全级别访问控制范畴
批评话语分析的论辩范畴研究
基于Packet tracer防火墙的基本配置仿真实验的设计与实现
软件(2021年2期)2021-08-19 20:55:32
正合范畴中的复形、余挠对及粘合
Clean-正合和Clean-导出范畴
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
通信学报(2016年11期)2016-08-16 03:20:32
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
解除脚本限制导致的163邮箱无法登录
电脑迷(2015年7期)2015-05-30 04:50:35
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia