APP下载

基于IPv6环境下的网络入侵检测系统研究

2008-07-14钟乐海

电脑知识与技术 2008年18期
关键词:模式匹配

张 俊 钟乐海

摘要:IPv6技术是下一代互联网的技术核心,对IPv6网络入侵检测系统的研究与下一代网络的安全技术紧密相关。在分析网络安全系统的基本原理和IPv6网络的主要特点之后,提出了一种基于IPv6网络入侵检测系统的框架,同时采用了改进的KMP算法和蜜罐技术。

关键词:IPv6;网络入侵检测;模式匹配;蜜罐技术

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c

Research of Network Intrusion Detection System Based on IPv6 Environment

ZHANG Jun,ZHONG Le-hai

(College of Computer Science, China West Normal University,Nanchong 637002,China)

Abstract: IPv6 will be the core technology in the next generation Internet. Therefore, the study on intrusion detection system in IPv6 is closely linked with the next generation Internet .After analyzing the fundamentals of network security system today and the primary characteristics of IPv6,a framework of intrusion detection system in IPv6 was put forward. A pattern matching by using improved KMP, and using Honeypot technology.

Key words:IPv6;network intrusion detection;pattern matching;Honeypot technology

1 引言

防火墙作为一种边界安全设施能比较有效地保护网络内部的非法访问。由于传统防火墙所暴露出来的不足和弱点,引发了人们对入侵检测系统(IDS)技术的研究和开发。入侵检测系统为网络安全提供实时的入侵检测及采取相应的防护手段。随着下一代网络的发展,IPv6提供了较好的安全体系结构,IPv6安全机制的引进,增强了网络层的安全性。同时,IPv6安全机制的应用对现有的网络安全体系也提出了新的要求和挑战。由于入侵手法层出不穷,入侵检测系统很难检测到新的入侵行为,蜜罐技术的引入能够很好的解决这一问题。

入侵检测是指通过对行为、安全日志或审计数据或其它网络上可以获得的信息进行操作,检测到系统的闯入或闯入的企图。入侵检测技术,它是一种主动保护自己免受黑客攻击的新型网络安全技术,进行入侵检测的软件与硬件的组合便是入侵检测系统[1]。

Spitzner认为,蜜罐是一个信息系统资源,其价值就在于它的资源被未授权或非法使用。蜜罐系统通过伪装成带有漏洞的真实系统来吸引黑客进入,并记录黑客在其中的活动。我们通过分析蜜罐记录的数据就可以很轻松的了解到黑客的动向及其使用的新方法等信息。本文引入蜜罐技术是为了记录黑客行为,提取出入侵规则,把新的入侵规则添加到入侵检测系统的规则库中,从而使入侵检测系统能够检测出新的入侵行为。

由于IPSec作为IPv6的下一代互联网的必选协议,它从协议上保证了数据传输的安全性。该协议定义了认证报头和封装安全载荷报头,实现了基于网络层的身份认证,确保了数据包的完整性和机密性,在一定程度上实现了网络层安全[2]。由于在IPv6环境下网络的安全问题仍然突出,入侵检测系统作为一种有效的网络安全工具,它依然在IPv6环境下发挥着重要作用。

2 IPv6网络入侵检测系统结构

入侵检测系统广泛采用成熟的模式匹配技术,针对IPv6的特点,本系统采用将协议分析技术与规则

匹配技术相结合的IPv6网络入侵检测系统框架,使用改进的KMP算法来检测入侵行为。IPv6网络入侵检

基金项目:四川省科技攻关资助项目(No:05GG009-018)

作者简介:张俊(1981-),女,河南洛阳人,西华师范大学计算机学院计算机应用技术专业硕士研究生,研究方向:基于网络的计算机应用;钟乐海(1963-),男,四川广安人,博士,西华师范大学计算机学院教授,硕士导师,研究方向:计算机网络应用技术及信息安全技术

测的基本思想是:捕获目标地址属于受保护网络的数据包,送往协议分析模块,通过具体协议字段分层次协议,送往相应协议解析器,分析数据包的数据部分,再根据特征库中的模式进行模式匹配,判断该数据包是否有入侵企图,最后由响应模块对该数据包做出相应的响应[3],IPv6网络入侵检测系统结构如图1所示。

图1 IPv6网络入侵检测系统结构图

2.1 数据采集模块

数据采集模块是底层模块,它是网络入侵检测系统的基本组成部分,是实现整个入侵检测系统的基础。该模块按一定的规则从网络上获取与安全事件相关的数据包,然后传递给协议解析模块解析处理,为整个系统提供数据来源。

