APP下载

基于零信任的动态访问控制模型研究

2022-10-09张刘天陈丹伟

信息安全研究 2022年10期
关键词:访问控制度量阈值

张刘天 陈丹伟

(南京邮电大学计算机学院、软件学院、网络空间安全学院 南京 210023)

(midgar_zhang.nj@foxmail.com)

传统的对于资源的访问保护理念称为边界安全理念,主要通过划分安全区域,对不同的安全区域设置不同的安全要求,使得安全区域之间形成了网络边界,大部分安全设备都部署在网络边界处,包括防火墙、IPS、防毒墙、WAF等,对来自边界外部的各种攻击进行防范.一旦攻击者突破保护边界并进入内部网络,原有的网络安全保护措施将显得毫无用处.文献[1]中数据表明,超过30%的用户在不同的系统中使用相同的密码.一旦攻击者窃取用户账户密码,就可以轻松获得对系统和数据的访问权限,并窃取数据资源.而疫情使得移动办公的需求变得紧迫,大量的公司不得不让员工居家工作,因此要求办公人员在公司外部可以安全地访问内部资源.而传统的 VPN接入方式存在安全性差、效率和稳定性不够、扩展性差的特点以及内部资源暴露面扩大的问题.同时,随着云计算、物联网等新技术的出现,传统的网络边界逐渐变得模糊.为了应对疫情带来的办公模式的变化,亟需有更好的安全防护理念和解决思路.

在这种背景下,本文将零信任架构引入到移动办公体系中,提出了一种基于零信任的访问控制模型ZTBAC,并给出了一种零信任体系下移动办公的架构体系.访问控制模型依据持续的信任评估和安全感知进行身份验证,在访问主体和资源之间建立安全可靠的连接通道,实现访问动态安全可控,从而保证移动办公的安全性.该模型中访问主体不再是单一用户,而是由用户、设备和服务共同组成,并通过本文设计的信任度量体系对访问主体进行持续性的综合信任评估,同时依据最小权限原则,将信任与授权结合实现安全的动态访问控制.

1 零信任访问控制体系

访问控制机制可以使安全可信的访问主体获取到所需要的权限,任何多用户的系统都离不开对系统访问控制的需求,都需要解决实体鉴别、数据保密性、数据完整性等访问控制安全服务问题.而目前学术界对于现有环境下访问控制技术的研究已相当成熟,且安全策略的主流思想也主要集中在基于规则的安全策略,典型的有自主访问控制模型(DAC)以及基于身份的安全策略,如强制访问控制模型(MAC)、基于角色的访问控制模型(RBAC)等[2].此外,使用控制模型(UCON)通过对传统访问模型的扩展,能够适应更为开放更为动态的环境[3].同时,随着对信任的深入研究,部分学者开始将信任模型与主流的访问控制模式结合,例如Chakraborty等人[4]在RBAC模型的基础上提出了TrustBAC模型,该模型通过计算信任值为用户分发角色,提高了RBAC模型的动态性和监管性.2010年,由著名研究机构Forrester的首席分析师John Kindervag最早提出了零信任(zero trust)的理念[5],并由谷歌在BeyondCorp[6]项目中率先得到了应用.BeyondCorp是首个真正实现的零信任架构,谷歌按照零信任的理念对网络架构进行了重构,未充分考虑对现有网络的继承和重用[7].2020年8月,美国国家标准与技术研究院(NIST)[8]发布了零信任标准架构,给出了零信任的抽象访问模型(如图1所示).之后,2021年2月,美国国防部(DOD)[9]给出了零信任参考架构,意味着零信任建设正式成为美国国防部信息网络建设的一部分.2021年6月,中国电子工业标准化技术协会[10]发布了零信任系统技术规范,规定了用户访问资源、服务之间调用2种场景下零信任系统的功能规范与测试方式.2021年10月,国际电信标准组织ITU-T[11]正式发布由腾讯牵头的服务访问过程持续保护指南,标志着中国零信任技术实践走向世界范围.作为一种专注于资源保护并基于信任前提的网络安全范式,零信任体系中访问主体永远不会被隐式的单纯依据位置信息授予,而必须不断进行评估,根据综合信任值分配权限.同时依据最小权限的原则,可以有效防止内部的横向攻击。在零信任访问控制体系中,通过信任评估模型和算法,实现基于身份的信任评估能力,只有通过信任评估,访问控制系统才会授予访问主体操作权限.

