
MCAFEE IPS 技术概览.pdf
13页McAfee IPS 技术概览McAfee 谢君 孙超 李明 白皮书白皮书 McAfee IPS 技术概览2随着互联网产业的快速发展,不仅从网络带宽上已经有了很大的提升,而且越来越多的网络应用出 现,丰富和方便了人们的生活,在带来方便的同时,在这复杂和多变的网络环境中也夹杂着很多网 络威胁,如何应对这些网络威胁,这是当今信息社会都非常关注的一个严峻问题,入侵防御系统应运 而生成为检测和阻止网络威胁的主要技术,McAfee的NSP是业界领先的侵防御系统,本文将着重介绍 NSP 的主要功能和一些重要特性1 McAfee IPS 体系架构McAfee IPS 是一款网关级的入侵防御系统,它的系统架构图如下网络流量过来后,通过 IPS 的网卡抓取数据包后,先进行状态处理,然后进行协议识别,协议解析, 规则集匹配,最后判断是否为恶意的攻击,或者用户控制的流量,通过用户配置的策略进行阻断,告 警,日志记录,或者通知防火墙进行处理等等.白皮书 McAfee IPS 技术概览32 McAfee IPS 检测机制 2.1 深度智能协议解码的模式匹配对于网络中传输的流量,要识别其是通过某种协议进行通信和传播的,进行协议识别是很关键的,我 们通过对流行的 TCP/IP 协议族(包括 IP/TCP/UDP/SMTP/FTP/HTTP 等等)协议基于 RFC 标准进行深度解 码,深度解析这些协议在 RFC 中定义的各个字段,来检测网络传输流量中对应协议的合规性。
而在现 实网络应用中大多数数据负载在 layer 7, 所以对 layer7 的解码至关重要由于很多应用层的通信协议是由各个软件产商自已定义的,有的协议是公开的(例如 edonkey2000, BitTorrent 等),有的是未公开的例如一批 IM/P2P 软件,对此我们将对它们进行应用层协议识别和协 议解码,精确解析出它们各个通信包的各个字段,然后进行匹配P2P 网络本来就是一个网络共享平台, 所以很有可能用户无意中把一些敏感文件,信息共享到这个平台上去,别人可以从中下载到,窥探到一 些机密信息,使受害者受到巨大损失,比如日本的 Winny 软件泄密事件由于 P2P 网络的特性,下载 速度特别快,所以可能导致内网带宽耗尽,影响网络正常应用所以 P2P 网络存在敏感信息的泄露, 带宽的滥用等缺陷 下面我们将以两款 P2P 软件识别作为举例Live 和 PPStream 是在中国比较流行的 P2P 网络流媒体软件,因为通过 P2P 的方式进行流媒体传 输,高速下载流媒体数据,从而可以很流畅的观看流媒体影像,但会占据大量的网络带宽,我们通 过举例来解析 McAfee IPS 是如何对它进行比较精确的解码和识别的。
Live 其中一种数据传输方式是通过 UDP 来实现的,举例如下:Live UDP 包的格式如下:0x0 包头标志0x01-0x02 包体长度0x03-结尾 包体内容McAfee IPS 对这个的识别过程是这样的,包的第一个字节 0xfe 是一个固定的包头标识,第二个字节开 始”3d 00”转换成一个短整型数据 0x003d,它包含了包长信息,用它加上头部 3 个字节刚好就是这个 包长,所以我们的检测过程就是这样的了,匹配包头第一个字节 0xfe,然后从第二个字节开始转换成短整 型数据(big endian),加上 3,如果等于包长,那么我们确认它是一个 Live 的数据包白皮书 McAfee IPS 技术概览4另一个例子,对 PPStream UDP 包的识别,以下是截取的 PPStream 传输过程中的一个 UDP 包进行分析包结构如下0x0-0x01 包长0x02-0x03 包头标志’43 00’0x03-结尾 包体内容00001404 3d 00 43 00 00 11 00 0a c3 e5 01 4b ed 05 81 96 =.C..... ...K....00001414 75 49 96 83 b3 cf 1d 6d 40 c1 f2 3e 28 f3 41 08 uI.....m @..>(.A.00001424 00 00 00 73 65 6c 65 63 74 6f 72 32 2e 73 77 66 ...selec tor2.swf00001434 00 00 2c 00 00 00 04 00 00 01 00 00 00偏移 0x0-0x01 转换成短型数 0x003d,等于这个udp 包的包长偏移 0x02-0x03 为固定头部特征”43 00”,因此可以识别出 PPStream 的 UDP 通讯包,通过长度判断 和模式匹配.以上可得知在对 layer7 层解码是非常灵活的,可以通过设计一些算法来检测判断某种特定的数据包, 而相对于传统的正则匹配检测功能就比较有限了,它只能通过简单的源目的 IP,源目的端口,和 layer7 的模式匹配或者正则匹配来检测,所以就智能性而言,它是非常缺失的。
由于流量有会话和方向的概念,有时候为了更精确的去识别某一会话属于某种流量,而光靠发送端的数 据,或者接受端数据来识别某种流量是不够的,所以在某一时刻作某种包处理操作,这里就涉及到了一 个非常重要的功能,那就是状态机机制2.2 状态机的应用基于状态机的检测机制无疑在 McAfee 体系中扮演了很重要的一个角色,McAfee IPS 通过状态机的使 用,可以实现强大的关联检测能力状态机对于 McAfee IPS 的主要作用包括:2.2.1上下文关联分析协议的状态机可以帮助不同的协议解释字段创建上下文关联信息,来判断当前协议处于哪一处理过程之 中,根本不同的状态来进行不同事的操作这里以 MS06-012 漏洞举例说明,在 Excel 文件结构中通过 精心构造一个恶意的记录将会被远程成功运行任意代码,下面这个图展示出了协议状态机创建适当的上 下文来帮助解析 excel 结构中的各个字段,也就是它暗示在某个时刻去做某件事,而传统的正则模式匹 配(例如以 snort 为基础的入侵检测系统)没有上下文的概念,所以它没有状态机更智能的分析在某一 时刻该做什么,它的存在更好的减少了误报的可能白皮书 McAfee IPS 技术概览5以下的示例说明了 McAfee IPS 如何识别通过 http 方式传输的 Excel 文件的Excel ParsingExcel Structure?SummaryInfo ParsingWorksheet ParsingRecord Type?NAME RecordLABEL RecordHLINK RecordSTYLE Record白皮书 McAfee IPS 技术概览6下图是抓取 http 的数据包,这里只截取了 http 请求和回应的头部。
通过对 http 的回应包进行协议解析得到 Content-Type 字段是”application/vnd.ms-excel”,通过这个 字段可以知道 http 的数据负载部分应该是传输一个 excel 文件类型的数据,接下来把多个 http 包汇聚 成一个完整的 excel 文件,然后对这个 excel 文件数据进行文件解析,截取的 excel 文件数据的头部如 下图:白皮书 McAfee IPS 技术概览7McAfee IPS 首先会对这个文件的头部进行判断验证是否真是一个 excel 文件,然后再进行 excel 深底 解析,首先判断头部八个字节是否是”d0 cf 11 e0 a1 b1 1a e1”,如果是,我们标记这段数据为 excel 文件数据,然后再后偏移 508 个字节作 worksheet 结构解析,通过判断记录类型来确定是否是 Name record,然后检查 Name record 的长度,如果大于 80 字节时,当微软的受此漏洞影响的 excel 软件解 析该字段时将触发溢出,此时 McAfee 的协议解析器将执行判断,来检测它是否超长,如果确实超长, McAfeeIPS 引擎将会作丢包处理来保护客户端不受此漏洞的攻击,同时告警日志产生。
2.2.2 识别复杂的多会话协议像 Oracle 这种复杂的 TNS 协议它需要一个控制通道会话为数据通道提供交换信息,只有当信息交换完 成,数据通道才开始进行相应的处理,类似于当数据通道收到相关控制指令,它才作相应的动作,这对 传统的模式匹配来说是不可能完成的,因为它没法处理好多条会话之间的关系,所以基于状态机的检测 机制使得McAfee IPS 可以在这样复杂的协议情况下减少误报2.2.3 更精确的检测通过漏洞 MS08-067(Conficker 蠕虫就是利用的这个漏洞)举例,Conficker 蠕虫有上千种变种,但 是 McAfee 只需通过一条规则就可以阻断所以利用这个漏洞的变幻攻击McAfee IPS 的状态机技术可提供更扩展更深入更准确的协议解析但是在某些特殊情形下,利用状态 机机制会大量消耗性能,所以 McAfee IPS 也加入其他的检测机制来避免性能的损耗,例如基于行为的 检测机制,复杂的网络环境中的单一的数据可能没有太大的意义,但是把它的会话的多个客户端和服务 端的交互过程关联起来对于识别特定的流量又非常特别有帮助,McAfee 于是引入了多包关联的协议识 别机制,这些都是基于单会话的流量检测,在现实网络环境中有些通信需要通过多会话通信协助才能完 成一次网络应用功能,而针对检测这些流量,需要多会话进行关联识别,这是 IPS 里面的另一个重要的 检测机制,此外对于海量恶意流量检测和恶意网站检测,McAfee 引入了云计算功能。
白皮书 McAfee IPS 技术概览82.3 基于多包关联的协议检测机制有一些网络通信流量采用了一些混淆协议通信机制来逃避网络流量管理设置的检测,所以单凭单个数据 包检测是不能够精确识别出来的,我们采用多个通信数据包关联的方式来进行精确识别,从而可以降 低检测的误报率,我们通过多个数据包多个检测向量来评估一个 TCP 或者 UDP 会话是属于某一特定流 量,然后对这一特定会话打上某种协议的标记,这一检测机制对于某些混淆流量或者加密通信非常有 效2.4 基于多会话关联的协议检测机制某些网络通信流量传输是通过一系列通信会话来完成的,比如首先有一个 http 请求服务器获取一系列 的 UDP 通信的服务器 IP 地址,然后通过 UDP 协议与这些 IP 地址进行通信,如果通过单一的单会话检 测有可能无法识别,但是通过关联前面的 HTTP 的会话,这样可以方便地识别定位这些会话,通过此种 检测机制可以非常精确地检测检测某些 P2P 协议 2.5 基于行为检测机制由于 IPS 要保证网络传输的实时性,由于 IPS 在处理网络流量的时候,尽可能的减小对流量检测所带的 传输延迟,所以 McAfee IPS 加入了基于行为检测机制,此种检测机制可以不用通过非常复杂的深度包 分析,通过我们自已独特的优化算法,来保证在基于行为检测方面减小对性能的损耗,从而保证网络传 输的实时性,此种检测机制主要针对 DDOS 攻击,Botnet 僵尸网络,蠕虫攻击,我们通过设置一些阈 值来检测 DDOS 攻击,通过一些流行的Botnet僵尸网络的行为特征,来检测一类的 DDOS 攻击和 Botnet 僵尸网络攻击。
2.6 云安全功能在 McAfee IPS 中引入了一些非常重要的云安全功能,Artemis 和 TrustedSource,Artemis 是 McAfee 云端的一个大型的恶意特征库,而 TrustedSource 是 McAfee 云端的一个大型的恶意网址库,当通过 IPS 的网络中存在恶意文件传输时,IPS 可将该文件的特征值发送给 artemis 检测是否为恶意,云端把结 果反馈给 IPS,而当通过 IPS 的流量在访问某一个网址时,IPS 可将访问的网址发送给 TrustedS。