基于IPv6的网络入侵检测系统采用专门为数据监听应用程序设计的库文件WinPacp来实现包捕获模块,这样可以不了解网络的数据链路层细节。

WinPacp是基于BSD系统内核提供的BPF设计的,利用BPF的信息过滤机制可以去掉用户不关心的数据包,从而提高系统的工作效率[4]。

2.2 中层模块

中层模块是IPv6网络入侵检测系统的核心,它由协议解码模块和规则匹配模块组成。协议解码模块是对捕获的数据包进行协议解码,解析成协议数据的格式,并分辨各个协议的头部和负载,进一步分析出头部中的各个字段;规则匹配模块对协议解析模块提交的数据进行匹配算法和规则库中的规则进行比较分析,从而判断是否有入侵行为。

2.3 高层模块

高层模块包括响应模块和界面管理模块。当入侵检测系统发现系统有入侵事件发生时,就要让系统管理员等相关安全人员指导已经有安全问题发生,并需要采取相应的响应措施。响应模块主要功能是对经过检测的数据包执行具体的响应,是入侵检测系统不可缺少的一部分。

从响应的方式上分,入侵检测系统的响应可分为主动响应和被动响应,本文采用主动响应和被动响应向结合的方式来对入侵行为做出响应。

3 一种改进的模式匹配算法

匹配算法直接影响到系统的实时性能。从网络数据包搜索入侵特征时,需要一个有效的字符串搜索算法。在字符串搜索算法中,最著名的是KMP(Knuth-Morris-Pratt)算法和BM(Boyer-Moore)算法[5]。这两种算法在最坏的情况下具有线性的搜索时间,即计算时间复杂度为0(mn),m、n分别是位于欲匹配的字符串长度,而且还可能会出现多次回溯,算法效率太低,因此,我们对KMP算法进行了改进。

对KMP算法的改进的基本思想:当某趟匹配失败时,i指针不必回溯,而是利用已经得到的“部分匹配”结果,看看是否有必要将i的值进行调整,然后再将模式向右“滑动”若干位置后继续比较。在此算法中需要计算一个失效函数next(j):当模式T 中的第j个字符与目标P中相应字符失配时,模式T中应当由哪个字符(设为第k个)与目标中刚失配的字符对齐继续进行比较。我们发现,对不同的j,k的取值,它仅依赖于模式T本身前j个字符的构成,而与目标无关。算法的流程图如图2所示。

图2 改进的KMP算法流程图

设目标序列P的长度为m,模式序列T的长度为n,滑动系数为k。指针i和j分别指示主串目标序列和模式序列中的比较字符。根据改进的算法,对于字符串模式匹配实例P=“abaabc”和T=“abaabghjwabaabch”的匹配过程如下:

从文本的第9位开始比较,改进的KMP算法中的i不是保持不变,而是增加了,这就意味着加快了模式匹配的进度。应用该算法在一定程度上加快了比较速度。

为了测试改进后的KMP算法的性能,我们使用赛门铁克公司入侵防护工具(IPS)SNS-7610在一个局域网内随机采集数据。使用检测规则,分别对改进前和改进后两种算法进行了测试。测试时递增使用匹配规则,对数据进行检测。首先使用200条规则用于检测数据,然后每次增加50条规则,所得到的实验数据如表1所示。

通过实验证明,应用改进后的KMP模式匹配算法,能够减少一定量的比较时间,说明改进后的算法在一定程度上加快了比较速度。

4 蜜罐技术的加入

蜜罐(Honeypot)是一种在互联网上运行的,目的是吸引攻击者,并记录下攻击者的行为的计算机系统。它是专门为吸引并诱骗那些试图非法闯入他人计算机系统的人(如电脑黑客)而设计的,该系统是一个包含漏洞的诱骗系统,它通过模拟一个或多个易受攻击的主机,给攻击者提供一个容易供给的目标,从而得到相关信息以便检测到攻击,由于蜜罐并没有向外界提供真正价值的服务,因此所有的蜜罐的尝试都被视为可疑的。蜜罐的另外一个用途就是拖延攻击者对真正目标的攻击,让攻击者在蜜罐上浪费时间[6]。

本文将蜜罐引入的目的是通过分析蜜罐记录的数据提取入侵规则,有助于入侵检测系统检测出新的入侵行为,同时,入侵系统也为蜜罐过滤掉一些已知入侵,降低了数据分析的工作量。为了克服分布式蜜罐系统运行成本高,管理与配置复杂的缺点,我们提出了虚拟分布式蜜罐的思想。通过将多个蜜罐甚至防火墙安装在一个物理机器上,就可以更好的模拟网络。