图1 零信任模型

图2 ZTBAC访问控制模型

当用户或计算机需要访问企业资源时,通过策略决策点(PDP)和策略执行点(PEP)授予相应的访问权限.隐式信任区是指位于最小信任区域中的全部主体所具有的最后一个PEP/PDP的网关地址.例如,考虑机场中的旅客筛选模型.所有乘客都通过机场安全检查站(PDP/PEP)进入登机区,登机区即为隐式信任区.PDP/PEP 采用一系列的控制策略,使得所有通过检查点之后的通信流量都具有一个共同信任级别.PDP/PEP 不能对访问流量使用超出其位置的策略,其思想是显式地验证和授权企业的所有用户、设备、应用程序和工作流,所以零信任的本质是在访问主体和客体之间构建以身份为基石的动态可信访问控制体系,而零信任所需要具备的零信任安全的关键能力可以概括为以身份为基石、业务安全访问、持续信任评估和动态访问控制,与之相应的零信任所需要的主要逻辑组件如下:1)可信代理,也可以叫作策略执行点.可信代理是零信任架构的数据平面组件,通过动态访问控制引擎对访问主体进行认证,对访问主体的权限进行动态判定.同时,可信代理需要对所有的访问流量进行加密.而可信代理的具体产品形态在不同场景下具有较大差异,零信任网关是暴露在外部可被用户直接访问的系统,功能包括:对来访未经授权的请求进行认证授权转发,对已正确授权的请求进行资源访问转发;对禁止访问的请求进行拦截阻断,并且可以基于反向代理技术阻止请求主体向后访问[12].API网关形态或者可以简化为运行在服务环境的代理Agent模块等.2)动态访问控制引擎,包括策略引擎和策略管理点.策略引擎负责决定是否授予指定访问主体对资源的访问权限;策略管理点负责建立客户端与资源之间的逻辑连接通道.动态访问控制引擎和可信代理联动,对所有访问请求进行认证和动态授权是零信任架构控制平面的策略判定点.3)信任评估引擎.信任评估引擎是零信任架构中实现持续信任评估能力的核心组件,和动态访问控制引擎联动,为其提供信任等级评估作为授权判定依据.4)安全基础设施,包括安全分析设施以及身份管理设施.安全分析设施包括终端可信环境感知、持续威胁检测、态势感知等安全分析平台.身份管理设施包含身份管理和权限管理功能组件.通过这些外部风险源以及权限管理,可以对授权策略进行很好的细粒度的管理和跟踪分析[13].移动互联网、云计算、大数据是目前应用最为广泛的业务场景,因此结合移动办公的访问控制需求以及零信任理念,设计了更加安全的移动办公访问控制体系[14].

2 零信任访问控制体系构建

2.1 基于零信任的访问控制模型ZTBAC

本文提出了一种基于零信任理念的动态访问控制模型ZTBAC,如图2所示.通过给定权限阈值限制访问主体的权限范围,而权限阈值随着系统的运行会自动进行一定范围的调整.综合信任值是依据用户、设备、服务的独立信任值以及威胁行为因子4个维度进行计算的,每次发起访问前都需要对访问主体重新进行信任评估,通过ZTBAC模型可以实现动态的权限分配.

不同于RBAC和ABAC模型在ZTBAC中没有角色和属性的概念,取而代之的是每次会话中的访问主体,所有访问主体的权限仅在当前会话中有效,而权限获取的依据是访问主体的综合信任值以及各维度的独立信任值.

下面列举了ZTBAC模型授权过程中的各元素的定义:

1) 访问主体Sub.访问主体是由用户、设备以及服务三者共同构成的会话主体.

2) 资源Re.各类资源的集合,资源是访问主体Sub最终操作的对象.

3) 策略集Ps.由若干子策略构成的策略集合,访问主体依据策略集执行相关操作,每一次会话都会生成新的策略集.

4) 访问主体行为Op(S).是访问主体Sub可以对资源进行的各类操作的集合.

