首页> 中国专利> 用于激活虚拟化的计算机应用的网络背景触发

用于激活虚拟化的计算机应用的网络背景触发

摘要

一种计算机系统,包括:至少一个容宿操作系统和应用程序的受控执行空间;耦合到受控执行空间的漏洞监视代理;耦合到漏洞监视代理的一个或多个漏洞简档,其中,这些漏洞简档中的每一个漏洞简档包括应用程序标识符、操作系统标识符、漏洞规格和修补行为,漏洞规格描述应用程序标识符所指示的应用程序在被利用操作系统标识符所指示的操作系统执行时的漏洞,修补行为将在被执行时修补漏洞;其中,漏洞监视代理被配置为操作系统和应用程序在监视受控执行空间中的执行,检测执行期间与漏洞相关联的异常,基于这些漏洞简档之一来确定用于操作系统和应用程序的修补行为,并且促成该修补行为。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-10

    未缴年费专利权终止 IPC(主分类):G06F11/00 专利号:ZL2008800100303 申请日:20080328 授权公告日:20140312

    专利权的终止

  • 2014-03-12

    授权

    授权

  • 2010-10-06

    实质审查的生效 IPC(主分类):G06F11/00 申请日:20080328

    实质审查的生效

  • 2010-08-18

    公开

    公开

说明书

技术领域

本发明一般地涉及网络数据处理应用。更具体而言,本发明涉及用于激活虚拟化的计算机应用的技术。

背景技术

这部分所描述的方法可被探寻,但是不一定是之前已经设想到或探寻过的方法。因此,除非在这里以其他方式指出,否则这部分中所描述的方法对于本申请中的权利要求不是现有技术,并且不承认因为包括在这部分中而成为现有技术。

网络管理员试图保护网络设备和软件不受由有缺陷的或不怀好意的系统或应用所施加的损害。网络中的主机上被损坏的应用或操作系统(单独考虑)通常不认为是问题。然而,如果该损坏使得感染其他系统或使数据中毒,或者防止操作系统正确运行并且防止操作系统正确监管或容宿(host)应用,则被损坏的应用或操作系统变成问题。

操作系统中所嵌入的受信(trusted)软件代理可以用来扫描本地系统来查找策略违反条件,并且可以使用扫描中所获得的信息来做出有关使能通过网络的通信的决定。使用这样的方法的系统包括网络准入控制(NAC)、网络访问保护(NAP)和/或受信网络连接(TNC)。

基于网络设备在哪里连接到网络以及已经将什么软件或数据装载到该设备上,网络设备可以更受信任或不那么受信任。对于这样的设备,受信软件代理方法的安全性取决于代理中所实现的保护机制的质量。充分确定的攻击者可能能够从操作系统内颠覆这些代理的保护机制,从而损坏在运行的操作系统以及连接到该操作系统的系统。已知因特网上暴露的易受攻击的操作系统容易在越来越短的时间规模内受到攻击。

此外,应用被越来越多地绑定到操作系统的特定版本(应用在这些版本上运行)。该绑定通常包括OS和应用两者的各种版本的内核(kernel)和补丁。一些绑定影响安全性;其他绑定可能影响应用功能性,并且在一些情况中,这些绑定影响安全性和功能性两者。即使当应用和操作系统的漏洞(vulnerability)是已知的并且补丁是可用的,应用这些补丁或其他修补步骤的副作用也可能使得对于网络或服务器管理员来说,采取保护行为或执行修补还不如处理感染。

附图说明

在附图的示图中通过示例而非限制来说明本发明,在附图中,相似的标号指相似的元件,并且其中:

图1是漏洞检测和修补系统的示例性实施例的框图;

图2是示例性漏洞简档(profile)的框图;

图3是使用网络背景触发(network context trigger)来限制虚拟化的操作系统和应用的方法的流程图;

图4是用于基于所保存的数据和网络背景触发来对虚拟化的操作系统和应用重新进行镜像的方法的流程图;

图5是图示出可以实现实施例的计算机系统的框图。

