用于虚拟机中的恶意软件检测的过程评估的制作方法

文档序号:9635177阅读:288来源:国知局
用于虚拟机中的恶意软件检测的过程评估的制作方法
【专利说明】用于虚拟机中的恶意软件检测的过程评估
【背景技术】
[0001] 本发明涉及用于保护计算机系统不受恶意软件攻击的系统及方法,且尤其涉及使 用硬件虚拟化技术的反恶意软件系统。
[0002] 恶意软件(Malicioussoftware)(其英文简称为malware)影响世界范围内的大 量计算机系统。恶意软件以其众多的形式(例如,计算机病毒、懦虫及rootkits)对数以 百万计的计算机用户造成严重的威胁,使计算机用户易于丢失数据及敏感信息、身份盗用 及生产率损失等。
[0003] 硬件虚拟化技术允许通常被称作虚拟机的模拟计算机环境的创建,其在许多方面 表现为物理计算机系统。在典型应用(例如,服务器整合及基础结构即服务(IAAS))中,若 干虚拟机可同时在同一物理机上运行,共享它们之间的硬件资源,因此降低投资及操作成 本。每一虚拟机可独立于其它虚拟机而运行其自己的操作系统及/或软件应用程序。归因 于恶意软件的稳定增殖,在此环境中操作的每一虚拟机潜在地需要恶意软件保护。
[0004] 通常在所属领域中使用的虚拟化解决方案包括管理程序(还被称作虚拟机监视 器),其由在计算硬件与虚拟机的操作系统(0S)之间操作的软件层组成,且与相应0S相比 较具有更多处理器特权。由于一些恶意软件(例如,rootkits)以0S特权级操作,因此开 发以管理程序的特权级执行的反恶意软件解决方案是有利的。

【发明内容】