5) 权限P.权限由具体的访问资源Re和针对该资源具体的访问主体行为Op(S)构成.

6) 威胁行为D.由安全组件负责收集的危险操作以及来自外部环境的攻击行为.

7) 主体信任值T.包括访问主体的综合信任值T(S)、用户信任值T(u)、设备信任值T(d),由信任引擎计算得出,完整的信任度量体系在第3节给出.

8) 权限阈值Pt.访问主体Sub获取具体权限P所需要的最小信任值,由用户阈值P(u)、设备阈值P(d)及权限阈值P(A)组成,只有当访问主体的信任值T大于权限阈值Pt时才可以获取当前权限.权限阈值P(A)的大小在初始时设定,之后依据访问主体Sub的历史请求情况进行动态调整,使得访问主体Sub可以更准确地获取相应的权限P.

9) 授权A.当访问主体信任值T大于权限阈值Pt时,对访问主体Sub动态授权,使其可以对目标资源Re进行正常操作.

在ZTBAC模型中,访问主体Sub不是一直不变的,访问主体的权限P也不是一直有效的.在一次会话中,访问主体Sub1依据当前信任值T(S)获取相应的权限P1,当访问结束后,访问主体的信任值T(S)便不再可用,随之访问主体也不再拥有之前的权限P1,只有重新经过信任引擎评估,才可以重新获取到对应的权限P1.当访问主体的环境、设备等发生变化,从而使得信任值降低时,执行相同的请求将会被拒绝,从而实现细粒度的访问控制.

2.2 零信任下的访问控制架构

为了实现零信任访问控制模型的要求,本文基于移动办公场景给出了一种访问控制架构,可以很好地实现ZTBAC模型的访问控制功能,具体架构如图3所示.传统的移动办公通常是通过VPN连接内网进行,而在零信任架构下主体可以直接通过外网进行访问,从而实现远程办公[15].

图3 基于ZTBAC的移动办公架构

整个应用架构基于零信任访问控制设计,共分为以下7个模块:

1) 接入认证模块.零信任架构中对于主体(用户、设备以及服务)的访问请求,要求先认证后连接,因此首先需要对访问主体的身份进行认证.该模块具备本地账户管理、单点登录/登出验证、多因素认证等功能.

2) 应用支撑模块.该模块是移动办公的主要功能模块,其中包括2大系统:即时通信系统和协同办公系统.即时通信系统包括即时消息的发送接收、留言服务、在线音视频会议以及内部通信录存储等功能;协同办公系统主要负责提供在线办公,多人协作服务,包括文档共享、公文交换、事务处理、移动办公等,使公司各部门各级人员可以实现远程的信息共享、共同处理事务等功能.

3) 终端基础设施.主要包括数据库系统、设备白名单、用户身份信息等资源设施以及相应的管理设施,是认证依据的来源,同时也是访问的客体对象.

4) 信任计算模块.负责根据接入认证模块的信息以及安全态势感知系统的情报计算访问主体的综合信任值.

5) 持续态势感知模块.包括威胁情报收集服务和安全运营中心.威胁情报收集服务可以根据外部情报对访问主体进行辨别.安全运营中心包括安全信息和事件管理(SIEM)、扩展检测和响应(XDR)等系统对用户的信息进行综合评判,并将得到风险分析结果与综合威胁情报判别的结果共同发给信任计算模块以及策略控制模块.

6) 策略控制模块.负责访问控制,依据信任计算模块、持续安全态势感知、终端信息等对访问主体进行授权以及分发策略,若访问中出现风险操作可以随时切断主体的访问行为.

7) 网关/服务端代理.负责执行策略控制模块下发的策略,是已授权的访问主体直接访问的对象.

2.3 访问控制过程

各级用户进行移动办公时,系统将依据访问主体的信任值以及权限阈值进行细粒度的访问控制,具体的访问控制授权过程如图4所示:

图4 访问控制授权过程

1) 开始阶段.用户使用设备登入并请求移动办公服务,态势感知模块开始持续监测.

2) 接入认证阶段.接入认证模块首先依据用户以及设备的登录信息判断其是否在白名单内,若验证通过则继续获取访问请求信息,并将用户,设备及服务信息发送给信任计算模块,否则将当前登录信息发送到持续态势感知模块.

