用于检测克隆的虚拟机实例的方法和系统的制作方法
【专利摘要】本发明涉及一种用于检测克隆的虚拟机实例的方法和系统。所述方法包括:将与虚拟机关联的标识符从嵌入在所述虚拟机中的类似于恶意软件的代理传输到网络中的检测实体;判定所述标识符是否是唯一标识符或者所述标识符是否是与所述网络中的单独虚拟机关联的标识符的克隆;以及如果判定所述标识符是与所述网络中的单独虚拟机关联的标识符的克隆,则使用嵌入在所述虚拟机中的所述代理启动至少一个补救操作。
【专利说明】用于检测克隆的虚拟机实例的方法和系统
【技术领域】
[0001]本发明的实施例一般地涉及信息技术,更具体地说,涉及虚拟机(VM)管理。
【背景技术】
[0002]可以克隆或复制在云中运行的虚拟机(VM)。例如,系统管理员可能执行克隆,VM的客户或用户可能无意间执行克隆,或者攻击者可能恶意执行克隆。客户或用户通常旨在防止针对其VM进行任何未授权的VM克隆,因为这种克隆可以导致信息泄露,甚至隐私和/或机密泄漏。因此,需要限制由未授权的VM克隆引起的信息泄露。
【发明内容】
[0003]在本发明的一个方面,提供用于限制由于虚拟机克隆导致的信息泄露和剽窃的技术。一种用于检测克隆的虚拟机实例的示例性计算机实现的方法可以包括以下步骤:将与虚拟机关联的标识符从嵌入在所述虚拟机中的类似于恶意软件的代理传输到网络中的检测实体;判定所述标识符是否是唯一标识符或者所述标识符是否是与所述网络中的单独虚拟机关联的标识符的克隆;以及如果判定所述标识符是与所述网络中的单独虚拟机关联的标识符的克隆,则使用嵌入在所述虚拟机中的所述代理启动至少一个补救操作。如在此描述的,根据本发明的至少一个实施例,虚拟机中的所述代理的运行类似于恶意软件,使得尝试对VM映像进行未授权克隆的实体难以检测所述代理。
[0004]本发明的另一个方面或其元素可以以制品的形式实现,所述制品有形地包含计算机可读指令,当实现所述计算机可读指令时,导致计算机执行在此描述的多个方法步骤。此夕卜,本发明的另一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到所述存储器并且可操作以便执行所述方法步骤。更进一步,本发明的另一个方面或其元素可以以构件的形式实现以便执行在此描述的方法步骤或其元素;所述构件可以包括硬件模块(多个)或硬件和软件模块的组合,其中所述软件模块存储在有形的计算机可读存储介质(或多个此类介质)中。
[0005]从以下将结合附图阅读的对本发明的示例性实施例的详细描述,本发明的这些和其它目标、特性以及优点将变得显而易见。
【专利附图】
【附图说明】
[0006]图1是示出根据本发明的一个方面的一个实例实施例的框图;
[0007]图2是示出根据本发明的一个实施例的用于检测克隆的虚拟机实例的技术的流程图;以及
[0008]图3是其中可以实现本发明的至少一个实施例的示例性计算机系统的系统图。【具体实施方式】
[0009]如在此描述的,本发明的一个方面包括防止由于虚拟机(VM)克隆导致的信息泄露和剽窃,并且防止以未授权的方式重新实例化VM。本发明的至少一个实施例包括使用难以检测的恶意软件型代理检测VM是否是真正的VM或者是副本或克隆的VM,以及在检测到时通过恶意软件型代理停用克隆的VM的实例。
[0010]本发明的至少一个实施例可以在诸如以下实例情形之类的上下文中实现。客户或第三方运行跟踪唯一 VM的服务器。在云中运行的VM运行代理(在VM上),该代理定期或随机向服务器报告唯一标识符。因此,为了躲避希望在没有客户允许的情况下克隆VM的单独用户或实体的检测,本发明的一个方面包括以类似于恶意软件的方式运行代理(例如,附接到动态链接库(DLL)、在系统调用时被随机调用等)。如果网络访问被阻止,则正在运行的代理可以中断克隆的VM的工作。
[0011]因此,如结合图1进一步描述的,可以嵌入恶意软件式代理作为对网络中的所有VM的安全保护。因此,本发明的至少一个实施例可以包括当初次准备好虚拟机映像或者初次实例化虚拟机时,使用恶意软件技术。恶意软件型代理通常由第一虚拟机实例或映像的创建者安装。恶意软件型代理采取主动操作防止篡改(例如,通过在其执行期间在任意点检查其可执行代码的散列)。每个代理生成与其托管VM关联的唯一标识符(ID),并且每个代理定期(例如,以随机或预先指定的间隔)将所述ID发送到客户的服务器,这确保具有同一所述ID的其它VM不会同时运行。
[0012]另外如在此详述的,代理可以查询中央服务器或者形成对等网络以便查询标识符。
[0013]例如,代理可以查询中央服务器和/或对等网络,以便判定其中的任何实体是否具有类似ID的副本。因此,如果代理在克隆的VM上运行,并且如果定位/确定了相关ID的副本,则将采取补救操作。例如,在本发明的至少一个实施例中,克隆的VM上的代理对其托管VM进行自我销毁。
[0014]图1是示出根据本发明的一个方面的一个实例实施例的框图。举例来说,图1示出云环境102,其包括具有对应代理组件110的原始VM108和具有对应代理组件106的克隆的VM104。如在此所述的,代理组件110和106的运行与恶意软件类似或相似。图1另外示出服务器112,其可以包括中央服务器和/或对等网络,如在此详述的那样。
[0015]还如图1中所示,如果代理110向服务器112标识它自身(经由与托管VM108关联的唯一 ID),则服务器112确定和/或确认没有具有该特定ID的其它同时运行的VM。但是,如果代理106向服务器112标识它自身(经由与克隆的VM104关联的ID),则服务器112确定和/或确认具有该ID的VM (B卩,VM108)已经存在和/或正在同时运行,相应地,服务器112生成警报和/或启动一个或多个补救操作。例如,服务器112可以具有/维护已验证的ID列表,该列表可以用于此确定和/或比较。
[0016]在本发明的一个实例实施例中,云102的系统管理员可以在检测到克隆的VM104时终止克隆的VM104的代理。备选地,云102的系统管理员可以在检测到克隆的VM104时针对克隆的VM104阻止网络。
[0017]此外,本发明的至少一个实施例可以使用对等网络实现。在此类上下文中,代理可以搜索同一子网上的其它VM并且使用这些VM作为中继。举例来说,考虑未授权的VM上的代理想要与服务器通信;但是,VM的管理员可能已禁用直接从该VM与服务器的通信。因此,VM将尝试使用其它VM或服务器发现网络路径。可能实现该操作的一种方法是经由第一 VM所在的同一和/或不同网络中的各种VM形成对等网络。例如,考虑三个VM:V1、V2和V3。Vl未被授权。V2和V3连接到VI。Vl尝试与V2和V3通信,以便它(即,VI)可以使用服务器对自身进行授权。根据对等协议,V2或V3将其分组转发到服务器。
[0018]在另一种方法中,V2或V3将判定Vl是否被授权;V2和V3充当授权点,并且如果它们需要这样做或者有权这样做时,则将信息发送到服务器。
[0019]结合对等网络上下文,本发明的至少一个实施例可以包括共同体检测。在未由攻击者(即,预计克隆者)控制的系统中,例如服务器112可以替换一个或多个VM (检测对等VM)0相应地,对等网络形成和/或用于标识恶意/预计克隆者,并且通知该VM(S卩,被克隆者克隆的VM)进行自我销毁。
[0020]此外,在本发明的至少一个实施例中,对等网络可以与中央服务器(例如服务器112)共同存在,并且在检测到克隆的VM (例如,VM104)时,阻止克隆的VM (例如,VM104)与其代理(例如,代理106)通信,但探测对等网络并且标识代理可以与其通信的另一个VM。为了防止篡改恶意软件型代理,探测代理可以与多个代理联系并且进行多数票决。例如,恶意软件型代理的保守配置是如果它无法与中央服务器联系,则进行自我销毁。
[0021 ] 此外,在本发明的至少一个实施例中,一旦怀疑存在至少一个未授权的克隆VM,服务器和/或检测对等VM便会查询怀疑的VM以便证明其唯一身份。如果被怀疑的VM最终证明实际上是克隆的VM,则云的系统管理员可以终止克隆的VM的代理,或者系统管理员可以针对该代理和VM阻止网络(如上面详述的)。在对等网络上下文中,克隆的VM的代理可以如上面所述的,搜索同一子网上的其它VM并且使用其它VM作为中继。此外,克隆的VM的代理可以对其托管VM进行自我销毁。
[0022]根据本发明的至少一个实施例,当克隆VM (B卩,代理的托管VM)时创建代理,并且代理在每次实例化虚拟机映像之后处于活动状态。代理记录VM执行的/VM上的所有活动/操作,直到确定托管VM是克隆。如在此描述的,可以根据与每个VM关联的唯一 ID的使用来做出此类判定。做出此判定时,代理销毁所有日志记录以便删除其存在痕迹。
[0023]代理一经与服务器和/或对等网络中的检测对等VM联系并且验证VM实例是克隆,代理便会停止运行和/或对其托管VM进行自我销毁。如果它(B卩,代理)无法到达服务器和/或检测对等VM,则代理还可以对VM进行自我销毁或者采取任何其它补救操作。在本发明的至少一个实施例中,代理附加地将所有日志和配置信息发送到服务器和/或检测对等VM。尝试与服务器或对等网络(用于代理)联系的频率可以通过伪随机过程生成,并且频率可以随着代理发展的处理阶段而改变。
[0024]相应地,代理处理阶段可以包括以下项。初始地,代理在用户系统中的托管VM上运行(作为非内核进程)。如果代理无法与服务器和/或对等网络中的检测对等VM联系,则代理在操作系统(OS)层中运行。备选地,如果代理无法与服务器和/或检测对等VM联系,则代理以特权模式运行。进一步,在本发明的至少一个实施例中,如果代理无法与服务器和/或检测对等VM联系,则代理锁定VM (例如,通过调用屏幕保护锁定特性)和/或销毁它(即,自我销毁)。
[0025]一旦VM被解除锁定(例如,通过键或者通过系统管理员的操作),代理便会唤醒/重新激活并且将日志和配置信息发送到服务器。因此,服务器可以充当命令控制中心,其中代理作为自动程序。[0026]如在此详述的,本发明的一个方面包括启动和/或执行一个或多个补救操作。这些补救操作例如可以包括对代理或托管VM进行自我销毁,或者自动或手动关闭VM。进一步,补救操作还可以包括从中央服务器向提供者的系统管理员提供通知(例如,通过电子邮件),以便阻止特定用户或者将特定用户列入黑名单。此外,可以从(恶意软件)代理向用户提供通知(例如,通过电子邮件),以便阻止或避免特定用户或VM。
[0027]图2是示出根据本发明的一个实施例的用于检测克隆的虚拟机实例的技术的流程图。步骤202包括将与虚拟机关联的标识符从嵌入虚拟机中的类似于恶意软件的代理传输到网络中的检测实体。传输例如可以以随机频率、以预先指定的间隔和/或以与代理模式对应的频率进行。如在此详述的,代理使用至少一种恶意软件技术。
[0028]步骤204包括判定标识符是否是唯一标识符或者标识符是否是与网络中的单独虚拟机关联的标识符的克隆。判定步骤可以包括使用已验证的标识符列表以便与所传输的标识符相比较。此外,如在此描述的,检测实体可以包括中央服务器或者对等网络中的一个或多个检测对等虚拟机。
[0029]步骤206包括如果判定标识符是与网络中的单独虚拟机关联的标识符的克隆,则使用嵌入在所述虚拟机中的代理启动至少一个补救操作。补救操作可以包括如果代理无法在预定时间内到达网络,则代理进行自我销毁,以及自动或手动关闭与克隆的标识符关联的虚拟机(例如通过擦除虚拟机磁盘)。进一步,在本发明的至少一个实施例中,补救操作附加地可以包括向提供者的系统管理员或者虚拟机的原始所有者提供通知以便阻止与克隆的标识符关联的虚拟机,以及/或者向用户提供通知以便阻止与克隆的标识符关联的虚拟机。
[0030]图2中所示的技术另外可以包括将代理嵌入到网络中的每个虚拟机,以及针对网络中的每个虚拟机生成唯一标识符。
[0031]此外,在本发明的至少一个实施例中,检测实体包括中央服务器和/或对等网络。此类实施例还可以包括阻止与克隆的标识符关联的虚拟机与其代理通信,并且探测对等网络以便标识网络中代理可以与之通信的另一个虚拟机。
[0032]如在此描述的,图2中所示的技术还可以包括提供一种系统,其中所述系统包括不同的软件模块,每个不同软件模块包含在有形的计算机可读可记录存储介质中。例如,所有模块(或其任何子集)可以在相同介质中,或者每个模块可以在不同介质中。所述模块可以包括附图中示出和/或在此描述的任何或全部组件。在本发明的一个方面,所述模块例如可以在硬件处理器上运行。然后可以使用所述系统的不同软件组件(如上所述,在硬件处理器上执行)执行所述方法步骤。进一步,计算机程序产品可以包括有形的计算机可读可记录存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同的软件模块。
[0033]此外,图2中所示的技术能够通过可以包括计算机可用程序代码的计算机程序产品来实现,计算机可用程序代码存储在数据处理系统内的计算机可读存储介质中,并且其中计算机可用程序代码通过网络从远程数据处理系统下载。此外,在本发明的一个方面,计算机程序产品可以包括存储在服务器数据处理系统内的计算机可读存储介质中的计算机可用程序代码,并且其中计算机可用程序代码通过网络下载到远程数据处理系统,以便在远程系统的计算机可读存储介质中使用。[0034]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0035]本发明的一个方面或其元素可以以装置的形式实现,所述装置包括存储器和至少一个处理器,所述至少一个处理器耦合到存储器并且可操作以执行示例性方法步骤。
[0036]此外,本发明的一个方面可以使用在通用计算机或工作站上运行的软件。参考图3,这种实现例如可以采用处理器302、存储器304和输入/输出接口(例如,由显示器306和键盘308形成)。术语“处理器”如在此使用的,旨在包括任何处理设备,例如包括CPU (中央处理单元)和/或其它形式处理电路的处理设备。进一步,术语“处理器”可以指多个单独的处理器。术语“存储器”旨在包括与处理器或CPU关联的存储器,例如RAM (随机存取存储器)、ROM (只读存储器)、固定存储器件(例如,硬盘驱动器)、可移动存储器件(例如,软盘)、闪存等。此外,词组“输入/输出接口”如在此使用的,旨在包括例如用于将数据输入到处理单元的机构(例如,鼠标),以及用于提供与处理单元关联的结果的机构(例如,打印机)。处理器302、存储器304和输入/输出接口(例如显示器306和键盘308)例如可以通过总线310互连,作为数据处理单元312的一部分。还可以例如通过总线310为网络接口314 (例如网卡,其可以用于与计算机网络连接)以及介质接口 316 (例如软盘或⑶-ROM驱动器,其可以用于与介质318连接)提供合适的互连。
[0037]因此,如在此描述的,包括用于执行本发明方法的指令或代码的计算机软件可以被存储在关联的存储器件(例如,ROM、固定或可移动存储器)中,并且当准备使用时,被部分或全部加载(例如,加载到RAM中)并由CPU实现。此类软件可以包括但不限于固件、驻留软件、微代码等。
[0038]适合于存储和/或执行程序代码的数据处理系统将包括至少一个通过系统总线310直接或间接连接到存储元件304的处理器302。存储元件可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓存存储器。
[0039]输入/输出或I/O设备(包括但不限于键盘308、显示器306、指点设备等)可以直接(例如通过总线310)或通过中间I/O控制器(为清楚起见而被省略)与系统相连。
[0040]网络适配器(例如网络接口 314)也可以被连接到系统以使数据处理系统能够通过中间专用或公共网络变得与其它数据处理系统或远程打印机或存储器件相连。调制解调器、电缆调制解调器和以太网卡只是当前可用的网络适配器类型中的少数几种。
[0041]如在此(包括权利要求)使用的,“服务器”包括运行服务器程序的物理数据处理系统(例如,如图3中所示的系统312)。应当理解,此类物理服务器可以包括也可以不包括显示器和键盘。
[0042]如所述的,本发明的各个方面可以实现为在计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。此外,可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0043]计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0044]计算机可读介质上包含的程序代码可以用一个适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0045]可以以至少一种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0046]在此将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0047]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制品(article of manufacture)。因此,本发明的一个方面包括有形地包含计算机可读指令的制品,当计算机可读指令执行时,导致计算机执行在此描述的多个方法步骤。
[0048]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0049]附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、组件、程序段或代码的一部分,所述模块、组件、程序段或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0050]应当注意,在此描述的任何方法都可以包括提供一种系统的额外步骤,所述系统包括包含在计算机可读存储介质中的不同软件模块;所述模块例如可以包括在此详述的任何或全部组件。然后可以使用所述系统的不同软件模块和/或子模块(如上所述,在硬件处理器302上执行)执行所述方法步骤。进一步,计算机程序产品可以包括计算机可读存储介质,其具有适合于被执行的代码以便执行在此描述的至少一个方法步骤,包括为所述系统提供不同的软件模块。
[0051]在任何情况下,应当理解,在此示出的组件可以以各种形式的硬件、软件或它们的组合来实现,例如,专用集成电路(多个)(ASIC)、功能电路、具有关联存储器的经过适当编程的通用数字计算机等。给予了在此提供的本发明的教导后,相关【技术领域】的普通技术人员将能够构想本发明的组件的其它实现。
[0052]在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除其它特性、整数、步骤、操作、元素、组件和/或其组的存在或增加。
[0053]下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。
[0054]本发明的至少一个方面可以提供有益的效果,例如建立从不可信环境到可信环境/对等物的通信通道,并且与可信服务器/对等物通信以便确定其真实性。
[0055]出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属【技术领域】的普通技术人员来说许多修改和变化都将是显而易见的。在此使用的术语的选择,旨在最佳地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属【技术领域】的其它普通技术人员能理解在此所公开的实施例。
【权利要求】
1.一种用于检测克隆的虚拟机实例的方法,所述方法包括: 将与虚拟机关联的标识符从嵌入在所述虚拟机中的类似于恶意软件的代理传输到网络中的检测实体; 判定所述标识符是否是唯一标识符或者所述标识符是否是与所述网络中的单独虚拟机关联的标识符的克隆;以及 如果判定所述标识符是与所述网络中的单独虚拟机关联的标识符的克隆,则使用嵌入在所述虚拟机中的所述代理启动至少一个补救操作; 其中由计算机设备执行所述步骤中的至少一个。
2.根据权利要求1的方法,其中所述传输包括以随机频率传输。
3.根据权利要求1的方法,其中所述传输包括以预先指定的间隔传输。
4.根据权利要求1的方法,其中所述传输包括以与所述代理的模式对应的频率传输。
5.根据权利要求1的方法,其中所述判定包括使用已验证的标识符列表以便与所传输的标识符相比较。
6.根据权利要求1的方法,还包括: 将代理嵌入所述网络中的每个虚拟机。
7.根据权利要求1的方法,还包括: 针对所述网络中的每个虚拟机生成唯一标识符。
8.根据权利要求1的方法,其中所述代理使用至少一种恶意软件技术,其中所述至少一种恶意软件技术包括以下项中的至少一个:动态链接库链接、在系统和/或程序调用时随机调用。
9.根据权利要求1的方法,其中所述检测实体包括中央服务器。
10.根据权利要求1的方法,其中所述检测实体包括对等网络中的一个或多个检测对等虚拟机。
11.根据权利要求1的方法,其中所述检测实体包括一个或多个中央服务器和一个或多个对等虚拟机。
12.根据权利要求1的方法,其中所述至少一个补救操作包括如果所述代理无法在预定时间量内到达所述网络,则所述代理阻止网络连接并实现所述虚拟机的自我销毁。
13.根据权利要求1的方法,其中所述至少一个补救操作包括所述代理通过擦除虚拟机磁盘而自我销毁。
14.根据权利要求1的方法,其中所述至少一个补救操作包括自动或手动关闭与所克隆的标识符关联的虚拟机。
15.根据权利要求1的方法,其中所述至少一个补救操作包括向提供者的系统管理员提供通知以便阻止与所克隆的标识符关联的虚拟机。
16.根据权利要求1的方法,其中所述至少一个补救操作包括向用户提供通知以便阻止与所克隆的标识符关联的虚拟机。
17.根据权利要求1的方法,其中所述检测实体包括中央服务器和对等网络。
18.一种用于检测克隆的虚拟机实例的系统,所述系统包括被配置为执行权利要求1至17中的任一权利要求的方法步骤的装置。
【文档编号】G06F21/56GK103810426SQ201310553271
【公开日】2014年5月21日 申请日期:2013年11月8日 优先权日:2012年11月9日
【发明者】S·A·巴赛特, A·康杜, S·萨胡 申请人:国际商业机器公司