IPS的原理 防火墙是实施访问控制策略的系统,对流经的网络流量进行检查,拦截不符合安全策略的数据包。入侵检测技术(IDS)通过监视网络或系统资源,寻找违反安全策略的行为或攻击迹象,并发出报警。传统的防火墙旨在拒绝那些明显可疑的网络流量,但仍然允许某些流量通过,因此防火墙对于很多入侵攻击仍然无计可施。绝大多数 IDS 系统都是被动的,而不是主动的。也就是说,在攻击实际发生之前,它们往往无法预先发出警报。而入侵防护系统 (IPS) 则倾向于提供主动防护,其设计宗旨是预先对入侵活动和攻击性网络流量进行拦截,避免其造成损失,而不是简单地在恶意流量传送时或传送后才发出警报。IPS 是通过直接嵌入到网络流量中实现这一功能的,即通过一个网络端口接收来自外部系统的流量,经过检查确认其中不包含异常活动或可疑内容后,再通过另外一个端口将它传送到内部系统中。这样一来,有问题的数据包,以及所有来自同一数据流的后续数据包,都能在 IPS 设备中被清除掉。(图1) IPS实现实时检查和阻止入侵的原理在于IPS拥有数目众多的过滤器,能够防止各种攻击。当新的攻击手段被发现之后,IPS就会创建一个新的过滤器。IPS数据包处理引擎是专业化定制的集成电路,可以深层检查数据包的内容。如果有攻击者利用Layer 2 (介质访问控制)至Layer 7(应用)的漏洞发起攻击,IPS能够从数据流中检查出这些攻击并加以阻止。传统的防火墙只能对Layer 3或Layer 4进行检查,不能检测应用层的内容。防火墙的包过滤技术不会针对每一字节进行检查,因而也就无法发现攻击活动,而IPS可以做到逐一字节地检查数据包。所有流经IPS的数据包都被分类,分类的依据是数据包中的报头信息,如源IP地址和目的IP地址、端口号和应用域。每种过滤器负责分析相对应的数据包。通过检查的数据包可以继续前进,包含恶意内容的数据包就会被丢弃,被怀疑的数据包需要接受进一步的检查。 针对不同的攻击行为,IPS需要不同的过滤器。每种过滤器都设有相应的过滤规则,为了确保准确性,这些规则的定义非常广泛。在对传输内容进行分类时,过滤引擎还需要参照数据包的信息参数,并将其解析至一个有意义的域中进行上下文分析,以提高过滤准确性。 过滤器引擎集合了流水和大规模并行处理硬件,能够同时执行数千次的数据包过滤检查。并行过滤处理可以确保数据包能够不间断地快速通过系统,不会对速度造成影响。这种硬件加速技术对于IPS具有重要意义,因为传统的软件解决方案必须串行进行过滤检查,会导致系统性能大打折扣。 IPS的种类 ●基于主机的入侵防护(HIPS) HIPS通过在主机/服务器上安装软件代理程序,防止网络攻击入侵操作系统以及应用程序。基于主机的入侵防护能够保护服务器的安全弱点不被不法分子所利用。Cisco公司的Okena、NAI公司的McAfee Entercept、冠群金辰的龙渊服务器核心防护都属于这类产品,因此它们在防范红色代码和Nimda的攻击中,起到了很好的防护作用。基于主机的入侵防护技术可以根据自定义的安全策略以及分析学习机制来阻断对服务器、主机发起的恶意入侵。HIPS可以阻断缓冲区溢出、改变登录口令、改写动态链接库以及其他试图从操作系统夺取控制权的入侵行为,整体提升主机的安全水平。 在技术上,HIPS采用独特的服务器保护途径,利用由包过滤、状态包检测和实时入侵检测组成分层防护体系。这种体系能够在提供合理吞吐率的前提下,最大限度地保护服务器的敏感内容,既可以以软件形式嵌入到应用程序对操作系统的调用当中,通过拦截针对操作系统的可疑调用,提供对主机的安全防护;也可以以更改操作系统内核程序的方式,提供比操作系统更加严谨的安全控制机制。 由于HIPS工作在受保护的主机/服务器上,它不但能够利用特征和行为规则检测,阻止诸如缓冲区溢出之类的已知攻击,还能够防范未知攻击,防止针对Web页面、应用和资源的未授权的任何非法访问。HIPS与具体的主机/服务器操作系统平台紧密相关,不同的平台需要不同的软件代理程序。 ●基于网络的入侵防护(NIPS) NIPS通过检测流经的网络流量,提供对网络系统的安全保护。由于它采用在线连接方式,所以一旦辨识出入侵行为,NIPS就可以去除整个网络会话,而不仅仅是复位会话。同样由于实时在线,NIPS需要具备很高的性能,以免成为网络的瓶颈,因此NIPS通常被设计成类似于交换机的网络设备,提供线速吞吐速率以及多个网络端口。 NIPS必须基于特定的硬件平台,才能实现千兆级网络流量的深度数据包检测和阻断功能。这种特定的硬件平台通常可以分为三类:一类是网络处理器(网络芯片),一类是专用的FPGA编程芯片,第三类是专用的ASIC芯片。 在技术上,NIPS吸取了目前NIDS所有的成熟技术,包括特征匹配、协议分析和异常检测。特征匹配是最广泛应用的技术,具有准确率高、速度快的特点。基于状态的特征匹配不但检测攻击行为的特征,还要检查当前网络的会话状态,避免受到欺骗攻击。 协议分析是一种较新的入侵检测技术,它充分利用网络协议的高度有序性,并结合高速数据包捕捉和协议分析,来快速检测某种攻击特征。协议分析正在逐渐进入成熟应用阶段。协议分析能够理解不同协议的工作原理,以此分析这些协议的数据包,来寻找可疑或不正常的访问行为。协议分析不仅仅基于协议标准(如RFC),还基于协议的具体实现,这是因为很多协议的实现偏离了协议标准。通过协议分析,IPS能够针对插入(Insertion)与规避(Evasion)攻击进行检测。异常检测的误报率比较高,NIPS不将其作为主要技术。 ●应用入侵防护(AIP) NIPS产品有一个特例,即应用入侵防护(Application Intrusion Prevention ,AIP),它把基于主机的入侵防护扩展成为位于应用服务器之前的网络设备。AIP被设计成一种高性能的设备,配置在应用数据的网络链路上,以确保用户遵守设定好的安全策略,保护服务器的安全。NIPS工作在网络上,直接对数据包进行检测和阻断,与具体的主机/服务器操作系统平台无关。 NIPS的实时检测与阻断功能很有可能出现在未来的交换机上。随着处理器性能的提高,每一层次的交换机都有可能集成入侵防护功能。 IPS技术特征 嵌入式运行:只有以嵌入模式运行的 IPS 设备才能够实现实时的安全防护,实时阻拦所有可疑的数据包,并对该数据流的剩余部分进行拦截。 深入分析和控制:IPS必须具有深入分析能力,以确定哪些恶意流量已经被拦截,根据攻击类型、策略等来确定哪些流量应该被拦截。 入侵特征库:高质量的入侵特征库是IPS高效运行的必要条件,IPS还应该定期升级入侵特征库,并快速应用到所有传感器。 高效处理能力:IPS必须具有高效处理数据包的能力,对整个网络性能的影响保持在最低水平。 IPS面临的挑战 IPS 技术需要面对很多挑战,其中主要有三点:一是单点故障,二是性能瓶颈,三是误报和漏报。设计要求IPS必须以嵌入模式工作在网络中,而这就可能造成瓶颈问题或单点故障。如果IDS 出现故障,最坏的情况也就是造成某些攻击无法被检测到,而嵌入式的IPS设备出现问题,就会严重影响网络的正常运转。如果IPS出现故障而关闭,用户就会面对一个由IPS造成的拒绝服务问题,所有客户都将无法访问企业网络提供的应用。 即使 IPS 设备不出现故障,它仍然是一个潜在的网络瓶颈,不仅会增加滞后时间,而且会降低网络的效率,IPS必须与数千兆或者更大容量的网络流量保持同步,尤其是当加载了数量庞大的检测特征库时,设计不够完善的 IPS 嵌入设备无法支持这种响应速度。绝大多数高端 IPS 产品供应商都通过使用自定义硬件(FPGA、网络处理器和ASIC芯片)来提高IPS的运行效率。 误报率和漏报率也需要IPS认真面对。在繁忙的网络当中,如果以每秒需要处理十条警报信息来计算,IPS每小时至少需要处理 36,000 条警报,一天就是 864,000 条。一旦生成了警报,最基本的要求就是IPS能够对警报进行有效处理。如果入侵特征编写得不是十分完善,那么"误报"就有了可乘之机,导致合法流量也有可能被意外拦截。对于实时在线的IPS来说,一旦拦截了"攻击性"数据包,就会对来自可疑攻击者的所有数据流进行拦截。如果触发了误报警报的流量恰好是某个客户订单的一部分,其结果可想而知,这个客户整个会话就会被关闭,而且此后该客户所有重新连接到企业网络的合法访问都会被"尽职尽责"的IPS拦截。 IPS厂商采用各种方式加以解决。一是综合采用多种检测技术,二是采用专用硬件加速系统来提高IPS的运行效率。尽管如此,为了避免IPS重蹈IDS覆辙,厂商对IPS的态度还是十分谨慎的。例如,NAI提供的基于网络的入侵防护设备提供多种接入模式,其中包括旁路接入方式,在这种模式下运行的IPS实际上就是一台纯粹的IDS设备,NAI希望提供可选择的接入方式来帮助用户实现从旁路监听向实时阻止攻击的自然过渡。 IPS的不足并不会成为阻止人们使用IPS的理由,因为安全功能的融合是大势所趋,入侵防护顺应了这一潮流。对于用户而言,在厂商提供技术支持的条件下,有选择地采用IPS,仍不失为一种应对攻击的理想选择。
随着网络入侵事件的不断增加和黑客攻击水平的不断提高,一方面企业网络感染病毒、遭受攻击的速度日益加快,另一方面企业网络受到攻击作出响应的时间却越来越滞后。
解决这一矛盾,传统的防火墙或入侵检测技术(IDS)显得力不从心,这就需要引入一种全新的技术-入侵防护(Intrusion Prevention System,IPS)。
图1