首页> 中国专利> 通过对设备的动态地址隔离来提供网络和计算机防火墙保护的系统和方法

通过对设备的动态地址隔离来提供网络和计算机防火墙保护的系统和方法

摘要

计算机执行动态地址隔离。计算机包括:与应用地址相关联的应用;网络接口,其被耦合用于从外部网络接收传入数据分组并向外部网络发送传出数据分组;网络地址翻译引擎,其被配置用于在应用地址和公开地址之间进行翻译;以及驱动器,用于将传出数据分组自动转发到网络地址翻译引擎以将应用地址翻译成公开地址,并用于将传入数据分组自动转发到网络地址翻译引擎以将公开地址翻译成应用地址。该计算机可以与被配置用于处理网络级别安全性和应用级别安全性两者的防火墙通信。

著录项

  • 公开/公告号CN101802837A

    专利类型发明专利

  • 公开/公告日2010-08-11

    原文格式PDF

  • 申请/专利权人 约吉安全系统公司;

    申请/专利号CN200880019264.4

  • 发明设计人 什洛莫·图布尔;

    申请日2008-06-01

  • 分类号G06F21/24;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人宋鹤

  • 地址 以色列贝特哈勒维

  • 入库时间 2023-12-18 00:35:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-06-18

    授权

    授权

  • 2014-05-14

    著录事项变更 IPC(主分类):G06F21/60 变更前: 变更后: 申请日:20080601

    著录事项变更

  • 2014-05-14

    专利申请权的转移 IPC(主分类):G06F21/60 变更前: 变更后: 登记生效日:20140421 申请日:20080601

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

  • 2010-09-29

    实质审查的生效 IPC(主分类):G06F15/16 申请日:20080601

    实质审查的生效

  • 2010-08-11

    公开

    公开

说明书

优先权要求

本申请要求美国临时专利申请No.60/940,882的权益,该在先申请通过引用被结合于此。

技术领域

本发明一般地涉及计算机安全,更具体而言,提供了用于在外部设备和主机设备之间提供数据和设备安全的系统和方法。

背景技术

因特网是政府、大学、非营利组织、公司和个人所拥有的数百万单个计算机网络的互连。虽然因特网是有价值信息和娱乐的极佳来源,但是因特网也变成了诸如“病毒”、“间谍程序”、“广告程序”、“蠕虫”、“特洛伊木马”和其他恶意代码之类的系统破坏代码和系统致命应用代码的主要来源。

为了保护用户,程序员设计出用于防止恶意代码攻击个人计算机和网络计算机两者的计算机安全系统和计算机网络安全系统。就绝大部分而言,网络安全系统已经相对成功。从企业网内部连接到因特网的计算机通常具有两道防线。第一道防线包括可以作为网络网关的一部分的网络安全系统,其包括防火墙、防病毒、防间谍软件和内容过滤。第二道防线包括单机上的单机安全软件,其通常不如网络安全系统一样安全并且更容易遭受攻击。组合起来,第一和第二道防线一起提供极佳的安全保护。然而,当设备连接到因特网而没有居间的网络安全系统时,设备失去其第一道防线。因此,在企业网外部移动的移动设备(例如,笔记本、台式计算机、诸如RIM的黑莓之类的PDA、蜂窝电话、任何连接到因特网的无线设备,等等)更容易遭受攻击。

图1图示出现有技术的示例网络系统100。网络系统100包括各自耦合到企业内联网115的台式计算机105和移动设备110。内联网115经由网络安全系统120(其可以是企业网关的一部分)耦合到不受信任的因特网130。因此,台式计算机105和移动设备110经由网络安全系统120而访问因特网130。安全管理器125通常管理网络安全系统120以确保其包括最新的安全保护并从而确保保护台式计算机105和移动设备110免受恶意代码。分界线135将受信任的企业140和不受信任的公共因特网130隔开。因为台式计算机105和移动设备110经由网络安全系统120而连接到因特网130,因此两者都具有抵御来自因特网130的恶意代码的两道防线(即,网络安全系统120和驻留于设备本身上的安全软件)。当然,虽然是受信任的,但是内联网115也可以是恶意代码的来源。

图2图示出当移动设备110已经移动到受信任的企业140之外并且重新连接到不受信任的因特网130时的现有技术的示例网络系统200。或许当用户在移动时携带移动设备110并且在咖啡馆、旅馆处或者经由任何不受信任的有线或无线连接而连接到因特网时,这种情况可能会发生。因此,如图所示,移动设备110不再受第一道防线(受网络安全系统120)保护并且因而已经增大了其接收恶意代码的风险。另外,通过将移动设备110的实体带回受信任的企业140并且从受信任的企业140内部进行重新连接,移动设备110冒着将所接收的任何恶意代码传送到内联网115的风险。

随着移动设备数目和攻击数目的增长,移动安全变得愈发重要。该问题近来在2005年12月7日至8日纽约的信息安全会议中得到强调。但是未给出完整的解决方案。

类似地,当主机设备连接到诸如USB闪存盘、iPod、外部硬盘等的外部设备时,两方设备都容易接收到恶意代码或者传送私有数据。图11图示出示例现有技术数据交换系统1100,其包括主机计算机(主机)1105和外部设备1110。主机1105包括诸如USB端口之类的用于接纳外部设备1110的外部设备(ED)端口1115。主机1105还包括用于执行枚举和使能外部设备1110与主机1105之间的通信的ED驱动程序1120。外部设备1110包括诸如USB插头之类的用于与ED端口1115通信的ED插头。主机1105和外部设备1110两者都容易收到恶意代码或者传送私有数据。

因此,需要向主机和外部设备提供安全的系统和方法。

发明内容

在一个实施例中,本发明提供了一种计算机,包含:与应用地址相关联的应用;网络接口,其被耦合用于从外部网络接收传入数据分组并向外部网络发送传出数据分组;网络地址翻译引擎,其被配置用于在所述应用地址和公开地址之间进行翻译;以及驱动器,用于将所述传出数据分组自动转发到所述网络地址翻译引擎以将所述应用地址翻译成所述公开地址,并用于将所述传入数据分组自动转发到所述网络地址翻译引擎以将所述公开地址翻译成所述应用地址。网络地址翻译引擎可以是驱动器的一部分或是防火墙的一部分。防火墙可以位于移动安全系统上。网络地址翻译引擎可以被配置为使用动态主机配置协议。计算机可以被配置为将标识应用的数据分组发送到防火墙,并且防火墙可以被配置为处理网络级别安全性和应用级别安全性两者。

在一个实施例中,本发明提供了一种系统,包括:网络接口;与所述网络接口通信的防火墙,其被配置为处理网络级别安全性和应用级别安全性两者;以及与所述防火墙通信的计算机,其具有一个或多个应用,并且被配置为将标识所述一个或多个应用的数据分组发送到所述防火墙。每个数据分组可以与所述一个或多个应用中的一个应用相关联。每个数据分组可以包含标识与该数据分组相关联的应用的数据。防火墙可以被配置为使用所述标识与所述数据分组相关联的应用的数据来处理应用级别安全性,通过从所述数据分组中删除所述标识应用的数据来创建数据分组子集,并且将所述数据分组子集发送到外部网络。网络接口可以被配置为从外部网络接收传入数据,并将所述传入数据路由到所述防火墙。每个应用可以与至少一个地址相关联。防火墙可以被配置为动态地将所述地址与外部网络相隔离。防火墙可以被配置为通过使用动态助理配置协议来动态地将所述地址与所述外部网络相隔离。

在一个实施例中,本发明提供了一种个人计算机中的处理与公开地址相关联的传入数据的方法,该方法包括:从外部网络接收所述数据;将所述公开地址翻译成与应用相关联的内部地址;分析所述数据以寻找恶意代码;以及如果所述数据不包含恶意代码,则将所述数据路由到所述应用。所述分析步骤可以包括:在网络级别以及应用级别两者上分析所述数据以寻找恶意代码。所述翻译步骤可以使用动态主机配置协议。

在一个实施例中,本发明提供了一种个人计算机中的处理传出数据的方法,该方法包括:从应用接收传出数据,所述应用与内部地址相关联;将所述内部地址翻译成公开地址;以及使用所述公开地址将所述传出数据的至少一子集路由到外部网络,从而动态地将所述内部地址与所述外部网络相隔离。所述翻译步骤可以使用动态主机配置协议。所述方法还可以包括:将所述传出数据配置到一个或多个数据分组中;将所述一个或多个数据分组中的每一个与所述应用相关联;以及将应用标识数据嵌入到所述一个或多个数据分组中的每一个中。所述方法还可以包括通过从所述一个或多个数据分组中的每一个中删除所述应用标识数据来创建一个或多个数据分组子集,其中所述路由步骤包括将所述一个或多个数据分组子集路由到所述外部网络。