3) 计算综合信任值.当访问主体(用户、设备及服务)通过认证后,信任计算模块依据接入认证模块以及态势感知模块发来的信息计算访问主体的综合信任值作为授权的依据.当访问主体信任值大于权限阈值时,授予访问主体相应的权限.而一旦访问主体的信任值小于权限阈值时,将拒绝授权并将请求信息发送给态势感知模块.同时当累积的访问次数超过S后,将重新修改权限阈值.

4) 策略控制模块.依据信任计算模块的判决结果以及态势感知模块发送的安全信息进行策略的生成与分发.当态势感知模块检测到存在危险行为时,策略控制模块将直接结束当前访问,否则将动态生成访问控制策略.

5) 态势感知模块.由各种威胁情报收集服务以及风险行为感知服务构成,可以接收各个模块发送的行为信息并进行安全性分析,将评判结果同环境安全态势监测结果一并发送给策略控制模块.

6) 网关/服务端执行策略.负责执行策略控制模块分发的策略,实现访问控制功能.

7) 执行终端服务.为合法主体提供相应的资源.

整个移动办公体系架构依据4大主要模块完成访问控制工作,当用户发送移动办公服务请求时,依据信任值、权限阈值以及安全性分析对访问主体进行授权,可以很好地实现基于零信任的访问控制功能,为移动办公提供了保障.

3 信任值计算

在上文提出的移动办公控制架构中,访问主体的信任值以及权限的阈值是后续判断的依据,因此本文设计了一种信任值及阈值的动态计算方式.

3.1 访问主体的信任度量体系

图5 访问主体度量指标

通常所说的访问主体是用户个体,而在零信任结构中,访问主体由用户、设备以及服务三者共同构成,基于这个理念,访问主体的信任值包括用户信任值、设备信任值、服务请求信任值以及这三者的综合信任值,同时还需要考虑外部威胁情况对综合信任值进行调整,在此基础上本文给出ZTBAC模型的信任度量体系,如图5和图6所示:

图6 威胁行为指标

该体系对用户、设备、服务三者各自的度量指标进行分类,同时兼顾可能存在的威胁性行为,使得系统可以给出准确的信任值,并迅速拒绝危险请求,保证系统内部的安全.移动办公架构下的信任度量指标如下:

1) 用户.指用户个体,主要基于身份信息计算信任值,包括账户、密码、位置等.此外出于安全需求有时还需要进行加强认证,包括动态令牌、短信、扫码、token、人脸识别等方式中的1种或几种.

2) 设备.指用户发起访问请求的终端,设备信任值基于设备身份计算.在模型中每个设备应具有唯一标识符认证,可以由数字证书、网卡的MAC地址来表示,用于和内部的设备白名单进行匹配;同时,设备自身的安全信息也需要考虑在内,包括设备类型、杀毒防护组件检查、高危漏洞检查、当前进程检查、应用软件版本检查、操作系统版本检查等.由以上2部分共同决定设备的信任值.

3) 服务.服务指用户的访问请求状态,需要考虑网络信息,如:网速、IP、域名等;目标资源信息如目标端口、资源状态等;发起请求的行为信息如访问和请求时间等.综合三者共同计算出服务信任值.

4) 威胁行为.主要考虑外部威胁情报、安全日志审计以及对攻击行为进行监测,依据三者的安全情况对访问主体信任值进行及时调整.外部情报源主要由情报来源以及威胁等级表示,用于比对访问主体的安全状态.安全日志审计包括:导出、另存和删除审计日志;用户的创建、修改、删除与授权;其他系统参数配置和管理安全功能行为的操作,其中每一份日志应考虑事件发生的日期和时间;事件类型;事件主体身份标识;事件结果.持续攻击行为监测主要针对常见的攻击行为,包括扫描网络、账号爆破、远程注入等.

3.2 访问主体信任值计算

在所有基于信任的访问控制架构中,通常将信任计算分为:基于资源属性的信任算法、基于主体分值的信任算法以及单一信任算法和上下文信任算法.本文设计的信任算法是基于访问主体的信任值和权限阈值,当主体信任值满足权限阈值要求时,访问主体才可获得相应的访问权限.

