在许多人看来,入侵检测和入侵防御没什么区别,很多做入侵检测的厂商同时也做入侵防御,甚至连它们的缩写“IDS”和“IPS”都这么的相像。那么这两款产品有区别吗?区别在哪?入侵防御和UTM之间该如何选择?未来它们将会如何发展,本文将就这几个问题做一一分析。
用户选择之惑
从出现先后顺序来看,入侵检测无疑是前辈:甚至最早的入侵防御产品就是在入侵检测产品的基础上改造而成。
顾名思义,入侵检测产品就是对入侵行为进行检查的产品,那为什么要检测入侵呢?大家都知道,入侵检测技术起源于审计,是由于需要/想知道网络里到底发生过什么事情,毕竟网络世界不像真实世界这样可视化。
而和入侵检测有着共同基础的入侵防御产品则不然,它的重点是防护,看上去更像我们熟悉的防火墙产品。当然,入侵防御也有和传统防火墙不一样的地方:防火墙的规则是允许具备某些特征的数据包通过,比如TCP 80端口的数据包,在Web服务跟前,就是被允许通过的;而入侵防御的规则刚好相反,不允许具备某些特征的数据包通过,某一个数据包携带的数据被认定为溢出攻击,就将被拒绝通过。当然,还有一种说法就是,防火墙关注的是会话层以下的网络数据,而入侵防御则关注会话层-应用层的数据。有一定技术基础的朋友一定能很快看出上面的问题,“且慢,这根本就不是问题,我完全可以做到只让那些符合某些规则(防火墙规则),又不具备某些特征(入侵特征)的数据通过”。“至于防火墙不关注会话层以上的数据,这就更简单了,不论以前是由于什么原因不关注,现在开始也分析好了,只要性能能跟上,技术上没有困难”。
没错,正是上面提到的所谓区别在硬件技术和检测技术的发展面前都已经不是问题了,所以才会使得UTM这一概念获得人们的认可:我们喜欢防火墙式的一劳永逸,我们需要入侵防御的应用层威胁防护,于是我们把这两个功能在一个硬件上实现了。一些安全厂商/用户并不能区别单独的入侵防御产品和UTM产品中的入侵防御之间的区别,于是就陷入了一个误区:我应该选择入侵防御还是UTM?如果入侵防御可以在UTM中实现,是不是以后就没有单独的入侵防御产品了?
入侵防御还是UTM?
这其实不能算是问题,UTM刚出现时很少有人选择,原因很简单:性能。有些号称UTM的设备在打开入侵防御功能后性能衰减严重,这使得UTM并未像想象中那样获得开门红。但摩尔定律的力量是强大的,随着硬件技术的发展,在效率不降低的情况下在一个盒子里完成多项工作,已经成为现实。
这是不是就意味着UTM可以全面取代入侵防御产品呢?我们应当还记得前面提到的:防火墙是配置允许规则,规则外禁止,而入侵防御是配置禁止规则,规则外允许。相信很多人都会听说过这么一个功能:bypass,就是在串行设备遇到软件/硬件问题时,强制进入直通状态,以避免网络断开的一种技术。这个技术只在入侵防御产品中有应用,而不出现于防火墙产品中,这是为什么呢?诚然,在防火墙处于非透明模式下,bypass也无法保障通讯的通畅:比如说NAT模式下,防火墙内外网络不在一个网段,即使物理上强制直通,也会由于找不到路由而无法通讯。(说到这里笔者就要插一句了,曾见到有些入侵防御的技术要求中一方面要求提供路由接入模式,一方面又要求支持bypass,简直就是不知所云)。但是最根本的原因还在于防火墙与入侵防御两种截然不同的数据处理流程:防火墙是只允许那些被允许的数据进入,即使在自身出现问题的情况下,也不能让未受允许的数据进入,所以防火墙不可能有bypass功能。而入侵防御刚好相反,其目标是保护后端的设备不受威胁行为的影响提供正常的服务,如果自身出现问题了,宁愿切换为通路,也不影响后端业务的运营,所以,bypass设备是必须的。
这里需要补充一点,有些朋友看到上面的描述,可能会对入侵防御的“宽宏大量”表示不理解:bypass后就变成无防护状态了,太可怕了。其实,一般来说,入侵防御产品的bypass都是与其watchdog技术相结合的,watchdog保障了故障进程能自动恢复,所以真正处在bypass无防护状态下的时间并不长,一次bypass切换(防护——无防护——再次开始防护)可以在数秒钟内完成,并不会因此而使得网络长时间失去保护。
可以看出,入侵防御产品的未来之路就是保护后端服务不受威胁影响而能正常开展业务。UTM类产品可以有入侵防御的模块,但由于结合了防火墙、AV等其它功能,使得其关注的目标必定是批量化的拦截,无暇专注于后端服务。入侵防御和UTM相比,可以用一个生活中的小例子来呼应:入侵防御就是个人保镖,而UTM就是小区保安,两者都是保护目标的安全,但由于受保护目标不同(保镖的目标聚焦,而保安的目标不聚焦)使得这两种类似的职业都有单独存在的必要。
到底需要入侵防御还是UTM?取决于保护的目标主体。如果用以保护整个网络,那么应当选择UTM,除了入侵防御之外,还可依据用户需求提供防病毒、VPN等网关级安全应用。如果用以保护某一台或多台服务器(群),那么就应当选择入侵防御。当然这是有前提的,那就是入侵防御产品需要对服务器防护有相应针对性的特性,比如启明星辰公司的天清入侵防御产品,就专注发掘了Web服务防护功能。
再看入侵检测产品,与入侵防御产品作为控制工具相对的,入侵检测产品给使用者提供了一个可视化的平台,通过这个平台,用户可以清楚地了解网络里到底发生了什么事情,当然,结论的产生还是需要加入大量的人工分析。比如,网络嗅探,入侵防御或者类似的控制工具,所关注的只是“禁止这一行为”,但嗅探可能来自于内部员工的正常网络检查行为,这就需要一个界面来告诉使用者,嗅探行为是谁干的、是否违规等等,而这就是入侵检测产品的作用所在。当你需要了解网络安全状况的时候,购买入侵检测产品将会是一个合适的选择。
入侵防御还是入侵检测?
即使有了基于前文的认知,但当前还有这样的言论出现:入侵检测能做的事,入侵防御都可以做,入侵防御是入侵检测的升级/换代产品。
前文提到,入侵检测所关注的是可视化,对入侵检测来说,最重要的是 “呈现”。“呈现”主要取决于两点,一是呈现的内容,二是呈现的效果。呈现的内容表现在,事件是否更新及时,数据是否抓取完全。和入侵防御不一样,入侵检测产品是旁路部署甚至多点部署的,对整个网络进行监视。呈现的效果表现在是否能方便地从产品界面上获得有效信息,以便对接下来的工作进行指导:禁止或允许某些安全规则,评价某个区域的安全建设效果等。
而入侵防御则更关注“防护”,准确而及时的防护,其关注重点并不是全局信息(而只是关键服务器群),也不关注信息分析。这导致了入侵检测和入侵防御在面对事件时的不同态度:入侵检测关注可疑事件,即使不能判断为具体的攻击行为,也要进行记录和分析备案;而入侵防御关注的都是明确的事件,是威胁就坚决予以阻断,不能认定为威胁则予以放行。而在用户交互界面层面,也有不同的态度:入侵检测关注信息展现,以图表呈现全面的信息以协助分析;入侵防御则不需要关注信息之间的关联,事件对入侵防御而言只是一个阻断报告的数据来源。
所以,在选择入侵检测产品的时候,需要关注如下因素:它是否能保障“呈现”无障碍,是否提供了一些新的特性可以方便地看到想看的信息,使用者是否可以快速利用它“呈现”的内容做出相应的决策判断。
当然,作为安全厂商,所需要做的就是,当开发入侵检测产品的时候,任何功能特性,都应当围绕“呈现”这个词来做,用户需要一个可视化平台。因为只有“呈现”,才是入侵检测的精髓,是入侵检测依然存在,不被其它产品取代的根本。