用于为网络提供漏洞利用保护的系统与方法

文档序号:7707485阅读:105来源:国知局
专利名称:用于为网络提供漏洞利用保护的系统与方法
技术领域
本发明涉及计算机网络安全,尤其涉及网络的漏洞利用保护。
背景技术
互联网连接世界各地的数百万节点。通过敲击按键, 一个地方的用户 可以存取几千英里之外的另一计算机上的文件。此外,互联网便利了称为 电子邮件的电子消息形式的信息的交换。尽管最先被用于传送短文本消 息,但电子邮件现在可用于发送数字图像、声音文件、文档、电子数据表、 可执行程序以及其它电子文件。发送所述文件只需将其附加到电子邮件消 息并且敲击发送按键。
但是,这种传送信息的便利还被用于其它目的。最先广受关注的漏洞 利用实例之一涉及使用电子邮件服务器传播程序。 一旦电子邮件服务器受 到程序"感染",它就开始将包括所述程序的电子邮件消息发送至其知道 的其它电子邮件服务器。所述程序像病毒一样以惊人的速度从一台邮件服 务器扩展至另一台邮件服务器。尽管所述程序并不删除文件或破坏电子邮 件服务器上的数据,但因为受感染电子邮件服务器发送大量电子邮件消 息,所述程序使得从电子邮件服务器检索电子邮件消息的速度极为緩慢。
当前,几乎每天都会报告类病毒程序(下称"漏洞利用")。所述漏
洞利用中的一些相对温和;其它则破坏数据或捕获敏感信息。除非正确保护,否则即使只有少量计算机受到感染,这些漏洞利用仍可以使得公司网 络或电子邮件系统崩溃,或是窃取敏感信息。
用于应付这些漏洞利用的最流行的方法是在每台计算机上建立病毒 保护软件。 一旦病毒保护软件的版本发布,则病毒寻求绕过该漏洞利用保 护软件生成该病毒保护软件无法识别的新漏洞利用。这促使病毒保护软件 研发人员更新其病毒保护软件以检测新漏洞利用。以前,在每台计算机上 更新病毒保护软件需要得到磁盘上的更新,并逐台计算机建立所述更新。 目前,病毒保护软件允许计算机用户使用互联网下载更新。由于建立更新 需*个用户(或计算机支持组)的努力,通常无法使每台计算机上的病 毒保护软件都是最新的。而且,新病毒的介绍与生成和发布旨在抵御新病 毒的更新之间存在显著延迟。此外,病毒保护软件通常无法抵御更常见类 别的称为漏洞利用的类病毒程序。

发明内容
根据本发明,提供了 一种用于为连接至网络的设备提供漏洞利用保护
已封装附件解封装的组件,在该附件被压缩时执行该附件的至少 一种解压 缩的组件,确定消息的标题、正文和/或附件是否包括漏洞利用的组件, 以及保持并选择性清除包括漏洞利用的消息的组件。接收指向网络的消息 的设备使用上述组件来为至少 一个消息提供漏洞利用保护。
在本发明的一个方面中,所述消息包括标题、正文和附件。所述标题 包括至少一个具有预定义大小的字段。当该字段数据的大小不同于所定义 大小时,漏洞利用得以建立。漏洞利用也可能建立在消息的正文和/或附 件内。
在本发明的另 一方面中,在所述系统上执行的客户机通过轮询与漏洞 利用保护软件的销售商相关的服务器来确定何时可以得到更新。当所^ 户机确定可以得到更新时,其自动检索所述更新。在本发明的另 一方面中,所述系统使用来自至少两个销售商的漏洞利 用保护软件来确定附件是否包括漏洞利用。
在本发明的另一方面中,所述系统的组件被实施在软件内,并可能被 包括在防火墙、路由器、交换机以及业务管理器中的至少一个上。
在本发明的另一方面中,所述封装包括通用互联网函件扩充服务
(MIME) 、 Base64编码和未编码中的至少一种。
以下详细描述以及相关附图介绍将使得表现本发明特征的上述和其 它特征以及优点变得清楚。


