APP下载

一种基于网络协议分层过滤的入侵检测系统研究

2011-01-11郑乃千

长治学院学报 2011年2期
关键词:模式匹配网络协议字节

郑乃千

(晋中学院 后勤集团公司,山西 榆次 030600)

一种基于网络协议分层过滤的入侵检测系统研究

郑乃千

(晋中学院 后勤集团公司,山西 榆次 030600)

针对当前海量互联网数据和难以负重的传统基于模式匹配的入侵检测系统,利用网络协议的分层特点,设计了一种基于协议分层过滤特征数据和模式匹配相结合的一种入侵检测系统,极大地提高了入侵检测系统的工作效率。

协议分层;过滤;模式匹配;入侵检测

1 引言

随着互联网的飞速发展和网络应用的不断丰富,各种网络安全事件屡屡发生,造成的各种损失巨大,网络安全正面临严峻的考验,网络安全技术的要求也越来越高。当前主要采用的网络安全手段仍然是入侵检测系统。但是面临高速的网络传输系统和海量的传输数据,传统的入侵检测系统已经难以负担大流量数据的检测;同时,传统的基于模式匹配的入侵检测系统还会产生大量的漏报和误报情况,入侵检测方法和技术需要进行提高和改进。文章提出了一种基于网络协议过滤的入侵检测系统,能够极大地减轻入侵检测系统的负担,提高入侵检测系统的效率,降低了误判率[1]。

2 网络协议分析[2]

2.1 数据传输模型分析

在网络传输过程中主要采用TCP/IP协议进行数据传输,网络数据严格按照网络协议规定进行传输,因此有必要对网络协议进行研究。在OSI参考模型中分为七层协议结构,其中最重要的是下面四层。如图1所示,每层协议都负责不同的通信功能,其中数据链路层主要负责硬件接口协议的地址解析,以帧的形式发送和接收数据;网络层是整个TCP/IP协议的核心,所有网络要传送的数据都要转换为网络层的IP数据报的形式来传送,数据的类型、应用种类、使用方法等信息都在IP数据包中有具体的表示,对IP数据包的分析成为了协议分析的重点。

图1 网络协议分层示意图

正是由于数据在网络中传输严格遵守TCP/IP协议的分层规则,使得利用网络协议分层传输信息的特征来设计和实现入侵检测系统具有了有力依据。

2.2 数据报、协议结构分析

图2 以太帧、ip数据报结构示意图

由于IP数据报[3]是网络中数据传输的主要形式,同时IP数据报中具有了数据的各种信息,并且与任何传输硬件无关,所以要对数据报的结构做进一步分析,图2为以太帧和IP数据报格式。首先,设备网卡截获到数据链路层传送的帧格式数据。在帧格式中,分析第13、14位字节:假如这两位的值为0800,则该包为IP包;假如值为0806,则该包为请求/响应包,每个不同的值对应不同的协议类型包。如被确认为IP数据报则采用IP格式进行协议解析。在数据帧中去掉帧的首部、源地址、目标地址、帧头、帧尾后即可得到IP数据报。要分析IP数据报首先要看IP数据报的首部。如图2所示,IP数据报首部是由长度为20字节的数据结构组成,在IP首部的第10个字节用来表示下层协议类型,若其16进制值为0x01表示的是ICMP协议,0x06表示TCP协议,0x11表示UDP协议。在这里主要研究的是TCP协议。要分析TCP协议首先要从TCP首部分析。TCP首部的第一个字节定义了应用层协议标识,也就是通常所说的端口号。当该字节的值为80时代表http协议,21时代表FTP协议,23时代表telnet协议。不同的端口代表不同的应用协议,而不同的协议又规定有不同的数据分析方法。以HTTP 协议为例。RFC(Request for Comments)规定:在HTTP协议中,URL开始的地址是IP数据包的第55字节,所以要截取URL来进行数据解析,然后将解析后得URL与入侵检测特征库进行匹配,匹配成功则说明有入侵行为。对于不同的端口协议,需要进行不同数据的检测,对于不需要检测的数据可以放过而不去处理。

通过以上对以太帧、数据报结构以及分层协议的分析可以发现,我们可以利用协议的规则去检测入侵,对于不同层次的不同协议,只需要检测其数据的特定部分,而不是检测所有数据,能够极大地减少数据的处理量和处理时间,减轻IDS的压力,提高检测效率。因此提出了以下基于网络协议分层过滤的入侵检测系统的模型。

图3 基于分层协议过滤入侵检测系统模型

3 基于分层协议过滤的入侵检测系统模型

