EFSA模型在入侵检测中的应用与研究

2015-03-16 09:10吴冬惠杨印根李成林吴菲
电脑知识与技术 2015年1期
关键词:模式匹配

吴冬惠 杨印根 李成林 吴菲

摘要: 为了提高入侵检测率,降低误检率,提出了一种基于状态协议分析技术的扩展有穷状态自动机(EFSA)入侵检测模型,该模型通过构建一个EFSA来描述攻击的状态转移和变化,EFSA模型可用一个六元组表示,即M=(P,Q,Σ,W,q0,F)。通过建立该模型,一方面将接受到的数据包映射为协议状态的转换从而建立有穷状态自动机,根据被检测数据是否被自动机接受来判断攻击的存在。另一方面将待检测数据按协议分流,从而提升检测精度,减小模式匹配计算量,提高检测率。实验选取KDD CUP99做测试数据集,经测试结果表明基于EFSA模型的入侵检测方法较之基于五元组自动机检测模型具有更好的检测率和更低的误检率。

关键词:EFSA模型;状态协议分析;模式匹配;误检率

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)01-0038-04

Application and Study of Extended Finite Automata Model in Intrusion Detection

WU Dong-hui,YANG Yin-gen,LI Cheng-lin,WU Fei

(College of computer information engineering, Jiangxi Normal University, Nanchang 330022, China)

Abstract: In order to improve intrusion detection rate and reduce false positives rate, an extended finite state automata (EFSA) intrusion detection model is proposed, which is based on state protocol analysis technology.This model is constructed by a EFSA to describe attack state transition and change, and EFSA model can be used a six tuple that said, M= (P, Q,Σ,W, q0,F). Through the establishment of the model, on the one hand, it will receive the data packet mapping for the conversion of protocol state in order to establish the finite state automata, according to the detected data is accepted by the automaton to judge the existence of an attack. On the other hand, the data to be detected according to the protocol of shunt, so as to enhance the detection accuracy, reduce the pattern matching calculation amount, and improve the detection rate. The experiment selected KDD CUP99 test data sets,and the test results show that the method of Intrusion Detection Based on EFSA model comparing with five tuple automaton detection model has a better detection rate and lower false positives rate.

Key words: EFSA model; State protocol analysis; Pattern matching; False positives rate

傳统的入侵检测技术主要利用模式匹配技术检测攻击的存在,其存在很多缺点,如模式匹配计算量大,检测率低,很容易产生丢包现象[1]。随着互联网用户的日益增多,数据传输量呈现指数级递增,数据传输速率也不断增大,另一方面黑客攻击的手段日益复杂,因此传统的基于模式匹配技术的入侵检测系统无法实时检测攻击,满足不了用户的需求。近年来各种智能技术应用到入侵检测研究中,如基于神经网络[2]、遗传算法[3]、数据挖掘[4]、人工免疫技术[5]的入侵检测研究,但实际检测性能都不够理想,文献[6]中的刘恩军提出一种包匹配技术检测入侵,这种方法实现简单,但检测能力和灵活性较差,对未知攻击以及使用躲避检测技术的变体攻击无能为力;文献[7]中周杨提出利用协议分析技术对单个数据包进行分析,虽然它很大程度上能够有效阻止攻击行为,但其孤立的检测单个数据包使得这种方法无法发现碎片攻击和分布式协作攻击;文献[8]中殷超等提出利用一个五元组构建有穷自动机模型检测入侵,虽然它能够将数据包前后信息联系起来发现攻击,但它只能利用单一的固定模式来检测TCP协议缺陷型攻击,导致检测不够精确不够全面,容易造成误检和漏检。针对这些问题提出一种利用状态协议分析技术构建扩展有穷自动机模型检测入侵,该模型用一个六元组表示,它不仅能够发现碎片攻击,还能将数据按协议分流,对数据按协议的不同来构建相应的有穷自动机模型,从而更加精确地检测攻击,达到提高检测率,降低误报率的目的。

1 协议分析技术

