网络安全事件关联分析系统设计
——基于布隆过滤器的

2017-06-19 18:25
淮南职业技术学院学报 2017年3期
关键词:布隆哈希过滤器

王 珂

网络安全事件关联分析系统设计
——基于布隆过滤器的

王 珂

(郑州旅游职业学院, 郑州450000)

随着Internet技术的飞速发展,网络结构越来越复杂,网络入侵技术也日趋多样化、隐蔽化,使得识别入侵者的意图日趋困难。因此,入侵检测系统(IDS)等安全产品得到了广泛的应用,但是,现有的IDS并没有达到人们期望的效果,为了解决IDS告警数据误报和漏报的问题,并了解决在关联过程中的大量数据查询的问题;引入了布隆过滤器(Bloom Filter),对其进行了深入分析并提出了布隆过滤器的改进算法,通过布隆过滤器将IDS与深度包检测技术关联的方法有效的降低了告警数据的误报率,为后续的关联分析提供了可靠的数据。

关联分析; 入侵检测系统; 网络安全; 布隆过滤器

近年来,网络结构越来越复杂化,网络规模也日益增大,因此,网络安全事件对计算机系统和网络的安全造成的危害也随之增加[1]。现有的关联分析技术虽然不完全去除误报、漏报和告警重复等问题,但它仍然可以有效的对付网络安全事件,是解决网络入侵问题最有效的办法之一[2]。因此,对关联分析技术进行分析研究,使用提高报警的准确性是非常有意义的。

1 关联分析技术分类

1.1 告警聚合方法

聚合算法是现有网络安全事件关联分析算法的主要算法之一,在网络安全事件关联分析方面有的很重要的位置[3]。告警相似度阈值的确定是告警聚合方法的关键,当两条告警的相似度大于这个阈值时,就可以将这两条告警聚合为一个超告警,因此,为了能够得到一个合理的阈值,一般要通过实验训练的方法来获得这个阈值[4]。

1.2 因果关系关联方法

通过对大量入侵案例的分析可以发现,入侵一般分为收集目标系统信息、提升权限、入侵和放置后门程序以及入侵后的现场处理4个阶段[5]。

综上所述,入侵攻击的每一步必然不是孤立的,一个完整的攻击步骤一定存在着因果关联关系。因此,通过攻击告警间的前因后果关系,可以进行告警数据的关联分析。

1.3 交叉关联方法

交叉关联方法是由O. Dain和R. Cunningham等人在2001时提出。它的主要原理是利用告警信息与网络环境中的所有主机的漏洞扫描结果、网络拓扑结构、网络中所有的资产信息和安全策略等相结合,从而进行关联分析并分析告警的成功率和受到的影响程度,通过这一系列的操作来达到区分真实威胁,并最终去除误报的目的[6]。

2 布隆过滤器及其改进算法

2.1 布隆过滤器概述

布隆过滤器(Bloom Filter)主要用于检测一个元素是否在一个集合中,要了解布隆过滤器就必须先介绍一下哈希表[7]。当进行数据的处理时,最关心的就是选取何种表示方式和查找方法。而这两个问题又是紧密联系的。因为采用什么样的查询方法,直接取决于数据选用什么要的表示方式,即存储方式。在所有存储的方法内,哈希表是较为高效的一种方式,他拥有其他的存储方式所没有的高效的平均查找性能。尤其是在分布式的系统中,由于海量的、分布式数据的存在,最主要的问题就是快速地对这些数据进行查询,而哈希表就可以高效、实时的完成这一任务。实现哈希表的主要方法是利用一个大容量的数据,将元素存放在该数组中。需要设定一个函数,使得每一个函数值都与一个元素的关键字一一对应,从而将这个元素存放在这个数组单元中,这个函数就叫哈希函数[8]。但是,并不是所有的关键字和函数值都是一一对应的,极有可能会发生一个函数值与多个不同的元素相对应的现象,这样就会产生了重复,引起冲突,换句话说,就是把不同的元素划分到同一个类中了。

由于哈希表的结构组织方式的特点,使得用其查找元素的过程比用其他数据结构更为有效,即占用时间复杂度相对较小。哈希表最大的优点就是查找速度快且查找定位准确,只需要在线性复杂时间度内就可以准确查找到所要的元素。但是缺点也相对较为明显,当有大量数据存入哈希表中时,hash set存储效率比较低的问题就很容易呈现出来。为了使得在尽量保持哈希表的性能前提条件下,还能占用较少的空间,需要找出一种新方法,而概率随机化算法便是一种相对符合的这一要求的方法。在概率随机化算法中有一种叫Bloom Filter的方法,如果想达到空间占用较少的要求,相对有效的方法就是随机化哈希函数中的映射函数。简单的说,就是将每个输入的数据利用一定的算法转换为若干个数并对应到位串中相应的位置上,如图1所示。

图1 Bloom Filter示意图

将输入的数据信息通过若干个哈希函数进行计算转换,得出转换后的数据,并根据转换后的数据找到其对应的位数组中的位置,并将其对应的位置中的数值设为1,从而将该数据信息存放。按照上述过程,就可以建立起来一个简单但又高效的布隆过滤器(Bloom Filter)了。通过对布隆过滤器的简单描述,可以知道布隆过滤器是一个高效的用于查找的数据结构,但其存在着几个明显的缺点,如可能存在一个未在集合中的数据被误认为在集合中,对集合中的数据进行增加和删除操作时很难实现。

2.2 布隆过滤器的性能分析