具体实施方式

公开了基于网络背景触发来激活虚拟化的操作系统和应用的方法和设备。在以下描述中,为了说明的目的,阐述了许多具体细节以提供对本发明的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实施本发明。在其他实例中,以框图的形式示出了公知的结构和装置以避免不必要地使本发明模糊。

在这里根据以下概要来描述实施例:

1.0一般概述

2.0示例性漏洞检测和激活系统

2.1功能概述

2.2示例性主机、控制系统和漏洞简档

2.3操作示例

3.0实现机制——硬件概述

4.0扩展和替换

1.0一般概述

本发明实现了前述背景技术中所确定的需要以及对于以下描述变得显而易见的其他需要和目的,在一个方面中,本发明包括一种计算机系统,该计算机系统包括:至少一个容宿操作系统和应用程序的受控执行空间;耦合到受控执行空间的漏洞监视代理;耦合到漏洞监视代理的一个或多个漏洞简档,其中,这些漏洞简档中的每一个漏洞简档包括应用程序标识符、操作系统标识符、漏洞规格和一个或多个修补行为(remedialaction),漏洞规格描述应用程序标识符所指示的应用程序在被利用操作系统标识符所指示的操作系统执行时的漏洞,修补行为将在被执行时修补漏洞;其中,漏洞监视代理被配置为监视操作系统和应用程序在受控执行空间中的执行,检测执行期间与漏洞相关联的异常(anomaly),根据一个或多个基于策略的规则、基于这些漏洞简档之一来确定用于操作系统和应用程序的修补行为,并且促成该修补行为。

在一个特征中,漏洞监视代理耦合到重新镜像系统,重新镜像系统耦合到应用和操作系统的拷贝的仓库,并且漏洞监视代理还被配置为检测应用程序或操作系统被损坏,从受控执行空间中移除应用程序或操作系统,并且请求重新镜像系统利用应用程序和操作系统的新拷贝来对受控执行空间重新进行镜像。

在另一个特征中,漏洞监视代理还被配置为基于与应用程序和操作系统相关联的一个或多个组件或数据集合来生成第一数字签名,取回受信第二数字签名,并且确定第一数字签名是否与第二数字签名相匹配。

在另一特征中,漏洞监视代理耦合到共享数据仓库和重新镜像系统,重新镜像系统耦合到应用和操作系统的拷贝的仓库,并且漏洞监视代理还被配置为检测应用程序或操作系统被损坏,将与应用程序或操作系统相关联的数据(静态数据和动态运行时状态两者)存储在共享数据仓库中,从受控执行空间中移除应用程序或操作系统,并且请求重新镜像系统利用应用程序和操作系统的新拷贝来对受控执行空间重新进行镜像并且恢复所保存的数据。

在另一特征中,管理域控制器通过网络耦合到漏洞监视代理,并且管理域控制器被配置为控制对漏洞简档的访问。在另一特征中,受控执行空间包括虚拟机监视器。

在另一特征中,漏洞监视代理、受控执行空间、应用程序和操作系统在第一计算机中,并且漏洞简档在通过网络耦合到第一计算机的第二计算机中。在另一特征中,该计算机系统包括I/O栈,该I/O栈包括第二漏洞监视代理,并且第二漏洞监视代理被配置为监视应用程序或操作系统与I/O栈的一个或多个交互。在相关特征中,提供了漏洞监视代理的多个实例,这些实例中的每一个实例被容宿在处理器元件之一(例如,多核心处理器上的核心)上,并且这些实例中的每一个实例被配置为通过一个或多个仲裁出的套接字连接向其他实例传送有关检测到的漏洞的信息。在该上下文中,术语“I/O栈”是指网络I/O栈或存储I/O栈。

在另一特征中,漏洞监视代理被配置为限制网络接口中的一个或多个网络接口上的通信,限制对一个或多个网络资源的使用,限制对计算机系统的资源的使用、限制对网络带宽的使用,限制对一个或多个网络端口的使用,或者限制对某些块设备、文件系统、目录、文件和/或注册表条目的读和/或写访问。