传统的入侵检测系统是基于模式匹配算法的,这里提出的入侵检测系统是在模式匹配基础之上增加多层协议过滤模块,基于不同协议检测不同数据,过滤掉无关数据,设计模型如下图3所示。整个入侵检测模型由以下几个模块组成,分别是:数据包捕获模块、协议分层分析模块、特征数据过滤模块、模式匹配模块、报警响应模块。整个系统的实现是基于windows环境下的WinPcap[4]函数来实现的,通过编程调用WinPcap库函数来实现对数据包的捕获、协议分析、数据提取等功能。

(1)网络数据捕获模块。在winpcap函数库中主要提供了 pcap_open_live()和 pcap_loop(pcap_t*p,int cnt,pacp_handle dispatch_handle,u_char*user)两个函数来实现对数据链路层网络数据的捕获。

(2)协议分层解析模块。将捕获数据传入pkt_data常量,带入函数 dispatch_handle(u_char*,const pcap_pkthdr*header,conset u_char*pkt_data)中对该数据包进行过滤,将包中协议类型字段值为0x0800的数据报过滤出为ip数据包。将捕获为ip数据包的数据同样采用 pcap_open_live()和pcap_loop (pcap_t*p,int cnt,pacp_handle d i spatch_handle,u_char*user)函数来继续进行ip包解析,解析出ip首部,然后检测ip首部中的第十个字节中的协议类型字段,将数据包协议分类、分层,确定协议类型。

3)过滤特征数据模块。对于不同的协议类型要检测的数据是不同的,因此要对照协议规则库对ip包特征数据的过滤。其中协议规则库的时采用Request For Comments(RFC)[5],来进行收集整理的。这样就过滤出需要匹配的特征数据,来进行入侵检测的模式匹配。

4)模式匹配模块。模式匹配模块采用传统入侵检测模式匹配算法进行匹配,采用的匹配算法为BM算法[6],将过滤后的特征数据和入侵检测规则库中的数据规则进行匹配,以检测该特征数据是否符合某项攻击特征,假如匹配成功则表示入侵产生,否则放弃。这种匹配方法在目前的入侵检测系统中都具有,因此采用现成的系统即可实现,

5)报警响应模块。对于模式匹配模块中产生的入侵行为需要有响应模块,通过声音、灯光等行为进行入侵报警。

4 总结

针对当前海量互联网数据和难以负重的传统基于模式匹配的入侵检测系统,利用网络协议的分层特点,本文设计了一种基于协议分层过滤特征数据和模式匹配相结合的一种入侵检测系统,不仅能减少需要匹配的特征数据量,减轻模式匹配的负担,同时也能够降低模式匹配的误报率,极大地提高入侵检测系统的工作效率。

[1]LEEW.Adatamining frame work for constructing features and models for intrusion detection systems[D].NewYork:Columbia University,1999.

[2]蔡敏,叶震,徐吉斌.协议分析技术在入侵检测中的应用[J].计算机技术与发展,2007,17(2):240-241.

[3]蔡洪民,伍乃骐等;分布式入侵检测系统的研究与实现[J].2009,(30):1238-1239.

[4]刘立峻,熊玮.基于WinPcap网络监听系统的实现[J].电脑学习,2010,05(56):56-57.

[5]张强,张治中,基于RFC2544的以太网性能测试软件设计[J].光通信研究,2010,05(23):23-26.

[6]杨洁,一种改进的BM匹配入侵检测算法及其应用[J].电脑知识与技术,2010,22(16):6198-6200.

Research on an Intrusion Detection System w ith Layered Filtering Based on Network Protocol

ZHENG Nai-qian
(Logistics Group of Jinzhong University,Jingzhong Shanxi 030600)

With the current situation of large amountof data on internet,heavymatching burden of pattern matching based intrusion detection system,with the advantage of the of layered prpperty of the network protocols,an intrusion detection system with layered filtering based on network protocol can be introduced in this paper for improving the overall performance of intrusion detection system.

protocol layering;filtering;patternmatching;intrusion detection

TP393.06

A

1673-2014(2011)02-0027-03

2010—12—20

山西省高校科技研究开发项目(200613048);山西省教育科学“十一五”规划课题(GH-06203)资助。

郑乃千(1962— ),男,山西榆次人,工程师,主要从事网络工程研究。

(责任编辑 李学斌)

猜你喜欢

模式匹配网络协议字节
No.8 字节跳动将推出独立出口电商APP
基于模式匹配的计算机网络入侵防御系统
No.10 “字节跳动手机”要来了?
具有间隙约束的模式匹配的研究进展
OIP-IOS运作与定价模式匹配的因素、机理、机制问题
一种蓝牙多跳网络协议的设计与研究
简谈MC7字节码
基于DPI技术的语音视频流量监控系统设计与实现
航天测控网实时数据流量监控与分析技术
基于散列函数的模式匹配算法