实现系统全量漏洞核查

2018-11-07 09:05
网络安全和信息化 2018年6期
关键词:核查漏洞分布式

设备系统漏洞是导致系统风险、网络攻击等安全事件频繁发生的重要原因,目前企业IT系统主要以传统的漏洞检查工具对系统漏洞进行检查,而传统的漏洞检查工具采用远程方式发现漏洞,在发现的准确性、及时性和安全性上有较大隐患,而且错报、误报和影响业务正常运行的现象普遍存在,本文采用智能漏洞分析算法核查设备全量漏洞,实现了漏洞检测从“扫描”到“检查”质的飞跃,在漏洞发现的准确性、发现速度的及时性上都有巨大提升。

本文研究的全量漏洞核查方法架构流程如图1所示,采用类搜索引擎的分布式网络爬虫技术,获取包括权威漏洞发布网站、原厂安全公告和专业安全公司等来源的海量漏洞信息。建立能够对漏洞进行精准智能分析的、可灵活拓展的漏洞智能分析引擎,并在每个漏洞基本信息的基础上补充自动化分析信息。通过大规模分布式并行采集引擎,自动化批量采集现网资产信息。由系统漏洞智能分析引擎对采集到的各类信息进行统一处理分析,综合分析漏洞存在情况。最后,对漏洞分布情况进行多维度、全方位的展现。

相比于传统漏洞核查工具外围探测方式进行扫描的方式,本文方法具备准确性高、不影响网络环境、对被查设备无影响、检查范围广泛、检查效率高等诸多优势。

图1 整体架构流程图

图2 漏洞库架构

漏洞库管理

漏洞库架构如图2所示。

漏洞信息采集

采用类搜索引擎的分布式网络爬虫技术分布式定期并发爬取NVD、CNNVD、CNVD等权威漏洞库和SecurityFocus等专业安全厂家发布的漏洞信息,对于NVD的漏洞信息可通过解析各漏洞文档对应的XML来自动获取,NVD漏洞库提供XML格式的漏洞库下载,各漏洞格式以及漏洞信息都已标准化。对于CNVD发布的漏洞信息,需要通过网络爬虫获取漏洞网页,然后对漏洞网页进行解析,生成对应的漏洞信息。

在程序自动获取漏洞的过程,在下载漏洞信息之前需要判断漏洞库中是否已经包含了该条漏洞,判断的依据就是和漏洞库中的CVE字段进行比较。如果发现漏洞库中已经包含了该CVE名称的漏洞信息,则认为是重复条目而不进行下载。采集工作业务流程如图3所示。

漏洞信息分析

漏洞信息分析处理过程将采集的各类漏洞信息进行整理、优化、补全,最终形成经过归纳的、高质量的、精简的安全漏洞信息,并存入安全漏洞信息数据库。

1.漏洞描述信息整理与合并

将爬取到的描述信息以CVE编号为唯一标志进行合并,形成 NVD、CNNVD、CNVD、SecurityFocus等网站描述漏洞信息的合集。

图3 漏洞信息采集业务流程

2.自然语言处理(NLP)

对于使用非机读方式输出的漏洞信息,对其进行中文自然语言处理,解析其中的关键因素。

3.漏洞描述信息去重

删除合并后的漏洞描述信息中相同的字段。

4.漏洞描述信息关键字段筛选

筛选漏洞描述信息,选择其中重要的字段,作为漏洞描述信息。漏洞描述信息包括:漏洞名称、ULTRA编号(新增定义的漏洞编号)、CVE编号、发布日期、更新日期、严重级别、漏洞类型、威胁类型、漏洞描述、解决方案、参考连接、漏洞检查方法(新增)等。

漏洞检查方法定义

漏洞检查方法定义流程:

1.查阅官方网站安全公告;

2.定义变量;

3.定义函数;

4.建立检查公式。

设备信息采集

