首页> 中国专利> 用于为网络提供漏洞利用保护的系统与方法

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

摘要

本发明公开了一种用于为连接至网络的多个设备提供漏洞利用保护的系统,包括:用于接收消息的内容过滤器,所述消息指向至少一个所述设备,并且包括标题、正文和附件,其中所述内容过滤器确定在所述系统接收该消息之前已经封装所述附件,并且对所述附件解封装:解压缩组件,耦合到所述内容过滤器,并且在所述附件被压缩时执行对于所述附件的至少一种解压缩;扫描器组件,耦合到所述解压缩组件,并且确定所述标题和正文中的至少一个是否包括漏洞利用;隔离组件,耦合到所述扫描器组件,并且在所述消息包括漏洞利用时保持所述消息;用于接收指向所述网络的消息的设备,所述设备至少使用所述扫描器组件向至少一个所述消息提供漏洞利用保护。

著录项

  • 公开/公告号CN101567889A

    专利类型发明专利

  • 公开/公告日2009-10-28

    原文格式PDF

  • 申请/专利权人 诺基亚公司;

    申请/专利号CN200910137106.5

  • 发明设计人 格里高里·J·斯密斯;

    申请日2002-04-12

  • 分类号H04L29/06(20060101);H04L12/58(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人杨晓光;于静

  • 地址 美国德克萨斯州

  • 入库时间 2023-12-17 22:57:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-17

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20160127 变更前: 变更后: 申请日:20020412

    专利申请权、专利权的转移

  • 2014-03-12

    专利权的转移 IPC(主分类):H04L29/06 变更前: 变更后: 登记生效日:20140217 申请日:20020412

    专利申请权、专利权的转移

  • 2014-01-08

    授权

    授权

  • 2009-12-23

    实质审查的生效

    实质审查的生效

  • 2009-10-28

    公开

    公开

说明书

本申请为申请号为02810143.X、申请日为2002年4月12日、发明名称为“用于为网络提供漏洞利用保护的系统与方法”的发明专利申请的分案申请。

技术领域

本发明涉及计算机网络安全,尤其涉及网络的漏洞利用保护。

背景技术

互联网连接世界各地的数百万节点。通过敲击按键,一个地方的用户可以存取几千英里之外的另一计算机上的文件。此外,互联网便利了称为电子邮件的电子消息形式的信息的交换。尽管最先被用于传送短文本消息,但电子邮件现在可用于发送数字图像、声音文件、文档、电子数据表、可执行程序以及其它电子文件。发送所述文件只需将其附加到电子邮件消息并且敲击发送按键。

但是,这种传送信息的便利还被用于其它目的。最先广受关注的漏洞利用实例之一涉及使用电子邮件服务器传播程序。一旦电子邮件服务器受到程序“感染”,它就开始将包括所述程序的电子邮件消息发送至其知道的其它电子邮件服务器。所述程序像病毒一样以惊人的速度从一台邮件服务器扩展至另一台邮件服务器。尽管所述程序并不删除文件或破坏电子邮件服务器上的数据,但因为受感染电子邮件服务器发送大量电子邮件消息,所述程序使得从电子邮件服务器检索电子邮件消息的速度极为缓慢。

当前,几乎每天都会报告类病毒程序(下称“漏洞利用”)。所述漏洞利用中的一些相对温和;其它则破坏数据或捕获敏感信息。除非正确保护,否则即使只有少量计算机受到感染,这些漏洞利用仍可以使得公司网络或电子邮件系统崩溃,或是窃取敏感信息。

用于应付这些漏洞利用的最流行的方法是在每台计算机上建立病毒保护软件。一旦病毒保护软件的版本发布,则病毒寻求绕过该漏洞利用保护软件生成该病毒保护软件无法识别的新漏洞利用。这促使病毒保护软件研发人员更新其病毒保护软件以检测新漏洞利用。以前,在每台计算机上更新病毒保护软件需要得到磁盘上的更新,并逐台计算机建立所述更新。目前,病毒保护软件允许计算机用户使用互联网下载更新。由于建立更新需要每个用户(或计算机支持组)的努力,通常无法使每台计算机上的病毒保护软件都是最新的。而且,新病毒的介绍与生成和发布旨在抵御新病毒的更新之间存在显著延迟。此外,病毒保护软件通常无法抵御更常见类别的称为漏洞利用的类病毒程序。

发明内容

根据本发明,提供了一种用于为连接至网络的设备提供漏洞利用保护的方法与系统。所述系统与方法包括用于确定封装是否已应用于附件并将已封装附件解封装的组件,在该附件被压缩时执行该附件的至少一种解压缩的组件,确定消息的标题、正文和/或附件是否包括漏洞利用的组件,以及保持并选择性清除包括漏洞利用的消息的组件。接收指向网络的消息的设备使用上述组件来为至少一个消息提供漏洞利用保护。

在本发明的一个方面中,所述消息包括标题、正文和附件。所述标题包括至少一个具有预定义大小的字段。当该字段数据的大小不同于所定义大小时,漏洞利用得以建立。漏洞利用也可能建立在消息的正文和/或附件内。

在本发明的另一方面中,在所述系统上执行的客户机通过轮询与漏洞利用保护软件的销售商相关的服务器来确定何时可以得到更新。当所述客户机确定可以得到更新时,其自动检索所述更新。

在本发明的另一方面中,所述系统使用来自至少两个销售商的漏洞利用保护软件来确定附件是否包括漏洞利用。

在本发明的另一方面中,所述系统的组件被实施在软件内,并可能被包括在防火墙、路由器、交换机以及业务管理器中的至少一个上。

在本发明的另一方面中,所述封装包括通用互联网函件扩充服务(MIME)、Base64编码和未编码中的至少一种。

以下详细描述以及相关附图介绍将使得表现本发明特征的上述和其它特征以及优点变得清楚。

附图说明

图1-3示出了其内可以实现本发明的示例性环境的组件;

图4示出了用于为网络提供漏洞利用保护的系统在其内操作的示例性环境;

图5示出了可用于提供漏洞利用保护的防火墙的组件;以及

图6示出了用于根据本发明检测漏洞利用的流程图。

具体实施方式

在以下本发明示例性实施例详细描述中,参照构成本发明的一部分的以说明方式示出的附图,以及本发明可能被实现为的特定实施例。这些实施例会被详细描述,以使本领域技术人员能够实现本发明,且应当理解的是,也可能在并不背离本发明的精神和范围的情况下使用其它实施例以及做出其它改变。因此,以下详细描述并不具有限制性的意义,本发明的范围由所附权利要求书定义。

在以下描述内,首先给出本文献始终使用的一些术语的定义。接着,公开其内可以实现本发明的示例性操作环境的示例性组件。此后,公开其内可以实现本发明的示例性操作环境。最后,提供一种检测和清除漏洞利用的方法。

定义

除非本文明确指示,否则该部分内的定义应用于本文件。短语“本文件”指的是本申请的说明书、权利要求以及摘要。

“包括”指的是包括但并非仅限于。因此,包括A的列表并不排除包括B。

“分组”指的是任意或可选择数据量,所述数据可由一个或多个比特的序列代表。分组可能对应于在开放系统互连(OSI)模型的任何层内建立的数据单元、在OSI模型内建立的数据单元的组合或非OSI数据单元,所述数据单元例如是段、消息、分组、数据报、帧、符号流或流。

“客户机”指的是在一个或多个电子设备上执行的处理器或一组处理器,所述电子设备例如是图3的计算设备300。客户机并不仅限于在工作站上运行;它也可能在诸如WWW服务器、文件服务器的服务器上运行,或在其它服务器、其它计算设备上运行,或被在一组所述设备上分配。在适当的情况下,除了上述定义之外或代替上述定义,术语“客户机”应当被解释为一个或多个客户机过程可在其上执行的一种或多种设备,例如被配置为起到万维网(WWW)服务器作用的诸如计算设备300的计算设备,被配置为路由器、网关、工作站等的计算设备。

与其类似的是,“服务器”是指在一个或多个电子设备上执行的过程或过程组,所述电子设备例如是被配置为WWW服务器的计算设备300。与客户机一样,服务器并不仅限于在被配置为主导将业务提供给其它计算设备的计算设备上运行。相反,它也可能在通常被视为客户计算机的设备上执行,例如在被配置为用户工作站的计算设备300上执行,或是被在各个电子设备之间分配,其中每个设备都包括一个或多个共同构成服务器应用的过程。在适当的情况下,除了上述定义之外或替代上述定义,术语“服务器”应当被解释为一个或多个服务器过程在其上执行的一种或多种设备,例如被配置为起到WWW服务器、路由器、网关、工作站等作用的计算设备。

漏洞利用是任何可能被用于通过电子邮件不适当地接入计算机的程序和/或软件。漏洞利用包括常见的计算机病毒,还包括其它用于不适当地接入计算机的方法。例如,计算机病毒通常包括在电子邮件消息的附件内。但一些漏洞利用包括在电子邮件消息的标题或正文内。例如,一些漏洞利用尝试使得为部分或全部电子邮件消息的标题或正文分配的缓冲器溢出。这些漏洞利用通常会在所述溢出内包括的数据的字节内包括可执行代码。所述的可执行代码被以可由主机执行的方式设置。所述的可执行代码此后可能会在所述主机上不适当地存取数据和/或执行未经授权的程序。

参照附图,在附图和本文件中,相同的号码指示类似的部分。

术语的定义同样贯穿全文。这些定义并不必通过使用“意味着”或“指的是”来以语言介绍,而是可通过实例和/或所执行功能来介绍。除非另有明确指示,否则所述定义将同样适用于本文。

示例性操作环境

图1-3示出了其内可以实现本发明的示例性环境的组件。并不需要所有的组件来实现本发明,可在并不背离本发明的精神或范围的情况下,改变布置和所述组件的类型。

图1示出了无线网络105和110以及电话网络115和120,它们分别通过网关130A-130D互连到广域网/局域网200。网关130A-130D的每一个都选择性地包括防火墙组件,例如分别包括防火墙140A-140D。每个网关130A-130D内的字母FW代表防火墙。

无线网络105和110传送信息和话音通信到能够无线通信的设备,或是从所述设备传送信息和话音通信,所述设备例如是蜂窝电话、智能电话、寻呼机、步谈机、射频设备、红外(IR)设备、CB以及组合一种或多种上述设备的集成设备等。无线网络105和110同样可以将信息传送到其它具有连接到无线网络的接口的设备,例如PDA、袖珍PC、便携计算机、个人计算机、多处理器系统、基于微处理器的或可编程用户电子设备、网络PC以及其它适当装配的设备。无线网络105和110可能包括无线和有线组件。例如,无线网络110可能包括链接到诸如电话网115的有线电话网的蜂窝塔(未示出)。通常,所述蜂窝塔将通信传送至蜂窝电话、寻呼机和其它无线设备,并从所述设备传送通信,而所述有线电话网将通信传送至常规电话、远程通信链路等。

类似的,电话网115和120将信息和话音通信传送至能够实现有线通信的设备,并从所述设备传送信息和话音通信,所述设备例如是常规电话以及包括调制解调器或其它一些接口与电话网通信的设备。诸如电话网120的电话网也可能包括无线和有线组件。例如,电话网可能包括微波链路、卫星链路、无线电链路以及其它无线链路来互连有线网。

网关130A-130D将无线网105和110以及电话网115和120互连到WAN/LAN200。诸如网关130A的网关在诸如无线网105和WAN/LAN200的网络之间传送数据。在传送数据中,所述网关可能会将所述数据翻译为适合于接收网络的格式。例如,使用无线设备的用户可能会通过呼叫某一号码、调至特定频率或选择设备的浏览特征来开始浏览互联网。在接收到适当寻址或格式化的信息时,无线网络105可能被配置为在所述无线设备和网关130A之间发送数据。网关130A可能会将来自所述无线设备的网页请求翻译为此后会被发送至WAN/LAN200的超文本传送协议(HTTP)消息。网关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内的通信链路一般包括双绞线、光纤或同轴电缆,而网络之间的通信链路可能会漏洞利用模拟电话线、包括T1、T2、T3和T4的全部或部分专用数字线、综合业务数字网(ISDN)、数字用户线(DSL)、无线链路或其它本领域技术人员熟知的通信链路。此外,诸如远程计算机240的计算机以及其它相关电子设备可被经由调制解调器和暂时电话链路远程连接到LAN220或WAN230。图2内的WAN、LAN和路由器的数量可任意增加或减少,并不背离本发明的精神和范围。

同样,应当理解的是,互联网自身可能由大量如此互连的网络、计算机和路由器组成。术语“互联网”通常是指使用传输控制协议/互联网协议(“TCP/IP”)协议组相互通信的网络、网关、路由器和计算机的世界范围内的集合。互联网的中心是主要节点或主机之间的高速数据通信主线,其路由数据和分组,所述节点和主机包括数千商业、政府、教育和其它计算机系统。可在互联网上实现本发明实施例,并未背离本发明的精神和范围。

用于在上述通信链路内发射信息的媒介示出了一种计算机可读媒介,即通信媒介。计算机可读媒介通常包括任何可由计算设备存取的媒介。计算机可读媒介可能包括计算机存储媒介、通信媒介或其任何组合。

通信媒介通常包括计算机可读指令、数据结构、程序模块、诸如载波的已调制数据信号内的其它数据或其它传输机制,并包括任何信息传送媒介。术语“已调制数据信号”意味着将具有一个或多个其特征的信号设置或改变为编码该信号内的信息。例如,通信媒介包括诸如双绞线、同轴电缆、光纤、波导管和其它有线媒介的有线媒介,以及诸如声音、RF、红外以及其它无线媒介的无线媒介。

借助能够链接位于世界各地的计算机的能力,互联网近年来得到迅速发展。随着互联网的发展,WWW同样迅速发展。一般而言,WWW是位于世界各地的HTTP(超文本传送协议)服务器上的链接超文本文件的总组。WWW上的文件称为页或网页,通常以HTML(超文本链接标示语言)或其它一些链接标示语言编写,由规定特定机器以及可据其存取文件的路径名的URL(统一资源定位器)识别,并被使用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的以及Microsof的INTERNET在用户经由WWW浏览器请求时,所述WWW浏览器使用所需的超文本文件的URL以及HTTP从适当WWW服务器存取和检索该文件。HTTP是较TCP/IP更高级的协议,是特别为WWW的需要设计的。HTTP用于将请求从浏览器传送至网络服务器,以及将网页从网络服务器传送回请求浏览器或客户机。所述WWW浏览器同样可能从WWW服务器检索诸如JAVA小应用程序的应用程序以在客户计算机上执行。

图3示出了一种计算设备。所述设备例如被用作服务器、工作站、网络设备、路由器、网桥、防火墙、漏洞利用检测器、网关和/或业务管理设备。当被用于提供WWW站点时,计算设备300将WWW网页传送至在请求设备上执行的WWW浏览器应用程序,以执行该过程。例如,计算设备300可能会传送网页和窗体,以接收关于用户的信息,例如地址、电话号码、记账信息、信用卡号码等。此外,计算设备300可能将WWW页传送至允许顾客加入WWW站点的请求设备。所述事项可能发生在互联网、WAN/LAN100或本领域技术人员熟知的其它一些通信网络上。

应当理解的是,计算设备300可能包括远多于图3所示出的组件。但是,所示出的组件足以说明用于实现本发明的示例性环境。如图3所示,计算设备300可能会经由网络接口单元310连接到WAN/LAN200或其它通信网络。网络接口单元310包括将计算设备300连接到WAN/LAN200所需的电路,并被构造成与包括TCP/IP协议的各种通信协议一起使用。网络接口单元310通常是包括在计算设备300内的卡。

计算设备300还包括经由总线322连接的处理单元312、视频显示适配器314、海量存储器。所述海量存储器通常包括随机存取存储器(“RAM”)316、只读存储器(“ROM”)332以及一个或多个永久海量存储设备,例如硬盘驱动器328、磁带驱动器(并未显示)、诸如CD-ROM/DVD-ROM驱动器的光驱动器326和/或软盘驱动器(并未显示)。所述海量存储器存储操作系统320,以控制计算设备300的操作。应当理解的是,该组件可能包括通用操作系统,例如UNIX、LINUXTM或由华盛顿,雷蒙德的微软公司制造的操作系统。还提供了基本输入/输出系统(“BIOS”)318以控制计算设备300的低层操作。

上述海量存储器示出了另一种计算机可读媒介,即计算机存储媒介。计算机存储媒介可能包括用于存储信息的以任何一种方法或技术来实施的易失和非易失、可拆卸和不可拆卸的媒介,所述信息例如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒介的实例包括RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或是其它可用于存储所需信息并可由计算设备存取的媒介。

所述海量存储器还可能存储程序代码和数据,以提供WWW站点。更具体地说,所述海量存储器可能存储包括专用软件330和其它程序334的应用。专用软件330可能包括WWW服务器应用程序,该程序包括计算机可执行指令,所述计算机可执行指令在由计算设备300执行时,生成WWW浏览器显示,包括执行上述逻辑。计算设备300可能包括JAVA虚拟机、用于传送和接收电子邮件的SMTP处理器应用、用于接收和处理HTTP请求的HTTP处理器应用、用于传输到在客户计算机上执行的WWW浏览器的JAVA小应用程序、用于处理安全连接的HTTPS处理器应用。所述HTTPS处理器应用可能被用于与外部安全应用通信,以在安全方式中发送和接收敏感信息,例如信用卡信息。

计算设备300也可能包括用于与外部设备通信的输入/输出接口324,例如鼠标、键盘、扫描仪或其它图3内未显示的输入设备。在本发明的一些实施例中,计算设备并不包括用户输入/输出组件。例如,计算设备300可能会连接或不连接到监控器。此外,计算设备300可能具有或不具有视频显示适配器314或输入/输出接口324。例如,计算设备300可能会实施网络设备,例如路由器、网关、业务管理设备等,其连接至网络但并不需要直接连接到输入/输出设备。所述设备例如可经由网络接入。

计算设备300可能还包括附加海量存储设备,例如光驱326和硬盘驱动器328。除了其它内容外,硬盘驱动器328还被计算设备300用于存储应用程序、数据库和在计算设备300上执行的WWW服务器应用使用的程序数据。WWW服务器应用可被作为专用软件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连接的设备,这并不背离本发明的精神和范围。

外部网络405和网络450是如前文定义的网络。外部网络例如可能是互联网或其它一些WAN/LAN。

防火墙500为消息提供从外部网络405到网络450的路径。防火墙500可能为或不为所述消息提供仅有的路径。此外,外部网络405和网络450之间的路径上可能存在其它计算设备(并未显示),这并不背离本发明的精神和范围。防火墙可能被包括在网关、路由器、交换机或其它计算设备上,或仅可以接入到所述设备。

防火墙500可能会通过包括和/或接入结合图5详述的漏洞利用检测器(并未显示)为耦合到网络450的设备提供漏洞利用保护。防火墙500可能被配置为通过漏洞利用检测器发送某一类型的消息。例如,防火墙500可能被配置为在通过漏洞利用检测器传送所有电子邮件消息时,在非电子邮件数据上执行常规处理。

示例性漏洞利用检测器

图5示出了根据本发明一个实施例的可用于提供漏洞利用保护的防火墙的组件。防火墙500的组件包括消息受话器505、漏洞利用检测器510、输出组件545以及其它防火墙组件550。漏洞利用检测器510包括消息队列515、内容过滤器520、解压缩组件525、扫描器组件530、隔离组件535以及漏洞利用去除器540。还示出了消息传输代理555。

防火墙500可以接收在耦合到网络450的设备与图4的外部网络405之间发送的多种类型消息。一些消息可能涉及WWW业务或在两个参与通信的计算机之间传送的数据,而其它消息可能涉及电子邮件。消息受话器505收听消息,并在接收到诸如电子邮件或文件的适当消息时,将该消息发送至漏洞利用检测器510以扫描漏洞利用。一些消息可能不适宜漏洞利用检测。这种消息由消息受话器505传送到其它防火墙组件550。

在处理电子邮件消息时,漏洞利用检测器510部分地通过扫描和确认电子邮件消息的字段来提供漏洞利用保护。电子邮件消息通常包括标题(可能包括某些字段)、正文(通常包括电子邮件的文本)以及一个或多个可选择附件。如前所述,一些漏洞利用被制作成溢出标题或正文内的缓存器。漏洞利用检测器510可能会检查电子邮件消息的字段长度,以确定所述字段是否长于其应有长度。″长于其应有长度″可能由标准、邮件服务器技术规范定义,或由防火墙管理员选择。如果电子邮件消息包括任何长于其应有长度的字段,则该消息可能会被发送至下文详述的隔离组件535。

漏洞利用检测器510可能会使用来自多个销售商的漏洞利用保护软件。例如,客户机可能在连接到病毒保护更新服务器的漏洞利用检测器510上执行。该客户机可能会周期性地轮询与每个销售商相关的服务器,并寻找标记以了解是否可以得到漏洞利用保护更新。如果可得到更新,则所述客户机自动检索所述更新并检查其真实性。例如,所述更新可能会包括将无用信号加入所发送文件的数字签名。核对所述数字签名以确定所述文件来自值得信赖的发送人,所述无用信号可被用于确定所述文件并未被在传送中修改。另一过程可能会分开所述更新、停止漏洞利用检测器510的执行、安装所述更新并重启漏洞利用检测器510。

漏洞利用检测器510可能被配置为轮询定制的漏洞利用保护更新,所述更新例如由信息技术组研制。该过程可能以与上述向销售商轮询更新类似的方式执行。

除了轮询之外或代替所述轮询,更新可能被推至漏洞利用检测器510。换言之,客户机可能在从漏洞利用保护更新服务器收听更新的漏洞利用检测器510上执行。为了更新在防火墙410上执行的漏洞利用保护,所述服务器可能会打开与该客户机的连接,并发送漏洞利用保护更新。发送更新的服务器可能为鉴权自身所需。此外,所述客户机可能会通过使用上述无用信号来检查所发送更新,以确定所述文件在传送中并未被改变。

以下将解释漏洞利用检测器510的组件。在接收消息以扫描漏洞利用时,漏洞利用检测器510将该消息存储在消息队列515内。内容过滤器520处理来自消息队列515的消息,以确定在该消息进入所述系统之前已应用于其的封装方法。例如,可能会使用通用互联网函件扩充服务(MIME)、Base64编码和未编码来封装消息。内容过滤器520也可能会从电子邮件剥离附件以更精确地检验所述附件。从内容过滤器520输出的消息或附件(以下都称为“消息”)由解压缩组件525处理。

解压缩组件525确定消息是否被压缩。如果所述消息并未被压缩,则构成所述消息的比特被序列发送至扫描器组件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可能包括诸如网络接口单元310的网络接口。

漏洞利用去除器540可能会将漏洞利用从消息去除。在检测生成清理后的消息之后,可能会将某些漏洞利用从消息去除。当前不受漏洞利用的清理后消息可能随后被转发至其预计的接收者。在清理消息之后,漏洞利用去除器可能会将所述消息转发至输出组件545。如果漏洞利用去除器无法删除漏洞利用,则其可能将所述消息发送回隔离组件535。

除了将消息传送到漏洞利用检测器之外,防火墙可能还会执行其它任务。例如,防火墙可能会阻塞到或来自某些地址的消息。所述的其它任务可能由其它防火墙组件550实现。当其它防火墙组件550确定应当通过防火墙500传送消息时,其它防火墙组件550将所述消息转发到输出组件545。

消息传输代理555是接收电子邮件的计算设备。电子邮件接收设备包括邮件服务器。邮件服务器的实例包括微软“交换局”、“Q邮件”、LotusNotes等。参照图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处,处理结束。此时已为扫描消息的漏洞利用。如果所述消息的任何部分已被封装,则所述消息已被解封装。如果所述消息已被一次或多次压缩,则所述消息已被一次或多次解压缩。对于漏洞利用的扫描已发生在所述消息上。如果发现漏洞利用,则它们已被隔离和/或选择性地被从所述消息去除。所述消息或清理后的消息随后被转发至接收者。可能会为每个所接收消息重复上述过程。

本发明的各个实施例可能会被实施为计算机实施步骤的序列或在计算系统上运行的程序模块和/或所述计算系统内的互连机器逻辑电路或电路模块。对于所述实施方式的选择取决于实施本发明的计算系统的性能要求。对于本公开,本领域技术人员应当认识到的是,所公开的各个实施例的功能与操作可能被实施在软件、固件、专用数字逻辑或是其任何组合内,这并不背离本发明的精神或范围。

上述技术规范、实例与数据提供了制造和使用本发明部分的充分描述。由于可在并不背离本发明精神和范围的情况下实施本发明的多种实施例,所以本发明归属于所附权利要求书。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号