3.2.1 滑动窗口机制

零信任理念要求对所有的访问主体默认为不信任,因此每当访问主体发起请求时需要重新计算当前信任值,这使得计算依据格外重要.本文引入滑动窗口机制用于保证计算数据的可靠性和时效性.计算信任值时只采用位于滑动窗口内的数据,忽略窗口外的数据,每交互1次,窗口移动1个单位,窗口内数据的权重大小也随之变化,直到离开窗口,失去参考价值.滑动窗口模型如图7所示:

图7 滑动窗口模型

式(1)为在此基础上给出的衰减函数,用于表示权重的变化.m表示窗口大小,s为访问主体历史记录和当前访问记录的距离,α为任意小正数,用于调节衰减范围.

(1)

3.2.2 惩罚机制

整个系统本身采取只减不增的模式对发生恶意行为的节点进行惩罚,一旦系统检测到非法操作后,将为访问主体中的用户及设备增加一个信任值上限,从而限制其后续获取权限.信任上限由惩罚函数计算得出,如式(2)所示:

(2)

其中p′为访问主体目标权限的阈值或信任上限,C为惩罚系数,系数越小,惩罚力度越大,本文将非法操作由低到高划分为5个级别:最低、较低、中等、较高、最高.R为非法操作所包含的等级数量,r为当前非法操作对应的等级.当发生违法操作时,会对访问主体进行对应的惩罚,而当再次发生同样的非法行为时会再次修改信任上限.

3.2.3 访问主体信任值计算

本文基于逻辑回归模型给出了访问主体各度量指标信任值的基本计算方法,首先把用户、设备和环境用集合n表示,并将其各自的度量指标转化为对应的信任等级值,用集合ln表示,三者各自的基础信任值的计算方式如式(3)所示:

(3)

其中zl为各个度量指标所含的信任值,al为各个度量指标的影响因子,即所占权重,A(s)为衰减因子使信任值随窗口移动而变化,其中l∈ln,则gn(z)代表用户、设备和环境三者各自的综合信任值.三者进行计算得到的访问主体的综合信任值如式(4)所示:

G′(z)=∑cn×gn(z),

(4)

其中cn为用户、设备和环境三者所占权重,其加和为1,G′(z)为访问主体的综合信任值.此外,为了保证系统的安全,计算信任值时还需要将威胁行为考虑在内,依据本文给出的信任度量体系,将所给出的威胁行为表示为集合W={w1,w2,…,wt},之后用tv表示各个威胁行为的影响因子,其中v∈W,tv初始值均为1,式(5)用于计算威胁行为的影响因子:

(5)

当系统检测到相应的威胁行为后直接修改tv的值为0,从而修改信任值,使非法主体无法获取权限.由此给出访问主体的综合信任值的完整算法,如式(6)所示:

(6)

当访问主体发送访问请求时,信任引擎依据信任度量体系计算出访问主体的信任值,并将其作为决策引擎进行决策的依据.

3.3 权限阈值动态调节算法

(7)

3.4 实验分析

3.4.1 复杂度分析

整个信任度量体系主要分为信任值计算模块和权限阈值模块调整2部分.在ZTBAC模型的信任值计算模块中,首先计算gn(z),其中n为度量指标主体,l为度量指标集合大小,则计算复杂度为O(nl),之后在式(5)中计算威胁行为的影响因子,需要对每一个可能存在的威胁行为逐一分析,所以计算复杂度为O(t),则整体的计算复杂度为O(nlt),又n代表度量指标主体设备、用户及服务,三者应为常量,最终信任计算模块的计算复杂度为O(lt).而对于权限阈值调整模块,计算复杂度仅与初始设置的累积访问次数S有关,计算复杂度为O(S).所以整体的时间复杂度为O(S+lt).此外,需要存储历史访问的记录,空间复杂度为O(S×Kd),其中Kd为存储记录的大小.

3.4.2 实验分析

实验主要考虑移动办公环境下,信任模型对访问主体信任值描述的灵敏性和有效性.使用MATLAB分析不同的度量指标集合对主体信任值的计算时延,以及对权限阈值调整的影响.实验环境为Intel Core i5-4210H CPU @2.9 Hz,8 GB内存,Win8.1系统,Matlab-R2020a版本.

