具体实施方式
以下描述是为了使得本领域任何技术人员能够作出和使用本发明而提供的,并且是在特定应用和其要求的环境下提供的。在不脱离本发明精神和范围的情况下,对实施例的各种修改对本领域技术人员而言是可能的,并且在此定义的一般原理可被应用于这些以及其他实施例和应用。因此,本发明并非旨在限于所示实施例,而是将符合与在此公开的原理、特征和教导相一致的最广范围。
本发明的一个实施例使用一部小型硬件,该部硬件连接到移动设备并且滤除攻击和恶意代码。该部硬件可被称作“移动安全***”或者“个人安全装置”。利用该移动安全***,移动设备可以受到其所关联于的公司/企业所提供的相同水平安全以及更高安全的保护。
图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包括诸如英特尔
微处理器或者摩托罗拉
微处理器之类的耦合到通信通道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)可被划分为如下区域:
每当“硬”重启时,移动安全***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和活动目录、以及日志记录和报告,如下面讨论的。在一个实施例中,在安全管理器325上运行的策略导入代理将访问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包括诸如英特尔
微处理器或者摩托罗拉
微处理器之类的耦合到通信通道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执行的安全过程。
上面对本发明优选实施例的描述仅是通过示例方式,并且考虑到上面的教导,对上述实施例和方法的其他变更和修改是可能的。虽然网络站点被描述为单独并且不同的站点,但是本领域技术人员将认识到这些站点可以是完整站点的一部分、可以各自包括多个站点的多个部分,或者可以包括单个和多个站点的组合。在此提出的各种实施例可以利用硬件、软件或者其任何所需组合来实现。而且,能够实现在此提出的各种功能的任何类型的逻辑可被利用。组件可以利用经编程的通用数字计算机、利用专用集成电路、或者利用互连的传统组件和电路的网络来实现。连接可以是有线的、无线地、调制解调器,等等。在此描述的实施例并非旨在是穷尽无遗或是限制性的。本发明仅受所附权利要求限制。