高速网IDS的数据管理

时间:2022-09-16 04:18:27

高速网IDS的数据管理

入侵检测系统(IDS,Intrusion Detection System)是用来检测针对计算机系统和网络系统或者更广泛意义上的信息系统非法攻击的安全措施,它弥补了传统加密技术和防火墙的不足,应用日益广泛。

如今,大量高速网络技术如ATM、千兆以太网、G比特光纤网等在近年内不断出现,在此背景下的各种宽带接人手段层出不穷,其中很多已经得到了广泛的应用,高速网络下的实时入侵检测已成为一个现实问题。目前,国外市场已经推出了几款基于千兆以太网环境的入侵检测系统产品,但其性能指标还远未成熟。高速网络下的实时入侵检测已成为一个研究热点,研究重点集中在如何适应高速网络的新环境,提高系统运行速度和效率,减少数据丢包,保证检测的准确性方面,其解决方案不断出现。但是在高速网的入侵检测研究中,有一个方面尚未受关注,即其后续的大流量的数据管理。

随着高速网络的发展,更加大量的数据被收集,并被应用于分析研究,数据管理的重要性凸显出来。通用的IDS数据管理典型方案,是系统集成部分数据管理功能,将旧数据定期存档,如果需对数据进行分析,应将存储数据再调入IDS。这种方案需要IDS管理,并降低了IDS的检测性能,不利于数据分析,所以,不适合作为今后数据管理的发展方向,尤其是高速网环境下的大量数据管理。

现状与改进框架

IDS的主要功能是检测网络的黑客入侵并且报警和阻断,以便网络管理员发现入侵行为,及时采取防卫措施。IDS的工作原理如图1所示。

图1 IDS工作原理

IDS内置一套规则库进行网络流量监听,它获取与规则相匹配的行为数据,发现不正常的网络行为则形成警报记录。记录数据包括源和目的IP地址、源和目的端口、字节总量、时间和各种标记符、系统日志文件等。

IDS对数据记录的管理方案千差万别。以Snort和NFR IDA为例,Snort入侵检测系统的数据输出是利用输出插件,输出插件的入口不止一个,不同的部件在不同的阶段使用输出插件,输出数据的使用由用户的需求决定,Snort能够使用特殊的规则、设置特定的报警帮助用户制作任意格式的输出文件。但是这里面有个问题:Snort花费大量的机器资源制作可读性良好的数据库文件的同时,就可能没有时间处理网络中出现的新数据,引发Snort其他方面的潜在错误。IDA入侵检测系统是由一个后端组件来控制所需记录的数据类型和存储的方式。后端组件所记录的数据并不仅仅存储在磁盘上以供将来之用,当某种异常或者特殊情况发生时,后端组件和系统其他部分可以发出警报信号。

IDA系统中包含一个警报系统,对所有系统产生的警报信息进行排队和转发操作。当数据被记录器进行格式化后,用户就可以通过NFR控制台来查询。可以看到,二者的共同点是用IDS完成数据管理。现有的IDS数据管理典型方案,是系统集成有部分数据管理功能,将旧数据定期存档,以保证系统性能,减少存储空间的消耗。此时的系统数据流图框架如图2所示。

图2 典型IDS数据管理架构

在高速宽带网中,IDS数据记录的数量极大,一天就能达到上千万条,而且还在不断发展,此情形下,这种典型方案存在三个缺点。

首先是,IDS忙于数据处理,影响了系统报警的准确率。其次是数据一旦存档,数据查询和分析都需要重新返回原来使用的工具中才能实现,这在高速网海量数据的环境中是不现实的。最后,如果数据另行分析,不做返回处理,对于海量数据,常用的分析工具,如Perl语言或更基础的工具grep,分析效率得不到保证。

入侵检测系统的数据很多被用来对网络活动做长期分析、趋势预测和取证,为了解决现存的问题,实现数据的实时捕获、查询和分析优化,迫切需要将数据管理分离。本文提出了高速宽带网下的IDS后续数据管理框架,数据管理作为单独模块,结构如图3所示。

图3 高速网IDS数据管理架构

数据管理模块的实现

高速网IDS数据管理框架把数据管理从IDS中分离出来,它是实现高效数据管理的关键部分。数据管理模块有几个功能:第一,数据收集,接收从IDS传送来的数据并转发至数据存储模块。第二,数据存储,收集的数据以何种形式、存放在何种介质中。第三,数据预处理,在数据分析前对数据进行条件限制,使分析数据缩减到一个合理的范围,保证了数据分析的效率。每个功能都是一个功能子模块。数据管理功能子模块如图4所示数据收集数据收集从IDS接收数据,IDS不需要再考虑数据怎样存放或存放在哪里,只需将数据传送到数据管理模块。这样就保证了IDS的性能,提高了IDS报警的准确率。高速网中数据收集首要条件是不丢数据包。

图4 数据管理功能子模块

IDS在数据流量较大的情况下,单一检测设备在某段时间内收到的数据包的速度大于其处理速度时,系统性能下降,最终可能导致系统资源耗竭,造成丢包问题。与IDS相同,数据收集模块的系统性能要跟得上大流量网络数据传送,以及可能发生的数据流突增的情况,否则同样会造成丢失数据包,影响数据存储的准确率。因此,在高速网中吞吐量就成为重要指标。

数据收集子模块将数据传送给数据存储子模块处理,数据处理瓶颈可能在存储方面,除了单一提高数据存储速度外,笔者采用分布式的数据处理方式,由多个数据存储模块共同完成存储任务,在数据收集子模块中,利用数据分流技术,用负载均衡的策略对数据流分而治之。负载均衡的作用就像轮流巡值日制度,它是一种动态均衡技术,通过一些工具实时地分析数据包,掌握数据流量状况,把任务合理均衡地分配至各个数据存储模块,使每个数据存储模块不超出其处理极限,这样,单位时间内所能处理的数据量增加,总的数据收集能力相应提高。

在数据传送过程中,数据存储面临的问题是大数据量的情况下,选用什么方式存储,其速度快、占用存储空间小,并且能保证其后的数据预处理速度。

最常用的存储方式,也是很多入侵检测系统使用的关系型数据库。采用关系型数据库有利有弊,关系型数据库比较成熟,有很多强有力的功能,用户对数据的访问、操作很方便;但是它存在数据冗余,系统开销大。另一种方式是采用b+数形式,它分为索引页和数据页,这种结构没有冗余,占用系统开销小。因此,相对于数据量比较大的情况,采用关系数据库优势明显。

高速宽带网大流量数据管理从IDS中分离,采用分布式结构处理数据,用b+树形式存储,是比较好的数据管理框架,能够达到较好的性能,并且有一定的可扩展性。依照目前高速网IDS的发展,数据分离是必然趋势。

本文只是给出了一个数据分离管理的框架及效果较为理想的实现技术,高速网数据管理还有大量工作要做,比如开发通用的结构化“元语言”,用于描述各种异质网络、不同性质的数据以实现异种数据融合,克服网络传输时延,优化存储速度,定制查询语言,实行分布式查询及查询优化等等。

上一篇:提升事件检测的商业价值 下一篇:IDS与IPS纷争不再