《关于Snort的网络入侵防御功能研究》由会员分享,可在线阅读,更多相关《关于Snort的网络入侵防御功能研究(2页珍藏版)》请在金锄头文库上搜索。
1、1关于的网络入侵防御功能研 究作者:蒋玉国 杨明欣 郭文东摘 要 当前,入侵检测系统已经成为安全解决方案的一个必要条件,然而,入侵检测不能主动地阻断具有攻击特征的数据流。它往往是被动的监视局域网,让网络管理员对攻击行为采取相应的措施。本文讨论了入侵防御系统(IPS)的概念、优点和弱点,并根据著名的开放源代码网络入侵检测系统 Snort 的内部组织特点,提出了一种让 Snort 实现主动阻断攻击数据流的方法。 关键词 网络入侵检测系统 网络入侵防御系统 Snort 一、让 Snort 实现主动防御功能 1.设计思路。通过分析 Snort 的整体结构可知,它充分利用了插件机制,这种特点使它更灵活,
2、更容易系统功能的增加,使程序具有很强的可扩展性。IPS 与 IDS的主要区别就是 IPS 实现了主动的阻断攻击。利用 Snort 的这种内部组织结构和IPS 的特点,可以设想,只要为 Snort 增加一个能够阻断数据包的模块(假设称该模块为“在线处理模块”),并把 Snort 置于在线的位置,当 Snort 检测到某种入侵行为时,通过对该模块的调用,就可以达到阻断含有入侵倾向数据流的目的。 Snort 的检测引擎主要是基于规则的匹配。Snort 规则类型(规则行为)包括:alert、log、pass、activate 和 dynamic。我们就让 Snort 做拒绝与该规则匹配的数据包的处理。
3、剩余的任务就是,当 Snort 找到了和被捕获的数据包相匹配的规则时,Snort 通过什么条件来判断该数据包是否符合做拒绝处理,在 Snort 源文件 rules.h中定义了 OptTreeNode 的数据结构。为该结构中增加标志位。当 Snort 进行规则解2析时,通过判断规则的类型和 priority、classtype 参数的值,当符合一定的条件时,给相应的标志位置“1”。 这样,当检测引擎触发了某条规则,则通过判断这些标志位,决定是否阻断相对应的数据包。 为了使 Snort 更具有灵活性,还可以为之增加一个可选的功能:通过用户的选择,即可使 Snort 以 IDS 方式工作,也可以使其
4、以 IPS 方式工作。 2.实现阻断数据包的条件。为了实现 Snort 的 IPS 功能,需要特定的底层库Iptables 来代替原有的 Libpcap(Libpcap 是 Snort 的底层库)。Iptables 用于计算和控制在 Linux 平台上的外部连接。netfilter /iptables 支持 Linux2.4 内核,能够进行数据包过滤,网络地址转换及其它的数据包处理。 3.实现方法。(1)给 Snort 源文件 snort.h 中定义的 pv 结构增加标志位。在 PV 结构中增加一个标志位:inline。如果期望 Snort 以在线的(IPS)方式工作,则设该标志被置“1”,否
5、则 Snort 工作在普通的 IDS 工作方式。(2)在 OptTreeNode(规则选项)结构中增加两个标志位:reject 和 drop。当某规则的规则类型为 alert,且 classtype关键字属于 1 级优先级,或者 priority 大于 9,则当程序进行规则解析时,为属于该规则的 OptTreeNode 结构标志位 reject 置“1”。当某规则的规则类型为 alert,且classtype 关键字属于 2 级优先级,或者 priority 为 7 或 8,则当程序进行规则解析时,为属于该规则的 OptTreeNode 结构标志位 drop 置“1”。 4.如果被捕获的数据包
6、与某规则相匹配,这时说明 Snort 已经发现攻击行为。此时判断该规则的OptTreeNode 结构中两个标志位的值,如果 drop 为 1,调用在线处理模块,对该包做阻断处理并输出报警信息。如果 reject 为 1,调用在线处理模块,阻断该包、输出报警信息,如果该包协议类型为 TCP,向数据源发送 RESET 报文,终止该连接;如果协议类型是 UDP,向数据源发送 ICMP 端口不可达报文,终止该连接。图 13是 Snort 以在线方式运行的响应处理过程。 二、结束语 本文提出的使 Snort 增加主动阻断攻击数据流功能的方法具有以下优点: 1.该方法简单、灵活,不需要改动整体结构和 Sn
7、ort 原有的规则,只需在其原有的系统和规则的基础上给 PV 结构和 OptTreeNode 结构增加了几个标志位,为之添加现有的 Iptables 底层库和 Libnet,增加一些函数即可实现。 2.只有符合某种严重级别的数据流才对之采取阻断处理的策略,而并不是所有的符合报警的具有攻击特征的包均采取这种响应处理方式,减少了因误检而阻断正常的数据流的可能性。 3.只是在 Snort 原有的功能上增加了主动防御功能,没有改变原有系统的功能。参考文献: 1R.G Bace:入侵检测M. 陈明奇,吴秋新,张振涛等译. 北京:人民邮电出版社,2001,6 2韩东海 王 超 李 群:入侵检测系统及实例剖析M. 北京:清华大学出版社, 2002,4 3Joel Snyder. IPS: A technology, not a product. Network World, 2002,11 4Joel Snyder. What is an IPS, anyway? Network World,2002,8 5张悦连 郭文东:Snort 规则及规则处理模块分析. 河北科技大学学报,2003,12