在其他方面中,本发明包括一种计算机实现的方法和一种包括执行以上特征中的一个或多个特征的逻辑的计算机可读存储介质。

2.0示例性漏洞检测和激活系统

2.1功能概述

在一个实施例中,提供了一种用于控制和监视操作系统和应用的系统和方法。一个或多个操作系统(OS)和相应的应用(OS-应用)在多个受控执行空间中执行。使用监视代理来监视OS和OS-应用。该系统存储漏洞简档,这些漏洞简档指明OS和其上运行的一组OS-应用的每种组合的已知漏洞。监视代理可以检测OS和/或OS-应用内的损坏(corruption)。作为响应,系统可以基于漏洞简档来对应用激活或行为施加限制。限制可以包括:禁止访问或带宽消耗,通过流量限制或端口限制来施加受限制的网络连接性或网络隔离,限制或阻止OS系统调用以及其他限制。此外,作为响应,该系统可以擦除OS和OS-应用的损坏的软件镜像以及所生成的数据,并且可以提取并启动OS和OS-应用的新拷贝以及清洁的数据。

在一个实施例中,操作系统和OS应用通过使用虚拟机监视器(VMM)而在执行隔离系统中被运行和监视,该虚拟机监视器分配存储器并且控制计算机和连网资源以在虚拟机上运行镜像。执行隔离系统可以提供多个受控执行空间。例如,多个虚拟机可以用作受控执行空间。由VMM创建的各个虚拟机可以运行不同的OS和OS-应用的集合。

在一个特征中,VMM通过监视代理与管理域控制器(MDC)交互。MDC包含用于解释计算和网络需求并且形成用于资源配置的指令的策略。MDC从VMM的监视代理接收有关OS和OS-应用的操作信息。如果在OS或OS-应用中检测到问题,则通知MDC。VMM的监视代理从MDC接收有关OS和OS-应用的策略指令。

在一个实施例中,监视代理使用漏洞简档(VP)来运行和检查OS和OS-应用。VP与以下各项有关:标识OS的信息、标识OS-应用的信息、标识OS和一组OS-应用的特定组合的异常的信息和可以用来减轻问题的基于策略的行为。可以由VMM在资源的配置中应用这些行为。例如,如果对于OS与应用集合版本的特定组合而言漏洞是已知的,则可以修改(tailor)该组合的配置和其他属性来使它们的影响最小。具体示例包括限制总运行时间或端口配置,或者引入写许可。可替换地,可以在检测到或者预期到异常时动态地应用这些行为。

在一个实施例中,VP指明OS和OS-应用的一个或多个特性和一个或多个漏洞。漏洞例如可以包括:OS和OS-应用可能潜在地用来散播损坏的机制;指示已经发生数据中毒的特性或信号;运行中的镜像可被认为是存活的(viable)时间长度;以及其他漏洞。

响应于检测到漏洞,该系统可以对应用活动性(activity)施加各种限制。示例性限制包括:禁止对网络资源的访问;通过抑制流量速率(traffic rate)来限制带宽消耗;通过允许应用流量限制、端口限制和OS系统调用来实现子网连接性限制或隔离。例如,当异常或损坏被检测到时,使用系统调用监视器来限制OS的操作。作为另一示例,限制网络上所允许的通信类型。作为另一示例,限制对诸如块设备之类的存储装置、文件系统、文件和注册表条目的读和/或写访问。作为另一示例,检查OS-应用以发现运行中的进程的错误,这些错误可能需要对运行中的镜像的数据进行点检验(checkpoint)并且启动运行中的镜像的新拷贝。

作为另一示例,响应限制可以包括:提取潜在地损坏的数据文件,通过清理器(scrubber)运行这些文件来消除损坏,并且之后将这些文件供给所恢复的OS与应用集合。在这种情况中,数据、OS和应用都被清扫了。在一个实施例中,仅数据被被清理了,因为OS和应用未被污染。