运用布隆过滤器会有一定的误报产生,在拥有一定的空间效率和查询速度的同时,查找的准确性就做出了一定的牺牲,为了在两者之间能够得出最佳方案,将对布隆过滤器的性能进行深入的分析。

表1 布隆过滤器变量表

2.2.1 Bloom Filter的误判率

由此,可以计算得出某一元素的误判率为Perr=pd。

2.2.2 最优的哈希函数的个数

布隆过滤器是利用多个哈希函数将一个集合中的所有元素映射到一个位数组中,因此,选择几个哈希函数才能使得布隆过滤器的误判率降到最低是最主要的问题。

由上述分析可知,哈希函数存在着两个互斥的规律:一是哈希函数的个数越多,在对一个未在集合中的元素进行查询时,得到0的概率就越大;二是哈希函数的个数越少,位数组中值为0的位数就越多。因此,一般情况下,为了使得误判率较低,会将位数组中的一半空着,这样便能够得到最优的哈希函数的个数。

3 网络安全事件关联分析系统设计

3.1 系统的基本功能

3.1.1 支持入侵检测和深度包检测

由于在信息采集的过程中需要获取入侵告警信息和深度包检测结果信息,所以在系统中集成了入侵检测系统和深度包检测系统,从而使得本系统具备了入侵检测和深度包检测的功能。

3.1.2 支持网络告警信息的误报去除

为了能够在关联分析的过程中不受误报信息的影响,本系统采用改进过的Bloom Filter算法将告警信息进行了误报去除的工作,从而提供告警信息的准确性。

3.1.3 支持网络安全事件的关联分析

经过前期的信息收集和Bloom Filter过滤之后,利用现有的关联分析算法将数据进行关联分析,并最终得出分析结果,在页面中呈现出来。系统的后台功能需求组织结构图如图2所示。

图2 系统后台功能组织结构图

系统主要支持对告警数据的过滤,需要具有入侵检测、深度包检测能力,系统对网络事件具有关联分析的能力。

3.2 改进后的Bloom Filter过滤模块

Bloom Filter过滤模块是本系统的核心部分,它的主要思想是以入侵检测中得出的告警信息为基础,将其与深度包检测得出的结果信息利用改进后的Bloom Filter算法进行关联分析,去除在入侵检测中被认为是告警而在深度包检测中认为是安全数据的告警信息,最终达到去除误报的目的。Bloom Filter过滤模块的主要工作流程如图3所示。

图3 Bloom Filter过滤模块工作流程图

4 系统实现

分析过滤是本系统的核心部分,也是创新之处,利用Bloom Filter的改进算法对采集到的数据进行过滤分析,删除错误的告警。分析过滤实现方式如下:

4.1 分析过滤代码主要为Python

由于在利用改进后的Bloom Filter算法进行分析过滤时,整个过程中会有大量的查询和计算,所以运用Python可以在性能上有所提高。

4.2 通过正则表达式实现数据的格式化

通过入侵检测和深度包检测得到的数据均为日志文件格式,所以需要将这两个文件统一格式化为一个标准的形式,这一过程需要利用正则表达式来实现。

4.3 通过多进程方式实现入侵检测数据和深度包检测数据的并发读取

由于入侵检测和深度包分析是同时进行的两个过程,所以在分析过滤时需要同时读取这两个数据源,这就涉及到并发的过程,本系统利用Stackless Python来实现并发的操作,其性能不输于同类C/C++实现的服务器,完全可以适应高并发量的数据发送请求。

5 结语

本文提出了一种Bloom Filter的改进算法,采用计数器和两个Bloom Filter过滤器的方法来降低其误判率以及使其拥有增加和删除的操作属性,并将其运用在网络安全事件关联分析系统中,不仅没有影响到入侵检测的效率,还有效的降低了告警事件误报的概率。从而为后续关联分析提供了可靠、准确的数据。

[1] 葛海慧,肖达,陈天平,杨义先.基于动态关联分析的网络安全风险评估方法[J].电子与信息学报,2013(11):2630-2636.

[2] 隋新,刘莹.入侵检测技术的研究[J].科技通报,2014(11):.

[3] 戴明星,褚英国,陈正奎.基于事件聚合和关联分析技术的安全管理平台应用研究[J].信息网络安全,2013(7):91-92.

[4] 曹天人,张颖.浅析入侵检测系统在网络安全中的利与弊[J].科学咨询:科技·管理,2015(7):50-51.

[5] 邵燕.浅论入侵检测系统在网络安全中的应用[J].数字化用户,2014(1).

[6] 杨阳,赵洪宋,岳雨俭,杜源.基于协议分析的网络入侵检测系统[J].计算机与现代化,2014(2):201-204.

[7] 纪祥敏,景林,舒兆港.下一代互连网络入侵检测系统研究[J].计算机仿真,2013(10):337-340.

[8] 万盛,何媛媛,李凤华,牛犇,李晖.基于布隆过滤器的轻量级隐私信息匹配方案[J].通信学报,2015(12):151-162.

2017-03-20

王珂(1980-),女,河南郑州人,硕士,讲师,研究方向为计算机网络,电话:13513802107。

TM417

B

1671-4733(2017)03-0004-03

猜你喜欢
布隆哈希过滤器
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
文件哈希值处理一条龙
守门员不在时
更 正
声音过滤器
巧用哈希数值传递文件
基于LOGO!的空气过滤器自洁控制系统
HVM膜过滤器管板改造总结