面向漏洞管理的工作流技术应用研究

2019-10-21 08:38杨诗雨苏丽丽侯元伟郝永乐李伟平
北京理工大学学报 2019年9期
关键词:研判漏洞建模

杨诗雨, 苏丽丽, 侯元伟, 郝永乐, 李伟平

(1.中国信息安全测评中心,北京 100085; 2.北京大学 软件与微电子学院,北京 100871)

随着网络技术的发展和网络空间的兴起,互联网、通信网、计算机系统、自动化控制系统、数字设备及其承载的应用、服务和数据等存在的安全问题与日俱增,漏洞、木马、病毒等不断出现,引发严重的网络安全事件,国家政治、经济、文化、社会、国防安全及公民在网络空间的合法权益面临严峻风险与挑战. 网络安全漏洞是网络空间的最大威胁之一,因此规范、高效的漏洞管理是保障网络安全的重要举措.

网络安全漏洞[1]是信息技术、信息产品、信息系统在需求、设计、实现、配置、维护和使用等过程中,有意或无意产生的缺陷. 网络安全漏洞的存在本身并不能导致损害,但若被攻击者利用,就会对信息产品或系统造成安全损害,从而影响构建于信息产品或系统之上正常服务的运行,危害信息产品或系统及信息的安全属性. 由于当前的技术局限性,漏洞在很大程度上是难以避免并且长期存在的. 近些年,伴随着“HeartBleed”、“WannaCry”等漏洞引发的安全事件所造成的全球性影响,各国开始逐步加强漏洞管理方面的工作,政府部门、安全组织和商业公司等均建立自身的漏洞管理机构,通过对漏洞数据库的运维实践,开展漏洞的发现收集和整理发布等漏洞管理工作.

随着漏洞管理信息化的不断深入,网络安全漏洞大量涌现,使得过去以人工管理为主的管理模式已经无法满足社会发展的新形势,传统方式下漏洞数据管理工作低下的执行效率逐渐成为制约漏洞管理机构有效开展漏洞威胁消控的主要因素. 本文对国内外的漏洞管理机构进行深入调研,对漏洞管理过程和需求进行分析挖掘,并建立了基于工作流技术的漏洞管理模型,实现了自动化漏洞管理系统,有效提升了漏洞管理的工作效率.

1 相关工作

1.1 工作流技术

随着计算机技术和通信技术的快速发展,无纸化、数字化的办公环境逐渐成为新的流行趋势. 20世纪70年代,工作流[2](workflow)技术逐步服务于生产和办公自动化领域,为了实现特定的业务目标,定义一系列过程规则,对相互独立的业务工作进行合理串联和规范,对相互关联的业务流程进行科学优化和整合,实现业务工作的异构分布式执行. 20世纪90年代以来,工作流技术逐步成为企业信息化管理的重要组成部分,在制造业、金融业、电讯业、航运业、教育业等领域得到广泛应用. 目前对于工作流技术的应用主要是通过建立专门的工作流管理系统来实现的,具体实现方式往往可划为独立运行的工作流管理系统和嵌入式工作流系统. 如美国Georgia大学计算机系METEOR项目开发出了一套独立的基于Web服务器的工作流系统WebWork,而Microsoft、SAP等厂商则通过引入工作流引擎,将工作流技术集成到自己的操作系统和开发工具中.

工作流管理系统建立之前,首先要对业务流程进行工作流建模,工作流模型[3-4]是解决流程类问题的方法论,是工作流系统的核心和灵魂. 目前工作流建模技术共有11种[5],本文采用的业务流程模型及符号(business process model and notation,BPMN)是一种图形化标记建模方法,能够同时满足将图形化表示的模型转换成机器能够识别的模型的两个目的——共享和执行,使业务分析师、技术开发者、业务管理者和监督者等相关业务人员能够以可视化的方式创建、管理和监控系统的执行流程. 2011年,BPMN 2.0正式版本发布,解决了存储、交换和执行的问题,具备了更完备的表达能力.