本文实现了一种建立在User-Mode Linux(UML)上的虚拟分布式蜜罐系统。UML是一种建立在Linux基础上的虚拟机,实质是在Linux内核上的一个补丁,是开放源代码的,由Jeff Dike开发和维护[9]。UML允许在一台Linux主机上同时运行多个UML的实例,即在一台Linux主机上实现多个Linux虚拟机。UML有点像商业软件Vmware,不过目前它只能用在Linux系统上。设计UML的目的包括:让调试新的Linux内核更加容易,运行有错或者是有一定危险的程序,监视内核运行情况等,而且不会破坏宿主Linux系统(运行UML的Linux系统)。

5 系统的实现及实验结果

本系统是在Snort2.0.0的基础上实现IPv6下的网络入侵检测。只有Nmap网络安全扫描器支持IPv6扫描,Iperf能够产生IPv6流量。为了进行测试,我们使用SendIP构造各种隧道包和敏感信息的IPv6包发往被保护的网络,观察NIDS的告警情况。对于IPv6的分段重组,我们用长ping进行测试(即指定ping包的长度,包长大于1500byte的IP将被分段)。Snort系统从网络接口读取数据包以后,首先根据数据链路层协议值来调用不同的解析函数来解析数据链路层协议,根据数据包中指向上层的协议值来调用不同的IP层解析函数。如果指向IP层协议值为0X0800,就调用DecodeIP()函数来解析IPv4协议;如果为0X86dd就调用DecodeIPv()函数来解析IPv6协议。

我们利用See5软件对蜜罐捕获的数据包中的数据提取规则,再将提取的入侵规则与NIDS中已有的规则进行比较,删除与NIDS已有规则相同的规则,剩余的就是新规则,将其放入新规则库中,以备入侵检测系统扩充其规则库之用。将新规则库中的规则添加到NIDS规则库中,增强了入侵检测系统检测新攻击的能力。图3为网络入侵检测与蜜罐技术的结合应用。

实验中,在使用Iperf在PC最大发包能力600Mbps,1460ByteUDP数据包的情况下,使用1500条规则,启动网络入侵检测系统,进行网络监听。实验结果如表2所示。

图3 蜜罐技术与网络入侵检测相结合

表2 改进前后捕获率和漏报率对比

我们使用改进的模式匹配算法和蜜罐技术后,网络入侵检测的系统地性能得到了提升,增强了检测能力。改进后的系统经验证,可以稳定高效的检测网络端口的流量,进行实时监测报告。

6 结束语

虽然IPv6提供了较好的安全体系结构,但这些只是在IP层实现的,而对于IP层以上的一些缺陷和应用程序的漏洞在IPv6中还不提供全面的保护。通过分析IPv6协议的特点及安全性能,提出了一种协议分析技术与模式匹配技术将结合的IPv6网络入侵检测体系结构,利用一种改进的模式匹配算法,来提高入侵检测的速度,同时将蜜罐技术引入来弥补入侵检测系的不足,在实际应用中收到了较好的效果。

参考文献:

[1]杨向荣,宋擒豹,深均毅.入侵检测技术研究与系统设计[J].计算机工程与应用,2001 (16):1-4.

[2]Pete Ldshin.IPv6详解.机械工业出版社,2000年4月1日.

[3]李建武.基于IPv6网络入侵检测系统研究和设计[D].西安:西北工业大学,2005.

[4]David Morton.Understanding IPv6 [M].PC Network Advisor,May 1997.

[5]Knuth D E.Morris J H, Pratt V R.Fast pattern matching in strings [J].SIAM J ournal on Computing,1997,6(1):323-350.

[6]Lance Spilzner.Huneyyuls: Definiliuns and Value of Huneyyuls.http: //www.tra

cking-hacker. com/papers/honeypots.html,2003,05.

[7]Know Your Enemy:Honeynets[EB/OL].http://www.honeynet.org/ papers/honeynet,2005-05-12.

[8]薛强.网络入侵检测系统NIDS的新技术研究[D].天津大学,2005-06-06.

[9]User-Mode Linux,http://user-mode-linux.sourceforge.net.

收稿日期:2008-03-12

基金项目:四川省科技攻关资助项目(No:05GG009-018)

作者简介:张俊(1981-),女,河南洛阳人,西华师范大学计算机学院计算机应用技术专业硕士研究生,研究方向:基于网络的计算机应用;钟乐海(1963-),男,四川广安人,博士,西华师范大学计算机学院教授,硕士导师,研究方向:计算机网络应用技术及信息安全技术。

猜你喜欢

模式匹配
基于模式匹配的计算机网络入侵防御系统
具有间隙约束的模式匹配的研究进展
OIP-IOS运作与定价模式匹配的因素、机理、机制问题
基于散列函数的模式匹配算法