附图说明

图1是现有技术的网络系统在第一状态下的框图。

图2是现有技术的网络系统在第二状态下的框图。

图3是根据本发明一实施例的网络系统的框图。

图4是图示出根据本发明一实施例的计算机系统细节的框图。

图5是图示出根据本发明一实施例的移动安全系统细节的框图。

图6是图示出根据微软Window实施例的移动安全系统细节的框图。

图7是图示出根据本发明一实施例的智能策略更新系统细节的框图。

图8是图示出与OSI层有关的网络安全措施细节的框图。

图9是图示出用于将安全代码散发给移动安全系统的通信技术细节的框图。

图10A-10C是图示出根据本发明各实施例用于将移动设备连接到移动安全系统的各体系结构的框图。

图11是图示出现有技术的数据交换系统的框图。

图12是图示出根据本发明一实施例的安全数据交换系统的框图。

图13是图示出根据本发明一实施例的安全设备细节的框图。

图14是图示出根据本发明一实施例的安全系统细节的框图。

图15是图示出根据本发明另一实施例的安全数据交换系统的框图。

图16是图示出根据本发明一实施例的主机与外部设备间的安全数据交换方法的流程图。

图17是图示出具有基于硬件的防火墙的现有技术网络系统的框图。

图18是图示出具有基于软件的防火墙的现有技术网络系统的框图。

图19是图示出根据本发明一实施例的执行动态地址隔离的网络系统的框图。

图20是图示出具有分离的网络和个人防火墙的现有技术网络系统的框图。

图21是根据本发明一实施例的包含混合防火墙的网络系统的框图。

图22是图示出包含混合防火墙的网络系统的框图,其根据图10A所示的本发明一实施例来配置。

图23是根据本发明一实施例的将数据通信从外部网络路由到应用的方法的流程图。

图24是根据本发明一实施例的将数据通信从应用路由到外部网络的方法的流程图。

图25是根据本发明一实施例的将数据通信从外部网络路由到应用的方法的流程图。

图26是根据本发明一实施例的将数据通信从应用路由到外部网络的方法的流程图。

具体实施方式

以下描述是为了使得本领域任何技术人员能够作出和使用本发明而提供的,并且是在特定应用和其要求的环境下提供的。在不脱离本发明精神和范围的情况下,对实施例的各种修改对本领域技术人员而言是可能的,并且在此定义的一般原理可被应用于这些以及其他实施例和应用。因此,本发明并非旨在限于所示实施例,而是将符合与在此公开的原理、特征和教导相一致的最广范围。

本发明的一个实施例使用一部小型硬件,该部硬件连接到移动设备并且滤除攻击和恶意代码。该部硬件可被称作“移动安全系统”或者“个人安全装置”。利用该移动安全系统,移动设备可以受到其所关联于的公司/企业所提供的相同水平安全以及更高安全的保护。

图3图示出根据本发明一实施例的网络系统300。网络系统300包括台式计算机305、第一移动设备310a和第二移动设备310b。第一移动设备310a被图示为此时位于企业网340内并且经由移动安全系统345a耦合到企业的内联网315。台式计算机305和第二移动设备310b也位于企业网340内但是在该实施例中在没有诸如移动安全系统345b之类的居间移动安全系统345的情况下耦合到内联网315。内联网315经由网络安全系统320(其可以是企业网关的一部分)而耦合到不受信任的因特网330。因此,第一移动设备310a、第二移动设备310b和台式计算机305经由网络安全系统320访问不受信任的因特网330。每个还可以受驻留于其上的个人安全系统(未示出)保护。第三移动设备310c当前位于企业网340外部并且经由移动安全系统345b耦合到不受信任的因特网330。第三移动设备310可能正由当前正在旅行的受信任企业340的雇员使用。安全管理器325管理移动安全系统345a、移动安全系统345b和网络安全系统320以确保它们包括最新的安全保护。本领域技术人员将认识到同一安全管理器无需管理各设备。另外,安全管理器可以是用户并且无需位于受信任企业340内。

分界线335将受信任企业340和不受信任的可以公共访问的因特网330隔开。移动设备310a、310b和310c中的每一个可被总称为移动设备310,尽管它们无需相同。每个移动安全系统345a和345b可被总称为移动安全系统345,尽管它们无需相同。

如图所示,虽然移动设备310c已经移动到受信任企业340外部,但是移动设备310c经由移动安全系统345b连接到不受信任的因特网330并因而保留了两道防线(即,移动安全系统345b和驻留在设备本身上的安全软件)。在本实施例中,移动安全系统345有效地为移动设备310c充当了移动因特网网关。在一个实施例中,移动安全系统345可以是专用于网络安全的设备。在一个实施例中,每个移动安全系统345可以支持多个移动设备310,并且可以只支持登记过的移动设备310,例如那些属于企业340的移动设备310。

每个移动安全系统345(例如,345a、345b)可以是基于商用硬件(用因特尔的Xscale作为核心)、Linux OS和网络服务以及开源防火墙、IDS/IPS和防病毒保护的微型服务器。移动安全系统345可以基于硬件化的嵌入式Linux 2.6。

在该实施例中,因为系统管理器325能够远程地与移动安全系统345b通信,因此IT可以监视并且/或者更新在移动安全系统345b上实现的安全策略/数据/引擎。安全管理器325可以远程地或者直接地集中管理所有企业设备。另外,系统管理器325和移动安全系统345可以进行交互,以便将企业安全策略自动地转换为移动安全策略并相应地配置移动安全系统345。因为移动安全系统345可以根据企业340的相关安全策略而生成,因此当前正在旅行的移动设备310c可以具有与位于受信任企业340内的设备305/310相同水平的保护。

移动安全系统345可被设计为对现有软件安全的添加,或者可被设计为替换旅行移动设备上的所有安全硬件和软件。这些安全应用将优选工作在不同的OSI层上,以便提供最大的安全和恶意代码检测,如在图8所示示例系统中示出的。在更低的OSI层上工作并且仅进行TCP/IP分组分析(通过筛选防火墙或者路由器分组)将漏掉病毒和/或蠕虫行为。另外,许多现代病毒使用在比OSI第7层更高的层级(应用-HTTP、FTP,等等)上实现的移动代码并因而在分组层或应用层处无法被解译。例如,对恶意Java脚本(其被包括在HTML页面中)仅在会话层或传输层处应用防病毒分析、试图使签名(signature)与分组相匹配并且不明白内容类型(Java脚本)将不会检测到Java脚本的恶意性。为了提供更好的保护,移动安全系统345可以充当公司级安全装置并且基于内容类型和适当OSI层(或者甚至“更高的”层,如果内容被封装在应用层中的话)加入不同安全应用。移动安全系统345可被配置为执行不同OSI层处的内容分析,例如,从分组层次到应用层次。将认识到在应用层次执行深度检测对于检测恶意内容行为和改善对病毒、蠕虫、间谍软件、特洛伊木马等的检测而言是至关重要的。以下软件包可被实现在移动安全系统345上:

·防火墙和VPN-包括状态防火墙和无状态防火墙、NAT、分组过滤和操纵、DOS/DDOS、网络过滤器,使用户移动设备与因特网隔离并且在设备上运行VPN程序,等等。

·可选的web加速器和基于Squid的带宽/缓存管理。

·IDS/IPS-基于Snort的入侵检测和预防系统。Snort是利用规则驱动型语言的开源网络入侵预防和检测系统,其结合了签名检测、基于协议的检测和基于异常的检测的益处。

·基于ClamAV的防病毒和防间谍软件;可以因为额外的订阅费而提供额外的AV和AS引擎,例如,McAfee、Kaspersky、Pandamay。

·恶意内容检测-执行用于检测具有签名前的恶意内容的内容分析的实时启发式技术。这将基于规则基础和更新的规则并且将会是内容依赖型扫描。

·URL分类过滤-基于商业引擎,例如Surfcontrol、SmartFilters或者Websense。可以提供大约70类URL,例如赌博、成人内容、新闻、web邮件,等等。移动设备345可以基于URL类别来应用不同的安全策略,例如,针对赌博或者成人内容web站点等应用更高的限制和启发式技术。

