入侵检测系统分析及其在Linux下的实现

http://tech.ddvip.com   2007年03月11日    社区交流

本文详细介绍入侵检测系统分析及其在Linux下的实现

  ● 捕获符合指定条件的网络数据包。

  ● 进行IP重组,提供IP包数据。

  ● 重组TCP流,提供TCP流数据。

  ● 重组应用层数据流,提供HTTP数据流。

  ● 实现基于规则的入侵检测方法。

  ● 向控制台提交分析结果。

  ● 接受控制台的配置和管理。

  由于该系统功能的实现主要体现在数据采集模块和数据分析模块中,所以下面将对这两个模块加以详细说明。

  2.3 数据采集模块

  数据采集是入侵检测的基础,入侵检测的效率在很大程度上依赖于所采集信息的可靠性和正确性。在基于网络的入侵检测系统中,数据采集模块需要监听所保护网络的某个网段或某几台主机的网络流量,经过预处理后得到网络、系统、用户以及应用活动的状态和行为信息。数据采集需要在网络中的若干关键点进行。

  具体来说,数据采集模块需要监听网络数据包,进行IP重组,进行TCP/UDP协议分析,同时也要进行应用层协议数据流分析。采集到的数据要经过预处理才能提交给数据分析模块。由于不同的分析方法所需要的数据源是不同的,所以预处理也会有很大的不同。但是,一般来说,分析模块所分析的数据都是基于某个网络协议层的数据信息,或是直接采用这些数据的某些部分。因此在该系统的设计中,数据采集模块除了采集数据外,还要对这些信息进行协议分析。协议分析是指将网络上采集到的基于IP的数据进行处理,以便得到基于某种协议的数据。在本系统中主要是针对TCP/IP协议族的分析。

  网络数据采集是利用以太网络的广播特性实现的,以太网数据传输通过广播实现,但是在系统正常工作时,应用程序只能接收到以本主机为目标主机的数据包,其他数据包将被丢弃。为了采集到流经本网段的所有数据,我们需要首先将网卡设置为混杂模式,使之可以接收目标MAC地址不是自己MAC地址的数据包,然后直接访问数据链路层,截获相关数据,由应用程序对数据进行过滤处理,这样就可以监听到流经网卡的所有数据。

作者:薛静锋 李志强    责编:豆豆技术应用

正在加载评论...