随着网络入侵事件的不断增加和黑客攻击水平的不断提高,一方面企业网络感染病毒、遭受攻击的速度日益加快,另一方面企业网络受到攻击作出响应的时间却越来越滞后。解决这一矛盾,传统的防火墙或入侵检测技术(IDS)显得力不从心,这就需要引入一种全新的技术-入侵防护(Intrusion Prevention System,IPS)。
IPS的原理
防火墙是实施访问控制策略的系统,对流经的网络流量进行检查,拦截不符合安全策略的数据包。入侵检测技术(IDS)通过监视网络或系统资源,寻找违反安全策略的行为或攻击迹象,并发出报警。传统的防火墙旨在拒绝那些明显可疑的网络流量,但仍然允许某些流量通过,因此防火墙对于很多入侵攻击仍然无计可施。绝大多数 IDS 系统都是被动的,而不是主动的。也就是说,在攻击实际发生之前,它们往往无法预先发出警报。而入侵防护系统 (IPS) 则倾向于提供主动防护,其设计宗旨是预先对入侵活动和攻击性网络流量进行拦截,避免其造成损失,而不是简单地在恶意流量传送时或传送后才发出警报。IPS 是通过直接嵌入到网络流量中实现这一功能的,即通过一个网络端口接收来自外部系统的流量,经过检查确认其中不包含异常活动或可疑内容后,再通过另外一个端口将它传送到内部系统中。这样一来,有问题的数据包,以及所有来自同一数据流的后续数据包,都能在 IPS 设备中被清除掉。
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芯片。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。