1. 应用层威胁介绍
2000年以前,当我们谈及网络安全的时候,还主要指防火墙,因为那时候的安全还主要以网络层的访问控制为主。的确,防火墙就像一个防盗门,给了我们基本的安全防护。但是,就像今天最好的防盗门也不能阻止“禽流感”病毒传播一样,防火墙也不能阻挡今天的网络威胁的传播。今天的网络安全现状和2000年以前相比,已经发生了很大的改变,我们已经进入了一个“应用层威胁”泛滥的时代。
今天,各种蠕虫、间谍软件、网络钓鱼等应用层威胁和EMAIL、移动代码结合,形成复合型威胁,使威胁更加危险和难以抵御。这些威胁直接攻击企业核心服务器和应用,给企业带来了重大损失;攻击终端用户计算机,给用户带来信息风险甚至财产损失;对网络基础设施进行DoS/DDoS攻击,造成基础设施的瘫痪;更有甚者,像电驴、BT等P2P应用和MSN、QQ等即时通信软件的普及,企业宝贵带宽资源被业务无关流量浪费,形成巨大的资源损失。面对这些问题,传统解决方案最大的问题是,防火墙工作在TCP/IP 3~4层上,根本就“看”不到这些威胁的存在,而IDS作为一个旁路设备,对这些威胁又“看而不阻”,因此我们需要一个全新的安全解决方案。
在解决问题之前,我们需要先了解一下应用层威胁的形式和原理。所谓应用层威胁,主要包括下面几种形式:
因为篇幅的限制,在本文中我们重点介绍一下蠕虫、间谍软件、带宽滥用这三个典型的应用层威胁。
1.1. 蠕虫
蠕虫的定义是指“通过计算机网络进行自我复制的恶意程序,泛滥时可以导致网络阻塞和瘫痪”。从本质上讲,蠕虫和病毒的最大的区别在于蠕虫是通过网络进行主动传播的,而病毒需要人的手工干预(如各种外部存储介质的读写)。但是时至今日,蠕虫往往和病毒、木马和DDoS等各种威胁结合起来,形成混合型蠕虫。
蠕虫有多种形式,包括系统漏洞型蠕虫、群发邮件型蠕虫、共享型蠕虫、寄生型蠕虫和混和型蠕虫。其中最常见,变种最多的蠕虫是群发邮件型蠕虫,它是通过EMAIL进行传播的,著名的例子包括“求职信”、“网络天空NetSky”、“雏鹰 BBeagle”等,2005年11月爆发的“Sober”蠕虫,也是一个非常典型的群发邮件型蠕虫。群发邮件型蠕虫的防治主要从邮件病毒过滤和防垃圾邮件上入手。
下面我们重点谈谈“系统漏洞型蠕虫”,系统漏洞型蠕虫利用客户机或者服务器的操作系统、应用软件的漏洞进行传播,成为目前最具有危险性的蠕虫。以冲击波蠕虫为例,它就是利用Microsoft RPC DCOM 缓冲区溢出漏洞进行传播的。系统漏洞型蠕虫传播快,范围广、危害大。例如2001年CodeRed的爆发给全球带来了20亿美金的损失,而SQL Slammer只在10分钟内就攻破了全球!下面是近5年来针对微软操作系统漏洞的5个最著名的蠕虫:
þ 红色代码(CodeRed):MS01-033,微软索引服务器缓冲区溢出漏洞,利用TCP 80传播
þ SQL SLAMMER:MS02-039,SQL服务器漏洞,利用UDP 1434进行传播
þ 冲击波(Blaster)MS03-026,RPC DCOM服务漏洞,利用TCP 135 139等等进行传播
þ 震荡波(Sasser):MS04-011,LSASS本地安全认证子系统服务漏洞,利用TCP 445等端口进行传播
þ Zobot MS05-39,windows PnP服务漏洞,利用TCP 445端口进行传播
上述5个蠕虫都是臭名昭著的蠕虫,其中Zobot到2005年12月还在网络上肆虐着它的余威。由于系统漏洞型蠕虫都利用了软件系统在设计上的缺陷,并且他们的传播都利用现有的业务端口,因此传统的防火墙对其几乎是无能为力。实际上,系统漏洞是滋生蠕虫的温床,而网络使得他们可以恣意妄为。
1.2. 间谍软件
网络安全专家对于什么是“间谍软件”一直在讨论。根据微软的定义,“间谍软件是一种泛指执行特定行为,如播放广告、搜集个人信息、或更改你计算机配置的软件,这些行为通常未经你同意”。
严格说来,间谍软件是一种协助搜集(追踪、记录与回传)个人或组织信息的程序,通常是在不提示的情况下进行。广告软件和间谍软件很像,它是一种在用户上网时透过弹出式窗口展示广告的程序。这两种软件手法相当类似,因而通常统称为间谍软件。而有些间谍软件就隐藏在广告软件内,透过弹出式广告窗口入侵到计算机中,使得两者更难以清楚划分。
间谍软件主要通过Active X控件下载安装、IE浏览器漏洞和免费软件绑定安装进入用户的计算机中,间谍软件的危害主要体现如下:
l 间谍软件对企业已形成隐私与安全上的重大威胁。这些入侵性应用程序搜集包括信用卡号码、密码、银行账户信息、健康保险记录、电子邮件和用户存取数据等敏感和机密的公司信息后,将之传给不知名的网站而危及公司形象与资产。
l 而由间谍软件所产生的大批流量也可能消耗公司网络带宽,导致关键应用系统出现拥塞、延迟以及丢包的情况。
l 许多间谍软件写得很差,在进入企业网络后可能产生新的漏洞,或是造成工作站使用时出现性能问题,如屏幕冻结、不定期变慢与通用保护错误等等。
由于间谍软件主要通过80端口进入计算机,也通过80端口向外发起连接,因此传统的防火墙无法有效抵御,必须通过应用层内容的识别进行采取相关措施。
1.3. 带宽滥用
“带宽滥用”是指对于企业网络来说,非业务数据流(如P2P文件传输与即时通讯等 )消耗了大量带宽,轻则影响企业业务无法正常运作,重则致使企业IT系统瘫痪。所谓P2P,全称叫做“Peer-to-Peer”,即对等互联网络技术,也叫点对点网络技术,它让用户可以直接连接到其它用户的计算机,进行文件共享与交换。
P2P改变了传统的C/S架构模式,使得互联网资源共享的带宽不再受制于服务器的网卡的速度,而取决于参与共享的计算机的总的网卡带宽。例如,英国网络流量统计公司CacheLogic表示,去年全球有超过一半的文件交换是通过BT进行的,BT占了互联网总流量的35%,使得浏览网页这些主流应用所占的流量相形见绌。
P2P的典型应用包括两类:
l 文件共享型P2P应用,包括BT、eMule、eDonkey等等
l IM即时通讯软件,如QQ、MSN、Skypy等等
带宽滥用给网络带来了新的威胁和问题,甚至影响到企业IT系统的正常运作,它使用户的网络不断扩容但是还是不能满足“P2P对带宽的渴望”,大量的带宽浪费在与工作无关流量上,造成了投资的浪费和效率的降低。另一方面,P2P使得文件共享和发送更加容易,带来了潜在的信息安全风险。
下面我们以BT为例,来谈谈P2P协议的工作过程。 下面先定义几个BT里的术语:
l 种子:所谓种子,是指一个后缀为“.torrent”的文件,里面包含关于一个文件的元信息:如长度、哈希信息和Tracker的URL地址。
l Tracker:顾名思义,Tracker就是跟踪者,它帮助一个文件的下载者找到相对应的对端(peer)。
典型的BT下载过程如下:
1) 下载人如果想下载一个文件,首先要找到和该文件想对应的种子文件,即后缀为“.torrent”文件。
2) 有了种子文件,下载人就可以去连接Tracker以下载文件。
3) Tracker可以提供给下载人一个当前正在下载该文件的对端(peer)的列表。
4) 下载人去连接不同对端(peer)来下载不同的文件片断,同时它也为其他对端提供上载服务
详细协议信息,请参考http://bitconjurer.org/BitTorrent/protocol.html
了解了协议信息,我们就可以再考虑如何对P2P进行限流。一般来讲,有下面两种方法。
l 限制端口,这是最容易想到的办法,也是大多数传统网络设备可以做到的。
在BT实现中,提供了一个端口范围(6881~6889),可以通过这个范围的所有端口来限流,一些运营商曾采用这种方法来封杀BT。这种方法在前期一定程度上是可用的;因为:BT的官方网站提供了一个默认的监听端口范围(6881~6889)。但是,这种方法比较片面,因为通过一定的技术手段可以改变这个端口范围(网上有);另外,BT的客户端较多,它们所采用的端口范围及实现方式各不相同(见下表)。所以,采用这种方来对BT进行限流的效果不是很好。
BT客户端
端口范围
贪婪ABC
可以手工设置
BitComet
没有公开
BitTorrent Plus
可以手工设置
BitTorrent
6881~6889
比特精灵Bit Spirit
16881
l 对协议进行深度分析
另外一个对BT限流的方法是对所有的IP包都进行深度检查,如果IP包的数据区包含 BT 对等协议的特征“BitTorrent protocol”(BT协议规定),那么可以标识这是一个BT流,标识了以后,就可以采取相应的措施(CAR)对它进行限流。下面是客户端为“贪婪ABC”时的抓包分析示例。
图4、贪婪ABC端对端建立连接的过程
因此对协议进行深度分析,是有效的对P2P进行限流的必要技术基础,而传统的网络则由于工作在TCP 3层和4层之间,对此往往无能为力。
综上所述,现代网络面临越来越多的应用层安全威胁,传统的安全技术与设备已经无法独立应对,网络需要新的技术来解决这些日益猖獗的病毒、攻击、滥用引发的问题。
2. 深度安全保护
面对日益猖獗的应用层威胁,入侵防御系统(IPS,Intrusion Prevention System)应运而生,并且以其攻击检测与实时阻断能力成为网络安全领域的明日之星。华为3Com深度安全保护解决方案旗舰产品-TippingPoint系列IPS,具备对2层到7层流量的深度分析与检测能力,同时配合以精心研究的攻击特征知识库和用户规则,即可以有效检测并实时阻断隐藏在海量网络流量中的病毒、攻击与滥用行为,也可以对分布在网络中的各种流量进行有效管理,从而达到对网络上应用的保护、网络基础设施的保护和网络性能的保护。
2.1. 主动式入侵防御
TippingPoint IPS可以被“in-line”地部署到网络当中去,对所有流经的流量进行深度分析与检测,从而具备了实时阻断攻击的能力,同时对正常流量不产生任何影响。基于其高速和可扩展的硬件平台,TippingPoint IPS不断优化检测性能,使其能够达到与交换机同等级别的高吞吐量和低延时,同时可以对所有主要网络应用进行分析,精确鉴别和阻断攻击。TippingPoint IPS的出现使得应用层威胁问题迎刃而解。
2.2. 威胁抑制引擎(TSE)
TippingPoint基于ASIC、FPGA和NP技术开发的威胁抑制引擎(TSE,Threat Suppression Engine)是高性能和精确检测的基础。TSE的核心架构由以下部件有机融合而成:
l 定制的ASIC
l FPGA(现场可编程门阵列)
l 20G高带宽背板
l 高性能网络处理器
该核心架构提供的大规模并行处理机制,使得TippingPoint IPS对一个报文从2层到7层所有信息的检测可以在215微秒内完成,并且保证处理时间与检测特征数量无线性关系。采用流水线与大规模并行处理融合技术的TSE可以对一个报文同时进行几千种检测,从而将整体的处理性能提高到空前水平。
在具备高速检测功能的同时,TSE还提供增值的流量分类、流量管理和流量整形功能。TSE可以自动统计和计算正常状况下网络内各种应用流量的分布,并且基于该统计形成流量框架模型;当DoS/DDoS攻击发生,或者短时间内大规模爆发的病毒导致网络内流量发生异常时,TSE将根据已经建立的流量框架模型限制或者丢弃异常流量,保证关键业务的可达性和通畅性。此外,为防止大量的P2P、IM流量侵占带宽,TSE还支持对100多种点到点应用的限速功能,保证关键应用所需的带宽。
2.3. 无处不在的安全保护
TippingPoint IPS在跟踪流状态的基础上,对报文进行2层到7层信息的深度检测,可以在蠕虫、病毒、木马、DoS/DDoS、后门、Walk-in蠕虫、连接劫持、带宽滥用等威胁发生前成功地检测并阻断,而且,TippingPoint IPS也能够有效防御针对路由器、交换机、DNS服务器等网络重要基础设施的攻击。
TippingPoint IPS还支持以下检测机制:
l 基于访问控制列表(ACL)的检测
l 基于统计的检测
l 基于协议跟踪的检测
l 基于应用异常的检测
l 报文规范检测(Normalization)
l IP报文重组
l TCP流恢复
以上机制协同工作,TippingPoint IPS可以对流量进行细微粒度的识别与控制,有效检测流量激增、缓冲区溢出、漏洞探测、IPS规避等一些已知的、甚至未知的攻击。
TippingPoint的安全威胁分析团队也处于业界领先的地位。该团队是安全威胁快讯SANS @Risk的主要撰稿人,SANS @Risk每周定期向其全球范围内30万专业订阅者摘要披露最新安全威胁的公告,内容包含最新发现的漏洞、漏洞所带来的影响、表现形式,而且指导用户如何采取防范措施。
TippingPoint实时更新、发布的数字疫苗(DV,Digital Vaccine)是网络免疫的保障与基础。在撰写SANS @Risk公告的同时,TippingPoint的专业团队同时跟踪其它知名安全组织和厂商发布的安全公告;经过跟踪、分析、验证所有这些威胁,生成供TippingPoint IPS使用的可以保护这些漏洞的特征知识库 – 数字疫苗,它针对漏洞的本质进行保护,而不是根据特定的攻击特征进行防御。数字疫苗以定期(每周)和紧急(当重大安全漏洞被发现)两种方式发布,并且能够通过内容发布网络自动地分发到用户驻地的IPS设备中,从而使得用户的IPS设备在漏洞被公布的同时立刻具备防御零时差攻击的能力。TippingPoint还与全球著名的系统软件厂商,如Microsoft、Oracle等,保持了良好的合作关系。在某个漏洞被发现后,TippingPoint能够在第一时间(即厂商公布安全公告之前)获得该漏洞的详细信息,并且利用这一时间差及时制作可以防御该漏洞的数字疫苗,使得用户的网络免遭这种“零时差攻击”(Zero-day Attack)。
因此,具备的的超高性能与精确阻断能力的TippingPoint IPS产品,彻底重新定义了网络安全的内涵,并且从根本上改变了保护网络的方式,可以帮助客户实现持续降低IT成本,持续提高IT生产率的目标。
3. 实际案例分析
下面我们以第一节讲到的应用层威胁为例,来讲讲TippingPoint是如何来实现深度安全保护的。
3.1. 蠕虫
þ 红色代码(CodeRed):
描述:利用MS01-033,微软索引服务器缓冲区溢出漏洞,通过TCP 80传播
TippingPoint解决之道:
Filter Name: 0260: HTTP: Code Red Worm
Category: Application Protection - Attack Protection – Exploits
这个filter可以抵挡CodeRed Worm蠕虫的攻击,
þ SQL SLAMMER:
描述:利用MS02-039,SQL服务器漏洞,通过UDP 1434进行传播
TippingPoint解决之道:
Filter Name: 1456: MS-SQL: Slammer-Sapphire Worm
Category: Application Protection - Attack Protection – Exploits
这个filter可以阻挡SQL Slammer/ Sapphire蠕虫的传播。
þ 冲击波(Blaster)
MS03-026,RPC DCOM服务漏洞,利用TCP 135 139等等进行传播Filter Name: 2289: MS-RPC: DCOM ISystemActivator Overflow Category: Application Protection - Attack Protection Vulnerabilities 这个filter是一个漏洞filter,可以阻挡所有针对该漏洞的攻击,包括Blaster和welchi蠕虫
þ 震荡波(Sasser):
MS04-011,LSASS本地安全认证子系统服务漏洞,利用TCP 139 445等端口进行传播
Filter Name: 2754: MS-RPC: LSASS Active Directory Interface Overflow
Category: Application Protection - Attack Protection - Vulnerabilities
这个Filter是一个漏洞filter,可以阻挡所有针对该漏洞的攻击,包括Sasser蠕虫
þ Zobot
MS05-39,windows PnP服务漏洞,利用TCP 445端口进行传播
Filter Name: 3677: MS-RPC: Windows PlugnPlay Request Anomaly
Category: Application Protection - Attack Protection - Vulnerabilities
这个Filter是一个漏洞filter,可以阻挡所有针对该漏洞的攻击,包括Zobot蠕虫
3.2. 间谍软件
实例1:安装Kazaa
Kazaa是一款流行的P2P文件共享应用程序。其免费版本夹带了Cydoor、Gator(GAIN)、MyWaySearch Toolbar和Altnet P2P网络组件。这些应用程序与Kazaa紧密地整合在一起,因此下载这些应用程序是不可避免的,除非连Kazaa本身的下载一起阻挡。
TippingPoint解决方案:TippingPoint透过防止间谍软件的渗透来提升网络使用。网络管理者可以设定IPS侦测并阻挡基于用户浏览习惯的目标广告要求,防止出现有害广告。同时还会阻挡所有数据传输或登入Altnet PeerPoints Manager。
图9将详细说明第一次在工作站上安装和执行Kazaa时的TippingPoint IPS阻挡纪录文件:
实例2:利用IE CHM文件处理漏洞
越来越多间谍软件透过Internet Explorer的安全漏洞来完成安装。透过浏览某个网页,间谍软件便可利用以下安全漏洞:MHTML通讯协议处理程序的跨网域漏洞。在使用ITS和MHTML通讯协议引用无法存取或不存在的MHTML文件时,Internet Explorer可以从备用位置存取CHM文件。由于MHTML处理程序中的漏洞,IE会错误地将CHM文件视为与不可用的MHTML文件处于相同网域。使用特制的URL,攻击者便可违反跨网域安全模型,伪装CHM文件中的任意script在不同的网域中执行,这可让攻击者取得该处理程序的用户权限执行任意程序代码。利用此漏洞,至少可安装十几个不同的间谍软件,而且有15个站点被新增到Internet Explorer的「信任网站」区域。这些间谍软件程序反过来又会安装更多的间谍软件套件
TippingPoint解决方案:TippingPoint IPS 可以保护网页浏览器中的安全漏洞,其提供的过滤器2736:IE CHM File Processing Vulnerability(IE CHM文件处理漏洞),它专门阻挡对Internet Explorer漏洞的利用。反过来,它可以防止该漏洞导致的进一步间谍软件下载。
3.3. 带宽滥用
以BT为例,在TippingPoint中有4个Filter可以对BT进行阻止和限流,如图10所示。
l Filter Name: 2265: BitTorrent: .torrent File Request Category: Performance Protection - Misuse & Abuse 这个filter可以阻止下载机器通过HTTP协议发送下载种子文件的请求
l Filter Name: 2268: BitTorrent: .torrent File Download
Category: Performance Protection - Misuse & Abuse 这个filter可以阻止通过HTTP协议的种子文件下载
l Filter Name: 2269: BitTorrent: Tracker Contact Category: Performance Protection - Misuse & Abuse 这个filter可以阻止下载机器和Tracker的连接
l Filter Name: 2270: BitTorrent: Peer-to-Peer Communications Category: Performance Protection - Misuse & Abuse 这个filter可以阻止或者限流BT对端之间的下载和上传流量