工作流管理系统主要倾向于实现文档、消息等内容的自动化传递和在线申请、网络审批等任务的流程化处理,而漏洞管理工作中恰恰涉及了大量的对于漏洞数据资源的分配、审核、处理和不同角色之间的传递,本文对漏洞管理的业务流程进行了分析和建模,并建立了漏洞工作流管理系统,实现对于漏洞资源的高效管理.

1.2 漏洞管理

2017年10月,美国威胁情报公司Recorded Future发布研究认为美国国家漏洞库NVD(National Vulnerability Database)的漏洞发布效率过低,影响了重大漏洞的及时消控,建议开展漏洞主动发现,以应对重大漏洞的及时披露,由此可见,提升漏洞管理效率迫在眉睫. 本文对当前的漏洞管理机构进行调研,选取其中管理机制较为完善的平台进行对比和分析,进而总结一套适用于漏洞管理机构的一般性管理流程进行建模和实现.

本文主要研究的漏洞管理机构如下:美国通用漏洞和披露平台CVE(Common Vulnerabilities and Exposures)、美国国家漏洞库NVD、日本漏洞通报平台JVN(Japan Vulnerability Notes)、中国国家信息安全漏洞库CNNVD(China National Vulnerability Database of Information Security)和中国国家信息安全漏洞共享平台CNVD(China National Vulnerability Database).

1.2.1CVE

1999年,美国MITRE公司以社区的形式推出了CVE漏洞管理平台[6],由美国国土安全部下的计算机应急响应小组US-CERT为该项目提供资金支持. CVE旨在为漏洞标识信息提供一个跨平台标准,所以CVE不是一个漏洞数据库,更确切地说是一个漏洞索引目录. CVE具体的漏洞管理过程如图1所示.

CVE为了最大化漏洞索引目录,广泛地开展漏洞的发现收集工作.

① CVE Content Team从Microsoft、Oracle等厂商的安全公告和Bugtraq、ZDI等漏洞源中采集漏洞信息.

② CVE Editor从互联网上搜集新出现的、引起广泛舆论关注的重要漏洞.

③ CNA[7]收集安全研究人员或组织自主发现的漏洞信息,研判确认后进行漏洞修复. CNA由MITRE公司、软件厂商和第三方协调机构组成,CNA成员收到本公司的漏洞后,可不通过CVEEditor直接向漏洞发现者分配CVE标识,漏洞修复完成后将相关信息告知CVE Editor,以创建CVE条目. 对于非CNA成员的漏洞,由MITRE公司接收漏洞信息,在漏洞发现者提供第三方确认证明后,即可创建CVE条目.

图1 CVE漏洞管理机制Fig.1 CVE vulnerability management mechanism

1.2.2NVD

2005年,美国国家标准与技术委员会NIST建立了NVD[8],脱胎于2000年建立的ICAT平台,成为美国国家级的漏洞数据库. 与CVE相同的是,NVD同样由计算机应急响应小组US-CERT提供资金和技术支持. 与CVE不同的是,NVD提供了更为详细的漏洞描述,包括漏洞的危害等级、漏洞影响的软件及其版本、漏洞的修复情况等内容. NVD的漏洞管理过程如图2所示.

图2 NVD漏洞管理机制Fig.2 NVD vulnerability management mechanism

NVD建立在CVE列表之上并与之完全同步,NVD团队同样不进行漏洞的研判工作,而是分析来自CVE的漏洞条目和相关材料,并进行网络搜集,基于《通用漏洞评估系统CVSS》、《通用平台列举CPE》等SCAP标准,添加漏洞的危害等级和类型等属性. NVD将产品数据和漏洞数据进行关联发布,并提供漏洞搜索引擎服务.

1.2.3JVN

