APP下载

基于多约束安全工作流的漏洞管理系统

2022-07-06陈圣楠范新民

信息安全研究 2022年7期
关键词:漏洞约束流程

陈圣楠 范新民 许 力

1(福建师范大学网络与数据中心 福州 350117)

2(福建师范大学计算机与网络空间安全学院 福州 350117)

3(网络与教育信息化福建省高校工程研究中心 福州 350117)

当前,我国网络安全形势依旧严峻,其中漏洞是重要影响因素之一.2020年,国家信息安全漏洞共享平台共收集整理信息系统安全漏洞20 721个,其中高危漏洞7 422个,同比增长分别为28%和52.2%,如图1所示.随着《中华人民共和国网络安全法》(简称《网络安全法》)、《信息安全技术网络安全等级保护要求2.0》(简称等保2.0)、《网络安全漏洞管理规范》等一系列法律法规的相继颁布,网络安全已提升至国家战略高度.漏洞管理是网络安全风险的基础.由于攻防不对称性,攻击方可利用漏洞的时间窗小于防御方修复漏洞的时间窗,这就要求管理者及时发现并处置漏洞.随着业务规模的扩大,信息系统、漏洞数量不断增多,漏洞管理也面临巨大的挑战.

漏洞遵循一定的生命周期规律.Arbaugh等人[1]最早提出漏洞管理生命周期的概念,并结合美国应急响应中心CERT报告,统计了3类漏洞以各种状态的分布.张凯等人[2]对Mozilla工程中安全性漏洞的修复过程进行研究,发现这类漏洞的2次修复过程存在一定规律.刘奇旭等人[3]选取访问路径,利用复杂度和影响程度作为评估要素,采用层次分析法对漏洞进行风险评估.郭锡泉等人[4]利用大数据等技术加强网络安全漏洞管理,从多维度收集漏洞情报,建立广泛的情报网及时发现漏洞.高妮等人[5]认为依照风险等级划分的漏洞修复先后次序过于简单,他们利用漏洞属性和风险等级计算威胁因子,并将漏洞按“自下而上,先局部后整体”划分为4个等级排序,细化漏洞修复策略.章思宇等人[6]针对漏洞复测环节,设计了一个统一管理平台,将漏洞与检测脚本、参数关联,以多进程的方式高频复测漏洞状态.刘畅[7]使用通用的开发语言和标准的服务接口集成网络安全工具,实现漏洞管理的标准化和流程化.杨诗雨等人[8]虽然提出以工作流技术实现漏洞管理,但其提出的方案为系统建设阶段,与本文所提的上线运维阶段场景不同,且未考虑工作流中用户和资源的安全性.已有的漏洞管理研究侧重于情报收集和风险评估,对响应、处置缺乏持续跟踪,而后者需要协同人、资源、工具共同完成,对流程的高效编排和安全流转都有一定的要求.

本文从流程设计和访问控制2方面构建多约束安全工作流模型,并将其应用于漏洞管理,主要创新点有以下2点:

1) 改进基于任务-角色的访问控制模型,从用户属性、资源属性、任务时效等多维度对权限进行静态和动态约束,构建多约束安全工作流模型;

2) 分析漏洞管理中的参与者和影响因素,以漏洞修复为核心,将人与工具都考虑其中,基于多约束安全工作流对漏洞管理流程进行设计建模,实现半自动化的漏洞闭环管理.

1 多约束安全工作流模型

一个标准的工作流是由若干个任务编排组成的,因此工作流系统中多采用基于任务和角色的访问控制(task-role based access control,T-RBAC)模型,即在角色与权限之间添加任务作为中介,保留以指派角色的方式向用户进行授权.然而,T-RBAC模型缺少对用户、资源、任务和环境特性的细化,无法适应多样性的访问控制需求.因此,本文提出多约束安全工作流模型,如图2所示.该模型在T-RBAC模型基础上增加用户属性UATT、资源属性RATT、环境属性EATT和任务属性TATT等多重属性对用户进行权限约束;引入时效机制并与任务属性结合,预定义任务的有效时间,限制单任务的执行时长,使用户仅能在任务执行时激活相应权限,以缩短整个工作流的延迟;利用权限决策点PDP对属性规则进行计算得到授权结果.

1.1 模型元素与元素关系

定义1.用户、角色、任务、操作、资源和权限.我们保留了它们在T-RBAC模型中的语义,分别表示为USERS,ROLES,TASKS,OPS,RES和PRMS.其中,权限是由资源和操作构成二元组,即∀p∈PRMS,p=(op,res),op∈OPS,res∈RES.