在一个实施例中,如果检测到运行镜像的损坏,则重新镜像系统在虚拟机或隔离VMM的域(VMM-isolated domain)内重新构建OS应用的运行镜像,以提供容宿在SAN或本地盘中的正确干净的镜像。如果需要对OS-应用重新进行镜像,则之前由损坏的OS系统和应用创建的数据的拷贝被移除并且被存储在数据仓库中。当已经获得了OS系统和OS-应用的正确干净的镜像时,所存储的数据从该仓库中被取回,并且被重新插入到新的干净的镜像中。然后,校正后的镜像被重启。

因此,如果存在漏洞的已知相关背景,则可以通过在允许其他关键任务操作进行的同时禁止这样的操作的监视软件来使漏洞被越过。

2.2示例性主机、控制系统和漏洞简档

图1是漏洞检测和修补系统的示例性实施例的框图。主机计算机106包括执行隔离系统108、重新镜像系统160、操作系统120、硬件130和输入/输出(I/O)栈140。执行隔离系统108内由主机计算机106执行的操作系统和应用是使用这里的技术来监视和限制或修补的对象。

在一个实施例中,主机计算机106通过与网络I/O栈耦合的硬件130中的一个或多个网络接口而耦合到网络。该网络可以包括局域网、广域网、因特网或它们的组合。重新镜像系统160和管理域控制器150可以使用该网络耦合到主机计算机106。

执行隔离系统108包括漏洞监视代理110,漏洞监视代理110耦合到一个或多个受控执行空间112A、112B。受控执行空间112A、112B中的每一个都容宿应用和操作系统,应用和操作系统被整体标注为114A、114B。在执行隔离系统108中可以有任何数目的执行空间112A、112B。

漏洞监视代理110耦合到管理域控制器150,管理域控制器150耦合到漏洞简档102。漏洞监视代理110从管理域控制器150接收用于监视的指令和基于策略的行为。管理域控制器150从漏洞监视代理110接收有关执行隔离系统108内运行的OS-应用114A、114B的操作信息。

漏洞监视代理110依赖于一个或多个漏洞简档102来监管受控执行空间112A、112B内的OS-应用114A、114B。在一个实施例中,漏洞简档102包括将在执行隔离系统108中执行的操作系统和应用的特性和已知漏洞相关联的信息。例如,对于OS和OS-应用的每种组合,漏洞简档102包括:标识OS和OS-应用可能用来散播损坏的机制的信息、数据中毒的影响和运行镜像随时间的活力。漏洞简档102还包括基于策略的行为,基于策略的行为可以在资源的配置中或在OS和OS-应用的操作期间被用来减轻问题、清扫问题或限制行为。

图2是示例性漏洞简档102的框图。在一个实施例中,漏洞简档102被构建为一种数据表,该数据表具有应用列202、操作系统列204和漏洞列206。应用列202存储OS-应用的标识符。操作系统列204存储操作系统的标识符,OS-应用在这些操作系统下执行。应用列202中所标识的每个应用可以与操作系统列204中所标识的多个不同操作系统相关联;因此,列202可以具有复制的条目。漏洞列206标识同一行中出现的应用和操作系统的组合的一个或多个漏洞,作为具体的漏洞条目。因此,对于应用202和操作系统204中的每一个,存储并且维护一个或多个相关联的漏洞206。

在一个实施例中,基于XML的简档构成漏洞信息和相关策略。

漏洞的示例包括:如表格条目210中所指示的存储器泄露,如条目212中的输入太多记录造成页面出错,以及如条目214中的试图在端口4122上使用被禁止的对等协议来建立连接。图2中所示出的值是示例,并且可以使用任何其他合适的值。

在一个实施例中,漏洞简档102还包括策略列208,策略列208标识当所指示的漏洞被检测到时系统应当施加的响应策略或限制。可替换地,策略或限制可以存储在管理域控制器150中。