图l-3示出了其内可以实现本发明的示例性环境的组件; 图4示出了用于为网络提供漏洞利用保护的系统在其内操作的示例性 环境;
图5示出了可用于提供漏洞利用保护的防火墙的组件;以及 图6示出了用于根据本发明检测漏洞利用的流程图。
具体实施例方式
在以下本发明示例性实施例详细描述中,参照构成本发明的一部分的 以说明方式示出的附图,以及本发明可能被实现为的特定实施例。这些实 施例会被详细描述,以使本领域技术人员能够实现本发明,且应当理解的 是,也可能在并不背离本发明的精神和范围的情况下使用其它实施例以及 做出其它改变。因此,以下详细描述并不具有限制性的意义,本发明的范 围由所附权利要求书定义。
在以下描述内,首先给出本文献始终使用的一些术语的定义。接着, 公开其内可以实现本发明的示例性操作环境的示例性组件。此后,公开其 内可以实现本发明的示例性操作环境。最后,提供一种检测和清除漏洞利 用的方法。
定义除非本文明确指示,否则该部分内的定义应用于本文件。短语"本文 件,,指的是本申请的说明书、权利要求以及摘要。
"包括"指的是包括但并非仅限于。因此,包括A的列表并不排除包括B。
"分组,,指的是任意或可选择数据量,所述数据可由一个或多个比特 的序列代表。分組可能对应于在开放系统互连(OSI)模型的任何层内建 立的数据单元、在OSI模型内建立的数据单元的组合或非OSI数据单元,
所述数据单元例如是段、消息、分組、数据报、帧、符号流或流。 "客户机"指的是在一个或多个电子设备上执行的处理器或一组处理
器,所述电子设备例如是图3的计算设备300。客户机并不仅限于在工作站 上运行;它也可能在诸如WWW服务器、文件服务器的服务器上运行,或 在其它服务器、其它计算设备上运行,或被在一组所述设备上分配。在适 当的情况下,除了上述定义之外或代替上述定义,术语"客户机,,应当被 解释为一个或多个客户机过程可在其上执行的一种或多种设备,例如被配 置为起到万维网(WWW)服务器作用的诸如计算设备300的计算设备, 被配置为路由器、网关、工作站等的计算设备。
与其类似的是,"服务器"是指在一个或多个电子设备上执行的过程 或过程组,所述电子设备例如是被配置为WWW服务器的计算设备300。 与客户机一样,服务器并不仅限于在被配置为主导将业务提供给其它计算 设备的计算设备上运行。相反,它也可能在通常被视为客户计算机的设备 上执行,例如在被配置为用户工作站的计算设备300上执行,或是被在各 个电子设备之间分配,其中每个设备都包括一个或多个共同构成服务器应 用的过程。在适当的情况下,除了上述定义之外或替代上述定义,术语"服 务器"应当被解释为 一个或多个服务器过程在其上执行的 一种或多种设 备,例如被配置为起到WWW服务器、路由器、网关、工作站等作用的计 算设备。
漏洞利用是任何可能被用于通过电子邮件不适当地接入计算机的程 序和/或软件。漏洞利用包括常见的计算机病毒,还包括其它用于不适当
8地接入计算机的方法。例如,计算机病毒通常包括在电子邮件消息的附件 内。但一些漏洞利用包括在电子邮件消息的标题或正文内。例如, 一些漏 洞利用尝试使得为部分或全部电子邮件消息的标题或正文分配的緩冲器 溢出。这些漏洞利用通常会在所述溢出内包括的数据的字节内包括可执行 代码。所述的可执行代码被以可由主机执行的方式设置。所述的可执行代 码此后可能会在所述主机上不适当地存取数据和/或执行未经授权的程 序。
参照附图,在附图和本文件中,相同的号码指示类似的部分。 术语的定义同样贯穿全文。这些定义并不必通过使用"意味着"或"指
的是"来以语言介绍,而是可通过实例和/或所执行功能来介绍。除非另
有明确指示,否则所述定义将同样适用于本文。 示例性操作环境
图l-3示出了其内可以实现本发明的示例性环境的组件。并不需要所 有的组件来实现本发明,可在并不背离本发明的精神或范围的情况下,改 变布置和所述组件的类型。
图l示出了无线网络105和110以及电话网络115和120,它们分别通过 网关130A-130D互连到广域网/局域网200。网关130A-130D的每一个都 选择性地包括防火墙组件,例如分别包括防火墙140A-140D。每个网关 130A-130D内的字母FW代表防火墙。
无线网络105和110传送信息和话音通信到能够无线通信的设备,或是 从所述设M送信息和话音通信,所述设备例如是蜂窝电话、智能电话、 寻呼机、步谈机、射频i殳备、红外(IR)设备、CB以及组合一种或多种 上述设备的集成设备等。无线网络105和110同样可以将信息传送到其它具 有连接到无线网络的接口的设备,例如PDA、袖珍PC、便携计算机、个 人计算机、多处理器系统、基于微处理器的或可编程用户电子设备、网络 PC以及其它适当装配的设备。无线网络105和110可能包括无线和有线组 件。例如,无线网络110可能包括链接到诸如电话网115的有线电话网的蜂 窝塔(未示出)。通常,所述蜂窝塔将通信传送至蜂窝电话、寻呼机和其它无线设备,并从所述设备传送通信,而所述有线电话网将通信传送至常 规电话、远程通信链路等。
类似的,电话网115和120将信息和话音通信传送至能够实现有线通信 的设备,并从所述设M送信息和话音通信,所述设备例如是常规电话以 及包括调制解调器或其它一些接口与电话网通信的设备。诸如电话网120 的电话网也可能包括无线和有线组件。例如,电话网可能包括微波链路、 卫星链路、无线电链路以及其它无线链路来互连有线网。
网关130A-130D将无线网105和110以及电话网115和120互连到 WAN/LAN200。诸如网关130A的网关在诸如无线网105和WAN/LAN200 的网络之间传送数据。在传送数据中,所述网关可能会将所述数据翻译为 适合于接收网络的格式。例如,使用无线设备的用户可能会通过呼叫某一 号码、调至特定频率或选裤4殳备的浏览特征来开始浏览互联网。在接收到 适当寻址或格式化的信息时,无线网络105可能被配置为在所述无线设备 和网关130A之间发送数据。网关130A可能会将来自所述无线设备的网页
息。网关130A此后可能将对于所述消息的响应翻译为与所述无线设备兼容 的格式。网关130A同样将从无线设备发送的其它消息转换为适合于 WAN/LAN200的消息,例如电子邮件、话音通信、接触数据库、日历、 约会以及其它消息。
在将所述数据向任何一个方向翻译之前或之后,出于安全、过滤或其 它原因,所述网关可能会将所述数据通过诸如防火墙140A的防火墙传送。 诸如防火墙140A的防火墙可能包括或发送消息到漏洞利用检测器。结合图 4-6详细描述了本发明实施例语境内的防火墙及其操作。简要地说,网关 可能会将数据传送过防火墙,以确定其是否应当将该数据转发至接收网 络。所述防火墙可能会将诸如电子邮件消息的一些数据通过漏洞利用检测 器传送,所述漏洞利用检测器可能会从所述数据中检测并清除漏洞利用。 如果数据包括漏洞利用,则所述防火墙可能停止将所述数据通过所述网关 传送。在本发明的其它实施例中,漏洞利用检测器位于独立于网关和/或防 火墙的组件上。例如,在本发明的一些实施例中,漏洞利用检测器可能包
括在诸如无线网络105的无线网络的路由器内,所述漏洞利用检测器接收 指向到以及来自诸如无线网络105的无线网络的消息。这否定了诸如网关 130A的网络间网关上的漏洞利用检测器,或是使得所述网关上的漏洞利用 检测器冗余。理想的是,漏洞利用检测器位于网络的入口位置处,从而保 护所述网络内的全部设备免受漏洞利用。但漏洞利用检测器可能位于网络 内的其它位置,或与诸如交换机、集线器、服务器、路由器、业务管理器 等的其它设备集成,或独立于所述设备。
在本发明的另 一 实施例中,漏洞利用检测器可从诸如网关的寻求提供 漏洞利用保护的设备接入。在本文中,可接入意味着漏洞利用保护器物理 上位于实施所述网关的服务器或计算设备上,或所述漏洞利用检测器在可 从所述网关接入的另一服务器或计算设备上。在此实施例中,网关可能会 通过应用编程接口 (API)接入所述漏洞利用检测器。理想的是,寻求漏 洞利用保护的设备通过相关漏洞利用检测器指向所有消息,从而使得所述 漏洞利用检测器"逻辑上"位于所述设备互连的网络之间。在一些情况下, 设备可能并不通过漏洞利用检测器发送所有消息。例如,漏洞利用检测器 可能失灵,或某些消息可能被明确或隐含地指定为避免所述漏洞利用检测 器。
WAN/LAN200通常在如结合图2详细描述的计算设备之间传送信息。 WAN的一个实例是互联网,其经由大量网关、路由器、交换机、集线器 等连接数百万计算机。LAN的实例是用于连接单个办公室内的计算机的网 络。WAN可能被用于连接多个LAN。
应当认识到的是,WAN/LAN、电话网和无线网之间的区别并不清晰。 换言之,这些类型网络中的每一种都可能包括一个或多个逻辑上属于一种 或多种其它类型网络的部分。例如,WAN/LAN200可能包括一些模拟或 数字电话线以在计算设备之间传送信息。电话网120可能包括无线组件以瓦基于分組的组件,例如IP话音。无线网105可能包括有线组件和/或基于 分组的组件。网络是指WAN/LAN、电话网、无线网或它们的任何组合。 图2示出了多个由路由器210互连的局域网("LAN" ) 220和广域网 ("WAN" ) 230。路由器210是加速分组传送的通信网络上的中间设备。 在通过可能的连接网链接大量计算机的单个网络上,路由器接收所传送的 分组,并将其经由可用路由转发至其正确目的地。在包括基于不同体系结 构与协议的LAN的互连LAN组中,路由器起到LAN之间的链路的作用, 使得分组能被从一个LAN发送至另一个LAN。可通过使用专用硬件、诸如 结合图3描述的计算设备300的执行适当软件的计算设备或其任何组合来 实施路由器。
LAN内的通信链路一般包括双绞线、光纤或同轴电缆,而网络之间的 通信链路可能会漏洞利用模拟电话线、包括Tl、 T2、 T3和T4的全部或部 分专用数字线、综合业务数字网(ISDN)、数字用户线(DSL)、无线 链路或其它本领域技术人员熟知的通信链路。此外,诸如远程计算机240 的计算机以及其它相关电子设备可被经由调制解调器和暂时电话链路远
程连4妾到LAN220或WAN230。图2内的WAN、 LAN和路由器的数量可^f壬 意增加或减少,并不背离本发明的精神和范围。
同样,应当理解的是,互联网自身可能由大量如此互连的网络、计算 机和路由器组成。术语"互联网"通常是指使用传输控制协议/互联网协 议("TCP/IP")协议组相互通信的网络、网关、路由器和计算机的世 界范围内的集合。互联网的中心是主要节点或主机之间的高速数据通信主 线,其路由数据和分组,所述节点和主机包括数千商业、政府、教育和其 它计算机系统。可在互联网上实现本发明实施例,并未背离本发明的精神 和范围。
用于在上述通信链路内发射信息的媒介示出了 一种计算机可读媒介, 即通信媒介。计算机可读媒介通常包括任何可由计算设备存取的媒介。计 算机可读媒介可能包括计算机存储媒介、通信媒介或其任何组合。
12通信媒介通常包括计算机可读指令、数据结构、程序模块、诸如载波 的已调制数据信号内的其它数据或其它传输机制,并包括任何信息传送媒 介。术语"已调制数据信号"意味着将具有一个或多个其特征的信号设置 或改变为编码该信号内的信息。例如,通信媒介包括诸如双绞线、同轴电
缆、光纤、波导管和其它有线媒介的有线媒介,以及诸如声音、RF、红 外以及其它无线媒介的无线媒介。
借助能够链接位于世界各地的计算机的能力,互联网近年来得到迅速 发展。随着互联网的发展,WWW同样迅速发展。 一般而言,WWW是位 于世界各地的HTTP (超文本传送协议)服务器上的链接超文本文件的总 组。WWW上的文件称为页或网页,通常以HTML(超文本链接标示语言) 或其它一些链接标示语言编写,由规定特定机器以及可据其存取文件的路 径名的URL (统一资源定位器)识别,并^K吏用HTTP从服务器传送至终 端用户。嵌入HTML文件的代码称为标记,其将该文件内的文字和图像与 URL联系起来,从而使得用户可以通过按键或按鼠标来存取可能在地球另 一端的另一文件。这些文件可能包括文本(具有各种字体和格式)、图像、 电影文件、々某体截屏、声音、Java小应用程序、ActiveX控制或其它在用 户激活其时执行的嵌入式软件程序。访问网页的用户也能够从FTP站点下 载文件,并通过使用该网页上的链接将分组经由电子邮件发送到其它用 户。
以下将结合图3详细描述可提供WWW站点的计算设备。在被用于提 供WWW站点时,所述计算设备通常称为WWW服务器。WWW服务器是
连接至互联网的计算设备,其具有用于为www站点存储超文本文件的存 储设备,并运行管理软件以处理对所存储超文本文件的请求。超文本文件 通常包括若干超链接,即用于将该文件链接到可能存储在互联网上别处的
WWW站点内的另 一超文本文件的突出部分。每个超链接都与URL相关, 所述URL提供连接至互联网的服务器上的被链接文件的位置,并描述该文 件。因此,只要从任何WWW服务器检索超文本文件,该文件即被视为从
www中检索。如本领域技术人员所知,www服务器也可能包括用于存储和传送应用程序以在远程计算机上执行的设备,所述应用程序例如是
Sun微系统的以Java编程语言编写的应用程序。同样,WWW服务器还可 能包括用于在其自身上执行脚本和其它应用程序的设备。
用户可能会经由位于有线或无线设备上的WWW浏览器应用程序从 所述WWW检索超文本文件。WWW浏览器是用于提供到所述WWW的图 形用户接口的软件应用程序,例如Netscape的NAVIGATOR 以及 Microsof的INTERNET EXPLORER ,在用户经由WWW浏览器请求时, 所述WWW浏览器使用所需的超文本文件的URL以及HTTP从适当 WWW服务器存取和检索该文件。HTTP是较TCP/IP更高级的协议,是 特别为WWW的需要设计的。HTTP用于将请求从浏览器传送至网络服务 器,以及将网页从网络服务器传送回请求浏览器或客户机。所述WWW 浏览器同样可能从WWW服务器检索诸如JAVA小应用程序的应用程序以 在客户计算机上执行。
图3示出了一种计算设备。所述设备例如被用作服务器、工作站、网 络设备、路由器、网桥、防火墙、漏洞利用检测器、网关和/或业务管理 i殳备。当净皮用于提供WWW站点时,计算设备300将WWW网页传送至 在请求设备上执行的WWW浏览器应用程序,以执行该过程。例如,计算 设备300可能会传送网页和窗体,以接收关于用户的信息,例如地址、电 话号码、记账信息、信用卡号码等。此外,计算设备300可能将WWW页 传送至允许顾客加入WWW站点的请求设备。所述事项可能发生在互联 网、WAN/LAN100或本领域技术人员熟知的其它一些通信网络上。
应当理解的是,计算设备300可能包括远多于图3所示出的组件。但是, 所示出的组件足以说明用于实现本发明的示例性环境。如图3所示,计算 设备300可能会经由网络接口单元310连接到WAN/LAN200或其它通信 网络。网络接口单元31t)包括将计算设备300连接到WAN/LAN200所需的 电路,并被构造成与包括TCP/IP协议的各种通信协议一起使用。网络接 口单元310通常是包括在计算设备300内的卡。计算i殳备300还包括经由总线322连接的处理单元312、视频显示适配 器314、海量存储器。所述海量存储器通常包括随^^取存储器("RAM") 316、只读存储器("ROM" ) 332以及一个或多个永久海量存储设备, 例如石更盘驱动器328、》兹带驱动器(并未显示)、诸如CD-ROM/DVD-ROM 驱动器的光驱动器326和/或软盘驱动器(并未显示)。所述海量存储器存储 操作系统320,以控制计算设备300的操作。应当理解的是,该组件可能包 括通用操作系统,例如UNIX、 LINUXTM或由华盛顿,雷蒙德的微软公 司制造的操作系统。还提供了基本输入/输出系统("BIOS" )318以控制计 算设备300的低层操作。
上述海量存储器示出了另 一种计算机可读媒介,即计算机存储媒介。 计算机存储^f某介可能包括用于存储信息的以任何一种方法或技术来实施
的易失和非易失、可拆卸和不可拆卸的媒介,所述信息例如计算机可读指 令、数据结构、程序模块或其它数据。计算积^储媒介的实例包括RAM、 R()M、 EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD) 或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或是其它 可用于存储所需信息并可由计算设备存取的媒介。
所述海量存储器还可能存储程序代码和数据,以提供WWW站点。更 具体地说,所述海量存储器可能存储包括专用软件330和其它程序334的应 用。专用软件330可能包括WWVV服务器应用程序,该程序包括计算机可 执行指令,所述计算机可执行指令在由计算设备300执行时,生成WWW 浏览器显示,包括执行上述逻辑。计算设备300可能包括JAVA虚拟机、用 于传送和接收电子邮件的SMTP处理器应用、用于接收和处理HTTP请求 的HTTP处理器应用、用于传输到在客户计算机上执行的WWW浏览器的 JAVA小应用程序、用于处理安全连接的HTTPS处理器应用。所述HTTPS 处理器应用可能被用于与外部安全应用通信,以在安全方式中发送和接收 敏感信息,例如信用卡信息。
计算设备300也可能包括用于与外部设备通信的输入/输出接口 324 , 例如鼠标、键盘、扫描仪或其它图3内未显示的输入设备。在本发明的一些实施例中,计算设备并不包括用户输入/输出组件。例如,计算设备300 可能会连接或不连接到监控器。此外,计算设备300可能具有或不具有视 频显示适配器314或输入/输出接口324。例如,计算设备300可能会实施网 络设备,例如路由器、网关、业务管理设备等,其连接至网络但并不需要 直接连接到输入/输出设备。所述设备例如可经由网,入。
计算设备300可能还包括附加海量存储设备,例如光驱326和硬盘驱动 器328。除了其它内容外,硬盘驱动器328还被计算设备300用于存储应用
据。WWVV服务器应用可被作为专用软件300和/或其它程序334存储。此 夕卜,客户数据库、产品数据库、图像数据库以及相关数据库也可能被存储 在海量存储器或RAM316内。
从上述讨论可以认识到,本发明的各个方面可能体现在路由器210、 计算设备300、网关、防火墙、其它设备以及上述设备的一些组合上。例 如,防止漏洞利用的编程步骤可能包括在专用软件330和/或其它程序334 内。
示例性配置系统以防止漏洞利用
图4示出了 一种示例性环境,其中根据本发明一个实施例的为网络提 供漏洞利用保护的系统操作。该系统包括外部网络405、防火墙500、网络 设备415、工作站420、文件服务器425、邮件服务器430、移动设备435、 应用服务器440、电话设备445和网络450。网络450将防火墙500耦合到网 络设备415、工作站420、文件服务器425、邮件服务器430、移动设备435、 应用服务器440、电话设备445。防火墙500将网络450耦合到外部网络405。
网络设备415、工作站420、文件服务器425、邮件服务器430、移动 设备435、应用服务器440、电话设备445是能够与网络450连接的设备。 所述设备组可能包括通常使用有线通信媒介连接的设备,例如个人计算 机、多处理器系统、基于微处理器或可编程的客户电子设备、网络PC等。 所述设备组还可能包括通常使用无线通信媒介连接的设备,例如蜂窝电 话、智能电话、寻呼机、步话机、射频(RF)设备、红外(IR)设备、CB、组合一种或多种前述设备的集成设备等。 一些设备能够使用有线或 无线通信媒介连接到网络450,例如PDA、袖珍PC、便携计算机或上述其 它装配成使用有线和/或无线通信媒介的设备。可能实施任何上述设备的 示例性设备是以适当硬件和/或软件配置的图3的计算设备300.
网络设备415例如可能是路由器、交换机或其它一些网络设备。工作 站420可能是被用户用于接入其它计算机以及可通过网络450,包括外部网 络405达到的资源的计算机。文件服务器425例如可能提供到海量存储设备 的接入。邮件服务器430可能存储电子邮件消息并提供对电子邮件消息的 存取。移动设备435可能是蜂窝电话、PDA、便携计算机或其它一些被用 户用于接入可通过网络450达到的资源的设备。应用服务器440可能存储应 用并提供到应用的接入,所述应用例如是数据库应用、计算应用等。电话 设备445可能会提供用于经由网络450传送话音、传真和其它消息的装置。 每个所述设备都可能代表其它一些能够与网络450连接的设备,这并不背 离本发明的精神和范围。
外部网络4U5和网络450是如前文定义的网络。外部网络例如可能是互 联网或其它 一些WAN/LAN 。
防火墙500为消息提供从外部网络405到网络450的路径。防火墙500 可能为或不为所述消息提供仅有的路径。此外,外部网络405和网络450 之间的路径上可能存在其它计算设备(并未显示),这并不背离本发明的 精神和范围。防火墙可能被包括在网关、路由器、交换机或其它计算设备 上,或仅可以接入到所述设备。
防火墙500可能会通过包括和/或接入结合图5详述的漏洞利用检测器 (并未显示)为耦合到网络450的设备提供漏洞利用保护。防火墙500可能 被配置为通过漏洞利用检测器发送某一类型的消息。例如,防火墙500可 能被配置为在通过漏洞利用检测器传送所有电子邮件消息时,在非电子邮 件数据上执行常规处理。
示例性漏洞利用检测器
17图5示出了根据本发明 一个实施例的可用于提供漏洞利用保护的防火 墙的组件。防火墙500的组件包括消息受话器505、漏洞利用检测器510、 输出组件545以及其它防火墙组件550。漏洞利用检测器510包括消息队列 515、内容过滤器520、解压缩组件525、扫描器组件530、隔离组件535以 及漏洞利用去除器540。还示出了消息传输代理555。
防火墙500可以接收在耦合到网络450的设备与图4的外部网络405之 间发送的多种类型消息。 一些消息可能涉及WWW业务或在两个参与通信 的计算机之间传送的数据,而其它消息可能涉及电子邮件。消息受话器505 收听消息,并在接收到诸如电子邮件或文件的适当消息时,将该消息发送 至漏洞利用检测器510以扫描漏洞利用。 一些消息可能不适宜漏洞利用检 测。这种消息由消息受话器505传送到其它防火墙组件550。
在处理电子邮件消息时,漏洞利用检测器510部分地通过扫描和确i人 电子邮件消息的字段来提供漏洞利用保护。电子邮件消息通常包括标题 (可能包括某些字段)、正文(通常包括电子邮件的文本)以及一个或多 个可选择附件。如前所述, 一些漏洞利用被制作成溢出标题或正文内的緩 存器。漏洞利用检测器510可能会检查电子邮件消息的字段长度,以确定 所述字段是否长于其应有长度。"长于其应有长度"可能由标准、邮件服务 器技术规范定义,或由防火墙管理员选择。如果电子邮件消息包括任何长 于其应有长度的字段,则该消息可能会被发送至下文详述的隔离组件535。
漏洞利用检测器510可能会使用来自多个销售商的漏洞利用保护软 件。例如,客户机可能在连接到病毒保护更新服务器的漏洞利用检测器510 上执行。该客户机可能会周期性地轮询与每个销售商相关的服务器,并寻 找标记以了解是否可以得到漏洞利用保护更新。如果可得到更新,则所述 客户机自动检索所述更新并检查其真实性。例如,所述更新可能会包括将 无用信号加入所发送文件的数字签名。核对所述数字签名以确定所述文件 来自值得信赖的发送人,所述无用信号可被用于确定所述文件并未被在传 送中修改。另一过程可能会分开所述更新、停止漏洞利用检测器510的执 行、安装所述更新并重启漏洞利用检测器510。漏洞利用检测器510可能被配置为轮询定制的漏洞利用保护更新,所 述更新例如由信息技术组研制。该过程可能以与上述向销售商轮询更新类 似的方式执行。
除了轮询之外或代替所述轮询,更新可能被推至漏洞利用检测器510。 换言之,客户机可能在从漏洞利用保护更新服务器收听更新的漏洞利用检 测器510上执行。为了更新在防火墙410上执行的漏洞利用保护,所述服务 器可能会打开与该客户机的连接,并发送漏洞利用保护更新。发送更新的 服务器可能为鉴权自身所需。此外,所ii^户机可能会通过使用上述无用 信号来检查所发送更新,以确定所述文件在传送中并未被改变。
以下将解释漏洞利用检测器510的组件。在"t妾收消息以扫描漏洞利用 时,漏洞利用检测器510将该消息存储在消息队列515内。内容过滤器520 处理来自消息队列515的消息,以确定在该消息进入所述系统之前已应用 于其的封装方法。例如,可能会使用通用互联网函件扩充服务(MIME)、 Base64编码和未编码来封装消息。内容过滤器520也可能会从电子邮件剥 离附件以更精确地检验所述附件。从内容过滤器520输出的消息或附件(以 下都称为"消息")由解压缩组件525处理。
解压缩组件525确定消息是否被压缩。如果所述消息并未被压缩,则 构成所述消息的比特^L序列发送至扫描器组件530。如果所述消息^皮压缩, 则解压缩组件525会在将其发送至扫描器組件530之前将所述消息解压缩 一次或多次。如果消息被压缩多次,则解压缩可能会被以嵌套方式执行。 例如,可能首先以zip文件格式压缩消息内包括的文件组,然后通过使用 UNIX "ta,,指令以tar文件格式压缩该文件组。在将文件解tar压缩之后,解 压缩组件525可能会确定所述解tar压缩文件先前由诸如WINZIP的zip压 缩软件所压缩。为了得到解zip压缩的(多个)文件,解压缩组件525此后 可能会将解tar压缩的文件解zip压缩。解压缩组件525可能要解两级以上压 缩来得到解压缩后文件。
扫描器组件530从解压缩组件525接收解压后的消息以及并未被压缩 的消息。扫描器組件530包括扫描消息的漏洞利用的软件。扫描器组件530可能使用多个销售商的漏洞利用保护软件来扫描消息。例如,扫描器组件
530可能将消息通过软件传送,所述软件来自病毒保护软件销售商,例如 Norton、 MacAfee、 Network Associates股份有卩艮公司、Kaspersky Lab、 Sophos等。此外,扫描器組件530可能会将专有或用户定义的算法应用于 所述消息,以扫描漏洞利用。例如,可能会将测试緩存器溢出的用户定义 的算法用于检测漏洞利用。
扫描器组件530还可能包括为管理员希望防止受到网络外界分配的消 息与内容生成数字签名的内部机制。例如,参照图4, 一个所述计算设备 上的用户可能生成对外部网络405保密的消息并试图将其转发。扫描器组 件530可能会检查其接收到的每个消息(包括输出消息)的所述数字签名。 当发现数字签名指示不应当转发所述消息时,扫描器组件530可能会将所 述消息和关于是谁发送该消息、何时发送该消息以及与该消息相关的其它 数据的信息 一起转发至隔离组件。
当确定消息具有漏洞利用时,所述消息^皮发送至隔离组件535。隔离 组件535可能会存储包括漏洞利用的消息,由网络管理员做进一步检查。 此外,隔离组件535可能将受感染的消息发送到漏洞利用去除器540将漏洞 利用去除。
当扫描器组件530并未在消息内发现漏洞利用时,所述消息可能被转 发至输出组件545。输出组件545将消息转发至其接收者。输出组件545 可能是可用于经由网络转发消息的硬件和/或软件。例如,输出组件545可 能包括诸如网^i口单元310的网^^口。
漏洞利用去除器540可能会将漏洞利用从消息去除。在检测生成清理 后的消息之后,可能会将某些漏洞利用从消息去除。当前不受漏洞利用的 清理后消息可能随后被转发至其预计的接收者。在清理消息之后,漏洞利 用去除器可能会将所述消息转发至输出组件545。如果漏洞利用去除器无 法删除漏洞利用,则其可能将所述消息发送回隔离组件535。 除了将消息传送到漏洞利用检测器之外,防火墙可能还会执行其它任 务。例如,防火墙可能会阻塞到或来自某些地址的消息。所述的其它任务可能由其它防火墙组件550实现。当其它防火墙组件550确定应当通过防火 墙500传送消息时,其它防火墙组件550将所述消息转发到输出组件545。
消息传输代理555是接收电子邮件的计算设备。电子邮件接收设备包 括邮件服务器。邮件服务器的实例包括孩i软"交换局"、"Q邮件"、Lotus Notes等。参照图4,防火墙500可能将消息转发至邮件服务器430。
扫描漏洞利用的示例性方法
图6示出了根据本发明的一个实施例检测漏洞利用的流程图。当诸如 图5的消息受话器505的受话器准备接收消息时,过程在方框605处开始。
在方框610处,所述消息由受话器接收。所述受话器确定是否应当扫 描所述消息的漏洞利用。如果将扫描所述消息的漏洞利用,则处理在方框 615处继续;否则可能会对所述消息执行其它处理(未示出)。例如,参 照图5,包括电子邮件消息的消息由消息受话器505接收。消息受话器505 确定应当扫描所述消息的漏洞利用,并将所述消息发送到消息队列515。
如果有必要,则在方框615处将所述消息解封装。可以若干方式将消 息封装,包括MIME、 Base64编码和未解码。为了检索所述消息,可能会 将所述消息解封装。例如,参照图5,所述电子邮件消息可能包括祐 使用 MIME编码的附件。内容过滤器520可能会将所述附件解封装。在方框615 之后,处理在方框620处继续。
在方框620处,所述消息和/或其附件,如果存在的话,可能会被一 次或多次解压缩。例如,参照图5,电子邮件消息可能包括已由WinZip压 缩的附件。解压缩组件525可能会确定所使用的压缩算法,并将所述附件 解压缩。在方框620之后,处理在方框625处继续。
在方框625处,扫描消息的漏洞利用。可能使用常规漏洞利用检测软 件和/或专有或用户定义的漏洞利用检测软件来扫描所述消息。例如,参 照图5,可能会扫描电子邮件消息的标题、正文与附件字段,以确定它们 是小于还是等于所述字段的最大长度。此外,如果存在电子邮件的附件, 则可能通过各个销售商的病毒检测軟件传送电子邮件的附件,以确定所述 附件是否包括任何漏洞利用。在方框625之后,处理在方框630处继续。在方框630处,确定所述扫描是否检测到任何漏洞利用。如果发现漏 洞利用,则处理在方框635处继续;否则处理在方框640处继续。
在方框635处,消息被隔离,且选择性地将一个或多个漏洞利用去除。 被隔离可能意味着将所述消息与其它关于所述消息的信息一起存储起来, 所述的其它关于所述消息的信息例如是谁发送所述消息、所述消息被寻址
到谁以及所述消息何时到达。这可能是为了进一步检查或分析而执行的。 作为选择,被隔离可能意味着将所述消息删除。当从消息处理去除漏洞利 用时,可能在方框640处继续;否则,特定消息的处理完成,且可能扫描 另一消息的漏洞利用。例如,参照图5,隔离组件接收包括漏洞利用的电 子邮件,并将所述电子邮件存储起来用于进一步检查。
在方框640处,将消息转发至其接收者。所述消息可能是由漏洞利用 检测器接收的原始消息,或可能是将漏洞利用从其去除的消息。例如,参 照图5,输出组件545将消息转发至消息传输代理555。
在方框645处,处理结束。此时已为扫描消息的漏洞利用。如果所述 消息的任何部分已被封装,则所述消息已被解封装。如果所述消息已被一 次或多次压缩,则所述消息已被一次或多次解压缩。对于漏洞利用的扫描 已发生在所述消息上。如果发现漏洞利用,则它们已被隔离和/或选择性 地浮皮从所述消息去除。所述消息或清理后的消息随后^皮转发至接收者。可 能会为每个所接收消息重复上述过程。
本发明的各个实施例可能会被实施为计算机实施步骤的序列或在计 算系统上运行的程序模块和/或所述计算系统内的互连机器逻辑电路或电 路模块。对于所述实施方式的选择取决于实施本发明的计算系统的性能要 求。对于^^开,本领域技术人员应当认识到的是,所公开的各个实施例 的功能与操作可能被实施在软件、固件、专用数字逻辑或是其任何组合内, 这并不背离本发明的精神或范围。
上述技术规范、实例与数据提供了制造和使用本发明部分的充分描 述。由于可在并不背离本发明精神和范围的情况下实施本发明的多种实施 例,所以本发明归属于所附权利要求书。
权利要求
1.一种用于向连接至网络的多个设备提供漏洞利用保护的方法,包括(a)在节点中接收消息,所述节点接收指向任何一个所述设备的消息,并且在将所述消息向至少一个所述设备转发之前,引起对所述消息的漏洞利用的扫描,其中所述消息包括标题以及压缩后的附件;(b)对所述附件解压缩;(c)确定所述标题是否包含所述漏洞利用;(d)在所述标题中包含漏洞利用时,隔离所述消息。
2. 根据权利要求l的方法,还包括 在所述附件,皮封装时,将所述附件解封装。
3. 根据权利要求l的方法,还包括去除所述漏洞利用,并向至少一个 所述设备转发所述消息。
4. 根据权利要求2的方法,还包括确定所述消息的正文是否包括漏洞 利用。
5. 根据权利要求4的方法,其中使用至少来自两个销售商的漏洞利用 保护软件来确定所述标题是否包括漏洞利用。
6. 根据权利要求2的方法,其中至少使用通用互联网函件扩充服务 (M1ME) 、 Base64编码和未编码中的至少一种来封装所述附件。
7. —种用于向连接至网络的多个设备提供漏洞利用保护的方法,包括(a) 在节点中接收消息,所述节点接收指向任何一个所述设备的消 息,并且在将所述消息向至少一个所述设备转发之前,引起对所述消息的 漏洞利用的扫描,其中所述消息包括标题,以及正文和附件中的任何一个;(b) 确定所述标题和所述正文中的至少一个是否包括漏洞利用,所 述标题包括具有定义大小的字段,并且在所述字段中的数据的大小不同于 所述定义的大小时,所述标题包括漏洞利用;(C)在所述消息的标题和正文中的至少一个包含漏洞利用时,隔离 所述消息。
8. 根据权利要求7的方法,其中使用至少来自两个销售商的漏洞利用 保护软件来确定所述消息的标题和正文中的至少一个是否包括漏洞利用。
9. 一种用于向连接至网络的多个设备提供漏洞利用保护的系统,包括(a) 用于接收包括标题、以及正文和附件中的至少一个的消息的装置;(b) 用于确定所述附件是否被封装,并且在所述附件被封装时将所 述附件解封装的装置;(c) 用于在所述附件净皮压缩时至少一次解压缩所述附件的装置;(d) 用于确定所述标题和正文中的至少一个是否包括漏洞利用的装 置;以及(e )用于在所述消息包括所述漏洞利用时隔离所述消息的装置。
10. 根据权利要求9的系统,其中所述标题包括具有定义大小的字段, 在所述字段中的数据的大小不同于所述定义的大小时,所述用于确定所述 标题和正文中的至少 一个是否包括漏洞利用的装置被设置成确定所述标 题包括漏洞利用。
11. 一种用于为连接至网络的多个设备提供漏洞利用保护的系统,包括(a) 用于接收消息的内容过滤器,所述消息指向至少一个所述设备, 并且包括标题、正文和附件,其中所述内容过滤器确定在所述系统接收该 消息之前已经封装所述附件,并且对所述附件解封装;(b) 解压缩组件,耦合到所述内容过滤器,并且在所述附件被压缩时执行对于所述附件的至少一种解压缩;(c) 扫描器组件,耦合到所述解压缩组件,并且确定所述标题和正文中的至少一个是否包括漏洞利用,并确定所述标题、正文以及附件中的至少一个是否包含应当被转发到所述网络之外的内容;(d) 隔离组件,耦合到所述扫描器组件,并且在所述消息包括漏洞利用时保持所述消息;以及(e) 用于接收指向所述网络的消息的设备,所述设备至少使用所述扫描器组件向至少 一个所述消息提供漏洞利用保护。
全文摘要
本发明公开了一种用于为连接至网络的多个设备提供漏洞利用保护的系统,包括用于接收消息的内容过滤器,所述消息指向至少一个所述设备,并且包括标题、正文和附件,其中所述内容过滤器确定在所述系统接收该消息之前已经封装所述附件,并且对所述附件解封装解压缩组件,耦合到所述内容过滤器,并且在所述附件被压缩时执行对于所述附件的至少一种解压缩;扫描器组件,耦合到所述解压缩组件,并且确定所述标题和正文中的至少一个是否包括漏洞利用;隔离组件,耦合到所述扫描器组件,并且在所述消息包括漏洞利用时保持所述消息;用于接收指向所述网络的消息的设备,所述设备至少使用所述扫描器组件向至少一个所述消息提供漏洞利用保护。
文档编号H04L29/06GK101567889SQ20091013710
公开日2009年10月28日 申请日期2002年4月12日 优先权日2001年4月13日
发明者格里高里·J·斯密斯 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1