图4是图示出示例计算机系统400的细节的框图,各个台式计算机305、移动设备310、网络安全系统320、网络安全系统345和安全管理器325可以是其实例。计算机系统400包括诸如英特尔Pentium微处理器或者摩托罗拉Power PC微处理器之类的耦合到通信通道410的处理器405。计算机系统400还包括各自耦合到通信通道410的诸如键盘或者鼠标之类的输入设备415、诸如阴极射线管显示器之类的输出设备420、通信设备425、诸如磁盘之类的数据存储设备430和诸如随机存取存储器(RAM)之类的存储器435。通信接口425可以直接地或者经由移动安全系统345而耦合到诸如因特网之类的网络。本领域技术人员将认识到,虽然数据存储设备430和存储器435被图示为不同的单元,但是数据存储设备430和存储器435可以是同一单元的多个部分、分布式单元、虚拟存储器,等等。

数据存储设备430和/或存储器435可以存储诸如微软Windows XP、IBM OS/2操作系统、MAC OS、UNIX OS、LINUX OS之类的操作系统440和/或其他程序445。将会认识到,优选实施例也可被实现在与所述那些平台和操作系统不同的平台和操作系统上。一个实施例可以是使用JAVA、C和/或C++语言或者可能使用面对对象编程方法的其他编程语言来编写的。

本领域技术人员将认识到计算机系统400还可以包括额外的组件,例如用于跨硬件通道、因特网或者内联网等传送信息的网络连接、额外存储器、额外处理器、LAN、输入/输出线路。本领域技术人员还将认识到可以以其它方式接收程序和数据并将其存储在系统中。例如,诸如磁盘驱动器、硬盘驱动器、磁光读取器、CPU等的计算机可读存储介质(CRSM)读取器450可被耦合到通信总线410,用于读取诸如磁盘、硬盘、磁光盘、RAM等的计算机可读存储介质(CRSM)455。因此,计算机系统400可以经由CRSM读取器450接收程序和/或数据。另外,将认识到这里的术语“存储器”旨在覆盖所有的数据存储介质,无论是永久的还是临时的。

图5是图示出根据本发明一实施例的移动安全系统345的细节的框图。移动安全系统345包括适配器/端口/驱动器505、存储器515、存储移动安全系统的安全版本的操作系统和其他应用的预引导闪存/ROM存储模块520、网络连接模块525、安全引擎530、安全策略535、安全数据540、远程管理模块550、分发模块555和备份模块560。虽然这些模块被图示为位于移动安全系统345内,但是本领域技术人员将认识到这些模块中的许多模块可以位于别处,例如,安全管理器325上或者与移动安全系统345通信的第三方系统上。移动安全系统345可以位于口袋大小的、手持大小的或者钥匙链大小的外壳中,或者可能更小。另外,移动安全系统345可被结合在移动设备310中。

适配器/端口/驱动器505包括用于USB、以太网、WiFi、WiMAX、GSM、CDMA、蓝牙、PCMCIA和/或移动安全系统345上的其他连接数据端口的连接机制(包括软件,例如驱动程序)。在一个实施例中,适配器/端口/驱动器505可能能够连接到多个设备310,以便向多个设备310提供网络安全。

存储器510和处理器515执行移动安全系统345上的操作系统和应用。在该示例中,预引导闪存520存储操作系统和应用。在引导时,操作系统和应用被从预引导闪存520载入存储器510以供执行。因为操作系统和应用存储在用户无法在运行时访问的预引导闪存520中,预引导闪存520中的操作系统和应用是不可破坏的。如果存储器510中的操作系统和应用的副本例如被恶意代码破坏,那么操作系统和应用例如在重启时可被从预引导闪存520重新载入存储器510中。虽然被描述为存储在预引导闪存520中,但是OS和应用也可被安全地存储在诸如ROM、PROM、EEPROM等之类的其他只读存储设备中。

移动安全系统345上的存储器(包括存储器510和预引导闪存520)可被划分为如下区域:

(1)只读存储器

每当“硬”重启时,移动安全系统345的引导加载器(驻留在区域1处)将内核和安全应用(全新未改变副本)从区域1复制到区域2。这使得纯净版本的OS和应用每次被载入区域2。这样,如果特定移动安全系统345攻击被形成,那么该攻击将无法感染系统,这是因为在运行时期间阻止OS和应用访问存储区域1。另外,到达了存储器510的任何攻击将仅能够运行一次并且在硬启动时将消失。可提供在感染检测时自动重启移动安全系统345的触发机制。

网络连接模块525使能经由包括WiFi、WiMAX、CDMA、GSM、GPRS、以太网、调制解调器等在内的网络通信硬件/软件到因特网330或者内联网315的网络连接。例如,如果移动设备310希望经由WiFi连接而连接到因特网330,那么适配器/端口/驱动器505可被连接到移动设备310的PCI端口、USB端口或者PCMCIA端口,并且移动安全系统345的网络连接模块525可以包括用于连接到无线接入点的WiFi网络接口卡。使用网络连接模块525,移动安全系统345可以作为移动设备310的安全网关与网络通信。其他连接体系结构在图10A-10C中描述。

安全引擎530基于安全策略535并基于安全数据540来执行安全程序,安全策略535和安全数据540两者都可由IT管理器形成。安全引擎530可以包括防火墙、VPN、IPS/IDS、防病毒、防间谍软件、恶意内容过滤、多层安全监视器、Java和字节码监视器等。每个安全引擎530可以具有专用的安全策略535和安全数据540来指示引擎530可以允许或者不可以允许哪个过程、内容、URL、系统呼叫等。安全引擎530、安全策略535和安全数据540可以与网络安全系统320上的引擎、策略和数据相同、可以是网络安全系统320上的引擎、策略和数据的子集、并且/或者根据网络安全系统320上的引擎、策略和数据形成。

为了提供由防病毒和防间谍软件所提供的更高安全水平,每个移动安全系统345上的安全引擎350可以实现内容分析和风险评估算法。例如工作在OSI第7层及以上(封装在第7层内的移动代码)工作,这些算法可由专用的高风险内容过滤(HRCF)执行,HRCF可由规则引擎和规则更新来控制。HRCF将基于强大的检测库,该检测库可以执行深度内容分析以验证真实内容类型。这是因为许多攻击隐藏在错误的mime类型中并且/或者可以使用复杂的计策将文本文件类型提供给危险的活动脚本或者ActiveX内容类型。HRCF可以与URL分类安全引擎530集成,用于基于URL类别的自动规则调整。在一个实施例中,当风险水平增大(使用所述机制)时,移动安全系统345可以自动地调整并增加过滤以从流量中去除更多活动内容。例如,如果更大的风险被确定,那么每条移动代码(例如Java脚本、VB脚本,等等)可被剥离。

要与公司策略服务器旧有系统相集成的三个方面包括规则、LDAP和活动目录、以及日志记录和报告,如下面讨论的。在一个实施例中,在安全管理器25上运行的策略导入代理将访问Checkpoint防火墙-I和思科PIX防火墙的规则库并将它们导入本地副本。规则分析模块将处理重要规则并且将为移动安全系统345提供立即可用(out-of-the-box)的规则和策略。该提议策略将给所有移动安全系统345提供符合企业340的防火墙策略的最适合规则。代理将周期性地运行以反映任何变化并为移动安全系统345策略535生成更新。LDAP和活动目录可被与目录服务集成,以维护响应于企业的目录定义的移动安全系统345安全策略535。例如,LDAP用户群组“G”的公司策略可以自动传播到“G”群组中的所有移动安全系统345。可以根据日志记录和报告策略将移动安全系统345的本地日志和审计线索发送到存储在安全管理器325处的中央日志。使用web接口,IT可能能够生成与所有移动设备310用户、它们的因特网体验有关的报告和审计视图,并且试图将受感染的设备带回企业340。IT能够将事件和日志记录经由SYSLOG和SNMP陷阱转发到旧有管理系统。

安全引擎530可以执行加权风险分析。例如,安全引擎530可以分析HTTP、FTP、SMTP、POP3、IM、P2P等,包括从因特网330到达的任何流量。安全引擎530可以基于每个对象的类型、复杂度、能力丰富度、对象源等为其分配权重和等级。安全引擎530可以使用已知危险源或者已知安全源的列表、基于源来分配权重。安全引擎530可以基于源的类别(例如,赌博源、成人内容源、新闻源、知名公司源、银行业源,等等)给对象分配权重。安全引擎530可以计算权重,并且基于结果来判定是允许还是不允许对内容的访问、要允许的脚本、要发生的系统修改,等等。系统引擎530可以“学习”用户内容(通过在预定时间段内分析用户所访问的一般内容)并且相应地可以创建个人内容简档。个人内容简档可用于校正在运行时分析期间分配给内容的权重以提高精确度并针对特定用户特性来修改经加权的风险分析。

