您的位置:首页 > 其它

IDS中的数据分析技术简述

2006-10-11 16:39 337 查看
数据分析是入侵检测系统的核心。各种分析方法各有利弊,但基于规则的检测方法因为事先将各种入侵方式表示为规则存放于规则库中,因此在规则库比较完备的基础上,可以有很好的检测效率,所以我们在该系统的实现中主要考虑了基于规则的检测方法。
基于规则的检测方法是误用检测的一种。规则一般都是文本的、高层协议的过滤规则,如“目标地址为xxx.xxx.xxx.xxx的http协议包”。规则所能描述的入侵行为的范围和准确程度影响着探测引擎的效率和准确度。每一种基于规则的入侵检测方法都需要一个确定的入侵模式库,即规则库,其中存放着描述入侵方法和行为的规则。规则通常是在探测引擎初始化时被读入内存,形成一个链表或决策树。入侵检测系统需要从以往的攻击入侵活动中,归纳识别出对应的入侵模式,并将这些入侵模式存放于规则库中,然后将系统现有的活动与规则库中的规则进行模式匹配,从而决定是否有入侵行为发生。
规则库的匹配流程如下:



在我们的系统中,采用了与SNORT兼容的入侵行为描述方法。SNORT是一个开放源代码的轻量级的基于网络的入侵检测系统,这种描述方法简单、易于实现,能够描述绝大多数的入侵行为。由于其简单,因此检测速度比较快。
Snort在真正执行检测之前会对规则集进行初始化,它会把规则按头部信息(主要是动作、源目标IP、源目标端口信息)及选项信息初始化成链表头和链表选项。在链表头中包含的是多个规则中的共有属性,而不同的检测属性选项则包含在不同的链表选项中。Snort作者提供的图示如下:

Rule Chain logical structure
-------------------------------------------------------------------------------
------------------------ ------------------------ -----
| Chain Header | | Chain Header | | Chai
| | | | |
| Source IP Address | | Source IP Address | | Sour
| Destination IP Address |--------->| Destination IP Address |--------->| Dest
| Source Port | | Source Port | | Sour
| Destination Port | | Destination Port | | Dest
| | | | |
------------------------ ------------------------ -----
| |
| |
| |
/|/ /|/
-----------V--------- -----------V---------
| Chain Option | | Chain Option |
| | | |
| Content |
| TCP Flags |
| ICMP Codes/types |
| Payload Size |
| etc. |
| |
---------------------
|
|
|
/|/
-----------V---------
| Chain Option |
| |
| Content |
| TCP Flags |
| ICMP Codes/types |
| Payload Size |
| etc. |
| |
---------------------
|

  这样做的好处是所有规则头信息相同的规则都被链入同一个规则链,比如所有CGI漏洞的攻击很可能都有相同的规则头信息(可能都是"alert any any -> HOME-NET 80"这种模式),一个包的一旦匹配了这种规则头模式,就会顺着相应的链继续匹配选项部分,这样就极大的减少了匹配的次数,提高了效率。
对于每一个数据包,系统都会在二维方向上对此规则链进行递归搜索工作。系统的检测引擎将只检查那些在运行时已经由规则解析器设定好的链表选项。一旦检测引擎搜索到一个检测属性与解析后数据包相匹配的规则,则触发定义好的规则动作并返回。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: