本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
摘 要:文章提出的网络入侵检测系统是基于协议分析技术,并结合特征模式匹配方法,采用高速采集器采集数据源并分发给多处理机进行数据处理的新型系统,它有效地解决了传统网络入侵检测系统在高速网络环境下的应用瓶颈问题。
关键词:入侵检测; 高速网络; 协议分析; 多机处理
1 引言
随着Internet 网络安全问题的不断暴露和当前黑客攻击技术日益进步,人们逐渐认识到使用防火墙、数字签名和加密技术这些被动式、静态的防御技术越来越难于保证网络的安全。于是,人们开始了主动式、动态地保护网络安全的入侵检测系统的研究。第一代和第二代网络入侵检测系统即传统的网络入侵检测系统是基于特征模式匹配技术,采用单机采集网络数据源并加以处理的检测系统。在过去只有几兆、几十兆的网络流量的网络环境下,传统的网络入侵检测系统起了非常大的作用。
随着计算机网络技术的发展,几百、上千兆的高速网络环境已经大量出现。在这种高速网络环境下,传统的网络入侵检测系统显得力不从心,其应用瓶颈问题非常突出:漏抓网络数据包、误报率高、检测慢和检测时有丢包现象发生。那么如何解决传统的网络入侵检测系统的应用瓶颈问题?文章提出的一种网络入侵检测系统是基于协议分析技术,并结合特征模式匹配方法,采用高速采集器采集数据源并分发给多处理机进行数据处理的新型系统,它有效的解决了传统网络入侵检测系统的应用瓶颈问题。
2 数据源采集及处理
数据源的采集及处理是网络入侵检测系统的核心部分。CIDF通用模型将一个网络入侵检测系统分为以下部分:事件产生器(Event generator)、事件分析器(Event analyzer)、响应单元(Response units)和事件数据库(Event database)。数据源的采集及处理就对应于通用模型的事件产生器和事件分析器。
传统的网络入侵检测系统一般采用一台普通PC机作为采集器,进行网络数据流的采集,并同时在该机对数据流进行分析处理。在低速网络环境下,利用PC机的网卡采集数据不会出现丢包现象,并且单处理机的资源也能满足对小流量数据的处理。但是,在高速网络环境下,一台普通PC机难以满足大流量数据的采集和处理,会出现丢包和数据包漏检现象。为此,新型网络入侵检测系统采用高速数据采集器,并将采集到的数据流分发给多台高档PC进行分布式数据检测,这样可以有效地解决丢包及漏检问题。
高速数据采集器负责抓取完整的高速网络数据流,这通过专门的的高性能硬件方案来实现,主要包括实时嵌入式操作系统技术和具有高层交换功能的专用ASIC芯片技术。高速数据采集器采集到数据流后,通过负载均衡的原则将数据流分发给多台高档PC机进行处理。由于系统采用相同配置的PC作为数据处理机,同时为了提高采集器的工作效率,简化数据包分发算法,系统采用最简单的负载均衡算法,即分时传送——采取循环的方法,每隔一定时间按序向每台数据处理机传送数据流。这样就保证了每台数据处理机在某一时刻可以分布式处理大体相同的网络数据流量,提高了数据流检测的工作效率,解决了单台普通PC处理数据流量的效率低下、数据漏检的问题 。
3 协议分析技术
3.1模式匹配的不足
传统入侵检测系统使用模式匹配技术作为网络数据包分析技术。它是将采集的网络数据流与已知的网络入侵特征规则库中的规则逐条进行比较,以发现入侵行为。其工作步骤如下:
1)从捕获的网络数据流的第一个数据包的第一个字节开始与入侵特征规则库的第一个特征规则字符串比较。
2)如果比较结果相同,则说明检测到一个可能的攻击。
3)如果比较结果不同,则将数据包下移一个字节再进行比较。
4)直到把特征规则字符串的每一个字节都匹配完。
5)对于每一个入侵特征规则字符串,重复第二步。
6)直到每一个入侵特征规则都匹配完。
下面用模式匹配的一个例子来说明。
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD 050D 0050 221A 0112 415B 063A 7010
以上为采集的数据包,对于入侵特征规则字符串“/technote/print.cgi ”,根据上述步骤,首先从数据包头部开始比较:
/technote/print.cgi
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD12 050D 0050 221A 0112 415B 063A 7010
比较不成功,下移一个字节重新比较。
——/technote/print.cgi
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD12 050D 0050 221A 0112 415B 063A 7010
比较仍不成功,则又下移一个字节比较。如此重复,最终没有一次匹配成功。接着与入侵特征规则库中的下一个规则进行比较。
从该例可以看出,模式匹配有以下缺点:
1)缺乏智能化,系统资源耗费大
模式匹配技术不对数据包进行智能分析,仅仅单纯将特征字符串同数据包按字节依次匹配,这就导致计算工作量大,消耗系统资源。
对于一个特定网络的数据流来说,采用数据匹配方法每秒需比较的最大次数估算为:
网络数据包字节数×每秒数据包数量×入侵特征串字节数×入侵特征数量
如果网络数据包平均长度为60字节,每秒40000数据包,入侵特征库中有3000条特征,每条特征字符串平均长度为10字节,那么每秒比较的次数大约为:
60×40000×10×3000=72000000000
2)检测效率低
模式匹配只能检测特定类型的入侵。对入侵特征微小的变形都将使检测失败。如对于Web服务器, 入侵特征“/technote/print.cgi”的变形”/technote//print.cgi”、 “/technote%c0%afprint.cgi”用模式匹配方法不能检测出来。
3.2协议分析技术的优点
3.2.1减小匹配计算量
网络数据流是按通信协议的要求构成的,而通信协议规定了数据报文具有高度的格式,报文的每部分都有明确的含义和取值。传统的模式匹配把网络数据包看成是无序、无一定格式、随意的字节流。它对网络数据包的内部结构完全不了解,并且对于网络中传输的图象或音频同样进行匹配。这样势必造成检测效率低下、不精确的后果。而协议分析技术有效的利用了网络协议的层次性和相关协议的知识快速的判断入侵特征是否存在。它的高效使得匹配的计算量大幅度减小。即使在100Mb/s以上的网络中,也可以充分地检测每一个数据包。
仍以上述数据包为例,讨论一下基于协议分析技术的网络入侵检测系统是如何处理的。网络协议规定以太网络数据包中第13字节处包含了两个字节的网络层协议字段,如图1所示。基于协议分析的入侵检测系统利用这个知识开始第一步检测:跳过数据包前面12个字节,读取第13字节处的2字节协议字段为0x0800。根据协议规定可以判断这个网络数据包是IP包。
图1利用协议分析技术进行数据包分析
根据IP协议规定,数据包的第24字节处有一个1字节的传输层协议标识。系统直接从第15字节跳到第24字节读取传输层协议字段为0x06,这个数据包是TCP协议包。
再根据TCP协议规定,在数据包第37字节处有一个2字节的应用层协议字段,即端口号。于是系统从第25字节直接跳到第37字节读取端口号为0x0050,即80。从该端口号可知数据包是一个HTTP协议的数据包。
再根据HTTP协议规定,在数据包第55字节是URL开始处,要检测入侵特征“/technote/print.cgi”,只需要仔细检测这个URL就可以了。
从上述数据包的检测过程可以看出,利用协议分析可以大大减小模式匹配的计算量,提高匹配的精确度,减少误报率。
3.2.2有效地针对欺骗性攻击
单纯采用模式匹配对网络数据包进行特征查找的方法,必须是针对某些特定的已知攻击。但是很多攻击者越来越狡猾,他们往往使用一些攻击程序的变体进行攻击,以求逃过检测系统的检测。而模式匹配对这种变体欺骗却无能为力,但是协议分析可以有效地针对欺骗性攻击。
举例来说,假设需要对含有/way-board/way-board.cgi的URL发出警报。入侵者可以使用反斜杠\代替斜杠/。大多数Web服务器对于使用反斜杠\还是斜杠/来划分目录不敏感,所以Web服务器认为含有/way-board/way-board.cgi和含有\way-board\way-board.cgi的URL是一回事。而基于模式匹配的入侵检测系统只是进行简单的字符匹配工作,所以对出现\way-board\way-board.cgi不加理睬。但协议分析方法可以识别这种变体入侵。当一个HTTP通信开始被监控时,IDS传感器从URL中读出路径,然后对其进行分析。它适当地分析反斜杠,使URL标准化,然后找出可疑的目录内容,如/way-board/way-board.cgi。又例如在unicode攻击中,与ASCII字符相关的HEX编码一直到%7f,Unicode编码的值要高于它。以包含/store%c0%afagora.cgi的URL路径为例,%c0%af在Unicode中相当于斜杠/,这样就是/store/agora.cgi。这也是攻击特征。使用包含Unicode编码解析的协议分析,就可以识别这种欺骗。
下面说明协议分析如何识别包含/store%c0%afagora.cgi的URL,流程如图2所示。
1)对网络数据包的IP包头进行解析,确定IP有效负载所包含的协议。本例IP协议字段为6即TCP协议。
2)对TCP头进行解析,确定TCP目的端口。本例TCP目的端口是Web服务器端口80,说明数据部分采用HTTP协议。
3)对HTTP协议进行解析,识别URL路径。
4)对URL进行解析,识别路径欺骗、HEX编码和Unicode编码。
5)最后判断路径中是否包含 /store/agora.cgi,若有则报警。
图2 识别URL的流程图
4 结束语
实验验证,在高速大流量网络环境下,采用高速采集器采集数据源并分发给多处理机进行数据处理,同时使用协议分析技术,并结合模式匹配方法的新一代网络入侵检测系统与采用普通采集器,单纯使用模式匹配方法的网络入侵检测系统相比,在检测效率、性能等方面都有很大提高。在后续的工作中,检测系统在检测方法上还须结合异常(anomaly)统计的检测技术, 以便能够检测更广泛及更多未知的攻击。
参考文献
[1]余扬,孔梦荣. 基于FPGA器件的高速以太网入侵检测系统设计与实现[J].微计算机信息,2005,(3):55-57
[2]蒋文保.宽带网络入侵检测系统的分析与实现[J].计算机工程, 2003,(1):30-31
[3]刘文涛.Linux网络入侵检测系统[M].北京: 电子工业出版社,2004
[4]高光勇等.联动防火墙的主机入侵检测系统的研究[J]. 微计算机信息,2005,(7-3):66-68
[5]唐正军 等.网络入侵检测系统的设计和 实现[M].北京:电子工业出版社,2002 |