2004年,日本情报处理推进机构IPA和计算机安全应急响应组JPCERT/CC两家机构开始联合运营JVN[9]. JVN旨在提供一个协助系统管理人员、软件开发人员等提升产品或系统安全性的漏洞知识库,因此JVN除了收录美国US-CERT[10]、英国CPNI[11]等机构发布的漏洞数据外,还通过信息安全预警合作机制收集漏洞,IPA初步研判漏洞并交由JPCERT/CC处理,JPCERT/CC和产品研发人员沟通协调解决方案,并在漏洞修复后公布漏洞详情、开发人员的相关声明等信息. JVN漏洞管理过程如图3所示.

图3 JVN漏洞管理机制Fig.3 JVN vulnerability management mechanism

1.2.4CNNVD

2009年,国家信息安全漏洞库CNNVD[12]正式投入运营,CNNVD是中国信息安全测评中心为切实履行漏洞分析和风险评估的职能,负责建设运维的国家信息安全漏洞库. CNNVD的漏洞管理过程如图4所示,从提高我国网络和信息安全保障能力出发,通过自主挖掘、社会提交、协作共享、网络搜集以及技术检测等方式开展漏洞的采集收录工作,联合政府部门、行业用户、安全厂商、高校和科研机构等社会力量进行漏洞的分析验证、预警通报和修复消控工作,并为重要行业和关键基础设施安全保障工作提供技术支撑和数据支持.

图4 CNNVD漏洞管理机制Fig.4 CNNVD vulnerability management mechanism

1.2.5CNVD

2010年,国家计算机网络应急技术处理协调中心CNCERT正式开通了CNVD[13]网站. 作为一个漏洞共享知识库,CNVD致力于建立漏洞统一收集验证、预警发布及应急处置体系. CNVD的漏洞管理流程如图5所示. CNVD工作委员会接收漏洞后,由秘书处CNCERT组织CNVD成员单位(技术组、用户组、合作方)进行漏洞分析验证,核实确认漏洞信息后,CNVD工作委员会与相关厂商共同协商发布时间,并根据漏洞发布策略,选择性的发布漏洞信息.

图5 CNVD漏洞管理机制Fig.5 CNVD vulnerability management mechanism

1.2.6对比分析

CVE在漏洞管理过程中更注重漏洞数据的发现和漏洞信息的标识,不对漏洞进行精确描述,降低了数据运维的复杂性,实现了最广泛地漏洞收集. 此外,通过CNA机制,由厂商自己解决自身的漏洞问题,简化了漏洞通报和修复的流程. 但是CVE发布的漏洞具有一定的局限性,对于厂商或第三方机构未公开的漏洞和系统配置问题的漏洞不进行发布,因此,对于网上流传的危害严重但尚未修复的漏洞,CVE可能已经通过“保留发布”的形式.

分配了CVE编号,但漏洞描述等其他细节都无法从网站获取,使用户无警觉地暴露在风险之中. NVD完全与CVE同步,也存在相同的问题,但NVD兼容了SCAP系列标准,漏洞信息更详细和规范,方便用户多维度检索和多产品引用. JVN在引用NVD和CPNI等数据的基础上,还建立了漏洞的研判通报机制,并督促厂商修复漏洞,在漏洞威胁消控方面提出了另一种解决办法. CNNVD和CNVD综合各方优势并结合国内外先进经验,兼容NVD等漏洞源,并开展漏洞的验证研判和预警消控工作,实施漏洞的全过程管理,有助于加快漏洞威胁消控的流程. 除上述平台外,本文对俄罗斯BDU、澳大利亚AusCERT、欧盟CERT-EU、英国CPNI、芬兰NCSC-FI等漏洞平台进行了研究和分析,对于这些平台的对比分析如表1所示.

表1 国内外漏洞管理机构对比分析Tab.1 Comparative analysis of vulnerability management institutions at home and abroad