管理域控制器150监视主机计算机106以确定操作系统和相关联的应用是在恰当地操作还是被损坏或已经产生异常。在一个实施例中,管理域控制器150在主机计算机106上运行。在另一实施例中,管理域控制器在主机计算机的特定处理器核心上执行。可替换地,管理域控制器150可以被容宿在分离的计算机上。此外,管理域控制器150可以先在主机计算机106上操作,然后在主机计算机106被威胁时迁移到分离的计算机,或者为了提供消耗比主机计算机的处理器所能够提供的资源更多资源的服务而迁移到分离的计算机。

管理域控制器150与执行隔离系统108通信。执行隔离系统108管理与OS-应用114A、114B和操作系统的通信。执行隔离系统108可以对这些操作系统的任何操作系统实现限制性行为。可替换地,执行隔离系统108可以管理对这些操作系统中的一个的启动。

在一个实施例中,这里针对管理域控制器150所描述的监视和控制功能可以嵌入到执行隔离系统108中。可替换地,I/O栈140用来控制跨越(across)共享存储器的通信。I/O栈140依赖于针对硬件和软件的处理器和存储器虚拟化。栈140可以包括:网络I/O栈、存储I/O栈或其他I/O栈。在一个实施例中,栈140包括网络I/O栈,并且分离的存储I/O栈142提供对共享数据仓库116的访问。

使用执行隔离系统108中或分离的异构客户OS(guest OS)中的漏洞监视代110,通过基于网络的代理可以检查OS-应用114A、114B之间的数据通信,其中漏洞监视代110提供网络流量的交换和路由,以及对公共嵌入代码签名的监视。公共嵌入代码签名的示例包括宏、Javascript、Java VM代码和二进制代码。

在一个实施例中,主机计算机106包括耦合到应用-OS仓库104的重新镜像系统160,并且该主机计算机耦合到共享数据仓库116。然而,可以在相同的存储单元、仓库或关系数据库系统中实现漏洞简档102、应用-OS仓库和共享数据仓库116。

应用-OS仓库104存储应用-OS镜像114A、114B的拷贝。共享数据仓库116可以存储应用-OS 114A、114B在操作中生成的数据。重新镜像系统160可以取回应用-OS镜像114A、114B的拷贝并且将镜像传送给执行隔离系统108。

在一个实施例中,应用-OS仓库104存储各个应用-OS 114A、114B的哈希值(hash value)、消息认证码或其他数字签名。当重新镜像系统160取回特定应用-OS 114A的拷贝并且将它传送给主机计算机106时,该重新镜像系统基于该拷贝生成新的数字签名并且确定新的数字签名是否与所存储的数字签名相匹配。因此,当应用-OS 114A的镜像传送到存储器中时,重新镜像系统160验证应用-OS的签名。在一个实施例中,不要求有关应用/OS的数字签名包括块设备的单个哈希,因为该应用/OS中所存储的数据中的部分数据可能改变,这部分数据例如是临时文件、页面文件、一些注册表条目、配置文件、所存储的状态信息以及诸如访问次数之类的文件元数据。在一个实施例中,应用/OS的签名包括用于各种文件、注册表条目和/或块的一组签名,该组签名与哪些文件、注册表条目和其他数据应当与某些签名相匹配以及哪些应当仅因为改变而被指明的列表相关联地存储。此外,在一个实施例中,漏洞监视代理110通过周期性地通过运行镜像计算新的数字签名并且将新的数字签名与应用-OS仓库104中所存储的数字签名相比较,可以确定应用-OS的运行镜像是否已经变得被损坏。如果签名不匹配,则运行镜像被损坏并且可以采取响应行为。

在一个实施例中,在检测到应用-OS 114A、114B中的任何一个或相关联的操作系统被损坏之后,漏洞监视代理110利用恰当的标识信息将被损坏的应用-OS 114A、114B所创建的数据的拷贝传送给共享数据仓库116,以辅助稍后的取回。然后,漏洞监视代理110请求重新镜像系统160来获得被损坏的应用-OS 114A、114B的新镜像并且将其装载到执行隔离系统108中。作为响应,重新镜像系统160从应用-OS仓库104获得被损坏的应用-OS 114A、114B的新镜像,在必要的情况下恢复来自共享数据仓库116的数据,并且将新镜像传送给执行隔离系统108。

