在当今的大多数机构中,由防火墙和网络入侵检测系统(IDS)所组成的现有安全基础设施已经不再令人满意。为提供针对最新一代计算机威胁的即时保护,企业需要称为“入侵防护系统(IPS)”的新一类网络安全设备。
与基于PC/服务器的设备相比,基于ASIC的架构更适合用于在网络中部署在线(in-line)IPS解决方案。基于ASIC的设计具有安全在线部署所需的核心属性,而且不必牺牲性能、延时、可靠性及灵活性,因而可以更好地满足真实世界的典型要求。
网络IPS的定义可以包括从软件插件或扩展,到现有防火墙技术;从采用被动TCP连接重置等传统保护技术的在线IDS,到高性能、高精度、高可靠且易于在现有网络中部署的真正在线入侵防护解决方案等。这些解决方案之间的区别之一是它们赖以构建的基础,这引起了人们对基于ASIC的IPS解决方案能否与基于PC/服务器设备的解决方案相抗衡的争论。
对于入侵防护系统,一个基本的观点是:基于网络的IPS将包含可靠防火墙的保护功能,如对非法接入的防护等;优良IDS的许多检测功能,如对“蠕虫”及“特洛伊木马”的检测等;专用网络及应用防护产品的保护功能,如分布式拒绝服务(DDoS)缓解功能以及应用协议和载荷确认等。
为了执行这些功能,IPS必须鲁棒、精确,即使面对各种攻击类型及流量负载,都要表现地非常好。它还必须透明地操作,并在此条件下为关键资产提供最大的保护。工业分析师正在定义IPS必须具有的一组公共特性。在这个要求列表的顶端是有效IPS必须具有的两个关键特性。
首先,IPS必须在线操作并能准确检测和精确阻断各种攻击;其次,IPS必须以线速工作,而且不会对网络可靠性、应用性能、延时或系统可用性产生负面影响。
为确保有效的不停顿保护,所部署的IPS必须具有以下属性:有效保护网路和应用免受攻击、高可靠性、高性能、IPS自身的高安全性以及低延时等。
提高可靠性
系统可靠性的典型指标是以1,000小时计的平均故障间隔时间(MTBF)。MTBF几乎与系统设计中所采用的软硬件数量成正比。使用更少的组件、更低的功耗以及更简单的操作软件将导致更高的系统MTBF值。如果系统拥有众多活动部件(如轮换式存储媒介等),那么MTBF将显著减少。
商用非冗余PC/服务器硬件平台具有大约25,000小时的MTBF。如果增加硬盘、电源、风扇、RAID存储阵列等冗余组件,这能提高MTBF值。尽管可以通过配置服务器硬件使目标平台的MTBF值超过25,000小时,但这种基于“增加冗余”的PC/服务器解决方案在尺寸及成本方面是无法被接受的。
除硬件外,基于PC/服务器的IPS的设计师通常将IPS功能构建在通用操作系统上,如Windows、Linux、BSD或其它UNIX变体等。采用通用操作系统来处理那些计算密集型应用,如深度包检测、流量分类及协议行为分析等,将进一步增大拥有成本(因为系统开销的缘故)并降低系统的MTBF值(因为操作系统的复杂性及其众多的选项)。此外,这样的IPS需要备份-恢复-升级的过程,这将使系统变得更复杂、更容易出错,更别说配置的复杂性以及配置出错的高概率了。
相反,基于ASIC的解决方案是专门为IPS构建的,而且它们的功能集通常专注在某一类应用上。一般来讲,诸如协议处理等例行的性能增强型处理是在ASIC中实现的,而诸如通用模式匹配等可编程功能可以通过添加FPGA来增加。这种设计更简单、更紧凑,而且能更紧密地与存储器和I/O等基础硬件及组件集成。
这种高度优化且基于硬件的设计可以将系统组件及不可靠外设的数量减至最少,从而获得高达10万小时的更高可靠性。至于软件故障,基于ASIC的设备通常能迅速恢复,并查找出问题的根源。
通过性能来保护
按照PC/服务器硬件工业的惯例,组件一般都是基于标准的,以便能进行互操作和扩展。这些组件包括一条或多条PCI总线、带标准接口的存储器组件以及轮换式存储介质等。
从理论上讲,一些PC子系统或许能达到高速网络部署所需的性能。但实际上,多子系统架构会显著增加吞吐量的延时。这种延时是由发生在通用计算机正常操作中的顺序执行或“组块法”所造成的。例如,网络I/O接口可能需要等待深度包检测完成操作,才能把流量从已经建立好的对话上转发出去。
另一个例子是数据转发。由于这种操作涉及较少的数据处理,基于单CPU设计的IPS经常要等待存储器或其它操作的完成。提高CPU速度可能对其它类型的功能有帮助,但不能解决这个问题。多个中央CPU能提高系统整体性能,但实际上既加剧了对系统中其它资源的争夺,又显著增加了成本。此外,在多CPU平台中,为了防止死锁需要复杂的操作系统控制,这会增加总的系统工作负荷。
利用优化的接口卡/驱动器软件或者在内核模式中运行重要任务也许可以增强基于PC/服务器的设备。但这种性能的提高是以牺牲系统安全性及可扩展性为代价的。利用基于标准的平台和操作系统可能正好会在它们被认为能够提供保护的情况下引入安全隐患。
最后,一些基于软件的IPS供应商宣称已经实现这样的算法,它能并行匹配无限数量的流量标志,同时能维持固定的处理时间。尽管这看上去似乎是真的,但要在基于PC/服务器的平台上做到这点,所需的实际CPU周期数会产生一定的延时。
所需的IPS功能给解决方案必须提供的密集操作的数量施加了越来越大的压力。ASIC特别为苛刻的环境而设计,相反,基于PC/服务器的设计很少能跟上日益复杂的入侵防护要求。
更高的攻击门槛
尽管可以对PC/服务器操作系统进行限制和加固,但其安全隐患依然存在。数千种特洛伊木马、后门(backdoor)程序及根工具(root kit)可以威胁这些软件环境。因此,我们需要日益复杂的管理来监视它们的运行状况和安全。
内核级进程使这个问题变得更显著,因为该层次的漏洞将为某些攻击提供系统级访问的机会。相对进程故障(可由监控过程来自动重启)而言,该层次上的拒绝服务(DoS)或其它攻击将导致整个系统瘫痪。
基于ASIC的系统针对实时操作而设计,它们的延时和性能更容易特征化,而且几乎在所有真实世界情况下都远远优于基于PC/服务器的设备。
在系统脆弱性方面,ASIC嵌入式固件几乎没有通用操作系统那样的安全隐患。如果设计得当,基于ASIC的解决方案遭受攻击的危险性实际上不可能与运行商业操作系统的通用处理器相提并论。通过其紧密集成的设计,试图攻击基于ASIC的IPS要求黑客必须具备极其复杂的系统知识,而且这种架构天然就不容易受到威胁。
IPS功能
在最初进行比较时,基于ASIC的解决方案与基于PC/服务器的产品在特性及功能上似乎不相上下。公平地讲,基于PC/服务器的平台更易于增加通用功能,而基于ASIC的平台更擅长增加专用或优化功能。正如前面所阐述的,基于ASIC的设备不仅能在ASIC中执行例行的CPU密集处理(如TCP连接端接及协议处理等),而且还能利用FPGA来保持系统的灵活性和功能的可编程性,如通用字符串匹配、特征匹配等。
为了获得适当的性能,通用操作系统需要在内核层实现入侵防护功能。尽管这有可能改善特定功能的操作,但这些新特性和改变更难被测试和可靠地推向市场。这常常还会进一步被IPS开发商复杂化,因为他们不得不围绕操作系统的“传统”问题展开工作,并优化在ASIC系统中不存在的性能问题。
虽然基于PC/服务器的设备整合了来自多样化厂商的产品和选项,但基于ASIC的解决方案具有更高的集成度。业内人士完全清楚并非所有PC可选产品(如网卡、主板、内存等)都可以互操作,而且这些产品很少针对高速吞吐量或者执行网络入侵防护所需的深度防御检查和深度包检测而优化。
作者:Abhay Joshi
高级业务拓展总监
Top Layer网络公司