在度量指标的选取上考虑移动办公的特性,主要选取表1中的指标作为信任计算依据,同时给出了各个关键字段信息所具有的信任值范围.

表1 信任计算指标

同时在移动办公中,操作主要由用户主动发起,因此用户在访问主体信任值中权重应为最高,其次是用户办公时的设备,依据计算公式,实验参数设置如表2所示:

表2 实验参数设置

影响因子由管理人员根据需求设置,实验中全部设置为1,同时设所有的度量指标初始信任值zl=0.2,初始时默认无威胁行为,不设置滑动窗口,实验结果如图8所示.

图8 度量指标对信任值的影响

图8所示为度量指标个数与信任值之间的关系,可以看出不同的权重c会造成信任增长速率的不同,其中服务和设备的主体信任值上升较为平缓,主要是由于两者的权重c较小.而用户主体的信任值和访问主体的综合信任值在度量指标个数较少时增长较快,而随着指标个数增多,两者的信任值增长均趋于平缓,接近一个稳定值,因此获取更高的权限会更困难.

图9所示为度量指标数量和信任值计算时延之间的关系,可以看出当度量指标的数量增加时,计算时延整体呈增长趋势,当度量指标数量小于10时,计算时延增幅较小,而当度量指标个数超过10后,计算时延有大幅增长,之后增长速度再次减缓.结合以上实验结果,对度量指标的选取不应过多,当度量指标个数较多时,计算时延较高,而其对信任值的影响较小,会使得整个信任度量体系的灵敏度下降,这是ZTBAC模型所不能承受的.

图9 度量指标对计算时延的影响

为了验证滑动窗口对信任值增长的影响,添加一个大小为10的滑动窗口用于对度量指标进行处理,比较其访问20次时信任值增长趋势的变化,结果如图10所示:

图10 滑动窗口对信任值的影响

增加滑动窗口后,主体信任值有所下降,同时上升趋势减缓,说明访问主体获取高权限需要更多的度量指标,增加了安全性.

当发生非法行为时惩罚机制会设置相应的信任上限,为了验证惩罚机制的有效性,本文设某一访问主体中用户的初始信任值为0.45,惩罚系数C=0.8,非法操作等级为最低,当访问主体多次发生非法行为时,其可获取的信任上限变化如图11所示:

图11 惩罚机制对信任值的影响

实验结果表明,当恶意访问主体发生非法操作时,其可获取的信任上限会快速下降,当发生5次同样的恶意行为时,恶意主体可获得的信任上限已经接近于0,可确保整个模型的安全性.

3.4.3 安全性分析

从以上实验可以看出,ZTBAC模型相对于基于RBAC下的TrustBAC模型[3],有效解决了用户可以通过自己的信任值无限制地获取权限的问题,ZTBAC中访问主体不能单纯依靠较高的综合信任值获取到更高权限.同时在TrustBAC中一旦用户利用信任值获取到对应角色,就可以获得该角色包含的所有权限,而在ZTBAC模型中,访问主体在获取任意权限前都需要进行信任评估,并且仅能获取到当前操作所请求的对应权限,满足最小权限原则.ZTBAC模型中信任值计算采用logistic模型,使得信任值并不呈线性增长,而滑动窗口机制有效应对信任累积攻击,使得信任值增长缓慢,而当发生非法行为时,由于惩罚机制的存在,会使访问主体可获得的信任上限快速下降,这对任何理性访问主体而言是不可承受的,非法操作的风险不足以满足收益.

4 结束语

本文基于零信任给出的移动办公下ZTBAC访问控制架构,将信任评估体系加入到访问控制中,同时对访问主体的信任度进行持续评估,动态地更新访问主体的权限信息,更好地满足了当前环境下移动办公访问控制的安全性要求.后续将针对动态策略的生成与分发进行研究,进一步完善整个访问体系架构,提高效率及安全性.

猜你喜欢

访问控制度量阈值
鲍文慧《度量空间之一》
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
改进小波阈值对热泵电机振动信号的去噪研究
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力
云的访问控制研究
三参数射影平坦芬斯勒度量的构造
云计算访问控制技术研究综述