为漏洞管理机构在开展漏洞管理实践的过程中往往会遇到以下两个难题:

① 管理工作涉及了对于大量漏洞数据的流程化处理和对于不同管理阶段的系统化衔接等,数据量往往超出数据处理能力时,导致重大漏洞难以及时消控;

② 对于不同阶段的漏洞管理行为往往由不同的人员承担,人角色之间较高的沟通成本也成为漏洞消控滞后的重要因素.

本文通过上述调研和分析,总结一套一般性的漏洞管理流程进行建模,并通过建立工作流管理系统实现对于漏洞资源的管理和监控.

2 面向漏洞管理的工作流建模和实现过程

本文基于对国内外漏洞管理机构的调研分析,以CVE、NVD和CNNVD的管理模式为研究目标,在明确不同管理角色职能分工的条件下,有针对性地提出不同阶段的漏洞处理流程,通过BPMN建立一套一般性的漏洞管理模型(VM-workflow),并通过JBPM进行实现和部署.

2.1 组织结构模型

本文将漏洞管理机构下设4个工作委员会(团队),如图6所示.

图6 组织结构模型Fig.6 Organizational structure model

① 漏洞管理委员会:由漏洞管理机构的漏洞收集团队、安全厂商和第三方协调机构组成,负责开展漏洞收集工作. 其中,安全厂商和第三方协调机构负责自身漏洞的研判和修复工作,并在研判确认后和修复完成后分别将漏洞相关情况告知漏洞运营团队. 漏洞收集团队负责收集非委员会成员的漏洞,并交由漏洞研判团队进行处理.

② 漏洞发现团队:负责从网络渠道搜集漏洞信息,进行初步分析整理后,交由漏洞研判团队进行处理.

③ 漏洞研判团队:由漏洞标识团队和漏洞验证团队组成,负责对漏洞进行重复性验证和真实性验证等漏洞研判工作. 其中,漏洞标识团队对漏洞进行关键信息标识,初步判定漏洞所涉及的领域、影响的范围和危害的程度等后,进行漏洞的去重工作;漏洞验证团队根据漏洞标识信息的优先级对漏洞进行验证和复现,确认漏洞是否真实存在、评估漏洞的危害等级等. 漏洞研判团队确认后的漏洞交由漏洞运营团队处理.

④ 漏洞运营团队:负责分配漏洞编号、整理漏洞条目、协调受影响的厂商进行漏洞修复、漏洞发布等工作,并负责整个漏洞管理流程的监督工作.

2.2 工作流建模

本文使用BPMN modeler工具实现漏洞管理的BPMN 2.0工作流建模,并可实现可视化图形和XML的自动转化. 本文将漏洞管理流程分为3个子流程:引用漏洞管理流程、采集漏洞管理流程和收集漏洞管理流程,其中引用漏洞通过系统自动爬取相关漏洞源数据,不涉及人工管理,因此本文仅对采集漏洞和收集漏洞进行工作流建模.

① 采集漏洞管理流程建模如图7所示,利用泳道将活动划分到不同的可视化类别中,清晰地描述不同管理角色的责任与职责,采用定时任务开启工作流程,在任务流转中,根据系统建设情况和相关业务需求,选择人工任务、手工任务、脚本任务、服务任务、业务规则任务等任务类型,实现工作任务的自动化执行和流转,并可通过工作流系统对流程进行监控,进行超时提醒、异常处理等多种功能.

图7 采集漏洞管理模型Fig.7 Management model for gathering vulnerabilities

② 收集漏洞管理流程建模如图8所示,与采集流程不同,收集流程属于消息开始任务,收到漏洞作为工作流任务的起始点. 在漏洞研判任务中存在与采集流程相同的事务性子流程.

图8 收集漏洞管理模型Fig.8 Management model for collecting vulnerabilities

2.3 工作流系统实现