在一些实施例中,安全引擎530、安全策略535和安全数据540可以使得能够绕过移动安全系统345。由安全管理器325设置的安全策略535可以包括一特殊属性,该属性在位于受信任企业340外部时强迫网络连接通过移动安全系统325。因此,如果该属性被设置为“开启”,那么当移动设备310在没有移动安全系统345的情况下试图连接到因特网330并且不是从受信任企业340内部连接到因特网330时,包括LAN连接、USB网络、调制解调器、蓝牙、WiFi等在内的所有数据传送连接可被关闭。移动设备310可被完全隔离并且无法连接到包括因特网330在内的任何网络。

在一个实施例中,为了使得能够这样,当首次使用例如USB线缆(兼为了电力和USB连接创建)将移动安全系统345连接到移动设备310时,USB即插即用设备驱动程序将被发送到移动设备310中。所安装的驱动程序可以是“Linux.inf”,其允许用于移动安全系统345的USB网络连接。该连接使得移动安全系统345能够经由USB端口并且使用移动设备310网络连接加上额外代码(“连接客户端”)来访问因特网330。在Windows示例中,连接客户端可被安装在图6所示的每个网络连接的所有网络接口卡以上的移动设备310的NDIS处。实现方式将是作为NDIS中间件(IM)驱动程序或者NDIS挂接过滤驱动程序。两种实现方式都可以处于内核层次,使得最终用户无法将其停止或去除。当启动移动设备310时,连接客户端可以试图在受信任企业340内本地地连接到安全管理器325或者网络安全系统320。如果节点未被找到(经由VPN找到被看作未在本地LAN中找到),那么连接客户端将认为其工作在受信任企业340之外并且预期找到例如经由USB网络或者其他连接机制相连的移动安全系统345。如果移动安全系统345未被找到,那么连接客户端可以避免到任何网络连接的任何通信。通过策略定义,该行为可以修改为允许经由安装在移动设备310中的VPN到企业340的通信。类似地,在移动安全系统345发生故障的情况下,除了到企业340的VPN连接之外的所有流量可被禁用。

将认识到NDIS是在内核层次拦截流量的一种可能实现方式。例如,在另一实施例中,系统可以挂接(hook)Winsock或者应用未来Windows版本中可能存在的其他方式。

在移动安全系统345支持多个移动设备310的实施例中,安全引擎530、安全策略535和安全数据540对于每个移动设备310而言可能是不同的(例如,基于例如用户偏好或者IT决定)。或者可以为所有相连的设备310应用相同的引擎530、策略535和数据540。

远程管理模块550使能与安全管理器325(和/或其他安全管理器)的通信,并且使能对安全引擎530、安全策略535、安全数据540的包括签名和其他应用在内的本地更新。在一个实施例中,仅可以通过安全管理器325来修改安全策略535和数据540。移动安全系统345的远程管理模块550可以经由安全连接从例如安全管理器325上的更新颁发设备(UAD)接收更新。UAD可以在位于因特网330上的客户IT中心处的更新服务器上工作,以便将更新转发给可能不属于负责管理更新的企业540的移动安全系统345。UAD可以在移动安全系统345上工作。安全引擎530的更新可以修改防病毒引擎的DLL等。OS和安全应用的更新仅可以在经由经加密并且经认证的连接连接到安全管理器325时从企业540内部实现。

安全管理器325可以修改URL的黑名单和白名单,用于对旅行用户的远程支持。在错误肯定的情况下,安全管理器325可以通过绕过前摄启发式安全但是仍然通过防火墙、防病毒、IPS/IDS等进行监视,来允许对某些URL的访问。额外的远程设备管理特征可以使得安全管理器325能够对移动安全系统345执行远程诊断、访问本地日志、改变配置参数,等等。安全管理器325可以向用于支持的帮助台指派任务。

远程管理模块550可以与向导(例如,向导745)通信,向导745可以如图7所示位于安全管理器325上,或者位于其他系统上。下面参考图7来描述向导745的细节以及远程管理模块550与向导745之间的通信方案的细节。

分发模块555使得能够通过移动安全系统345向N个其他移动安全系统345分发更新,例如,包括规则更新在内的安全策略535的更新、包括签名更新在内的安全数据540的更新、安全引擎530的更新、应用/OS的更新,等等。标识更新所要转发到的N个其他移动安全系统345的路由表可被提供给分发模块555,以便使能系统345到系统345的通信。更新可以根据由安全管理器325设置的策略来实现。当转发更新时,分发模块555充当UAD。

每个移动安全系统345可以周期性地、在预定时间、在登录时等获得其具有安全信息更新的路由表。路由器可被保持在服务器上,例如安全管理器325或者另一移动安全系统345。在一个实施例中,移动安全系统345可以联系服务器来检索路由表。或者,服务器可以将路由表推送到移动安全系统345。

分发模块555可以使能如图9所示的快速更新。目前,所有可用的商业防病毒产品更新设备的速度不比病毒传播更快。为了确保新的病毒攻击不会传播得例如比签名更新更快,每个移动安全系统345可以是活动的UAD。在一个实施例中,如图9所示,每个移动安全系统345负责将签名更新转发给四个其他设备345。如本领域技术人员将认识到的,所有设备345需要向相同数目的其他设备345进行转发。多个设备345可以负责向同一设备345进行转发。必要时,被激活的离线设备345可以针对路由表更新来轮询服务器,如安全管理器325。许多其他更新技术也是可能的。

备份模块560可以不断地将移动设备310的引导扇区和系统文件的镜像和变化备份到闪存520中,或者备份到另一永久性存储设备中。这样,在发生包括移动设备310的系统或者引导扇区的丢失在内的严重故障的情况下,移动安全系统345在重新引导期间可被识别为CD-ROM并且可以启动备份模块(或者另一程序)来恢复移动设备310上的引导扇区和系统文件,从而恢复移动设备310而无需IT支持。在网络安全系统345支持多个移动设备310的实施例中,如果每个移动设备310是不同的,那么备份模块560可以包含针对每个移动设备310的不同引导扇区和系统文件。

图7是图示出根据本发明一实施例的智能策略更新系统700的细节的框图。系统700包括耦合到网络安全系统320并耦合到移动安全系统345的安全管理器325。网络安全系统320包括安全引擎705,安全引擎705包括防病毒引擎715、IPS/IDS引擎720、防火墙引擎725,以及其他安全引擎。网络安全系统320还包括安全策略和数据710,安全策略和数据710包括防病毒策略和数据730、IPS/IDS策略和数据735、防火墙策略和数据740,以及其他策略和数据。类似地,移动安全系统345包括防病毒引擎755、IPS/IDS引擎760、防火墙引擎765,以及其他引擎。移动安全系统345还包括安全策略和数据535/540,安全策略和数据535/540包括防病毒安全策略和数据770、IPS/IDS安全策略和数据775、防火墙安全策略和数据780,以及其他安全策略和数据。

安全管理器325包括向导745,用于使能对移动安全系统345上的安全引擎530、安全策略535和安全数据540的基本自动的初始设置以及可能的动态设置。在一个实施例中,向导745可以将网络安全系统320的所有安全引擎705以及策略和数据710自动加载作为移动安全系统345上的安全引擎530以及策略和数据535/540。在另一实施例中,向导745可以包括除已知不相关的那些(例如,与结算所使用的记帐软件有关的那些、与仅在web服务器上运行的web软件有关的那些,等等)之外的所有安全引擎705以及策略和数据710。在另一实施例中,引擎530将需要由IT管理器加载,并且将不由向导745自动加载。

在一个实施例中,向导(wizard)745可以确定移动安全系统345是否需要特定的安全引擎530,例如,防病毒引擎755、IPS/IDS引擎760、防火墙引擎765等。如果确定需要,那么向导745将把引擎530加载到移动安全系统345上。向导745然后将确定哪些策略和数据集(例如,用于防病毒引擎755的一些、用于IPS/IDS引擎760的一些,等等)对移动安全系统345而言是重要的。向导745然后将确定网络安全系统320上的哪些防病毒策略和数据730与移动安全系统345上的防病毒策略和数据770相关、网络安全系统320上的哪些IPS/IDS策略和数据735与移动安全系统345上的IPS/IDS策略和数据775相关、网络安全系统320上的哪些防火墙策略和数据740与移动安全系统345上的防火墙策略和数据780相关,以及网络安全系统320上的哪些其他防病毒策略和数据730与移动安全系统345上的策略和数据相关。如上所述,向导745可以确定移动安全系统345上是需要所有安全引擎705还是需要仅一子集。向导745可以确定是应当转发给定引擎类型的所有策略和数据710还是应当转发仅一子集。向导745可以基于由IT管理器形成的规则、基于设置过程期间的逐项选择等来确定应当将哪些相关策略和数据710转发给移动安全系统345。作为向导745的替代,IT管理器可以在没有向导745的情况下设置移动安全系统345上的引擎530以及策略和数据535/540。