新建漏洞核查任务,选择需要进行漏洞核查的设备,并发连接登录设备,采集设备信息。如文件内容、进程、服务、软件、端口、补丁等信息。

1.选择被检查设备

建立漏洞核查任务,选择被检查设备,确定漏洞核查任务的检查范围,并获取被检查设备登录信息(设备类型、IP地址、帐号名、密码)等。

2.分布式并发连接被查设备

使用步骤S201获取到的设备登录信息,多台采集服务器采用分布式的方式并发建立到被检查设备的网络连接,登录被检查设备。支持多种连接协议,包括Telnet/SSH和RDP等。

3.自动探测设备类型

登录设备成功后需要判断设备类型,进而执行信息采集脚本。

4.执行采集脚本

采集脚本按照设备类型分别编写,根据核查任务中所选择的设备的类型,自动匹配执行脚本。采集脚本分为七类:版本、文件、进程、服务、软件、端口、补丁等。

5.返回脚本执行回显

采集服务器将采集结果返回到漏洞解析服务器。根据采集服务器采集到的字段信息,调用RMI(远程接口调用)方法,把分析结果保存到数据库,发送消息给采集服务器,告知采集完毕。

6.关闭网络连接

采集服务器完成数据采集任务后,断开与被检查设备的网络连接。

漏洞核查判断

汇总建立的漏洞库和采集的设备信息,根据采集到的产品信息对漏洞逐条匹配,最终得到设备包含的漏洞列表全集。

1.解析脚本回显,获取关键字段。

2.获取漏洞检查方法。

3.核查漏洞。将解析结果作为函数变量,由检查方法处理,得到漏洞核查结果。

4.返回核查结果。检查方法执行结果为是否存在编号漏洞的布尔值。将执行结果返回,存入数据库,生成结果报表,展现核查结果。

图4 漏洞归并图解

核查结果分析与展现

1.活跃漏洞分析

因全量漏洞发现的漏洞数量很多,部分Linux和Solaris设备发现的漏洞数量达数百甚至上千,漏洞确认的工作量较大。为应对这种情况,系统增加了漏洞活跃性判断和按原厂公告归并的功能,将不活跃的漏洞归类为潜在漏洞,如图4所示。

2.核查结果展现

根据漏洞基本信息,并从业务系统、设备类型、产品类型等多个角度,多层次的展现检查结果,用户可以了解不同业务系统的漏洞分布情况、不同设备类型和产品类型的漏洞数量。

应用实例

某电信运营商企业省公司抽取23个业务系统共261台设备进行漏洞检查,发现高危漏洞1647个,中危漏洞4673个,低危漏洞1270个,潜在漏洞18204个。与同类产品对比发现漏洞发现数量普遍达到7倍以上,检查效率提高2倍以上,目前本文方案已开始在某电信运营商集团及各省公司推广使用。

结束语

本文方案通过对漏洞的信息采集,建立一套完整的漏洞信息数据库,再充分利用网络通路和设备帐号信息,直接登录设备进行检查,弥补了现有的漏洞核查方法检查结果不准确,误报、漏报率高的缺点,可以全面准确的获取所有设备类型的漏洞信息,完全不影响业务系统正常运行,不会造成网络阻塞,更不会占用大量硬件资源而导致系统拒绝服务。扫描效率高,经过和其他常见漏洞工具对比,发现的漏洞数量提高约7倍,扫描效率提高约2倍,适合于高频次的漏洞核查,节省大量用于检查的人力和管理成本,避免检查过程中人为因素造成的不准确和标准不统一问题,保证核查结果的准确性和客观性。

猜你喜欢
核查漏洞分布式
对某企业重大危险源核查引发的思考
漏洞
关于设计保证系统适航独立核查的思考
基于无人机影像的营造林核查应用研究
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
三明:“两票制”堵住加价漏洞
漏洞在哪儿
基于DDS的分布式三维协同仿真研究
高铁急救应补齐三漏洞