高性能网络入侵检测系统和检测方法 【技术领域】
本发明涉及一种计算机应用技术,尤其涉及一种利用多台计算机和网络交换机实现网络入侵检测的高性能网络入侵检测系统和检测方法。
背景技术
在计算机应用系统中,网络入侵检测系统(NIDS)已经成为入侵检测的重要实施工具。然而,随着网络技术的进步和各行业网络应用的纵深发展,网络入侵检测系统的性能在检测过程中的地位越来越重要,只有在保证网络入侵检测系统检测性能的情况下,高效的分析算法、完整的规则集等技术要素才可能发挥作用。
现有的高性能网络入侵检测系统的实现方法主要有如下几种:
方法一:在单台计算机上实施检测。这种方法的系统结构方框图如图1所示。其包含的技术手段包括:使用更快的处理器、使用专用的检测硬件、使用高性能的分析算法、减少检测规则集的规模等。从表面上看,这种实现方法可以暂时缓解大流量检测的压力。但是,毕竟单台计算机的硬件性能有限,在网络速度越来越快的今天,要用单台计算机来处理数以千计的因特网主机的并发流量已经越来越成为一件不可能完成的任务。
方法二:使用专用的硬件设备进行分流,实现多机检测。在检测过程中,网络流量首先通过硬件分流设备进行分流,大流量的信息被分成数个较小地流量信息,然后由多个网络入侵检测系统对经过分流的信息进行检测。这种方法的系统结构方框图如图2所示。由于这种方法解决了方法一中的硬件瓶颈问题,已经被一些高性能产品所使用。但目前市场上的一些分流硬件的技术尚不成熟,使用这类分流器易造成产品性能的不稳定。而且成熟的高性能分流硬件价格相当高昂,使部署成本大大增加。
【发明内容】
本发明的目的,在于提供一种利用分流技术实现多机检测的高性能网络入侵检测系统和检测方法。
本发明的目的是这样实现的,一种高性能网络入侵检测系统,该系统与高速网络相连,包括执行入侵检测的检测引擎,其特点是还包括一台转发器和至少一台交换机,所述的检测引擎为多台;所述的转发器的输入端连接高速网络,其输出端连接一台或分别连接多台交换机,交换机同时分别连接多台检测引擎;转发器用于从高速网络抓取数据包、修改数据包的目的MAC地址后转发到交换机,交换机用于接收来自转发器的数据包、并根据目标地址将数据包发送到合适的检测引擎。
所述的转发器内安装有分流系统,该分流系统由抓包模块、包处理模块和发包模块组成;抓包模块用于抓取网络数据包,包处理模块用于修改数据包的目的MAC地址,发包模块用于将修改后的数据包发往交换机。
一种高性能网络入侵检测方法,通过高性能网络入侵检测系统实施,该检测方法对一个数据包的处理步骤如下:
第一步、抓取数据包
转发器中的抓包模块从高速网络中抓取数据包;
第二步、修改目的MAC地址
转发器中的包处理模块根据预定义的策略将第一步所抓取的数据包的目的MAC地址修改为与各检测引擎对应的地址;
第三步、转发数据包
转发器中的发包模块将修改目的MAC地址后的数据包转发到高性能交换机;
第四步、分流数据包
高性能交换机接收由转发器转发来的数据包后,通过识别目的MAC地址将数据包发送到合适的检测引擎,实现数据包的分流;
第五步、入侵检测
各检测引擎接收到数据包后独立工作,分别对来自交换机的一部分数据包进行入侵检测。
在处理一个数据包的同时,以流水线并发处理的方式处理其它数据包。
本发明的一种高性能网络入侵检测系统和检测方法由于采用了以上技术方案,使其与现有技术相比,具有以下明显的特点和优点:
1、实行了数据分流,提高了检测性能
由于采用了转发器并在转发器中安装了分流系统,能将来自高速网络的大流量数据分流到多个检测引擎,由每个检测引擎独立集中处理一部分流量,大大减少了漏报、误报现象的发生,提高了检测性能。
2、伸缩性好
由于使用交换机代替计算机完成分流操作,交换机的插槽数量多,也很容易扩充,克服了普通计算机插槽数量少对检测引擎数量的限制,可以在很大的范围内选择检测引擎的数量。
3、部署方便、安全易用
由于本发明中使用的计算机、交换机等设备均系管理人员熟悉的常用设备,对管理操作人员的技术要求相对较低。同时,由于这类设备投入使用的时间长、范围广,和专用分流设备相比,技术更加完善,使用更加安全。
4、易于维护,节约运作成本
本发明中使用的交换机作为一项成熟的技术,一般不容易发生问题。维护工作只需保证转发器能正确的工作就可以了。由于转发器的工作流程比较简单,只需要从一个网口获取数据包,修改目的MAC地址,发到另一个网卡即可,因而转发器的维护工作也很容易。
5、性价比高,
本发明中使用的计算机和交换机都是较为常见的设备,和专用分流设备相比,价格比较低廉,性价比较高。
【附图说明】
通过以下实施例结合其附图的描述,可以进一步理解本发明的目的、具体结构特点和优点,其中,附图为:
图1是现有技术一种高性能网络入侵检测系统的结构方框图;
图2是现有技术另一种高性能网络入侵检测系统的结构方框图;
图3是本发明高性能网络入侵检测系统的结构方框图;
图4是转发器的逻辑结构图;
图5是标准以太网数据包的结构示意图;
图6是转发器修改数据包MAC地址的示意图;
图7是本发明高性能网络入侵检测方法对一个数据包的处理步骤流程图。
【具体实施方式】
请参见图3,本发明的高性能网络入侵检测系统,由一台转发器、至少一台交换机和多台检测引擎通过信息传输线路连接组成;转发器的输入端连接高速网络,其输出端连接一台或分别连接多台交换机,交换机的输出端分别连接多台检测引擎。转发器内安装有分流系统,该分流系统由抓包模块、包处理模块和发包模块组成,其逻辑结构如图4所示,抓包模块抓取网络数据包之后,包处理模块根据预定义的策略修改数据包的目的MAC地址,然后由发包模块将修改后的数据包转发往高性能交换机。交换机用于接收来自转发器的数据包、并根据目标地址将数据包发送到合适的检测引擎。各检测引擎分别独立执行入侵检测。
转发器的主要功能是修改数据包的目的MAC地址。以太网数据包主要由目的MAC地址、源MAC地址、类型等部分组成,其基本结构如图5所示。包处理模块负责修改其中的目的MAC地址部分,根据预定义的策略将目的MAC地址修改为与各检测引擎对应的地址,其目的是分摊各检测引擎的处理流量,为交换机的分流操作提供依据。目的MAC地址的修改过程如图6所示。
请参见图7,本发明的高性能网络入侵检测方法,通过本发明的高性能网络入侵检测系统实施,该检测方法在高性能网络入侵检测系统启动后,对一个数据包的处理步骤,首先由转发器执行以下第一步至第三步:
第一步、抓取数据包
转发器中的抓包模块从高速网络中抓取数据包;
第二步、修改目的MAC地址
转发器中的包处理模块根据预定义的策略将第一步所抓取的数据包的目的MAC地址修改为与各检测引擎对应的地址;
第三步、转发数据包
转发器中的发包模块将修改目的MAC地址后的数据包转发到高性能交换机;
接着由高性能交换机执行第四步:分流数据包
高性能交换机接收由转发器转发来的数据包后,通过识别目的MAC地址将数据包发送到合适的检测引擎,实现数据包的分流;
最后由各检测引擎执行第五步:入侵检测
各检测引擎接收到数据包后独立工作,分别对来自交换机的一部分数据包进行入侵检测。
在处理一个数据包的同时,以流水线并发处理的方式处理其它数据包。