安全管理器325还可以包括更新颁发设备750。更新颁发设备750可以获取安全系统更新(例如,签名更新)并且可以将这些更新发送给网络安全系统320并发送给移动安全系统345。本领域技术人员将认识到对网络安全系统320的更新和对移动安全系统345的更新无需相同。另外,更新颁发设备750可以从安全管理器、安全引擎开发者、防病毒专家等获取更新。更新颁发设备750可以将更新转发给所有的网络安全系统320和所有的移动安全系统345,并且可以将路由表转发给所有的移动安全系统345并且将更新仅转发给初始集合的移动安全系统345。初始集合的移动安全系统345可以以类似于图9所示过程的P2P方式将更新转发给在路由表中标识出的移动安全系统345。如上所示,用来转发更新的每个移动安全系统345本身充当更新颁发设备750。

其他应用可被包括在移动安全系统345上。例如,针对来自现有客户的经常收入的附加应用可以包括一般的电子邮件、防垃圾邮件、直接且安全的电子邮件递送、信息保险库、安全的skype和其他即时消息传送服务,等等。

·电子邮件安全和防垃圾邮件-在移动安全系统345(包括上面的web安全引擎)上的邮件中继和本地垃圾邮件隔离区(基于SendMail或者类似过程)可以实现包括具有实时索引(经由在线web垃圾邮件来源)的防垃圾邮件的完整邮件安全套件(SMTP和POP3)。用户可以经由web接口来访问隔离区,以便检阅垃圾邮件消息、释放消息、修改和定制垃圾邮件规则等。

·基于邮件中继的直接且安全的电子邮件递送将使得移动安全系统345能够将用户电子邮件直接从一个移动安全系统345发送到另一个移动安全系统345而不使用沿途的邮件服务器。这使得公司用户能够发送如下电子邮件,该电子邮件无需在因特网中传送从而不会在沿途的不同未知邮件服务器上留下痕迹和副本。这种方法与在两个移动安全系统之间使用安全管道的能力相组合对公司是有价值的。在没有这种方法的情况下,用户可以通过在曾用于递送消息的中间邮件服务器中追踪到拷贝来跟踪电子邮件交换,而无需访问企业的邮件服务器。

·信息保险库(information vault)-移动安全系统345上用于加密并存储最终用户信息的应用可以经由在每个移动安全系统345上实现的web接口和web服务器(例如,BOA、Apache,等等)仅对授权用户可用。

·安全的Skype和其他IM-在移动安全系统345上实现即时消息传送客户端可以保证保证即时消息传送系统或者P2P应用无法访问移动设备310上的数据。添加AC/97芯片组以在移动安全系统325上提供声音接口可以使得用户能够直接对移动安全系统325说话和直接从移动安全系统325接收呼叫。

虽然未示出,但是小型电池可与移动安全系统345包括在一起。该电池可以在运行时期间通过USB连接来充电,或者在任何时候使用电源适配器来充电。电池可以例如在用户断开来自移动安全系统345的USB线缆时保证正确关闭。其将被将启动应用和系统关闭的系统用信号通知。这将保证文件系统的正确状态并用闪存存储打开文件缓冲器。

要求多层防御和检测能力。这可以通过特殊代码来完成,该特殊代码不断地监视不同层次处由不同系统(防病毒、IDS/IPS、防火墙、防间谍软件、URL类别,等等)进行的扫描结果,以构造难题并识别攻击,即使该攻击未被各个单独子系统辨认出。通过这样做,移动安全系统345将维持在企业540内提供的安全水平,并且在某些情况下甚至提高在企业540内提供的安全水平。

移动安全系统345的一个可用益处是其在最终用户正在旅行或者从家里工作时对最终用户实施企业540的策略的能力。因为移动安全系统345使用与当从企业540内部连接时类似的安全引擎和策略并且因为最终用户没有它无法访问因特网330(除了经由VPN连接而连接到企业540中之外),因此IT可能能够在企业540的边界之外实施其安全策略。OS可以处于IT的全面监督之下,而移动安全系统345的OA充当在其控制之下的最终用户OS。这解决了由谁来控制来控制什么以及安全性和生产率如何面对最小妥协的问题。

单机版本的移动安全系统345可以提供相同的功能,并且可以经由web浏览器来提供本地管理接口。对家庭用户和缺乏IT部门的小型办公室有吸引力的是,移动安全系统345使得最终用户能够启动浏览器、连接到移动安全系统345、设置不同的策略(更新策略、安全规则等,包括修改URL白名单和URL黑名单),等等。还有机会通过订阅给最终用户提供移动安全系统345的远程管理服务。

图10A、10B和10C图示出根据本发明各实施例的将移动安全系统345连接到移动设备310的三种示例体系结构。在图10A中,移动设备310经由USB连接1015和1020而耦合到移动安全系统345并经由NIC卡1005而耦合到因特网330。移动设备310经由其NIC卡1005从因特网330接收因特网流量。移动设备310上的内核级重定向器1010(例如,经由NDIS、Winsock等等)将因特网流量经由USB连接1015和1020自动重定向到移动安全系统345,移动安全系统345对因特网流量进行扫描、清理并将清理后的因特网流量经由USB连接1015和1020返回到移动设备310。在图10B中,移动设备310经由USB连接1025和1030而耦合到移动安全系统345。移动安全系统345包括用于接收来自因特网330的因特网流量的NIC卡1035。移动安全系统345对因特网流量进行扫描、清理并且将因特网流量经由USB连接1025和1030转发给移动设备310。在图10C中,移动设备310经由NIC卡1040和1045而耦合到移动安全系统345。移动安全系统345经由其NIC卡1045接收来自因特网330的因特网流量。移动安全系统345对因特网流量进行扫描、清理并且将因特网流量经由NIC卡1040和1045无线地转发给移动设备310。其他连接体系结构也是可能的。

图12是图示出根据本发明一实施例的安全数据交换系统1200的框图。安全数据交换系统1200包括经由安全设备1210而耦合到外部设备1110的主机计算机(主机)1205。主机1205可以包括笔记本、台式计算机、PDA、移动电话,或者其他基于处理器的设备。外部设备1110可以是具有存储器的任何外部设备,例如USB驱动器、外部硬盘驱动器、PDA、音乐播放器、蜂窝电话,等等。安全设备1210经由ED端口1225(USB、串行、并行、火线、以太网、WiFi、WiMAX、GSM、蓝牙、PCMCIA和/或其他连接)和ED插头1230(USB、串行、并行、火线、以太网、WiFi、WiMAX、GSM、CDMA、蓝牙、PCMCIA和/或其他连接)而可通信地耦合到主机1205。外部设备1110经由ED端口1235(USB、串行、并行、火线、以太网、WiFi、WiMAX、GSM、CDMA、蓝牙、PCMCIA和/或其他连接)和ED插头1120(USB、串行、并行、火线、以太网、WiFi、WiMAX、GSM、CDMA、蓝牙、PCMCIA和/或其他连接)而可通信地耦合到安全设备1210。ED端口1225和ED插头1230组合的连接器类型可以不同于ED端口1235和ED插头1120组合的连接器类型。在一个实施例中,所有的端口1225/1235和插头1230/1120都是USB。虽然插头1120/1230被图示为公的并且端口1225/1235被示出为母的,但是本领域技术人员将认识到反过来也是可能的(插头1120/1230可以是母的并且端口1225/1235可以是公的)。

主机1205包括用于执行枚举并且使能与安全设备1210的通信的ED驱动程序1220。类似地,安全设备1210包括用于执行枚举并且使能与外部设备1110的通信的ED驱动程序1245。

在一个实施例中,安全设备1210包括能够实施如下安全策略的可编程硬件装置:用来保护免受诸如病毒、间谍软件、广告软件、特洛伊木马等的恶意代码并且用来保护免于传送私有数据的安全策略。在一个实施例中,安全设备1210被配置为保护外部设备1110或者主机1205中的仅一个。参考图13和14提供了安全设备1210的额外细节。