协议分析技术是一种新兴的入侵检测方法,它与数据包捕获及其命令解析相结合进行入侵检测。在捕获到所需要的数据包后,协议分析首先判断相应协议字段的值是否在协议预定义的值的范围内,然后根据不同的攻击特征跳转到需要检测的协议字段来判断其合法性[9]。协议分析技术主要是利用了网络协议的高度规则性快速探测攻击的存在,避免了模式匹配所做的大量计算,从而提高入侵检测的效率。

1.1简单协议分析

简单协议分析首先对捕获到的数据包进行协议解析,同时提取数据的协议特征。通过数据解析可以丢弃一些不符合协议规则的数据包,还能检测出一些使用躲避检测技术的变体攻击和未知攻击。然后利用规则库对解析后的数据进行规则匹配,从而检测攻击。这种方法较之传统的基于模式匹配的入侵检测技术,减少了计算量,提高了检测效率。

简单协议分析技术可以检测出单个数据包携带的攻击,但现如今很多攻击都是分片进行的,比如有些网络攻击行为包含在多个请求中,所以孤立地检测单个数据包并不能够发现攻击[10]。如果能把整个完整的会话前后联系起来,那么攻击才有可能被发现。

1.2状态协议分析

在简单协议分析技术的基础上,状态协议分析技术应运而生。它不再像简单协议分析技术一样孤立地看待每个数据包,而是通过对解析后的数据包进行IP分片重组和TCP流还原,把分段后的整个数据包联系起来,来检测出多步骤碎片攻击以及分布式协作攻击[11]。

在状态协议分析的基础上本文提出一种基于扩展的有穷状态机模型,该模型用一个六元组表示。它充分利用协议的高度规则性,来检测跟踪任何可能的网络入侵攻击。

2 扩展有穷状态自动机模型(EFSA)的构建

在状态协议分析的基础上,文献[12-14]根据有关自动机理论给出的四个定理[15],证明了有穷自动机与正则表达式是等价的。他们利用有穷自动机和正则表达式这种等价的特性确定网络的正常状态及其转移过程,创建了基于五元组的有穷状态自动机模型(FSA)。

在基于五元组有穷自动机模型(FSA)的基础上,该文提出扩展的基于六元组的有穷状态自动机模型(EFSA)。

2.1六元组模型的建立

根据自动机理论,将扩展的有穷状态自动机(EFSA)模型应用到状态协议分析中,创建一个六元组M=(P,Q,Σ,W,q0,F),其中:

P是EFSA模型扩展(extended)部分,它表示网络数据采用的协议类型的集合。通过此项可以过滤数据包,达到按协议分流的目的,例如P={TCP},表示只允许TCP协议数据流入状态自动机;

Q是EFSA模型的有穷状态集,表示协议进程正常运行状态下所有可能的状态集合;

Σ是EFSA模型中触发状态转换的动作集合;

W:Q×Σ→Q是状态转移函数集合;

q0是EFSA模型的初始状态;

F是EFSA模型中的结束状态。

2.2 EFSA模型的创建

下面以TCP协议分析为例创建EFSA模型,根据建立一个TCP连接需要通过三次握手过程,有如下步骤:

1) 创建TCP协议会话连接状态自动机M,

W是状态转移函数,定义如下:

W(q0,SYN)=q1;W(q1,)=q2;W(q2,ACK)=q3。

2) 当服务器接受到一个来自客户端的SYN数据包,它就会创建一个状态列表去记录当前连接状态的情况,直到连接成功或超时,该列表才会被删除。

3) 当一个TCP连接正处于q2状态时,状态序列s被添加到状态序列S,将t设置成该状态序列的加入时间,同时设置时间间隔ΔT和报警阈值N,当S=φ,那么初始时间t0被设置成当前状态序列连接时间。此时检查q2状态下的连接个数|S|是否大于等于閾值N,判断|t-t0|是否小于或等于预先设定的时间间隔ΔT,如果两者都满足,则生成报警并且设置S=φ[16]。当一个TCP连接处于q3状态时,状态序列s将会从状态序列集S中删除。因此ΔT与N值的选取尤为重要,一般情况下根据统计和训练得到N与ΔT的值[17]。

3 基于EFSA模型的入侵检测

3.1模型总体框架结构

将EFSA模型应用到网络入侵检测中,如图2所示。

