分布式入侵检测系统的数据分析模块及特征库的组建 下载本文

龙源期刊网 http://www.qikan.com.cn

分布式入侵检测系统的数据分析模块及特征库的组建

作者:尚莹莹

来源:《电脑知识与技术》2013年第22期

摘要:为了应对越来越复杂的网络环境,为教学网络开发的分布式入侵检测系统可以对来自网络内外的恶意入侵和不良信息进行有效的预警和响应。系统的逻辑结构划分为数据采集模块、数据分析模块、数据库模块、管理控制平台模块和通信模块,本文对数据分析模块进行了详细的阐述,并在数据分析的基础上形成系统自己的特征库。 关键字:网络安全 入侵检测 数据分析 模式匹配

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)22-5056-02 1 数据包的解析

数据解析就是把数据包层层剥开,确定该包属于何种协议,有什么特征,并标记到某一全局变量中,从而有利于后来的数据分析。

在日常的网络中,IP、TCP、UDP、ICMP数据包是应用最为多的几类数据包,IP协议,中文是网际协议,是TCP/IP协议族群中应用最多的协议,该协议工作在网络层,是一种无连接的不可靠的数据报协议;TCP(transmission control protocol)是传输控制协议,为不可靠的因特网上提供了一种可靠的、端对端的字节流通信的协议,工作在传输层。UDP(User Datagram Protocol),即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用,和TCP协议一样,也是工作在传输层。ICMP(Internet Control Message Protocol)是网际控制信息协议。TCP/IP设计了ICMP一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。当网关发现传输错误时,立即向源主机发送ICMP报文,报告出错信息,让源主机采取相应处理措施。

IP层的分组时数据报,是一个变长的分组,由首部和数据两部分组成,在传输的过程中,如果数据报长度过长可以分片,一个分片了的数据报还可以再分片,同一数据报的所有分片数据报的标示字段值相同,而不同的标志字段的值对分片有不同的要求,分片偏移则是指明了该片数据报在整个数据报中的位置。

使用TCP协议传送的数据单元被称为报文段有首部和数据两部分组成。

龙源期刊网 http://www.qikan.com.cn

UDP用户数据报的每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。UDP协议使用端口号为不同的应用保留各自的数据传输通道。UDP协议使用报头中的校验值来保证数据的安全,与TCP协议不同,UDP要求必须具有校验值。 2 特征库的建立

因为本系统是基于Snort的,借鉴了Snort的规则模式,所以这里特征库又称为规则库,在前文中已经简单介绍了Snort规则的基本语法结构,网络上有一部分Snort规则的资源,可以下载来用,但是要想教学网络分布式入侵检测系统更好的适用于其所在的环境,还必须编写自己的规则,建立自己的特征库。 编写自己的规则有两种基本的方法:

1)对已有规则进行修改或添加,这种方法可以调整规则,使它更加有效。可以通过对误报的分析,一步一步来完善规则。 2)创建自己的新规则。

规则由规则头和规则体组成,它不但要求熟悉规则的语法结构,还要求了解入侵信息的特征,往往通过研究一个新的漏洞或攻击时,采用流量分析来创建新规则,它也被用来提炼和修改已存在的规则。有一个经典的分析工具WinDump被大家广泛采用。

WinDump是Windows平台下的一款免费的网络协议分析软件,它可以捕捉网络上两台计算机之间所有的数据包,供网络管理员做进一步流量分析。由于它是免费的。所以在网络上有很多的资源下载。

规则可以以文档的方式存放在硬盘上,也可以建成数据库的形式存放。建成数据库的形式要根据规则的格式设置表的属性。规则由规则头和规则选项两部分组成,规则头有响应动作,协议,源、目的IP和源、目的端口组成,这些字段是必需的,所以在表中可以设置相应的固定的属性。规则选项是可以不存在的,所以可以建立两个表,把规则头设置为主表,把规则选项设置成副表,通过外键使两表相连。在数据分析过程中,进行规则与数据流的匹配时可以根据各个字段的匹配。

入侵监测系统要求不断加强,其首要表现就在于规则的增强上,不但要不断对已有的规则进行修改和更新,还要给规则库添加新的规则。现阶段在本系统中还是手动地改写规则库中的规则,如何让它能够根据不合法行为自动地更新,增强系统的自学习能力,是入侵监测系统上还需深入研究的问题。 3 特征库中的部分规则介绍

龙源期刊网 http://www.qikan.com.cn

本系统的规则特征库主要来自三部分,一方面是Snort官方网站上提供了很多成熟的规则,本系统根据自身软硬件环境以及其所在网络的特点对部分规则进行了运用,第二种就是对snort已有的部分规则的修改,最后一部分是根据规则特点自己编写的,下面对部分规则进行简单介绍。

4 模式匹配算法选定

模式匹配入侵检测方法中的模式匹配模型的主要特点是:根据已定义好的特征模式,通过对审计记录信息做模式匹配来进行检测。基于特征的检测技术的核心是维护一个入侵特征库。对于已知的攻击,它可以详细、准确的报告出其攻击类型,但是对未知的攻击却效果有限,而且入侵特征必须不断更新。一个优秀匹配算法关乎到整个系统的性能,本系统选用BM算法。BM算法的基本思想:BM算法对模式串自右向左扫描,在不匹配时,用两个函数bad-character和good-suffix来确定指针在主串中移动的距离。BM算法实现了指针的跳跃前进和无回溯。 算法:

1)自右向左比较:BM扫描描式串的方向是从右向左的。进行比较时,T的最左边与P最左边对齐,首先进行Pm与Tm的比较,但是匹配的方向是从P的最右边开始依次向左,直至出现不匹配字符串为止。BM算法采用两条启发性规则计算模式串右移的距离,即坏字符规则和好后缀规则。

这种算法的用途包括采用递归方式搜索文件中的病毒字符串,在数据库中搜索关键字或数据,文本和单词的处理,还有其他要求非常高速地处理大量数据的场合。

性能分析:BM算法在搜索阶段的时间复杂度是O(n+m),r为模式串在主串中出现的次数,最坏情况下复杂度为O(mn),最好情况下的时间复杂度为O(n/m)。

通过对模式匹配算法的性能分析和实验数据分析,BM算法极其变种算法因其优良的性能而成为目前IDS的首选算法。