定义2.工作流WORKFLOW.由于工作流是由一系列任务编排组成的,因此任务具有一定的时空性.

定义3.属性ATT.属性是参与者所具有的特性的集合,属性是由实体(用户、资源、环境、任务)、属性名、属性值域和动静特性构成的四元组,即∀att∈ATT,att=(entity,attName,attDomain,sp),可分为用户属性UATT、资源属性RATT、环境属性EATT、任务属性TATT.其中,用户属性和资源属性属于静态属性,环境属性属于动态属性,任务属性属于混合属性.用户属性是对执行操作的用户的描述,包括用户名、用户归属组织、联系电话/邮箱等.资源属性是对执行操作的对象的描述,包括资源名、资源类别、资源管理者等.环境属性是对执行操作时会话状态的描述,包括时间、位置、网络状态、场景(日常/紧急)等.任务属性是对当前任务实例的描述,包括任务实例名、执行时间、执行时长、任务状态等.属性值域根据属性含义分为原子值或集合值.

定义4.属性表达式AE.一般属性表达式是将变量attName与值value通过逻辑运算符op比较计算,表示为∀ae∈AE,op∈{=,≠,<,>,≤,≥}.更复杂的表达式则需要利用非、交、并、差等算子合成一般表达式得到.

定义5.策略决策点PDP.策略规定了用户对资源的访问约束要求.策略决策点是通过综合上下文中的多个实体和属性信息,利用预置的策略集对访问请求的合法性进行判定.

模型中的元素之间存在多种关系.实体与属性之间为关联关系;用户和角色、角色和任务、任务和权限之间为指派关系.模型通过多种关系构成角色约束、任务约束和属性约束限制用户的最终权限.

1.2 策略决策机制

多约束安全工作流模型在流程流转过程中协同角色、任务和属性进行用户授权.其策略决策机制主要包括4个组件:策略执行点PEP,提供最终执行策略结果,决定是否访问资源;策略决策点PDP,通过策略和角色、任务、属性信息判断用户是否有无权限;策略信息点PIP,为执行决策提供决策需要的信息;策略管理点PAP,负责管理和配置策略.如图3所示.

具体决策步骤如下:

1) 用户从前端发起对任务的权限请求,请求被PEP拦截.PEP分析请求中的用户、资源、任务、环境以及操作信息并进行验证.验证通过,则将请求转发PDP.

2)PDP向PAP查询权限集和策略集.权限集和策略集的基本单元分别是权限和策略.权限建立了操作与资源之间的映射关系.策略通过组合若干个规则归结约束条件,规则由判定条件和结果组成.

3)PDP从转发请求中获取的信息有限,因此要向PIP请求详细的属性信息和角色-任务的映射关系.同时,PIP中的变化也会及时反馈到PDP中,动态参与到最终的结果判断以实现细粒度的访问控制.

4)PDP结合用户当前的角色-任务信息与权限集得到用户可用的最大目标权限集,并利用属性信息对其进一步约束,缩减会话激活的范围,令会话中的可用权限必须满足相应的用户属性、资源属性、环境属性和任务属性.

5)PDP输出授权结果True或False,并将其返回给PEP.PEP根据结果决定是否访问后端资源.

2 漏洞生命周期管理流程

虽然大多数企事业单位部署了安全防护设备和软件,但由于缺乏完善的漏洞管理流程,仍然长期受到漏洞入侵和网络攻击.本文基于多约束安全工作流改进传统的漏洞管理流程,实现细粒度的访问控制,确保流程的安全性和时效性.

2.1 前置情况分析

前置情况分析主要是对漏洞管理流程的主客体和约束条件进行分析.主体为漏洞管理的用户,可分为4类角色:建设人员、监管人员、运维人员和安全人员,其职责如表1所示.用户属性包括姓名、部门、职位、联系方式等.客体为漏洞,漏洞属性包括归属资产、类型、风险程度、修复优先级等.

表1 漏洞管理流程中的角色职责

漏洞管理流程中的模型约束以多约束安全工作流中的3类约束为主.角色约束限制了用户执行的任务,即不同角色可执行的任务不同.监管人员可以随时进入流程,而其他角色则只能在相应任务执行时进入任务.任务约束对用户执行任务时使用的资源和操作进行限制.例如,安全人员在复测时只能编写复测结果,而不能修改监管人员的审批意见.属性约束包含数据范围和操作时间的限制.例如,监管人员可以访问全单位的信息资产,运维人员仅能访问其运维的信息资产.针对上述情况,传统的T-RBAC模型需要根据属性数量定义更多的角色才能完成授权.而本文基于多约束安全工作流模型,在漏洞管理流程中仅需定义4个角色,配合约束的改变即可灵活调整用户权限.