图13是图示出根据本发明一实施例的安全设备1210的细节的框图。安全设备1210包括诸如英特尔Pentium微处理器或者摩托罗拉PowerPC微处理器之类的耦合到通信通道1315的处理器405。安全设备1210还包括各自耦合到通信通道1315的ED插头1230、ED端口1235、通信接口1310、诸如EEPROM之类的存储装置1320,以及诸如随机存取存储器(RAM)或者只读存储器(ROM)之类的存储器1325。通信接口1310可以耦合到诸如因特网之类的网络。本领域技术人员将认识到,虽然存储装置1320和存储器1325被图示为不同的单元,但是存储装置1320和存储器1325可以是同一单元的多个部分、分布式单元、虚拟存储器,等等。这里的术语“存储器”旨在覆盖所有的数据存储介质,无论是永久的还是临时的。本领域技术人员将认识到安全设备1210可以包括额外的组件,例如用于跨硬件通道、因特网或者内联网等传送信息的网络连接、额外存储器、额外处理器、LAN、输入/输出线路。

如图所示,存储器1325可以存储诸如微软Windows XP、IBM OS/2操作系统、MAC OS、UNIX OS、LINUX OS等的操作系统1330。将会认识到,优选实施例也可被实现在与所述那些平台和操作系统不同的平台和操作系统上。一个实施例可以是使用JAVA、C和/或C++语言或者可能使用面对对象编程方法的其他编程语言来编写的。存储器1325还存储ED驱动程序1245和安全系统1335。ED驱动程序1245可以包括标准外部设备1110的标准驱动程序和私有外部设备1110的私有驱动程序。ED驱动程序1245可以经由ED插头而被传送到存储器1325上。安全系统1335包括用于对主机1205与外部设备1110间的数据传送动作实施安全策略的代码。

图14是图示出根据本发明一实施例的安全系统1335的细节的框图。安全系统1335包括安全管理器1405、安全引擎1410、安全策略1415,以及安全数据1420。

在一个实施例中,安全管理器1405包括用于执行枚举的代码,即以便识别外部设备1110或者外部设备1110的类型并且识别能够在安全设备1210与外部设备1110之间建立通信的相对应的ED驱动程序1245。安全管理器1405还包括基于安全策略1415和安全数据1420来控制各个安全引擎1410的执行的代码,以便评估数据传送请求或者其他设备请求。另外,安全管理器1405包括用于与主机1205通信的代码,主机1205将是数据传送和/或其他请求的源。

在一个实施例中,安全引擎1410包括基于安全策略1415和安全数据1420来保护主机1205与外部设备1110之间的数据传送的代码。安全引擎1410可以包括防火墙、防病毒、防间谍软件、恶意内容过滤、多层安全监视器、Java和字节码监视器等。安全引擎1410还可以包括用于实施数据隐私策略1415的数据隐私模块。每个安全引擎1410可以具有专用的安全策略1415和安全数据1420,来指示请求传送的数据可以包含哪个过程、URL、系统呼叫、内容、ID等,或者指示所请求传送的数据是否被看作不可传送(或者因没有诸如密码和ID之类的额外安全措施而不能传送)。

为了提供更高的安全水平,安全引擎1410可以实现内容分析和风险评估算法。安全引擎1410可以基于每个传送对象的类型、复杂度、能力丰富度、源等为其分配权重和等级。安全引擎1410可以使用已知危险源或者已知安全源的列表、基于源来分配权重。安全引擎1410可以基于源的类别(例如,赌博源、成人内容源、新闻源、知名公司源、银行业源,等等)给对象分配权重。安全引擎1410可以计算权重,并且基于结果来确定是允许还是不允许对内容的访问、要允许的脚本、要发生的系统修改,等等。安全引擎1410可以“学习”用户内容(通过在预定时间段内分析用户所访问的一般内容)并且相应地可以创建个人内容简档。个人内容简档可用于校正在运行时分析期间分配给内容的权重以提高精确度并针对特定用户特性来修改经加权的风险分析。

因此,当接收到来自主机1205的数据传送和/或其他请求时,安全管理器1405将基于安全策略1415启动适当的安全引擎1410。例如,安全策略1415可被配置为不允许特定的ActiveX控件被从主机1205加载到外部设备1110上。安全策略1415可被配置为不允许从主机1205上的私有文件夹到外部设备1110的数据传送。安全管理器1405将启动适当的安全引擎1410以确保这些示例安全策略1415得到满足。另外,安全引擎1410可以使用安全数据1420,安全数据1420可以包括恶意ActiveX控件的定义文件、私有文件夹的位置,等等。

虽然未示出,但是安全系统1335可以包括额外组件,例如上面参考图5讨论的具有OS和应用的预引导闪存520、远程管理模块550、分发模块555以及备份模块560。其他组件也是可能的。

图15是图示出根据本发明另一实施例的安全数据交换系统1500的框图。安全数据交换系统1500包括经由安全设备1505上的ED插头1515和主机1520上的第一ED端口1525而可通信地耦合到主机1520的安全设备1505。安全数据交换系统1500还包括经由外部设备1110上的ED插头1120和主机1520上的第二ED端口1535而可通信地耦合到主机1520的外部设备1110。

因为外部设备1110不是被直接耦合到安全设备1505,因此安全设备1505不是在物理上拦截外部设备1110与主机1520之间的数据传送请求。因此,在该实施例中,主机1520包括重定向驱动程序1530,该重定向驱动程序1530被配置为重定向外部设备1110与主机1520之间的数据传送请求,而不管数据传送方向。在一个实施例中,安全设备1505可被配置为保护外部设备1110或主机1520中的仅一个。另外,在一个实施例中,安全设备1505不包含任何ED驱动程序,例如ED驱动程序1245。

在一个实施例中,如果安全设备1505未被耦合到主机1520,那么主机1520使用ED驱动程序1540来与外部设备1110通信。在一个实施例中,主机1520被配置为在安全设备1505被耦合到主机1520之前不与外部设备1110通信。在一个实施例中,主机1520仅当采取了额外的安全措施(例如接收到密码和ID)时才使用ED驱动程序1540与外部设备1110通信,或者在安全设备1505被耦合到主机1520之前使用ED驱动程序1540与外部设备1110通信。

在一个实施例中,主机1520在安全设备1505连接到ED端口1525时可以执行对安全设备1505的枚举。当识别出安全设备1505或者安全设备1505的类型时,主机1520可以启动重定向驱动1530,以便将所有数据传输请求或者来自所有其他ED端口1535的其他外部设备1110请求转发给安全设备1505。在一个实施例中,重定向驱动程序1530仅接受来自安全设备1505的传送请求,安全设备1505作为代理而提供外部设备1110的请求。在一个实施例中,重定向驱动程序1530仅在安全设备1505已经进行其检查并且给予其授权之后执行从外部设备1110接收到的数据传送请求。其他协议也是可能的。

图16是图示出根据本发明一实施例的主机与外部设备之间的安全数据交换方法1600的流程图。方法1600在步骤1605开始,安全设备1505在步骤1605中被连接到主机1520的第一ED端口1525。外部设备1110在步骤1610中被连接到主机1520的第二ED端口1535。主机1520在步骤1615中执行枚举技术,来识别安全设备1505和外部设备1110并安装适当的驱动程序1530/1540以便使能与安全设备1505和外部设备1110的通信。重定向驱动程序1530在步骤1620中接收从主机1520到外部设备1110或者从外部设备1110到主机1520数据传送请求。重定向驱动程序1530在步骤1625中将数据传送请求转发给安全设备1505,安全设备1505在步骤1630中对数据传送请求实施其安全策略(防病毒、防间谍软件、防广告软件、数据隐私,等等)。安全设备1505在步骤1635中确定数据传送请求是否通过安全策略。如果通过,那么安全设备1505在步骤1640中授权数据传送请求并且主机1520在步骤1645中执行数据传送请求。如果未通过,那么安全设备1505在步骤1650中拒绝数据传送请求。方法1600然后结束。

将会认识到,在一个实施例中,安全设备1210/1505可被实现为主机1205/1520的一部分,例如被实现在主机1205和1520的外壳中并且/或者实现为由主机1205/1520执行的安全过程。

动态隔离

图17示出具有基于硬件的防火墙的现有技术网络系统1700。网络系统1700包括内部计算机1705a和1705b,第一网络接口卡(NIC)1710,执行网络地址翻译(NAT)的基于硬件的防火墙1715,第二NIC 1720,外部网络1725(例如因特网)以及外部计算机1730a和1730b。

防火墙1715是基于硬件的防火墙,例如Check Point FW-1或CiscoPIX。防火墙使用两个不同的网络端口(第一NIC 1710和第二NIC 1720)将内部计算机1705a和1705b与外部网络1725相分离和隔离。防火墙1715使用网络地址翻译(NAT)来将内部计算机1705a的因特网协议(IP)地址(记作IP地址x)和内部计算机1705b的IP地址(记作IP地址y)翻译成公开IP地址z,从而隐藏内部计算机1705a和1705b的IP地址。防火墙1715对内部计算机1705a和1705b的媒体访问控制(MAC)地址进行类似的翻译。