图1描述了重新镜像系统160在主机计算机106内。在一个实施例中,重新镜像系统160驻留在存储区域网络(SAN)中。

在一个实施例中,通过使用网络I/O栈140从主机计算机106的处理器的一个或多个核心开始创建用于监视执行的子网。漏洞监视代理110的实例和提供这里所述的基于策略的强制的其他功能元件一起被部署在该子网中。例如,网络I/O栈140可以包括漏洞监视代理110的第二实例(标为VMA 110A),并且第二漏洞监视代理被配置为监视应用程序或操作系统与网络I/O栈的一个或多个交互。在这样的实施例中,网络监视器和检查能力向上扩展跨过CPU管芯(CPU die)并且进入网络。物理计算机聚类(clustering)使得这个方面可以按比例确定并且使得管理更简单。[MAB也是存储I/O栈144]?

在另一实施例中,硬件130包括具有多个处理器核心的单个CPU管芯,并且每个处理器核心包括漏洞监视代理110的实例、受控执行空间112A和应用114A。在该实施例中,漏洞监视代理110的实例、受控执行空间和应用可以通过套接字接口(socket interface)来共享所监视的数据。出于安全性的目的并且为了防止发送太多消息,可以由漏洞监视代理110的实例对通过套接字接口的通信进行仲裁。在该实施例中,在受控执行空间112A中监视许多不同的运行操作系统镜像的多个主机可以共享有关所检测到的漏洞的信息。运行软件被虚拟化并且在逻辑上分区的硬件上运行。因此,执行运行时间可以基于例如以对称多处理器(SMP)模式运行的一个或多个物理CPU,或者基于运行不同执行环境的一个或多个虚拟机。在具有强有力的硬件隔离保护的VM环境中,对CPU管芯和多个物理处理器的物理限制不那么重要。这里的描述的意图在于给出用于以漏洞监视代理的形式运行参考监视器的虚拟资源的示例性分配。这样的保护可以被嵌入操作系统中,或者可以连同在跨越VM的OS运行之间共享的经过分摊的网络栈一起工作,或者两者可以一起工作来实现更好的缩放比例。此外,漏洞评估也可以扩展到网络中。漏洞评估代理可以都位于这些位置中的任何一个位置,或可以分层地组织以过滤上游流(upstream)。

此外,在这样的实施例中,对OS-应用114A重新进行镜像是更加可行且易管理的,这是因为网络栈140和执行隔离系统108保持不变并且不受重新镜像操作的影响。隔离机制形成一种内部防火墙,其包含任何潜在损害,但仍然获得有用的结果。

2.3操作示例

图3是使用网络背景触发来限制虚拟化的操作系统和应用的方法的流程图。在步骤302中,接收一个或多个请求以执行应用程序和操作系统。例如,漏洞监视代理检测到执行隔离系统108需要将应用-OS 114A装载到执行隔离系统中。步骤302的请求可以从操作系统120、控制台端口或管理域控制器150接收。

在步骤304中,从仓库取回漏洞简档。该漏洞简档对应于应用-OS114A,并且指明针对应用与操作系统的这一组合的一个或多个已知漏洞。

在步骤306中,该处理使得应用-OS 114A在隔离环境中执行。例如,应用-OS 114A被装载到执行隔离系统108中并且在受控执行空间112A中被执行。

在步骤308中,检测操作异常的发生。例如,步骤308涉及漏洞监视代理110检测到已经发生异常,例如页面出错、试图访问被禁止的存储器、试图访问被禁止的端口等。

当检测到异常的发生时,在一个实施例中,该处理基于漏洞简档之一来确定对应用-OS的修补行为,并且促成修补行为。例如,在步骤310中,该处理在所存储的漏洞简档中查找定义所检测到的异常的信息。在一个实施例中,漏洞监视代理110从漏洞简档102中取回与所检测到的异常相匹配的信息。