EFSA模型由FSA模型与协议分流模型构成,也就是说EFSA模型是在FSA模型的基础上增加了一个协议分流模型,这样便于减小之后规则匹配时的计算量,提高了检测效率和精度。

通过对捕获到的数据包首先进行协议确认到达过滤的效果。其次利用EFSA模型对数据包按协议类型的不同进行分流,该文以网络攻击中最普遍的TCP SYN flood攻击为例,来说明EFSA模型检测入侵的原理与步骤。

3.2协议确认

协议确认模块的功能是为了过滤数据包,这里利用WinPcap在以太网中采用端口镜像的方式捕获数据包,然后WinPcap中的BPF过滤机制对捕获到的数据包进行选择性过滤,而BFP过滤器是通过WinPcap调用相应函数来实现,这样有效地提高了系统的检测率、降低了系统的丢包率,同时也提高了系统本身安全性,减轻了IDS的负载[18]。

3.3利用EFSA模型检测入侵

1) TCP SYN flood攻击原理

TCP SYN flood攻击者利用傀儡机向受害主机发送大量SYN请求,受害主机回应请求,则会向源地址主机发送SYN+ACK应答,然而源地址主机并不会发送ACK以表示要建立连接,而受害主机会开辟一个内存列表用于存储和记录每个连接请求的状态,当处于如图1中所示的q2状态时称为半开连接[19]。攻击者通过发送大量的半开连接请求来耗费CPU和内存资源已达到拒绝服务攻击。

2) 检测入侵

为了避免此类攻击,规定当半开连接个数大于或等于N,并且满足请求从q0到达q2状态的时间小于或等于预先设定好的阈值ΔT时就认定为一次攻击,于是产生报警,并记录审计[20],如图3所示。

3.4规则匹配

通过EFSA模块检测之后的数据流将与规则库中被解析过的规则进行匹配,从而发现攻击。这里的规则匹配与模式匹配不同之处在于,规则匹配事先对规则库中的规则进行了解析,把规则解析成一个由规则头和规则选项构成的规则链表,待检测数据利用函数快速遍历规则链表,这样有利于快速匹配攻击[21]。规则匹配采用的算法与模式匹配相同,例如BM算法等。

4 实验结果及分析

为了验证本文提出的基于EFSA模型的入侵检测系统的性能,实验选取了四种常见网络攻击,它们分别为TCP SYN攻击,Ping of death攻击,ARP攻击,Probe攻击,同时选取基于BM模式匹配(snort)和基于FSA模型[22]的入侵检测方法作为对照。

4.1实验环境和数据

实验环境为实验室所在的以太网,实验中用到的两台装有操作系统为Windows XP的主机:主机A1和A2 均为台式机作为攻击方,IP 地址分别为10.3.136.159,10.3.136.158;主机D为笔记本作为被攻击方,安装有Windows 7系统,IP地址为10.3.136.182。

本实验的数据来自MIT林肯实验室( Lincoln Laboratory,Massachusetts Institute of Technology) 的DARPA入侵检测测评数据集KDD CUP99,分别抽取TCP SYN攻击,Ping of death攻击,ARP攻击,Probe攻击各1000次,利用Ostinato发包工具构造10000个连接正常的数据流,并将这些攻击掺杂在其中。

4.2实验结果及分析

通过搭建以上测试平台,测试结果如表1和表2所示。

由实验结果可知,针对TCP SYN flood 拒绝服务攻击,以snort为例的基于BM模式匹配的协议分析入侵检测系统,检测率为53.4%,误检率为16.1%;而文献[22]给出的基于FSA模型的入侵检测方法检测率为83.1%,误检率为10.1%;本文提出的基于EFSA(扩展有穷状态自动机)模型的入侵检测方法,检测率为96.5%,误检率为6.8%。其它三种攻击的检测,除了检测ping probe中误检率较之FSA模型提高了0.3%以外,其它指标均具有更好的性能。因此本文提出的基于FFSA模型的协议分析入侵检测方法较之BM算法和基于FSA模型的入侵检测方法各项性能指标基本都得到提高,尤其是对TCP SYN flood和Ping Probe等网络攻击的检测。

5 结束语