网络系统1700提供比在内部计算机1705a和1705b本身上运行的基于PC软件的防火墙(例如微软Windows个人防火墙和Check PointZoneAlarm)更高级别的安全性,这是因为基于PC软件的防火墙没有隐藏内部计算机的IP和MAC地址。

图18示出具有基于软件的防火墙的现有技术网络系统1800。网络系统1800包括外部网络1805(例如因特网),一个或多个NIC 1810(记作1810a、1810b、...1810n),充当第2层(数据链路层)和第3层(网络层)之间的接口的网络驱动器接口规范(NDIS)驱动器1815,中间驱动器1820(例如微软Windows操作系统中的MINIPort),基于软件的防火墙1825,操作系统1830,以及一个或多个应用1835(记作1835a、1835b、...1835m)。操作系统1830包含TCP/IP协议族1840。

在操作中,中间驱动器1820将从NIC 1810和NDIS驱动器1815到达的流量定向到基于软件的防火墙1825。基于软件的防火墙1825决定如何处理该流量(允许、拒绝或丢弃),并仅准许被允许的流量前进到操作系统1830。

网络系统1800没有使用基于硬件的防火墙。在任意给定时间,只需要使用NIC 1810中的一个。但是,(对外部网络1805而言可视的)NIC1810的IP和MAC地址是被应用1835查看并使用的相同的IP和MAC地址(即,在应用1835和外部网络1805之间不存在地址隔离)。

图19示出根据本发明一实施例的执行动态地址隔离的网络系统1900。网络系统1900包括外部网络1905(例如因特网),一个或多个NIC 1910(记作1910a、1910b、...1910n),充当第2层(数据链路层)和第3层(网络层)之间的接口的NDIS驱动器1915,中间驱动器1920,基于软件或基于硬件的防火墙1925,操作系统1930,和一个或多个应用1935(记作1935a、1935b、...1935m)。操作系统1930包含TCP/IP协议族1940。中间驱动器1920包括NAT引擎1945,该NAT引擎1945包含针对IP和MAC地址的翻译表。

NIC 1910、NDIS驱动器1915、中间驱动器1920、防火墙1925、操作系统1930和应用1935可以被安装在移动设备310中。防火墙1925可以是通过通用串行总线(USB)连接、无线连接或另一网络有线连接被连接到中间驱动器1920的外部防火墙1925。例如,防火墙1925可以是移动安全系统345的一部分。

在操作中,中间驱动器1920接收从NIC 1910和NDIS驱动器1915到达的所有数据分组,并将每个数据分组路由到NAT引擎1945。NAT引擎1945使用动态主机配置协议(DHCP)动态地将应用1935的IP地址与外部网络1905相隔离。如图19所示,动态NAT引擎1945在与NIC相接口的同时将应用1935的IP地址(IP地址x)翻译到一不同的IP地址(IP地址z),并在向操作系统1930发送数据时将IP地址z翻译回IP地址x。因此,中间驱动器1920将IP地址z提供到外部网络1905,同时将IP地址x与外部网络相隔离。如果需要,NAT引擎1945对MAC地址执行类似翻译。如图所示,NAT引擎1945是中间驱动器1920的一部分。但是,本领域技术人员将认识到,NAT引擎1945可以位于别处,例如在移动安全系统345上、作为防火墙1925的一部分,等等。

在NAT引擎1945翻译IP地址之后,中间驱动器1920将每个数据分组定向到防火墙1925。防火墙1925决定如何处理每个数据分组(允许、拒绝或丢弃),并仅准许被允许的数据分组前进到操作系统1930。中间驱动器1920将每个允许的数据分组从防火墙1925接收回来,并将每个允许的数据分组路由到应用1935。

对于外出数据分组,中间驱动器1920从应用1935接收每个数据分组,并将每个数据分组路由到NAT引擎1945。NAT引擎1945按上述方式翻译与数据分组相关联的IP和/或MAC地址。中间驱动器1920随后从NAT引擎1945接收回每个数据分组(包含翻译后的IP和/或MAC地址),并将每个数据分组路由到外部网络1905。

这样一来,网络系统1900能够将内部计算机/应用的IP和MAC地址与外部网络1905相隔离,同时不需要使用基于硬件的防火墙或多于一个NIC。即使防火墙缺少多于一个NIC,网络隔离和分离也能够实现。

因此,移动安全系统345和移动设备310之间的连接可以在使用NAT和DHCP的原理的同时被实现,从而虽然连接到外部网络的设备看到不同的物理IP和MAC地址,但是在移动设备310上运行的最终用户应用将“看到”受保护的虚拟IP和MAC地址。本发明提供了具有两个网络端口(内部和外部)的基于硬件的防火墙为移动设备提供的类似保护和IP隐藏,但是无需使用基于硬件的防火墙以及两个或更多个网络端口。

图23是根据本发明一实施例的将数据通信从外部网络(例如外部网络1905)路由到应用(例如应用1935)的方法2300的流程图。在步骤2305中,NIC(例如NIC 1910)从外部网络接收数据通信。指定外部IP地址和外部MAC地址的数据被嵌入在该数据通信中。在步骤2310中,数据通信被路由到中间驱动器(例如中间驱动器1920),该中间驱动器进而将数据通信路由到NAT引擎(例如NAT引擎1945)。NAT引擎包含针对IP和MAC地址的翻译表。

在步骤2315中,NAT引擎使用DHCP将嵌入在数据通信中的外部IP和MAC地址翻译成内部IP和MAC地址。NAT引擎随后用内部IP和MAC地址来替换数据通信中的外部IP和MAC地址。这样一来,内部计算机/应用的IP和MAC地址与外部网络相隔离。

在步骤2320中,中间驱动器将数据通信路由到防火墙(例如防火墙1925)。在步骤2325中,防火墙分析数据通信以寻找恶意代码。在步骤2330中,防火墙决定如何处理数据通信。如果发现数据通信包含恶意代码,方法2300则前进至步骤2335。在步骤2335中,防火墙丢弃数据通信并防止其前进到应用。方法2300随后结束。

如果没有发现数据通信包含恶意代码,方法2300则前进到步骤2340。在步骤2340中,防火墙允许数据通信。中间驱动器从防火墙接收回数据通信,并将数据通信路由到应用。方法2300随后结束。

图24是根据本发明一实施例将数据通信从应用(例如应用1935)路由到外部网络(例如外部网络1905)的方法2400的流程图。在步骤2405中,应用启动数据通信。应用可以在数据通信中嵌入指定内部IP地址和内部MAC地址的数据。在其他实施例中,内部IP地址和内部MAC地址可以由操作系统(例如操作系统1930)嵌入。

在步骤2410中,数据通信被路由到中间驱动器(例如中间驱动器1920),中间驱动器进而将数据通信路由到NAT引擎(例如NAT引擎1945)。NAT引擎包含针对IP和MAC地址的翻译表。在步骤2415中,NAT引擎使用DHCP将嵌入在数据通信中的内部IP和MAC地址翻译成外部IP和MAC地址。NAT引擎随后用外部IP和MAC地址来替换数据通信中的内部IP和MAC地址。这样一来,内部计算机/应用的IP和MAC地址与外部网络相隔离。

在步骤2420中,内部驱动器经由NIC(例如NIC 1910)将数据通信路由到外部网络。方法2400随后结束。

混合防火墙

图20示出具有分离的网络和个人防火墙的现有技术网络系统2000。网络系统2000包括外部网络2005(例如因特网)、网络防火墙2010和个人计算机2015(记作2015a、2015b等等)。网络防火墙2010可以位于外部设备或计算机上。网络防火墙2010包含第一NIC 2020、NAT网关2025和第二NIC 2030。每个个人计算机2015包含个人防火墙2035(记作2035a、2035b等等)以及应用2040(记作2040a、2040b等等)。

在操作中,网络防火墙2010使用NAT网关2025将个人计算机2015a的IP地址(记作IP地址x)和个人计算机2015b的IP地址(记作IP地址y)翻译成公开IP地址z,并因此隐藏个人计算机2015的IP地址。网络防火墙2010对个人计算机2015的MAC地址执行类似翻译。网络防火墙2010还执行安全措施,例如防病毒、防间谍软件、防广告软件等等。由于网络防火墙2010在网络中比个人防火墙2035更早,因此其可以在恶意代码进入系统2000之前停止它。但是,由于网络防火墙2010是应用不敏感的并且处于信息栈的较低层,因此其针对恶意代码检测的处理受到限制。