在步骤312中,标识相应的限制策略。例如,漏洞监视代理110从漏洞简档102取回与所检测到的异常相匹配的限制策略。

在步骤314中,基于所取回的限制策略来限制一个或多个应用行为或操作系统行为。例如,漏洞监视代理配置受控执行空间112A或主机计算机106的其他资源来防止对主机计算机资源、网络资源、带宽、端口等的访问。可替换地,可以执行该文献中所标识的其他限制中的任何限制。结果,已经引起异常的OS-应用114A不能感染其他资源,引起级联应用崩溃,或者在其他应用、系统或资源之间传播有害的功能。此外,基于当前的操作背景(即,当前的应用、操作系统和漏洞的特定组合)来执行有关限制的决定。

图4是用于基于所保存的数据和网络背景触发来对虚拟化的操作系统和应用重新进行镜像的方法的流程图。图4的方法表示图3的替换例,当应用-OS变得被损坏或不稳定时可以使用。因此,图4的步骤302至步骤306根据以上对图3的描述进行。然而,在步骤306之后,在步骤402中,系统检测到镜像损坏的发生。例如,漏洞监视代110检测到OS-应用镜像114A已经被损坏。在一个实施例中,漏洞监视代110通过运行中的镜像计算新的数字签名并且将新的数字签名与应用-OS仓库104中所存储的受信数字签名相比较。如果签名不匹配,则漏洞监视代理110检测到运行中的镜像被损坏。

作为响应,在步骤404中,该处理将OS-应用114A所创建的数据拷贝到仓库,例如共享数据仓库116。步骤404用来保存OS-应用114A所创建的数据,使得随后的重启可以继续正确的操作。

在步骤406中,该处理请求重新镜像系统来擦除OS-应用114A并且对OS-应用重新进行镜像。例如,漏洞监视代110请求重新镜像系统160替换OS-应用114A。作为响应,重新镜像系统160使得OS-应用114A从受控执行空间112A中被擦除,从应用-OS仓库104取回替换镜像,并且将替换镜像传送给受控执行空间112A。在步骤408中,步骤404所存储的数据从仓库被取回并且被插入受控执行空间112A中校正后的镜像中。因此,新的OS-应用镜像与之前创建的数据重新结合。前述功能可以由执行隔离系统108、漏洞监视代理110和重新镜像系统160结合执行,或者这些功能单元中的一个可以具有唯一的执行重新镜像的职责。

在步骤410中,该处理请求OS和应用重启。在一个实施例中,虚拟机监视器控制每个虚拟机的分配和供应,并且触发BIOS重启动(reboot)。结果,损坏的OS-应用镜像被停止并且OS-应用被重启。因此,主机计算机108受到保护并且OS-应用镜像的损坏不会散播到主机计算机上的其他应用或该主机计算机所耦合到的其他主机、应用、系统或网络。

4.0实现机制-硬件概述

图5是图示出可以实现本发明实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其他通信机制,以及与总线502相耦合的用于处理信息的处理器504。在图5中,处理器504宽泛地表示单处理器和单核心或者多处理器和多核心中的任一者。计算机系统500还包括主存储器505,主存储器506例如是随机存取存储器(“RAM”)或其他动态存储设备,其耦合到总线502,用于存储信息和处理器504要执行的指令。主存储器506还可以用来在要由处理器504执行的指令的执行期间,存储临时变量或其他中间信息。计算机系统500还包括只读存储器(“ROM”)508或其他静态存储设备,其被耦合到总线502,用于存储用于处理器504的静态信息和指令。设有存储设备510(例如,磁盘或光盘),其耦合到总线502以用于存储信息和指令。