本文在状态协议分析和有穷自动机理论的基础上设计了一个EFSA模型,该模型较之基于五元组的FSA模型和基于BM模式匹配算法的入侵检测方法具有更高的检测率和更低的误检率。下一步将研究如何利用该模型检测其他网络协议攻击,以及对规则库中的规则采用算法进行动态排序,从而让IDS有次序地使用频率高的特征规则,进一步提高入侵检测率、降低误检率。

参考文献:

[1] 李毕祥.基于协议分析的入侵检测模块设计与实现[J].计算机与数字工程,2013,42(10) :1654-1657.

[2] 汪洁.基于神经网络的入侵检测系统的设计与实现[J].计算机应用与软件,2013,30(5):320-322.

[3] 朱红萍,巩青歌,雷战波.基于遗传算法的入侵检测特征选择[J].计算机应用研究,2012,29(4) :1417-1419,1426.

[4] 梁飞,闫宏印.基于聚类分析的动态自适应入侵检测模式研究[J].计算机工程与设计,2013,34(3) :814-820.

[5] 王波,刘久君.改进的人工免疫入侵检测模型[J].计算机应用,2012,32(6) :1627-1631

[6] 刘恩军.网络入侵检测技术的研究[J].齐齐哈尔大学学报,2013,29(4) :52-55.

[7] 周杨.协议分析技术在入侵检测系统中的应用[J].计算机系统应用,2011,21(6) :161-164.

[8] 殷超,李大兴.基于改进BM算法的确定型有穷自动机的设计[J].微计算机信息,2008,24(3-1) :215-216.

[9] 邓全才.基于模式匹配与协议分析的分布式入侵检测研究[D].天津:天津理工大學,2011.

[10]于志宏,张阔,胡亮.基于协议分析的入侵检测规则智能匹配[J].吉林大学学报(信息科学版),2008,26(2) :156-162.

[11] 朱映映,吴锦峰,朱艳艳.网络入侵检测中的深度协议分析方法[J].计算机应用研究,2012,29(5) :1891-1895.

[12] 邓文达.基于有限状态机协议分析模型的入侵检测系统[J].计算机应用,2006,25(6) :48-50,82.

[13] 宋江春,徐家树,陈文林.利用有穷自动机描述网络传输层协议的研究[J].计算机与信息技术,2005,13(6) :32-34.

[14] 吴建胜,战学刚.基于TCP 状态有限自动机的入侵检测研究[J].鞍山科技大学学报,2005,28(5) :368-371.

[15] 陈有祺.形式语言与自动机[M].天津:南开大学出版社,1999:45-75.

[16] 王庆生,张秀荣.基于状态协议分析的网络入侵检测技术[J].电脑开发与应用,2007,20(4) :55-57.

[17] Chundong Wang,Quancai Deng.A New Intrusion Detection System Based on Protocol Acknowledgement[A].In:Multimedia Technology (ICMT), 2010 International Conference on[C].New York:IEEE,2010:1-4.

[18] 刘坤灿,郑康峰.一种基于确定型有穷自动机的入侵检测模式匹配算法[A].见:2012年全国网络与数字内容安全学术年会论文集[C].AU:Science and Education Press,2012,21-25.

[19] Haining Wang,Danlu Zhang,Kang G. Shin.Detecting SYN Flooding Attacks[J].IEEE Computer and Communications Societies,2002,1530-1539.

[20] 郝耀辉,郭渊博,刘伟.基于有限自动机的密码协议入侵检测方法[J].计算机应用研究,2008,31(1):230-234.

[21] 冉占军.基于模式匹配和协议分析的入侵检测系统研究[D].西安:西安理工大学,2008.

[22] 李秀婷.基于Snort的网络入侵检测系统实现及其改进研究[D].西安:西安电子科技大学,2008.

猜你喜欢
模式匹配
基于模式匹配的计算机网络入侵防御系统
具有间隙约束的模式匹配的研究进展
OIP-IOS运作与定价模式匹配的因素、机理、机制问题
数据结构中模式匹配算法的教学方法探讨
基于AC_QS多模式匹配算法的优化研究
多源异构数据整合系统在医疗大数据中的应用
基于XML的农产品溯源平台中模式匹配问题的研究
基于散列函数的模式匹配算法
基于LabVIEW的魔方机器人系统设计
农村土地利用数据集成的模式匹配方法