IDS面临高速环境挑战

随着各种网络攻击手段的多元化、复杂化、智能化,单纯依赖传统的操作系统加固技术和防火墙隔离技术等静态防御已难以胜任网络安全的需要。IDS作为动态安全技术之一,提供了实时的入侵检测,并能做出记录、报警、阻断等反应,提供了更为积极的防御手段,近年得到快速的发展。相关资料显示,2003年第一季度IDS在网络安全产品中仍占据了10.7%的份额,仅次于防火墙与防病毒产品,作为防火墙之后的第二道闸门,IDS已经成为整体安全方案中重要一部分。

信息化浪潮扑面迩来,尤其是随着高速局域网和光纤通信等新技术的应用对网络性能和流量带宽提出了越来越高的要求。从最初的以K为单位的网络速度到10M/100M网络,到现在千兆网络已经成为大势所驱,这些变革对IDS的处理性能提出了更高的要求。由于IDS实现原理以及存在漏报和误报的问题一时难以解决,因此向千兆的发展道路上更不平坦。

传统IDS存在瓶颈:

作为保护计算机系统及网络中的重要技术,入侵检测技术是通过合理部署和配置,可以及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。入侵检测系统能够识别出任何不希望有的活动,这种活动可能来自于网络外部和内部。通常入侵检测引擎要包括数据包捕获-à协议分析-à规则匹配检测-à响应处理至管理中心来实现,随着对高速环境下的安全要求,传统IDS技术面临一些挑战,主要表现在:

1.基于特征匹配的检测方式随着规则增多性能下降

目前实际应用的入侵检测系统通常是基于特征逐条匹配的检测方式,即通过已知攻击方式预先设定入侵规则,已构建规则特征库。基本流程是捕获数据包,数据包解析,入侵特征匹配,然而随着数据流量的增大,攻击方式的复杂多样化,不得不增多入侵规则条目而使系统的处理负荷线性增加,结果是对一些攻击行为不能及时识别作出响应,漏报问题显著。

2. 系统软硬件平台的本身处理能力构成瓶颈

国内入侵检测系统大都基于PC架构,Unix平台,从CPU频率、系统处理能力都存在瓶颈。而对于入侵检测常常要对相互关联多个报文进行按序处理,无法象防火墙采用并行处理的方式,即需串行处理报文,导致NP技术应用存在一定困难。同时IDS规则库升级、配置变动比较频繁,采用固化到硬件电路ASIC等方式的硬件IDS不够灵活,成本高。

3.传统获取数据包方式耗费资源影响性能

大多数NIDS是使用通用的包获取库来获取网络上的报文,例如Snort利用libpcap库。libpcap库几乎是包获取的一个标准了,它从网络上截获数据包,并且已被广泛地应用于各种与协议解码相关的程序。libpcap库对于大部分应用来说是很好的,但是它对于应用到NIDS这样要求高速地数据获取,它的效率并不能满足需要。同时传统网卡工作方式依靠从网络上抓包,再从网卡拷贝到上层系统,拷贝过程也要大量占用CPU资源,造成了整体性能下降。

高速IDS的技术前景

从上不难看出,IDS要想在不断复杂高速的网络中继续扮演安全第二道闸门的角色,必须在传统技术上进行改进和突破。目前主流 IDS厂商推出了能够适应千兆环境的高速IDS系统,在技术实现路线上主要有以下几点:

1.采用协议分析融合模式匹配的检测方式

特征模式匹配虽然是主要技术,但存在速度慢,效率低等缺点,协议分析是新一代IDS探测攻击手法的主要技术,它利用网络协议的高度规则性快速探测攻击的存在。协议分析技术优势在于能够详细解析各种协议,如命令字符串解析器能对不同的高层协议——如Telnet、FTP、HTTP、SMTP、SNMP、DNS等的用户命令进行详细的分析。探测碎片攻击和协议确认技术可以因为系统在每一层上都沿着协议栈向上解码,从而使用所有当前已知协议信息,来排除所有异常协议结构的攻击,同时大大降低传统模式匹配带来的误报问题和提高了效率,同时减少了系统资源消耗。目前基于命令解析器和协议分析的千兆网络传感器具有900兆网络流量的100%检测能力,可以支持300万个并发连接。

新一代IDS将协议分析和模式匹配技术融合起来,更完善得满足高速用户的应用需求,成为千兆IDS发展的主流趋势。

2.负载均衡技术的使用

负载均衡是一项具备智能化的技术,通常是通过并行的几台设备,将处理流量尽量平均的分配到各个设备,使得总体的处理负荷能够“分摊”到各个设备中,从而使总体性能得到很大的提高。目前千兆IDS通常采用了基于中央控制下并行和分布式共存的负载均衡设计,在高速网络环境中通过多台检测器进行分析,从而能够适应更大的网络流量。然而负载均衡技术遇到的挑战是如何解决因攻击信息被分流,而造成无法识别特征造成漏报等问题。



3.零拷贝方式的报文捕获



如上图所示,图中左侧是传统的处理网络数据包的方式,由于网卡驱动程序运行在内核空间,当网卡收到包以后,包会存放在内核空间内,由于上层应用运行在用户空间,无法直接访问内核空间,因此要通过系统调用将网卡中的数据包拷贝到上层应用系统中,站用系统资源造成IDS性能下降。图右侧是改进后的网络包处理方式,通过重写网卡驱动,使得网卡驱动与上层系统共享一块内存区域,网卡从网络上捕获到的数据包直接传递给入侵检测系统,这个过程避免了数据的内存拷贝,不需要占用CPU资源,最大程度的将有限的CPU资源让给协议分析和模式匹配等进程去利用,提高了整体性能。但零拷贝只能解决“抓包”的瓶颈问题,千兆的实现仍要依靠IDS的协议分析和匹配检测等其他功能模块性能进一步加强。

4.优化系统和充分利用硬件平台的运算优势

新一代IDS可以充分利用NP技术,使得系统线程并行化,同时对多个数据包进行分析和处理,该技术在千兆防火墙中被应用,但在IDS领域尚需拭目以待,因为IDS通常是“按序”的串行处理方式。或者借鉴ASIC防火墙构架,通过优化核心运算模块,采用汇编语言对底层硬件直接编程,充分利用硬件资源的高效性,这种方法虽然很大程度上提高入侵检测系统的处理性能,但突出缺点是开发成本教高,升级困难。

结束语

随着用户对网络带宽、高速流量等需求不断增加,入侵检测技术迫切需要进一步创新和性能改进以适应高速环境下的安全防护。同时目前入侵检测随着功能的增强角色也在悄悄变化,如从单纯的检测、报警功能而演变到可以直接通过TCP复位等终止攻击行为,其本身独特的技术优势也更多为安全审计,入侵管理平台等提供支撑,因此融合多种功能是IDS重要生命力之一。在大型网络规划中,单纯依靠防火墙的被动静态防御难以抵挡复杂化、融合化的各类混合式攻击,无法监视内部用户的未授权访问,IDS已经成为网络安全立体纵深、多层次防御体系的重要组成部分, IDS的千兆技术将成为下一步市场洗牌的焦点。