2.2 流程分析

由于漏洞所造成安全问题具备一定的时效性,每个漏洞都具有一个类似产品的生命周期的概念.因此,只有对漏洞生命周期的概念进行研究并分析其内在的一些规律,才能真正解决漏洞的危害.

基于生命周期理论,漏洞管理流程由“发现—上报—响应—处置—复测”5个任务组成.任务根据执行者的不同(人或工具)可分为人工任务和脚本任务.图4为泳道视图下的漏洞管理流程:

各任务的具体描述如下:

1) 发现.安全人员利用漏洞扫描工具发现漏洞或从其他渠道收集漏洞情报,对漏洞情报进行验证并排除误报.

2) 上报.安全人员对漏洞和资产进行风险评估,形成报告上报监管人员.

3) 响应.监管人员对报告内容进行审核,并将报告转发给系统运维人员.

4) 处置.系统运维人员接到报告,根据报告内容可选择自己修复漏洞,或与建设人员配合共同对漏洞进行整改.

5) 复测.漏洞处置完毕后,运维人员可通过接口调用漏洞扫描工具或由安全人员对整改结果进行确认,确认后生成整改复测结果.如某漏洞无法整改,安全人员确认后审核通过,此后漏洞扫描器不再扫描已确认误报/无法整改的漏洞,进行漏洞扫描器的优化.

3 应用分析

本文基于SpringBoot,jCasbin和Activity框架实现所提方案.jCasbin是一个由Java语言打造的轻量级开源权限框架,支持RBAC,ABAC等多种访问控制策略.我们将其与工作流引擎Activity结合构建多约束安全工作流,并将其应用于漏洞管理流程.平台中的其他业务操作由SpringBoot完成.

3.1 系统框架

如图5所示,系统分为4层.最底层为数据层,完成系统中数据采集与预处理.第2层为功能层,通过定义角色和任务配置流程权限,使数据操作更加安全.资产管理盘点信息系统以及与之相关的重要资产数据.漏洞管理是系统的核心,系统将漏洞与重要资产、信息系统关联,使脆弱点定位更加准确.不同角色通过跟踪、处理、分析漏洞,形成完整的漏洞整改报告.第3层是表现层,通过Web进行展示数据,方便用户掌握全局.最上层为用户接入层,向不同用户提供差异化的数据视角.

3.2 运行界面

图6为系统的权限配置界面,我们在左侧创建角色,并将角色关联到右侧的任务和功能.这样当用户拥有的角色与任务执行角色匹配时,用户获得相应权限,当用户完成任务时其权限被回收.同时,我们还通过勾选方式限定用户操作的数据域.基于多约束工作流的访问控制模型使权限的分配和回收可随任务执行动态进行,令系统读写数据更加安全,管理角色、任务更加简单.

3.3 效果分析

我们在某高校实地部署了漏洞管理系统,并对校内36个信息系统进行了监管.如图7所示,漏洞管理系统可对资源漏洞信息进行统一关联、展现和告警,清晰反映漏洞处置进度、执行人员和耗时情况,使执行人员和管理人员及时跟踪资源漏洞生命周期,清楚地掌握全网的安全健康状况,实现漏洞全生命周期的可视、可控和可管.系统上线后,平均漏洞响应和处置时长相较之前缩短了1~2天,月办结数量增加到10~15个,漏洞管理效率有了明显提升.

4 结束语

针对当前漏洞管理不规范、安全性差等问题,本文提出基于多约束安全工作流的漏洞管理系统.多约束安全工作流模型通过在T-RBAC策略上添加多重属性实现工作流场景下灵活的授权.同时,本文分析了漏洞管理流程中的角色、任务以及属性等因素,结合多约束安全工作流实现漏洞管理流程,以工单方式指派任务给相应角色,并从多属性限制用户访问的数据域和操作时限,保障了流程的高效性和安全性,真正落实了信息系统定期评估和漏洞跟踪工作.

猜你喜欢

漏洞约束流程
漏洞
吃水果有套“清洗流程”
与元英&宫胁咲良零距离 from IZ*ONE
基于selenium的SQL注入漏洞检测方法
违反流程 致命误判
侦探推理游戏(二)
四川省高考志愿填报流程简图
马和骑师
漏洞在哪儿
适当放手能让孩子更好地自我约束