现在的位置: 首页 > 综合 > 正文

防火墙新技术——深度检测

2012年12月28日 ⁄ 综合 ⁄ 共 2710字 ⁄ 字号 评论关闭
作者: 林善茂

状态检测防火墙是目前使用最广泛的防火墙,用来防护黑客攻击。但是,随着专门针对应用层的Web攻击现象的增多,在攻击防护中,状态检测防火墙的有效性越来越低。

  设计状态检测防火墙时,并没有专门针对Web应用程序攻击,为了适应不断增长的Web应用程序的威胁,新一代的深度检测防火墙出现了。

  本文先介绍了防火墙技术的演变过程,然后介绍了深度检测技术的四个基本特征。

  1、防火墙技术的演变过程

  防火墙技术的演变过程,如图1所示。到目前为止,主要有包过滤防火墙、状态检测防护墙和深度检测防火墙三种类型。

  1.1 包过滤防火墙(Packet Filter Firewall)

  包过滤防火墙----第一代防火墙,没有状态的概念。通过包过滤,管理员能够允许或禁止ACLs(Access Control Lists,访问控制列表)中的选项,包过滤防火墙主要具有以下属性:

  ★ 数据包到达的物理网络接口;

  ★ 源IP地址和端口;

  ★ 目标IP地址和端口;

  但是,包过滤防火墙的安全性有一定的缺陷,因为系统对应用层信息无感知,也就是说,防火墙不理解通信的内容,所以可能被黑客所攻破。

  由于种种原因,人们认为包过滤防火墙不过安全,于是逐渐被状态检测防火墙所取代。

  1.2 状态检测防火墙(Stateful Inspection Firewall)

  状态检测防火墙出现,并成为市场上的绝对领导者,主要有以下原因,包括性能,部署能力和扩展能力。他们在90年代中期得到了迅速发展。1993年,Check Point公司成功推出了世界上第一台商用的状态检测防火墙产品。

  状态检测防火墙工作于网络层,与包过滤防火墙相比,状态检测防火墙判断允许还是禁止数据流的依据也是源IP地址,目的IP地址,源端口,目的端口和通讯协议等。与包过滤防火墙不同的是,状态检测防火墙是基于会话信息做出决策的,而不是包的信息;

   状态检测防火墙验证进来的数据包时,判断当前数据包是否符合先前允许的会话,并在状态表中保存这些信息。状态检测防火墙还能阻止基于异常TCP的网络层的攻击行为。网络设备,比如路由器,会将数据包分解成更小的数据帧,因此,状态检测设备,通常需要进行IP数据帧的重组,按其原来顺序组装成完整的数据包。

  1.3 深度检测防火墙(Deep Inspection Firewall)

  深度检测防火墙,将状态检测和应用防火墙技术结合在一起,以处理应用程序的流量,防范目标系统免受各种复杂的攻击。结合了状态检测的所有功能,深度检测防火墙能够对数据流量迅速完成网络层级别的分析,并做出访问控制决;对于允许的数据流,根据应用层级别的信息,对负载做出进一步的决策。

  深度检测防火墙深入分析了TCP或UDP数据包的内容,以便对负载有个总的认识

2、深度检测技术的四个基本特征

  新的深度检测技术仍在不断出现,以实现不同的深度检测功能,但是我们需要了解深度检测技术所具有的基本特征。

  高级的深度检测防火墙整合了包过滤防火墙和状态检测防火墙的所有功能,如图1所示。

  高级的深度检测技术一般具有以下四个方面的特征:

  ◆ 应用层加密/解密;

  ◆ 正常化;

  ◆ 协议一致性;

  ◆ 双向负载检测;

  这四种特征,为Web应用程序提供了重要防护,如果其中一种特征没有实现的话,深度检测防火墙在抵制应用层攻击时,效果会大打折扣。

  2.1 应用层加密/解密

  SSL广泛被应用于各种场合,以确保相关数据的安全性。这就对防火墙提出了新要求:必须能够处理数据加密/解密。如果不对SSL加密的数据进行解密,防火墙就不能对负载的信息进行分析,更不可能判断数据包中是否含有应用层攻击信息。如果没有解密功能,深度检测的所有优点都无法体现出来。

  由于SSL加密的安全性很高,企业常使用SSL技术,以确保关键应用程序的通讯数据的安全性。如果深度检测不能对企业中关键应用程序提供深度检测安全性的话,整个深度检测的优势将失去意义。

2.2 正常化

  防范应用层攻击,很大程度上依赖于字符串匹配。不正常的匹配会造成安全漏洞。比如,为了探知某种请求的安全策略是否被启用,防火墙通常根据请求的URL与安全策略来进行匹配。一旦与某种策略条件完全匹配,防火墙就采用对应的安全策略。指向同一个资源的URL或许有多种不同形态,如果该URL的编码方式不同的话,二进制方式的比较就不起作用了。攻击者会利用各种技术,对输入的URL进行伪装,企图避开字符串匹配,以达到越过安全设备的目的。

  这些攻击行为,在欺骗IDS和IPS方面,特别有效,因为攻击代码只要与安全设备的特征库有一点点不同的话,就能够达到目的。如图2所示。

  解决字符串匹配问题需要利用正常化技术,深度检测能够识别和阻止大量的攻击。对于防范隐藏在帧数据、Unicode、URL编码,双重URL编码和多形态的Shell等类型的攻击行为,必须要用到正常化技术,如图3所示。

  2.3 协议一致性

  应用层协议,如HTTP、SMTP、POP3、DNS、IMAP和FTP,在应用程序中经常用到。每个协议,都由RFC(Request For Comments)相关规范创建。

  深度检测防火墙,必须确认应用层数据流是否与这些协议定义相一致,以防止隐藏其中的攻击。

  深度检测在应用层进行状态检测。协议一致性,通过对协议报文的不同字段进行解密而实现,当协议中的字段被识别出来后,防火墙采用RFC定义的应用规则,来检查其合法性。如图4所示。

2.4 双向负载检测

  深度检测具有强大功能,能够允许数据包通过,拒绝数据包,检查或修改第4到7层数据包,包括包头或负载。HTTP深度检测能够查看到消息体中的URL,包头和参数等信息。深度检测防火墙能够自动进行动态配置,以便正确检测服务变量,如最大长度,隐藏字段和Radio按钮等等。如果请求的变量不匹配,不存在或者不正确的话,深度检测防火墙会将请求丢弃掉,将该事件写入日志,并给管理员发出警告信息。

  深度检测技术允许修改或转换URL,包头和参数,这一点与应用层上的NAT类似。如图5所示。

  3、总结

  在复杂的Web环境中,为了提供全面的应用程序防护,深度检测是必需的。为了能够有效的阻止Web攻击,防火墙必须能够应用基于源IP地址、目的IP地址、端口以及应用程序内容的安全策略。

  深度检测技术还在不断发展,但是深度检测技术一般具有应用层加密/解密、正常化、协议一致性、双向负载检测等四个方面的特征。

  企业部署Web应用程序时,应该要确保防火墙能够满足这些应用程序要求得的安全需求,并且防火墙能够满足深度检测技术中的四项基本特征。

抱歉!评论已关闭.