[0005] 根据一个方面,主机系统包括至少一个处理器,所述主机系统经配置以执行:管理 程序,其经配置以公开虚拟机;过程评估器,其在所述虚拟机内执行;存储器自省引擎,其 在所述虚拟机的外部执行;及过程评分模块。所述过程评估器经配置以确定在所述虚拟机 内执行的被评估过程是否执行动作,且作为响应,当所述被评估过程执行所述动作时,将第 一过程评估指示符传输到所述过程评分模块,所述第一过程评估指示符是针对所述被评估 过程确定。所述存储器自省引擎经配置以拦截对操作系统功能的调用,以检测在所述虚拟 机内执行的受保护过程的启动,其中所述操作系统功能经配置以将所述受保护过程添加到 在所述虚拟机内执行的过程列表,且响应于检测到所述启动,确定所述被评估过程是否尝 试修改所述受保护过程的存储器页,且作为响应,当所述被评估过程尝试修改所述存储器 页时,将第二过程评估指示符传输到所述过程评分模块,所述第二过程评估指示符是针对 所述被评估过程确定。所述过程评分模块经配置以接收所述第一及第二过程评估指示符, 且作为响应,根据所述第一及第二过程评估指示符来确定所述被评估过程是否为恶意的。
[0006] 根据另一方面,一种非暂时性计算机可读媒体编码指令,所述指令当在包括至少 一个处理器的主机系统上执行时导致所述主机系统形成:管理程序,其经配置以公开虚拟 机;过程评估器,其在所述虚拟机内执行;存储器自省引擎,其在所述虚拟机的外部执行; 及过程评分模块。所述过程评估器经配置以确定在所述虚拟机内执行的被评估过程是否执 行动作,且作为响应,当所述被评估过程执行所述动作时,将第一过程评估指示符传输到所 述过程评分模块,所述第一过程评估指示符是针对所述被评估过程确定。所述存储器自省 引擎经配置以拦截对操作系统功能的调用,以检测在所述虚拟机内执行的受保护过程的启 动,其中所述操作系统功能经配置以将所述受保护过程添加到在所述虚拟机内执行的过程 列表,且响应于检测到所述启动,确定所述被评估过程是否尝试修改所述受保护过程的存 储器页,且作为响应,当所述被评估过程尝试修改所述存储器页时,将第二过程评估指示符 传输到所述过程评分模块,所述第二过程评估指示符是针对所述被评估过程确定。所述过 程评分模块经配置以接收所述第一及第二过程评估指示符,且作为响应,根据所述第一及 第二过程评估指示符来确定所述被评估过程是否为恶意的。
[0007] 根据另一方面,一种方法包括使用主机系统的至少一个处理器以接收针对被评估 过程而确定的第一过程评估指示符,所述被评估过程在由在所述主机系统上执行的管理程 序公开的虚拟机内执行。所述方法进一步包括使用所述至少一个处理器以接收针对所述 被评估过程而确定的第二过程评估指示符,且响应于接收到所述第一及第二过程评估指示 符,使用所述至少一个处理器以根据所述第一及第二过程评估指示符来确定所述被评估过 程是否为恶意的。确定所述第一过程评估指示符包括使用在所述虚拟机内执行的过程评估 器来确定所述被评估过程是否执行第一动作。确定所述第二过程评估指示符包括使用在所 述虚拟机的外部执行的存储器自省引擎来确定所述被评估过程是否执行第二动作。
[0008] 根据另一方面,一种方法包括使用主机系统的至少一个处理器以执行存储器自省 引擎,所述存储器自省引擎在由在所述主机系统上执行的管理程序公开的虚拟机的外部执 行,其中执行所述存储器自省引擎包括检测在所述虚拟机内执行的过程的启动。所述方法 进一步包括响应于所述存储器自省引擎检测到所述过程的所述启动,使用所述至少一个处 理器以确定所述过程的第一及第二过程评估指示符。所述方法进一步包括响应于确定所述 第一及第二评估指示符,使用所述至少一个处理器以根据所述第一及第二过程评估指示符 来确定所述过程是否为恶意的。
【附图说明】
[0009] 在阅读以下详细描述后及在参考图式后就将更好地理解本发明的前述方面及优 点,在图式中:
[0010] 图1展示根据本发明的一些实施例的受保护而不受恶意软件攻击的主机计算机 系统的示范性硬件配置。
[0011] 图2展示根据本发明的一些实施例的由在图1的所述主机系统上执行的管理程序 公开的虚拟机的示范性集合,及结合存储器自省引擎操作以保护虚拟机的安全应用程序。
[0012] 图3说明在各种处理器特权级的主机系统上执行的软件对象的示范性阶层,包含 根据本发明的一些实施例的反恶意软件对象的集合。
[0013] 图4展示根据本发明的一些实施例的接收由多个过程评估器针对过程而确定的 多个过程评估指示符的示范性过程评分模块。
[0014] 图5展示根据本发明的一些实施例的由图4的过程评分模块执行的示范性步骤序 列。
[0015] 图6展示根据本发明的一些实施例的图2的系统配置中的存储器地址的示范性映 射。
[0016] 图7说明在Windows?环境中的过程的集合的示范性执行流程。实线箭头指示在 不存在反恶意软件系统的情况下的示范性执行流程。虚线箭头指示对所述执行流程的修 改,所述修改由根据本发明的一些实施例而操作的多个过程评估器引入。
[0017] 图8说明根据本发明的一些实施例由图2到3的存储器自省引擎执行的示范性步 骤序列。
[0018] 图9展示根据本发明的一些实施例的由存储器自省引擎执行以保护存储器页的 示范性步骤序列。
[0019] 图10说明包括经由计算机网络连接到安全服务器的多个主机系统的示范性配 置。
[0020] 图11展示根据本发明的一些实施例的主机系统与安全服务器之间的示范性反恶 意软件事务。
【具体实施方式】
[0021] 在以下描述中,应理解,结构之间的所有列举的连接可为直接操作连接或通过中 介结构的间接操作连接。元件集合包含一或多个元件。元件的任何列举应被理解为是指至 少一个元件。多个元件包含至少两个元件。除非另有要求,否则任何所描述的方法步骤未 必需要按所说明的特定顺序执行。来源于第二元件的第一元件(例如,数据)涵盖等于第 二元件的第一元件,以及通过处理第二元件而产生的第一元件及任选的其它数据。根据参 数做出确定或决定涵盖根据参数且任选地根据其它数据做出确定或决定。除非另有指定, 否则一些数量/数据的指示符可为所述数量/数据自身,或为与所述数量/数据自身不同 的指示符。除非另有指定,否则过程表示计算机程序的例子,其中计算机程序为确定计算机 系统以执行指定任务的指令序列。除非另有指定,否则页代表个别地映射到计算机系统的 物理存储器的虚拟化物理存储器的最小单元。计算机可读媒体涵盖例如磁性、光学及半导 体存储媒体(例如,硬盘驱动器、光盘、块闪存储器、DRAM)的非暂时性媒体,以及例如导电 电缆及光纤链路的通信链路。根据一些实施例,本发明尤其提供包括硬件(例如,一或多 个处理器)以及计算机可读媒体的计算机系统,所述硬件经编程以执行本文中所描述的方 法,所述计算机可读媒体编码指令以执行本文中所描述的方法。
[0022] 以下描述作为实例而未必作为限制来说明本发明的实施例。
[0023] 图1展示根据本发明的一些实施例的执行反恶意软件操作的主机系统10的示范 性硬件配置。主机系统10可表示公司计算装置(例如,企业服务器)或最终用户装置(例 如,个人计算机或智能电话等)。其它主机系统包含娱乐装置,例如,电视机及游戏机,或具 有支持虚拟化且需要恶意软件保护的存储器及处理器的任何其它装置。图1展示用于说明 性目的的计算机系统;其它客户端装置(例如,移动电话或平板计算机)可具有不同配置。 在一些实施例中,系统10包括物理装置的集合,其包含处理器12、存储器单元14、输入装置 16的集合、输出装置18的集合、存储装置20的集合及网络适配器22的集合,其全部由总线 24的集合连接。
[0024] 在一些实施例中,处理器12包括物理装置(例如,多核集成电路),其经配置以用 信号及/或数据集合来执行计算及/或逻辑运算。在一些实施例中,此类逻辑运算是以处理 器指令序列(例如,机器码或其它软件类型)的形式递送到处理器12。存储器单元14可包 括易失性计算机可读媒体(例如,RAM),其存储由处理器12在进行指令期间存取或产生的 数据/信号。输入装置16可包含计算机键盘、鼠标及麦克风等等,其包含允许用户将数据 及/或指令引入到系统10中的相应硬件接口及/或适配器。输出装置18可包含显示装置 (例如,显示器及扬声器等等),以及硬件接口 /适配器(例如,图形卡),其允许系统10向 用户传达数据。在一些实施例中,输入装置16及输出装置18可共享硬件的公用部分,在触 摸屏装置的情况下就是如此。存储装置20包含计算机可读媒体,其实现软件指令及/或数 据的非易失性存储、读取及写入。示范性存储装置20包含磁盘与光盘及快闪存储器装置, 以及可装卸式媒体(例如,⑶及/或DVD盘与驱动器)。网络适配器22的集合使系统10 能够连接到计算机网络及/或其它装置/计算机系统。总线24共同地表示多个系统、外围 设备及芯片集总线,及/或实现主机系统10的装置12到22的互相通信的所有其它电路。 举例来说,总线24可包括将处理器12连接到存储器14的北桥,及/或将处理器12连接到 装置16到22的南桥等等。
[0025] 图2展示根据本发明的一些实施例的在主机系统10上执行且由管理程序30公开 的客户虚拟机32a到b的示范性集合。虚拟机(VM)在所属领域中通常被称作实际物理机/ 计算机系统的软件模拟,其各自能够独立于其它VM而运行其自己的操作系统及软件。管理 程序30包括允许由主机系统10的硬件资源的多个虚拟机的多路复用(共享)的软件,例 如,处理器操作、存储器、存储、输入/输出及联网装置。在一些实施例中,管理程序30使多 个虚拟机及/或操作系统(0S)能够在主机系统10上同时运行,具有各种程度的隔离。为实 现此类配置,管理程序30的软件形成部分可产生多个虚拟化(即)经软件模拟的装置,每 一虚拟化装置模拟系统10的物理硬件装置,例如,处理器12及存储器14等等。管理程序 30可进
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1