随着企业信息化的不断深入,漏洞管理机构在开展漏洞管理实践的过程中逐步建立了漏洞采集系统、漏洞收集系统、漏洞验证系统等以满足不同的业务需求,在这个背景下,工作流管理系统的搭建需要考虑与整体应用的开发框架进行整合的问题.

本文对于系统后台的设计遵循规模性、环境关联性、层次性、可控制性、不确定性等原则[14],采用分层结构实现,主要分为:数据层、支撑层、应用层、接入层,如图9所示. 数据层保存了漏洞名称、漏洞编号、漏洞描述等业务数据,以及流程实例、执行对象、任务期限等流程数据和其他数据;支撑层包含了实现身份认证和权限控制的组件,以及控制工作任务进行流转的工作流组件等;应用层涵盖了所有与漏洞管理业务相关的工作系统,即从漏洞的发现收集到整理发布的流程应用系统,其中工作流管理系统作为中央控制器,通过与相关业务系统进行业务串接和数据交互,实现对整个漏洞管理流程的维护和控制;接入层对成员单位、合作伙伴、安全人员或组织等开放了不同的数据接口,以开展漏洞数据的收集和发布工作.

图9 系统逻辑架构图Fig.9 System logic architecture diagram

工作流管理系统实现了核心路由的功能,能够解释流程定义、控制流程的运行过程、实现对工作流操作的管理和监督等. 本文拟通过JBMN4(java business process management 4.0)实现工作流管理系统. 根据上节中对漏洞采集流程和漏洞收集流程的业务建模,通过JBMN4进行部署和解释,并对每一个任务的执行过程进行表达,进而实现整个业务流程的流转和监控.

3 实验结果

建立了基于工作流技术的自动化漏洞管理系统,采用Spring + Spring MVC + Hibernate + jBPM的技术架构进行系统实现,系统提供的核心功能包括我的待办任务、任务中心. 本文中待办任务功能模块允许系统用户查看并执行自己待办任务,并以可视化图形的方式展示出该漏洞的处置进度. 任务中心功能模块则提供全局的漏洞管理监控,管理人员可以对系统处理过的所有漏洞进行整体把控和跟踪,并且可以查看整个漏洞处置过程中各个环节的责任人和任务耗时. 借助于该系统,单个漏洞的平均处理时间缩短了1~2 d,平均每天处理的漏洞数量提升了5~10个.

本文通过对漏洞管理机制的组织架构进行建模,强化了漏洞管理委员会、漏洞采集团队、漏洞研判团队和漏洞运营团队的分工和责任,并通过漏洞采集流程和收集流程进行建模,为大量漏洞数据的流程化处理和不同漏洞处理阶段的系统化衔接提供了模型化设计方案和系统化解决方案,进而解决了目前漏洞管理工作中存在的主要问题,加强了漏洞管理各阶段行为的连接和监控,降低了由于人为因素造成的不利影响,满足了漏洞管理机构对于漏洞的资源管理和时间管理. 此外,通过漏洞标识团队研判漏洞处置的优先级,进一步提升了对于重大漏洞研判和消控的工作效率.

4 结束语

高效的漏洞管理机制是消控漏洞威胁的重要保障. 本文调研了国内外漏洞管理机构的工作机制,从漏洞数据的内容、种类以及漏洞的收集机制、研判机制、消控机制等多维度进行了对比分析,总结了一套一般性的漏洞管理组织架构和处理流程,并结合工作流技术进行业务建模和系统实现,解决了目前漏洞管理中存在的处理效率低和交接复杂度高的问题,展望了漏洞管理的研究方向.

猜你喜欢
研判漏洞建模
漏洞
南京市2017年至2019年道路交通死亡事故分析与研判
市场研判 不确定因素困扰市场
基于FLUENT的下击暴流三维风场建模
全球低轨卫星网络最新态势研判
《符号建模论》评介
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
研判当前货币政策走势的“量”与“价”
侦探推理游戏(二)