个人防火墙2035也执行安全措施,例如防病毒、防间谍软件、防广告软件等等。由于个人防火墙2035是应用敏感的并且处于信息栈的较高层,因此其对于恶意代码检测的处理可以更全面和集中。

图21示出根据本发明一实施例的具有混合防火墙2110的网络系统2100。网络系统2100包括外部网络2105(例如因特网)、混合网络/个人防火墙2110和个人计算机2115(记作2115a、2115b等等)。

混合防火墙2110可以位于外部设备或计算机上。在其他实施例中,混合防火墙2110可以位于移动安全系统345上,如图10A-10C所示。混合防火墙2110包含第一NIC 2120、NAT引擎2125和第二NIC 2130。

每个个人计算机2115包含代理2135(记作2135a、2135b等等)和一个或多个应用2140(记作2140a、2140b等等)。如图21所示,网络系统2100仅包含两台个人计算机2115,但是在其他实施例中,网络系统2100可以包含多于两台个人计算机。

在操作中,混合防火墙2110使用包含针对IP和MAC地址的翻译表的NAT引擎2125将个人计算机2115a的IP地址(记作IP地址x)和个人计算机2115b的IP地址(记作IP地址y)翻译成公开IP地址z,从而隐藏个人计算机的IP地址。混合防火墙2110对个人计算机2115的MAC地址执行类似翻译。

混合防火墙2110能够执行网络防火墙和个人防火墙安全措施两者。由于混合防火墙2110处在与传统的网络防火墙2035相同的层级上,因此其可以在恶意代码进入系统2100之前停止它。此外,由于混合防火墙2110是应用敏感的,因此混合防火墙2110可以执行传统的个人防火墙2035的处理。

为了使得混合防火墙2110成为应用敏感的,代理2135将数据分组发送到混合防火墙2110,其中每个分组包含标识与该分组相关联的应用2140的数据。由于每个分组包含标识与该分组相关联的应用2140的数据,混合防火墙2110可以充当个人防火墙2035来处理应用级别上的安全性。然后,混合防火墙2110可以通过提取出应用标识数据而将数据分组的一子集发送到外部网络2105。

图22示出根据图10A的本发明实施例配置的包含混合防火墙2210的网络系统2200。网络系统2200包括外部网络2205(例如因特网)、混合网络/个人防火墙2210和移动设备2215。

混合防火墙2210可以位于在衣袋大小、手持大小、钥匙链大小或可能更小的外壳中的外部设备上。混合防火墙2210包含ED插头2245(例如USB插头),用于与包含在移动设备2215中的ED端口2230(例如USB端口)通信。混合防火墙2210还包含NAT引擎2225。在其他实施例中,混合防火墙2210可以被安装在移动设备2215中,或通过无线或另一网络有线连接被连接到移动设备2215。

移动设备2215包含NIC 2220、ED端口2230、代理2235、一个或多个应用2240和中间驱动器2250(例如在微软Windows操作系统中的MINIPort)。如图22所示,网络系统2200仅包含一个移动设备2215和混合防火墙2210,但是在其他实施例中,网络系统2200可以包含多于一个移动设备和混合防火墙。

在操作中,中间驱动器2250将从NIC 2220到达的流量经由ED端口2230和ED插头2245定向到混合防火墙2210。混合防火墙2210决定如何处理流量(允许、拒绝或丢弃),并且仅准许被允许的流量前进到应用2240。

混合防火墙2210使用包含针对IP和MAC地址的翻译表的NAT引擎2225将移动设备2215的IP地址翻译成公开IP地址,并因此隐藏移动设备2215的IP地址。混合防火墙2210对移动设备2215的MAC地址执行类似翻译。

应用2240可以将数据分组经由ED端口2230和ED插头2235发送到混合防火墙2210以传输到外部网络2205。代理2235将标识应用2240的数据与被发送到混合防火墙2210的数据分组相关联。每个分组因此包含标识与该分组相关联的应用2240的数据。由于每个分组包含标识与该分组相关联的应用2240的数据,因此混合防火墙2210可以充当个人防火墙来处理应用安全性。

图25是根据本发明一实施例将数据通信从外部网络(例如外部网络2105或2205)路由到应用(例如应用2140或2240)的方法2500的流程图。在步骤2505中,NIC(例如NIC 2120或2220)接收来自外部网络的数据通信。指定外部IP地址和外部MAC地址的数据被嵌入在数据通信中。在步骤2510中,数据通信被路由到混合网络/个人防火墙(例如防火墙2110或2210),该防火墙包含NAT引擎(例如NAT引擎2125或2225),该NAT引擎包含针对IP和MAC地址的翻译表。混合防火墙处在与传统的网络防火墙相同的层级上并且是应用敏感的。

在步骤2515中,NAT引擎使用DHCP将嵌入在数据通信中的外部IP和MAC地址翻译成内部IP和MAC地址。NAT引擎随后用内部IP和MAC地址替换数据通信中的外部IP和MAC地址。这样一来,内部计算机/应用的IP和MAC地址被与外部网络相隔离。

在步骤2520中,混合防火墙将数据通信与应用相关联。混合防火墙基于先前由该防火墙接收的包含应用标识信息的数据分组来执行该关联。

在步骤2525中,混合防火墙分析数据通信以寻找恶意代码。由于混合防火墙处在与传统的网络防火墙相同的层级上,因此其可以在恶意代码到达计算机(例如计算机2115或2215)之前停止它。此外,由于混合防火墙是应用敏感的,因此混合防火墙可以执行传统的个人防火墙用于处理应用级别安全性的功能。

在步骤2530中,防火墙决定如何处理数据通信。如果发现数据通信包含恶意代码,则方法2500前进到步骤2535。在步骤2535中,防火墙丢弃数据通信并防止其前进到应用。方法2500随后结束。

如果发现数据通信不包含恶意代码,方法2500则前进到步骤2540。在步骤2540中,防火墙允许数据通信,并且数据通信被路由到应用。方法2500随后结束。

图26是根据本发明一实施例的将数据通信从应用(例如应用2140或2240)路由到外部网络(例如外部网络2105或2205)的方法2600的流程图。在步骤2605中,应用启动数据通信。应用可以在数据通信中嵌入指定内部IP地址和内部MAC地址的数据。在其他实施例中,内部IP地址和内部MAC地址可以由操作系统或运行在计算机上的代理(例如代理2135或2235)来嵌入。

在步骤2610中,标识应用的数据被嵌入到数据通信中。该步骤可以由应用、操作系统或运行在计算机上的代理(例如代理2135或2235)来执行。在一个实施例中,运行在与应用相同的计算机上的代理创建数据分组,每个分组包含标识与该分组相关联的应用的数据。由于每个分组包含标识与该分组相关联的应用的数据,因此下游混合防火墙(例如防火墙2110或2210)可以充当个人防火墙来处理应用级别安全性。

在步骤2615中,数据通信被路由到包含NAT引擎(例如NAT引擎2125或2225)的混合网络/个人防火墙,所述NAT引擎包含针对IP和MAC地址的翻译表。混合防火墙处于与传统的网络防火墙相同的层级上并且是应用敏感的。

在步骤2620中,混合防火墙从数据通信中提取并删除应用标识信息。在步骤2625中,NAT引擎使用DHCP将嵌入到数据通信中的内部IP和MAC地址翻译成外部IP和MAC地址。NAT引擎随后将外部IP和MAC地址替换数据通信中的内部IP和MAC地址。这样一来,内部计算机/应用的IP和MAC地址与外部网络相隔离。

在步骤2630中,数据通信(减去标识应用的数据、内部IP地址和内部MAC地址)被经由NIC(例如NIC 2120或2220)路由到外部网络。方法2600随后结束。

上面对本发明优选实施例的描述仅是通过示例方式,并且考虑到上面的教导,对上述实施例和方法的其他变更和修改是可能的。虽然网络站点被描述为单独并且不同的站点,但是本领域技术人员将认识到这些站点可以是完整站点的一部分、可以各自包括多个站点的多个部分,或者可以包括单个和多个站点的组合。在此提出的各种实施例可以利用硬件、软件或者其任何所需组合来实现。而且,能够实现在此提出的各种功能的任何类型的逻辑可被利用。组件可以利用经编程的通用数字计算机、利用专用集成电路、或者利用互连的传统组件和电路的网络来实现。连接可以是有线的、无线地、调制解调器,等等。在此描述的实施例并非旨在是穷尽无遗或是限制性的。本发明仅受所附权利要求限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号