计算机系统500可以经由总线502耦合到显示器512(例如,阴极射线管(“CRT”)),显示器512用于向计算机用户显示信息。输入设备514(包括字母数字和其他键)耦合到总线502,用于向处理器504传送信息和命令选择。另一种类型的用户输入设备是光标控制器516,例如鼠标、轨迹球、指示笔或光标方向键,其用于向处理器504传送方向信息和命令选择并且用于控制显示器512上的光标移动。该输入设备通常具有两个轴上(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,使得设备可以指定平面中的位置。

本发明与用于基于网络背景触发来激活虚拟化的操作系统和应用的计算机系统500的使用有关。根据本发明一个实施例,响应于处理器504执行主存储器506中所包含的一个或多个指令的一个或多个序列,由计算机系统500提供以下情况:基于网络背景触发来激活虚拟化的操作系统和应用。这些指令可以是从诸如存储设备510之类的另一计算机可读介质被读入主存储器506的。主存储器506中所包含的指令序列的执行使处理器504执行这里所述的处理步骤。在可替换实施例中,硬连线电路可以用来替换软件指令或与之结合来实现本发明。因此,本发明实施例不限于硬件电路和软件的任何具体组合。

这里使用的术语“计算机可读介质”是指参与向处理器504提供指令以用于执行的任何介质。这样的介质可以采用许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,例如存储设备510。易失性介质包括动态存储器,例如主存储器506。传输介质包括同轴电缆、铜线和光纤,包括包含总线502的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信中所生成的那些。

计算机可读介质的常见形式例如包括:软盘、软磁盘、硬盘、磁带或任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡片、纸带、任何其他具有孔图案的物理介质,RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或存储器盒,如后所述的载波,或者其他计算机可以读的任何其他介质。

在将一个或多个指令的一个或多个序列运送给处理器504以用于执行时可涉及各种形式的计算机可读介质。例如,最初可在远程计算机的磁盘上承载这些指令。远程计算机可以将指令装载到它的动态存储器中并且使用调制解调器通过电话线路来发送指令。计算机系统500本地的调制解调器可以接收电话线路上的数据,并且使用红外发射机将数据变换成红外信号。红外检测器可以接收红外信号中所承载的数据并且适当的电路可以将数据放在总线502上。总线502将数据运送给主存储器506,处理器504从主存储器506取回指令并且执行指令。由主存储器506接收到的指令可以在被处理器504的执行之前或之后可选地存储在存储设备510上。

计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,网络链路520耦合到本地网络522。例如,通信接口518可以是提供与相应类型的电话线路的数据通信连接的综合业务数字网络(“ISDN”)卡或调制解调器。作为另一示例,通信接口518可以是提供与可兼容的LAN的数据通信连接的局域网(“LAN”)卡。还可以实现无线链路。在任何这样的实现中,通信接口518发送和接收承载表示各种信息的数字数据流的电信号、电磁信号或光信号。

网络链路520通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路520可以通过本地网络522提供与主机计算机524的连接或者与因特网服务提供商(“ISP”)526所操作的数据设备的连接。ISP 526又通过世界范围的分组数据通信网络(现在,通常称为“因特网”528)来提供数据通信服务。本地网络522和因特网528两者使用承载数字数据流的电信号、电磁信号或光信号。通过各种网络的信号和在网络链路520上并通过通信接口518的信号是传送信息的载波的示例性形式,这些信号承载去往和来自计算机系统500的数字数据。

计算机系统500可以通过(一个或多个)网络、网络链路520和通信接口518来发送消息并接收数据(包括程序代码)。在因特网示例中,服务器530可以通过因特网528、ISP 526、本地网络522和通信接口518发送应用程序的所请求的代码。根据本发明,一种这样下载的应用提供如这里所述的以下情况:基于网络背景触发来激活虚拟化的操作系统和应用。所接收的代码可以在其被接收到时由处理器504执行,和/或存储在存储设备510中,或其他非易失性存储装置中以用于稍后执行。以这种方式,计算机系统500可以获得载波形式的应用代码。

5.0扩展和替换

在前述说明中,已经参考本发明的具体实施例描述了本发明。然而,显然,可以对其进行各种修改和变化而不脱离本发明更广的精神和范围。因此,说明书和附图应被视为是说明性的而非限制性的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号