专利名称:基于高速网络数据处理平台的入侵检测方法和系统的制作方法
技术领域:
本发明涉及高速网络环境中的分布式入侵检测技术,对高速网络环境中的流量数据进行分布处理,实现负载均衡,属于计算机安全领域。
背景技术:
随着网络技术的发展,网络环境变得越来越复杂,对于网络安全来说,单纯的防火墙技术暴露出明显的不足和弱点,如无法解决安全后门问题;不能阻止网络内部攻击,而调查发现,50%以上的攻击都来自内部;不能提供实时入侵检测能力;对于病毒等束手无策等。入侵检测系统是继防火墙和加密等安全保障技术之后出现的新一代的网络安全防护系统,能够有效的弥补上述安全系统的不足。同时,由于技术的不断更新,现在的网络速度越来越快,带宽也从十兆发展到百兆、千兆,乃至万兆的带宽。面对千兆的带宽,目前,大多数的网络入侵检测系统至多只能够处理100~200M bps的网络流量。这样的处理能力对百兆的共享式网络不存在什么问题。但是,对于现在大量应用的百兆交换式网络而言,在交换机的镜像端口上很容易产生千兆的流量,远远超出了当前网络入侵检测系统的处理能力。网络入侵检测系统的处理能力有限的主要原因在于探测器对数据包的分析需要花费大量的计算资源,因而无法及时处理不断到来的网络数据。提高处理器的处理能力能够在一定程度上缓解这个问题,但是,由于网络速度比处理器的处理速度增加得更快,单纯提高探测器处理能力的方法并不可行。
高速数据处理平台是一种结合硬件系统平台及软件分布实施组件技术的系统平台,该平台包含多个异构的处理单元,异构的处理单元采用不同的芯片技术和硬件架构,多个处理单元构成一个基于以太网的协作集群,分布式入侵检测系统的软件系统在集群上进行并行计算,在各处理单元间实现高效的通信和高效的处理同步机制,从而提供了另一种高性能入侵检测系统的解决方案,在应对大量应用数据分析处理时,由于数据包被分配到不同的数据处理分析单元进行处理,避免了单系统负载过高而性能下降的问题。
发明内容
本发明提供了一种基于高速数据处理平台的分布式入侵检测系统的实现方式,这种方式充分利用了硬件网络数据接收、转发及处理的高性能和软件功能的高扩展性,构建了一个性能优良,功能强大,可靠性,可扩充性良好的分布式入侵检测系统。
基于高速数据处理平台的分布式入侵检测系统的实现方式,由系统数据交换支持系统、数据接入及预处理板卡、入侵检测数据处理板卡组成。其中,接入板可实现接入数据预处理,通过对数据包计算HASH,将它们动态负载均衡的发到多块入侵检测处理板卡上进行处理;入侵检测数据处理板并行运行,以使整个系统达到千兆线速所需的处理效率;系统数据交换支持系统,则负责在各系统部件之间进行数据传送。
本发明所述的千兆线速入侵检测软件系统,从结构上分为两个部分,即探测器和控制器,在探测器的实现上我们又采用了两层结构,即一个数据分发器Splitter及多个数据分析器。高性能数据处理平台的前端数据接入板接收到网络数据后,将所有数据包经过简单的包合法性检查后拷贝给数据分发器Splitter,数据分发器利用内置的流量划分算法将数据流量均衡的转发至后面的数据分析器。其中,数据分发器依存于一个X86处理板,每个数据分析器也依存于一个X86处理板。
分布式入侵检测系统还包括,在数据分发器接收到来自高性能数据处理平台的前端数据接入板的数据后,将所有数据经过初步合法性检查后拷贝至数据分发器Splitter,这就对网络数据包进行了第一层的分析,从而去除了网络中无关入侵检测的无效数据包。
所述分布式入侵检测系统的数据分发器Splitter,采用对数据包源、目的地址、源端口、目的端口(源MAC/目的MAC)进行hash运算,用于实现数据流量的分发和负载均衡,保证将高速的网络数据流划分成多个低速的数据流,交给后端的X86数据分析器处理。由于每个探测器只负责处理一部分网络流量,整个系统能够达到更高的处理能力,从而能够提供比单个探测器更高的性能。后端的X86数据分析器向数据分发器Splitter反馈自己的负载情况,Splitter再根据得到的反馈动态的对流量划分进行调整,从而保证各个数据分析器的负载尽可能的均衡。
分布式入侵检测系统,存在多个数据分析器对网络数据包进行分析,从而提取出攻击信息。大部分入侵检测系统所使用的端口扫描检测方法是对一段时间内从同一个源地址发出的数据包进行统计,如果发往不同的目的地址或端口的数据包超过一定的数目,则判定该源地址在进行端口扫描。这种方法简单易行,但主要的缺点在于攻击者很容易通过降低数据包的发送速率来躲避检测,只要扫描数据包的发送速率低于入侵检测系统设定的阈值,入侵检测系统就无法检测出扫描行为。我们采用了Jaeyeon Jung等人提出了一种使用序列假设测试的扫描检测方法,通过对实际网络数据集的分析发现扫描行为成功建立连接的比率远远低于正常的网络应用。基于这一点,我们将观察到的每次连接是否成功表示为随机变量,然后使用序列假设测试确定何种发起连接的主机是否在进行扫描。测试表明,同其它方法相比,该方法具有更好的及时性和准确性。
总之,基于高速数据处理平台的入侵检测的方法和系统,通过硬件平台与相应的软件改进两部分进行实现,其中软件改进包括软件体系结构的改良、以及为适应新硬件平台一些关键算法设计的修改。
在系统中,探测器运行在整个网络的出入口,以及内部网络中需要重点保护的检测网段;控制器提供远程控制、显示和管理功能。网络探测引擎全面侦听网上信息流,动态监视网络上流过的所有数据包,进行检测和实时分析,从而实时甚至提前发现非法或异常行为,并且执行告警、阻断等功能并记录相应的事件日志。在探测器部分,系统结合高性能硬件数据处理平台可以划分为数据接收、数据分发、数据分析探测及报警四个部分。其中数据分发、数据分析探测和报警三个模块位于系统内部,是系统内部数据交互的接口,数据接入模块与网络相连进行信息交换。控制器是由多个组件构成的高性能的管理系统,主要包括控制台、实时监控和内容恢复模块,以及事件收集器服务组件、全局配置库组件。
图1为基于高性能数据处理平台的分布式入侵检测系统功能结构2为数据分发部分示意3为数据分发、数据处理连接示意4为本发明分布式入侵检测框图具体实施方式
以下结合附图和具体实施例对本发明做进一步说明如图1所示,整个分布式入侵检测系统分为两个有机的部分探测器和控制器。探测器部分部属于千兆网络的旁路(如千兆交换机的镜像端口处),对所有需要监控的网络数据接口上的数据包进行数据备份。探测器的数据处理分为三个层次,即数据采集部分、数据分发部分和数据分析部分。
数据采集部分由高性能数据处理平台的前端数据接入板实现,数据接入板综合利用网络处理器、CompactPCI等技术,对网络上的数据包进行高速抓取并进行初步的合法性分析,丢弃非法的数据包。这种数据接入板的设计采用Intel的高速网络处理器,并集成支持高速查表的芯片和支持对内容进行模式检查、匹配和标记的协处理芯片、CPCI2.16接口控制芯片,以及基于FPGA开发的协调多个芯片协同工作的控制器。这种数据接入板的设计,可以很好地克服网络处理器在查表、规则匹配、内容检查和模式匹配等逻辑计算能力方面的不足。使网络处理器专注于网络数据报文的采集或转发控制。使整个硬件平台在网络报文的截获和转发控制方面不存在瓶颈,即使在执行安全策略检查是仍能完全能达到网络线速的处理要求。而目前单纯使用网络处理器开发的安全产品,在不执行安全策略检查和规则匹配时性能优异,而一旦执行检查功能是性能急剧下降,甚至不能达到基于X86架构产品的水平。前端接入板对接收到的报文进行简单规则检查和初步的筛选检查,实现安全策略的快速定位,而后对需要进一步处理的报文通过专用协议进行标记,并传送到x86处理板进行进一步的安全检查,本完成审计等动作。接入单元和处理单元间合理的分工,发挥了两种硬件的各自处理性能的长处,最大限度地提高系统计算效能。为千兆线速的处理要求提供足够的性能保障。
如图2、图3所示,数据分发部分依存于位于前端数据接入板后面的某块X86处理板,前端数据接入板将经过初步检查后的数据都拷贝到该处理板上,该处理板在整个数据处理过程中起到一个分发器的作用。数据分发器采用了一种基于数据包源地址、源端口、目的地址、目的端口以及其他相应参数的hash算法,并根据后面各数据分析处理板的状态反馈,实时调整自身的流量分配比例,保证多个数据分析处理板数据处理的负载均衡性。
数据分析部分也依存于X86处理板,相对于传统的单X86结构而言,在网络数据包到达数据分析部分时,已经经过了前端数据接入板的合法性检查,经过了数据分发部分的流量均衡处理,从而大大降低了数据分析部分的处理工作,同时,多X86数据分析部分的X86处理板可以根据自身负载的状态实时反馈给数据分发部分,进而调整分发策略,保证数据分析的可靠性和一致性。
权利要求
1.基于高速数据处理平台的入侵检测系统,由系统数据交换支持系统、数据接入及预处理板卡、入侵检测数据处理板卡组成;其中,接入板可实现接入数据预处理,通过对数据包计算HASH,将它们动态负载均衡的发到多块入侵检测处理板卡上进行处理;入侵检测数据处理板并行运行,以使整个系统达到千兆线速所需的处理效率;其特征是设有系统数据交换支持系统,在各系统部件之间进行数据传送。
2.根据权利要求1所述的基于高速数据处理平台的入侵检测系统,其特征是所述的千兆线速入侵检测软件系统,从结构上分为两个部分,即探测器和控制器,在探测器又采用了两层结构,即一个数据分发器及多个数据分析器,高性能数据处理平台的前端数据接入板接收到网络数据后,将所有数据包经过简单的包合法性检查后拷贝给数据分发器,数据分发器利用内置的流量划分算法将数据流量均衡的转发至后面的数据分析器;其中,数据分发器依存于一个X86处理板,每个数据分析器也依存于一个X86处理板。
3.基于高速数据处理平台的入侵检测方法,其特征是在数据分发器接收到来自高性能数据处理平台的前端数据接入板的数据后,将所有数据经过初步合法性检查后拷贝至数据分发器,这就对网络数据包进行了第一层的分析,从而去除了网络中无关入侵检测的无效数据包。
4.根据权利要求3的所述的基于高速数据处理平台的入侵检测方法,其特征是分布式入侵检测系统的数据分发器,采用对数据包源、目的地址、源端口、目的端口进行hash运算,用于实现数据流量的分发和负载均衡,保证将高速的网络数据流划分成多个低速的数据流,交给后端的X86数据分析器处理。
5.根据权利要求4的所述的基于高速数据处理平台的入侵检测方法,其特征是后端的X86数据分析器向数据分发器Splitter反馈自己的负载情况,Splitter再根据得到的反馈动态的对流量划分进行调整,从而保证各个数据分析器的负载尽可能的均衡。
6.根据权利要求3或4的所述的基于高速数据处理平台的入侵检测方法,其特征是存在多个数据分析器对网络数据包进行分析,从而提取出攻击信息;大部分入侵检测系统所使用的端口扫描检测方法是对一段时间内从同一个源地址发出的数据包进行统计,如果发往不同的目的地址或端口的数据包超过一定的数目,则判定该源地址在进行端口扫描。
7.根据权利要求3或4的所述的基于高速数据处理平台的入侵检测方法,其特征是采用一种使用序列假设测试的扫描检测方法,通过对实际网络数据集的分析发现扫描行为成功建立连接的比率远远低于正常的网络应用。
8.根据权利要求7的所述的基于高速数据处理平台的入侵检测方法,其特征是观察到的每次连接是否成功表示为随机变量,然后使用序列假设测试确定何种发起连接的主机是否在进行扫描。
9.根据权利要求7的所述的基于高速数据处理平台的入侵检测方法,其特征是通过硬件平台与相应的软件改进两部分进行实现,其中软件改进包括软件体系结构的改良、以及为适应新硬件平台一些关键算法设计的修改。
全文摘要
基于高速数据处理平台的入侵检测方法和系统,由系统数据交换支持系统、数据接入及预处理板卡、入侵检测数据处理板卡组成;其中,接入板可实现接入数据预处理,通过对数据包计算HASH,将它们动态负载均衡的发到多块入侵检测处理板卡上进行处理;入侵检测数据处理板并行运行,以使整个系统达到千兆线速所需的处理效率;设有系统数据交换支持系统,负责在各系统部件之间进行数据传送。该系统利用高性能数据处理硬件平台对网络数据包接收及转发、查找、分析的高效性,结合流量负载均衡算法,在传统基于X86硬件架构的基础上,实现了一个千兆环境下的分布式入侵检测系统,提供了较好的检测性能。
文档编号H04L9/32GK1838588SQ200610039899
公开日2006年9月27日 申请日期2006年4月26日 优先权日2006年4月26日
发明者赖海光, 金毅, 黄皓, 谢俊元, 谢立 申请人:南京大学, 江苏南大苏富特软件股份有限公司