CN101589364B - 保护代理和特权模式 - Google Patents

保护代理和特权模式 Download PDF

Info

Publication number
CN101589364B
CN101589364B CN200780050472.6A CN200780050472A CN101589364B CN 101589364 B CN101589364 B CN 101589364B CN 200780050472 A CN200780050472 A CN 200780050472A CN 101589364 B CN101589364 B CN 101589364B
Authority
CN
China
Prior art keywords
operating system
protection
privileged mode
virtual
machine monitor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200780050472.6A
Other languages
English (en)
Other versions
CN101589364A (zh
Inventor
E·托奥特
F·福尔茨
A·桑顿
S·辛哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN101589364A publication Critical patent/CN101589364A/zh
Application granted granted Critical
Publication of CN101589364B publication Critical patent/CN101589364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

本文描述了能够使得与保护代理相关联的操作系统存储器的一部分不可从操作系统特权模式更改或访问的工具。在某些实施例中,这些工具能够通过请求虚拟机监控程序保护该操作系统存储器部分来创建保护代理特权模式。在其他实施例中,这些工具能够通过将物理处理器虚拟化为其中至少一个是被设计成运行保护代理的保护代理虚拟处理器的多个虚拟处理器来创建保护代理特权模式。通过使得该操作系统存储器部分不可从操作系统特权模式更改或访问,保护代理可较不易受到在操作系统特权模式中操作的实体的攻击。

Description

保护代理和特权模式
背景
计算设备中的处理器通常包括特权和非特权模式。以特权模式运行的软件一般能够执行处理器所支持的每一条指令。通常,操作系统内核在特权模式中运行,该模式有时被称为“环0”、“管理员模式”或“内核模式”。
相反,可约束在计算设备上运行的某些软件仅以非特权模式运行。该模式一般允许软件执行处理器的指令的子集。操作系统由此可使用该非特权模式来限制以该模式运行的软件的活动。例如,软件可被限于计算设备的存储器的特定子集。该非特权模式有时被称为“环3”或“用户模式”。一般而言,计算设备用户应用程序以该非特权模式操作。
如果软件应用程序以该非特权模式操作,则该应用程序可请求访问无法直接从该非特权模式访问的存储器部分。该应用程序可能希望例如在该存储器部分中执行诸如“创建新文件”等操作。该请求通常经由将该非特权模式代码转换成特权模式代码的调用门或其他系统调用指令来路由。该转换确保非特权模式无法直接访问被指定为只可从特权模式访问的存储器。
根据这些模式,恶意代码的制作者可访问特权模式并安装改变计算设备的行为的恶意软件。该恶意软件可例如更改文件位置、隐藏文件、修改文件、改变键击等。这些恶意软件中的某一些可包括“rootkit”(根套件),其不仅改变计算设备的行为而且将其自身隐藏在特权模式的存储器中。在计算设备上运行的反病毒应用程序因此可能无法发现该隐藏的rootkit,由此允许该恶意软件继续其恶意行动。此外,这些恶意软件可如以下所讨论地遮蔽(patchover)操作系统的内置保护系统。
恶意软件制作者可访问特权模式并且以各种方式将恶意软件加载到计算设备上,包括通过欺骗计算设备用户不知不觉地将恶意软件安装到该用户自己的计算设备上。结果,当前操作系统通常采用一个或多个保护系统来检测这些恶意软件。这些保护系统通常监视某些重要的操作系统资源以检测对这些资源的任何改变。如果这一保护系统检测到这一改变,则该保护系统可判定该特定资源已被恶意软件感染。这些保护系统还可向用户的反病毒应用程序提供当前驻留在非特权模式的存储器中的应用程序的列表。当然,如果恶意软件成功隐藏,则它不会出现在所提供的列表上。此外,如果恶意软件成功遮蔽保护系统,则该保护系统可能无法运行或无法以其他方式检测对重要的操作系统资源的任何改变。
虽然这些保护系统可以是有效的,但它们也可具有几个弱点。第一,这些系统通常依赖于隐匿并由此容易在被恶意软件标识的情况下受到恶意利用。即,如果恶意软件解密了保护系统的身份并定位了该保护系统,则该恶意软件可禁用该保护系统本身。恶意软件制作者还可指示其他人如何做同样的事情。此外并且与第一个弱点有关,这些保护系统一般在与操作系统相同的保护范围内操作(例如,在特权模式自身中)。因此,如果恶意软件获得对特权模式的访问权并且能够去除隐匿保护系统的屏蔽,则保护系统自身容易受到攻击。最后,这些保护系统与操作系统或特权模式同时初始化。因此,如果恶意软件或恶意软件制作者在该初始化之前获得对计算设备的控制,则它或他可防止保护系统初始化。
概述
本文描述了能够使得保护代理能从不可从操作系统特权模式访问的存储器中确定操作系统的一个或多个资源是否已被修改的工具。在某些实施例中,这些工具可使得保护代理能够驻留在虚拟机监控程序中。在其他实施例中,这些工具可使得保护代理能够驻留在由虚拟机监控程序提供的不同的虚拟分区中。通过在操作系统特权模式之外操作,保护代理可较不易受到在操作系统特权模式中操作的实体的攻击。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如,术语“工具”可以指上述上下文和通篇文档所准许的系统、方法、计算机可读指令、和/或技术。
附图简述
图1示出了工具的各个实施例可在其中操作的示例性操作环境。
图2展示了图1所示模块的不同的计算设备存储器权限。
图3表示图1所示模块中的某一些驻留在其中的计算设备存储器的不同部分。
图4是示出虚拟机监控程序可保护与保护代理相关联的存储器部分并设置定时器以运行该代理的示例性方式的流程图。
图5示出了具有能够将物理处理器虚拟化为多个操作系统虚拟处理器和保护代理虚拟处理器的虚拟机监控程序的示例性体系结构。
图6示出了图5的物理处理器在各虚拟处理器中可分配到多少带宽。
图7是示出工具可启用并运行驻留在不可从操作系统特权模式访问的存储单元的保护代理的某些方式的示例性过程。
图8是示出工具可更改虚拟机监控程序以启用并运行驻留在不可从操作系统特权模式访问的存储单元的保护代理的某些方式的示例性过程。
图9是示出工具可通过向虚拟机监控程序作出请求来创建保护代理特权模式的某些方式的示例性过程。
图10是示出工具可通过将真实计算机处理器虚拟化为其中至少一个用于运行保护代理的多个虚拟计算机处理器来创建保护代理特权模式的某些方式的示例性过程。
图11是示出工具可使得能够添加不存在于底层物理处理器上的特权模式的某些方式的示例性过程。
贯穿本公开和各附图,使用相同的标号来引用相同的组件和特征。
详细描述
概览
下文描述了能够以使得保护代理不可从操作系统特权模式更改或访问的方式操作该保护代理的工具。这些工具因此使得能够对保护代理本身进行保护,由此确保保护代理检测对重要的操作系统资源的更改的能力。另外,这些工具可响应于检测到资源更改或响应于所尝试的对保护代理本身的修改来关闭操作系统或操作系统特权模式。此外,这些工具可使得保护代理能够对操作系统资源强制实施不变性,而无需在此之后检测资源修改。
以下在标题为“示例性操作环境”的章节中阐明这些工具可在其中启用这些和其它动作的环境。之后是标题为“自主保护代理”的章节并且该章节包括两小节。标题为“虚拟机监控程序保护代理”的第一小节描述了保护代理可驻留在虚拟机监控程序中并在其中执行的一种示例性方式。这之后是标题为“虚拟分区保护代理”的另一小节,该小节描述了保护代理可居留在与操作系统的分区分开的虚拟分区中并在其中执行的一种示例性方式。
之后是标题为“自主保护代理特权模式”的另一章节并且该章节也包括两小节。第一小节描述了虚拟机监控程序定时器可将保护代理特权模式添加到底层处理器的一种示例性方式,并且标题为“向虚拟机监控程序作出的保护请求”。之后是标题为“保护代理虚拟处理器”的小节并且该小节描述了可创建保护代理特权模式的另一种方式,在这该实例中使用包括被配置成以保护代理特权模式运行保护代理的一个虚拟处理器在内的多个虚拟处理器。之后是标题为“工具的示例性使用”的章节并且该章节描述了在操作中的先前描述的工具的示例。最后,标题为“工具的其他实施例”的章节描述了其中这些工具可起作用的各种其他实施例和方式。包括这些章节标题和概述的本概览是出于方便读者的目的而提供的,而非旨在限制权利要求或所命名的各节的范围。
示例性操作环境
在详细描述这些工具之前,提供示例性操作环境的以下讨论来帮助读者理解可采用这些工具的各发明性方面的某些方式。以下描述的环境仅构成一个示例且并非旨在将这些工具的应用限于任一个特定操作环境。可使用其它环境而不背离所要求保护的主题的精神和范围。例如,虽然以下各章节以单个保护代理描述了各实施例,但也可利用多个保护代理。在某些实例中,这些保护代理可独立或并排运行。在这些实例中,保护代理通常只能够访问其相应分区内的存储器。此外,可同时利用以下所描述的各种技术。即,不同的保护代理可在相同的操作环境中利用不同的技术。
转向当前示例,图1在100处概括地示出了一个这样的示例性操作环境。该环境包括计算设备102,其本身包括一个或多个处理器104以及计算机可读介质106。计算机可读介质106包括虚拟机监控程序108(例如,管理程序),其可使得该一个或多个处理器能够虚拟化为多个虚拟处理器。虚拟机监控程序108还可启用多个虚拟分区。可使一个或多个虚拟处理器与每一个分区相关联,并在可用的物理处理器上调度这些虚拟处理器。如图所示,在某些实施例中,虚拟机监控程序可启用第一虚拟分区110和第二虚拟分区112。如以下所详细讨论的,这些分区可用于将操作系统功能与保护代理服务分开。
同样如图所示,计算机可读介质106还包括操作系统(OS)114以及一个或多个用户应用程序116。操作系统114向用户应用程序116提供操作系统服务118,由此允许这些应用程序在计算设备上运行。另外,一个或多个操作系统资源120驻留在操作系统上。示例性资源包括系统服务分派表(SSDT)、中断分派表(IDT)、全局描述符表(GDT)等。同样如图所示,操作系统可包括恶意软件122(即,具有恶意企图的代码),其可能已经以上述方式或以其他方式被加载到计算设备上。以下所讨论的一个或多个保护代理可检测恶意软件对操作系统资源作出的改变,并且响应于该检测来采取防御动作。如果代理作出这一判定,则该保护代理可关闭操作系统和/或计算设备或可采取其他抵抗动作。
在讨论了计算设备的结构之后,注意力现在转向存在于底层的一个或多个物理处理器104上的不同的特权模式。虚拟机监控程序特权模式124表示图1所示的最具特权模式。该特权模式可访问所有或基本上所有的设备资源和存储器。从虚拟机监控程序特权模式124,虚拟机监控程序可调度处理器并允许访问针对每一个虚拟分区的存储器区域。虽然在分区内运行的操作系统可能相信它控制着物理处理器的所有资源,但实际上它只控制如由虚拟机监控程序来确定的部分。
具有比虚拟机监控程序特权模式少的特权的操作系统特权模式126可访问所有操作系统资源120以及大多数或所有操作系统存储器。然而,该特权模式不可访问与诸如第二虚拟分区112等另一分区相关联的任何资源或存储器。然而,因为该特权模式一般可访问所有操作系统存储器,所以它有时被称为“具有特权的模式(PrivilegedMode)”。“环0”、“管理员模式”或“内核模式”也可描述该特权模式。如上所述,在操作系统特权模式126中运行的用户应用程序一般能够执行处理器所提供的除为虚拟机监控程序模式保留的指令之外的大多数指令。
该操作系统特权模式与有时被称为“非特权模式”、“环3”或简称为“用户模式”的用户特权模式128形成对比。同样如上所述,用户应用程序在从用户特权模式128操作时可能无法访问或更改与操作系统相关联的特定存储器。一般而言,计算设备用户应用程序在执行基本操作时以该用户特权模式操作。
除了上述模式之外,图1还示出了第二虚拟分区特权模式130和保护代理特权模式132。如将在以下详细讨论的,虽然一般不具有与虚拟机监控程序特权模式一样多的存储器访问权,但保护代理特权模式132可访问操作系统特权模式不可访问的存储器部分。由此,该特权模式可比操作系统特权模式更具特权,但比虚拟机监控程序特权模式所具有的特权少。
同样如将在以下详细描述的,第二虚拟分区特权模式一般可访问与第二虚拟分区112相关联的存储器。另外,该模式可访问第一虚拟分区。这一附加访问可例如允许驻留在第二虚拟分区中的保护代理扫描与第一虚拟分区及其对应操作系统相关联的存储器。该模式一般不可访问虚拟机监控程序,并且因此具有比虚拟机监控程序特权模式少的特权。然而,第二虚拟分区特权模式仍然可访问操作系统特权模式不可访问的存储器部分。
同时,图2示出了计算设备存储器权限200。该附图由此表示可由图1的模块访问的存储器数量。如图所示,以虚拟机监控程序特权模式124操作的虚拟机监控程序108在所示的所有模块中具有最多的存储器权限。事实上,该虚拟机监控程序驻留在存储器部分202中并且只有它可访问存储器部分202。接着,保护代理204(例如,图1所示保护代理中的任一个)以保护代理特权模式132操作并且可访问除了对应于虚拟机监控程序的部分202之外的所有存储器。然而,该保护代理可访问该保护代理本身驻留在其中的存储器部分206。
同时,操作系统114以操作系统特权模式126操作并且可访问除部分202和部分206之外的所有存储器。虽然操作系统可能无法访问与保护代理相关联的存储器部分206,但该操作系统及其相关联的特权模式可访问存储器部分208。该存储器部分208有时被称为内核存储器或操作系统的最低层组件,并且一般包含图1所示的资源。然而,即使恶意软件在存储器部分208中加载并操作,该恶意软件也无法访问与保护代理相关联的存储器部分206。
最后,图2示出用户应用程序116只可访问存储器部分210。这些用户应用程序和对应的用户特权模式不可访问与操作系统的最低层组件相关联的存储器部分208。使用该操作环境的概念,以下四个章节详细描述了可使得保护代理不可从操作系统特权模式更改或访问的各示例性方式。
自主保护代理
以下章节描述了能够从不可由在操作系统特权模式中操作的实体访问的存储器中确定一个或多个操作系统资源是否已被修改的工具。由此,这些工具可允许保护代理驻留在除了操作系统存储器本身的存储单元之外的存储单元。更具体而言,以下各小节描述了保护代理可如何驻留在虚拟机监控程序或自主虚拟分区中。
虚拟机监控程序保护代理
该小节描述了保护代理134可如何如图1所示地驻留在虚拟机监控程序本身中。因为操作系统特权模式无法访问虚拟机监控程序,所以该存储单元保护了保护代理免遭位于操作系统存储器中的恶意软件的攻击。为了从该存储单元进行操作,保护代理接收该保护代理134可监视的一个或多个操作系统资源120的标识。该标识可经由资源标识符136来接收。如图所示,操作系统可通过应用程序编程接口(API)调用来将该信息提供给虚拟机监控程序,或者该操作系统可以按清单138的形式来提供该信息。如上所述,这些资源可包括SSDT、IDT和GDT。
一旦保护代理接收到了资源标识,该保护代理134就将保护代理服务140扩展至操作系统114。这些保护代理服务一般包括:确定所标识资源中的任一个是否已被更改。如果作出这一判定,则保护代理或虚拟机监控程序可例如关闭操作系统。保护代理服务还可包括针对被标记为不可更改(例如,“只读”)的任何资源强制实施不变性。
采用这一体系结构开始于加载并初始化能够主存一个或多个操作系统的虚拟机监控程序。在该示例中,虚拟机监控程序主存单个操作系统114,该操作系统本身在虚拟机监控程序加载之后开始初始化。在操作系统初始化期间,与该操作系统的最低层组件相关联的存储器部分208(例如,内核)首先加载。操作系统资源120(例如,SSDT、GDT、IDT)中的部分或全部一般居留在该存储器部分208中。
在操作系统初始化之前或同时,保护代理134可开始从虚拟机监控程序中运行。如上所述,保护代理一般接收一组一个或多个操作系统资源的标识并确定所标识的资源中的一个或多个是否已被更改。注意,每一个所标识资源通常都包括处于多个存储单元的多个组件,保护代理可监视这些组件中的每一个以完全保护整个资源。例如,如果清单将SSDT标识为将要监视和保护的资源,则保护代理不仅保护实际表而且还保护SSDT的其他组件。例如,保护代理还可监视并扫描指向该表的存储单元的寄存器。此外,保护代理还可监视将SSDT的虚拟地址转换成物理地址的存储器转换数据结构(例如,页表)。如果保护代理无法这样做,则恶意代码可创建具有不同页表映射的另一张表(即,绕过SSDT本身)。
除了标识之外,保护代理还可接收指示该保护代理如何保护相应资源的保护属性。例如,保护代理可接收SSDT资源的标识以及相应的保护属性“只读”。该保护代理因此获悉SSDT应保持只读并由此不应被更改。“初始化只读”是另一可能的保护属性,其指示保护代理相应资源可在初始化期间写入一次,但在此之后该资源应保持只读。
保护代理既可主动也可被动地按多种方式接收资源的标识和资源保护属性。例如,操作系统可提供标识保护代理可监视的资源的经数字签名的清单。该经数字签名的清单可以按多种方式标识资源,诸如通过名称(例如,SSDT、IDT、GDT等)或通过将资源映射到存储器部分208中的对应存储单元的地址等。在后面的实例中,该清单可标识资源的来宾物理地址、来宾虚拟地址或系统物理地址。注意,在某些情况下,可将来宾物理地址映射到实际系统物理地址以便发现对应资源组件的实际物理地址。
在虚拟机监控程序或保护代理接收到清单之后,这些组件可确定该清单是否已被篡改或修改。如果虚拟机监控程序或保护代理作出这一判定,则该虚拟机监控程序或保护代理可选择使启动操作系统失败。另外,可使与资源列表相关联的加密无效,由此保护其安全性。
作为对清单的补充或替换,保护代理可经由对虚拟机监控程序的一个或多个应用程序编程接口(API)调用(例如,“超调用(hypercall)”)来接收资源和保护属性标识。在操作系统初始化时,该操作系统(以及或许操作系统的最低层组件208)可作出对虚拟机监控程序的超调用,从而将可监视和保护的特定资源通知给保护代理。这些超调用可以按与上述相同的方式来标识相关资源。同样如上所述,这些超调用还可标识资源的保护属性。
在利用经数字签名的清单以及一个或多个超调用的实施例中,保护代理可在操作系统引导之前或同时首先扫描清单中所标识的资源。在该初始扫描之后,操作系统然后可作出对虚拟机监控程序的超调用以指示保护代理确定该超调用所标识的页面是否已被更改。清单由此在每一次操作系统引导时标识要扫描的资源,而超调用在其相应初始化时标识要动态扫描的资源。
在标识了要监视的资源后,保护代理然后确定资源(例如,上述SSDT的所有部分)是否已被更改。保护代理还可对所标识的资源强制实施不变性。例如,保护代理可确保被指定为“只读”的任何资源都不变为“可写”。
为了以此方式监视并保护资源,在虚拟机监控程序中执行的代码可采用虚拟机监控程序侦听管理器(例如,图1的管理器146)。如果这样指示,则该侦听管理器可在所标识资源的各个组件上注册侦听。由于该注册,虚拟机监控程序中的保护代理现在可在作出访问或修改这些所标识资源的尝试的情况下接收侦听。由此,保护代理可校验和扫描所标识资源的各个组件。它还可主动阻止修改这些资源的尝试。
在某些实施例中,保护代理扫描资源并确定资源的初始状态以供在比较将来扫描的结果时使用。在其他实施例中,保护代理已经知道资源的初始状态以比较将来扫描的结果。在任何情况下,保护代理都可计算该初始状态的散列或校验和值。在该计算之后,保护代理在操作系统引导之前、之后或同时扫描资源。在扫描后,保护代理计算结果的散列或校验和,并将此与初始状态散列或校验和值进行比较。如果相等,则保护代理确定对应的资源尚未被更改。当然,保护代理可绕过散列或校验和值并改为直接将初始状态与扫描结果进行比较。
然而,如果值不同,则保护代理和/或虚拟机监控程序可采取一个或多个响应动作。首先,保护代理本身可关闭操作系统或操作系统特权模式,或者它可指示虚拟机监控程序来这样做。再一次,因为保护代理驻留在虚拟机监控程序中并且因为虚拟机监控程序主存操作系统,所以这两个组件能够关闭操作系统。此外,因为保护代理驻留在虚拟机监控程序中,所以即使从操作系统特权模式也无法篡改操作系统的关闭。
除了关闭操作系统之外,保护代理和/或虚拟机监控程序可首先向操作系统警告即将来临的关闭。虚拟机监控程序和操作系统之间的通信信道可允许这一通信。在替换实施例中,保护代理和/或虚拟机监控程序可向存储单元写入警告或发信号通知操作系统所监视的事件。
不考虑是否已给予警告,操作系统关闭可以是突然的或者优雅的。在前一种情况下,虚拟机监控程序可仅在获悉不同的散列或校验和值后立即关闭操作系统。在后一种情况下,虚拟机监控程序可给予操作系统一特定时间量来将其自身干净地关闭。此时,操作系统可例如关闭任何打开的文件并转储清除任何相应的数据。操作系统还可释放所分配的资源。此外,该关闭可利用两种方法。例如,如果虚拟机监控程序主存多个分区,则它可立即关闭具有不同的散列或校验和值的分区,同时允许其他分区干净地关闭。在任何情况下,关闭的方式可根据策略来配置并且可以是可调整的。
除了关闭和相应的警告之外,保护代理和/或虚拟机监控程序可响应于对所标识资源的不被允许的更改来采取后引导动作。例如,虚拟机监控程序和/或保护代理可在重新引导操作系统时将资源更改通知给操作系统。作为响应,操作系统可执行反病毒扫描以检测任何恶意软件是否的确驻留在诸如部分208(例如,内核)等操作系统存储器中。此外,虚拟机监控程序可将操作系统引导至安全模式中,或者操作系统本身可选择引导至安全模式中。同样响应于通知,操作系统可将其本身标识为已遭到攻击,并由此可不允许其本身访问其耦合的任何网络。
虚拟分区保护代理
保护代理(例如,图1的保护代理142)可驻留在单独的虚拟分区(例如,图1的第二虚拟分区112)中,而不是驻留在虚拟机监控程序本身中。在这些实施例中,该单独分区担当虚拟机监控程序的可信代表。保护代理142由此不可从操作系统特权模式访问。如上所述,虚拟机监控程序108允许这样的对计算设备102的虚拟化。虽然虚拟机监控程序可将计算设备虚拟化为任何数量的分区,但图1示出了主存操作系统的第一分区以及主存保护代理的第二分区。保护代理驻留在其中的第二虚拟分区在某些情况下可以是专用安全分区,其主要或唯一功能是运行保护代理。在其他实施例中,该第二虚拟分区可执行附加功能,诸如主存另一操作系统等。
驻留在第二虚拟分区中的保护代理142能够执行许多或所有与以上关于驻留在虚拟机监控程序中的保护代理134所描述的相同的功能。即,保护代理142可主动或被动地接收一个或多个操作系统资源120的标识。响应于该标识,该保护代理同样可扩展保护代理服务140,其一般包括确定所标识资源中的一个或多个是否已被更改,并且如果是则采取响应动作。这些服务还可包括强制实施指定资源的不变性。保护代理142可经由与上述技术类似的技术来执行这些功能。
如图所示,保护代理142可从第二虚拟分区特权模式130访问,但不可从操作系统特权模式126访问。由此,所得体系结构允许对保护代理本身进行保护以免遭位于操作系统中的任何恶意软件的攻击,即使该恶意软件驻留在与该操作系统的最低层组件相关联的存储器部分108中。
自主保护代理特权模式
本章节描述了能够使得与保护代理相关联的操作系统存储器部分不可从操作系统特权模式更改或访问,同时仍旧允许该存储器部分物理地驻留在操作系统物理存储空间中。这些工具由此创建自主保护代理特权模式,其可访问与保护代理相关联的存储器部分以及可在操作系统特权模式中访问的其余存储器部分。该特权模式因此比操作系统特权模式更具特权。
第一小节描述了能够通过请求虚拟机监控程序保护与保护代理相关联的存储器部分来创建保护代理特权模式的工具。同时,第二小节描述了允许通过将物理处理器虚拟化为包括用于运行保护代理的专用虚拟处理器在内的多个虚拟处理器来创建保护代理特权模式的工具。
向虚拟机监控程序作出的保护请求
本小节描述了保护代理可如何请求虚拟机监控程序保护与保护代理相关联的存储器并由此对保护代理本身进行保护。该保护导致保护代理144以保护代理特权模式132操作,如图1所示。如图所示,保护代理144在移位到保护代理特权模式之前最初可驻留在操作系统特权模式中。在以该后一特权模式操作时,该保护代理一般不会受到来自以操作系统特权模式126操作的实体的攻击的影响。
在以保护代理特权模式132操作时,实体具有比在以操作系统特权模式126操作的情况下稍多的特权,但所具有的特权仍然少于虚拟机监控程序特权模式124。如图2所示,以该特权模式操作的保护代理可访问除与该保护代理本身相关联的存储器部分206之外的与操作系统相关联的所有存储器。虚拟机监控程序108强制实施所添加的保护代理可访问性。
图3和4示出了创建该保护代理特权模式的示例性方式。图3描绘了所有或基本上所有计算设备存储器300。计算设备存储器300包括与操作系统特权模式(例如,内核)相关联的存储器部分302以及与用户特权模式相关联的存储器部分304。如图所示,存储器部分302还包括与保护代理144相关联的存储器部分306以及驱动程序加载在其中的存储器部分308。
如图4所示,创建保护代理特权模式132的过程400通过初始化存储器部分302(例如,内核)在动作1开始。在动作2,存储器部分306或保护代理144本身调用虚拟机监控程序108来请求该虚拟机监控程序保护与该保护代理相关联的存储器部分。在这样请求时,保护代理或对应的存储器要求不允许更改在操作系统特权模式中运行的代码或以其他方式接触该存储器部分306。保护代理还可向虚拟机监控程序108进行自我验证(例如,通过数字签名)。该存储器部分或保护代理本身还可请求虚拟机监控程序设置定时器并在该定时器到期时运行该保护代理。动作3表示虚拟机监控程序响应于该请求来保护该存储器免遭在操作系统特权模式中操作的实体的攻击并设置定时器。注意,因为与保护代理相关联的该存储器部分306现在是不可更改和/或不可从操作系统特权模式访问的,所以该保护代理现在驻留在保护代理特权模式中。
在动作4,驱动程序加载到存储器部分308中。注意,动作2的请求和动作3的相应保护一般在驱动程序加载到存储器中之前进行,因为恶意软件可能以驱动程序的形式存在。如在以下“对工具的示例性使用”章节中所讨论地,恶意软件制作者通常欺骗用户将恶意驱动程序安装到计算设备中。如果一个或多个恶意驱动程序的确在保护存储器部分306之前加载到存储器中,则这些恶意驱动程序可能遮蔽该请求以保护其本身。这一遮蔽将由此经由虚拟机监控程序阻碍保护代理的周期性运行,并因此阻碍保护代理特权模式的创建。然而,通过请求虚拟机监控程序在早期设置定时器,该过程确保在操作系统特权模式中运行的代码无法这样禁止保护代理的周期性运行。
同时,动作5可能在驱动程序已经被加载后的某一时刻进行。如图所示,动作5表示虚拟机监控程序定时器到期,并因此运行保护代理。在运行时,保护代理144执行与先前章节中所讨论的功能相似或相同的功能。同样如上所述,保护代理可响应于确定一个或多个所标识资源已被更改来采取动作。保护代理还可响应于来自在操作系统特权模式中操作的实体对保护代理或其对应存储器的访问或更改尝试来采取这一动作。
动作6表示保护代理在该保护代理完成运行时通知虚拟机监控程序。最后,动作7表示重复动作3、5和6。由此,虚拟机监控程序可重置其定时器并以诸如每100毫秒(ms)等周期性间隔运行保护代理。
通过在虚拟机监控程序处设置故障安全定时器,过程400由此消除了操作系统代码篡改与保护代理相关联的存储器部分的能力。由此,该过程确保保护代理将继续运行并且不会被在操作系统特权模式中行动的恶意软件遮蔽。相反,保护代理将在自主特权模式中运行,同时仍旧驻留在分配给操作系统的物理存储器中。
保护代理虚拟处理器
本小节描述了虚拟机监控程序可如何通过调度虚拟处理器运行保护代理144来创建保护代理特权模式。图5示出了包括将计算设备102虚拟化为各自包括一操作系统的两个分区的虚拟机监控程序108的体系结构500。如图所示,该示例中的计算设备包括两个真实处理器104(a)和104(b),虚拟处理器可在这两个处理器中的每一个上调度多个虚拟处理器。同样如图所示,虚拟机监控程序创建第一虚拟分区502和第二虚拟分区504。第一虚拟分区包括用于运行第一操作系统的第一虚拟处理器506。类似地,第二虚拟分区包括用于运行第二操作系统的第二虚拟处理器508。然而,在此实例中,虚拟机监控程序还包括用于运行诸如图1的保护代理144等保护代理的保护代理虚拟处理器510。
为了创建体系结构500,虚拟机监控程序首先加载并初始化。如图6所示,虚拟机监控程序然后虚拟化各个虚拟处理器并在这样做时,分配真实处理器带宽600。为了开始该虚拟化和分配,虚拟机监控程序在第一真实处理器上虚拟化第一虚拟处理器。在当前示例中,该虚拟化是在如图6所示的一对一的基础上完成的。即,只有该单个虚拟处理器506对应于真实处理器104(a),并且由此虚拟机监控程序将该真实处理器的所有带宽都分配给该虚拟处理器。虚拟机监控程序然后在第二真实处理器104(b)上虚拟化第二虚拟处理器508。然而,虚拟机监控程序保留第二真实处理器的带宽的某一部分,而不是在一对一基础上。同样如图6所示,虚拟机监控程序然后在第二真实处理器104(b)的其余带宽上虚拟化保护代理虚拟处理器510。
在第二真实处理器上操作的每一个虚拟处理器一般都在时间分片的基础上行动。即,第二虚拟处理器可在该第二虚拟处理器的操作挂起之前的某一时间量内在第二真实处理器上操作。此时,该第二真实处理器在某一其他时间量内切换到保护代理虚拟处理器的操作。例如,第二虚拟处理器可在第二真实处理器上操作90毫秒,此时该第二虚拟处理器的操作挂起并且保护代理虚拟处理器的操作开始10毫秒。保护代理虚拟处理器对于两个操作系统分区以及第一和第二虚拟处理器两者而言一般都是透明的。由此,两个操作系统都相信其对应的虚拟处理器对应于相应的真实处理器。
除了分配真实处理器带宽之外,虚拟机监控程序还管理每一个虚拟处理器都可访问的存储器部分。在当前示例中,第一虚拟处理器可访问与第一操作系统相关联的所有存储器。同时,第二虚拟处理器可访问除了与保护代理相关联的存储器部分之外的与第二操作系统相关联的所有存储器。仅保护代理虚拟处理器可访问除了分配给第二操作系统的存储器之外的与保护代理相关联的存储器部分。
此外,第一和第二虚拟处理器只具有更改其相关联存储器的能力。由此,操作其各自操作系统的虚拟处理器都无法更改与保护代理相关联的存储器部分。然而,保护代理虚拟处理器可更改与该保护代理相关联的存储器,并且在某些实施例中,也可更改与第二虚拟处理器相关联的存储器。
按照其程序化特性,保护代理虚拟处理器将周期性地运行保护代理。虽然在某些实例中保护代理虚拟处理器可运行其他应用程序,但当前示例示出了专用的保护代理虚拟处理器。由此,该虚拟处理器一般只用于周期性地运行保护代理。同样,保护代理可以按与上述保护代理相似或相同的方式执行与上述保护代理相似或相同的功能。
通过调度专用的保护代理虚拟处理器,虚拟机监控程序确保保护代理将在该处理器的控制下并以自主保护代理特权模式周期性地运行。此外,因为只有该保护代理虚拟处理器可访问与保护代理相关联的存储器部分,所以虚拟机监控程序保护该存储器免遭操作系统中的代码的攻击。因此,在操作系统特权模式中操作的恶意软件无法遮蔽保护代理及防止保护代理运行。由此,该技术基本上消除了操作系统篡改保护代理的能力。
对工具的示例性使用
在先前描述了能够确保对保护代理进行保护的工具之后,以下章节仅描述了这些工具在操作中的一个示例。首先,想象计算机用户在因特网上冲浪,并且同时在特定网站上冲浪,具有恶意企图的对话框在该用户的显示器上弹出。该对话框请求用户许可将某种恶意软件安装在该用户的计算机上。尽管该请求可以是直接的,但想象该对话框通常对该请求进行伪装。例如,该对话框可虚假地通知该用户他或她中奖了。在这样通知时,该对话框恶意地指示用户键击该对话框上的“OK”按钮以领取奖品。想象用户的确选择了OK按钮并且该用户选择继续所请求的操作而不管来自在计算设备上运行的软件(例如,反病毒应用程序)的一个或多个警告。
此时,计算设备开始安装包含恶意软件的驱动程序。如对于驱动程序一般是如此的,该恶意驱动程序被准予访问操作系统特权模式并加载到与该特权模式相关联的存储器(例如,内核)中。一旦在内核中加载,恶意驱动程序及其附随的恶意软件本质上具有对计算机的存储器和操作系统的全权委托(carteblanch)访问权。对于用户而言不幸的是,想象该恶意软件包括记录用户的键击的按键记录器。现在想象用户导航到他或她的银行网站并登入到他或她的银行账户。由于其记录键击的能力,按键记录器获悉该用户的银行账户密码并将该密码通过因特网发送到该恶意驱动程序的制作者。
使情况变得更糟糕地,想象该恶意软件是“rootkit”,即尝试主动对保护代理和用户的反病毒软件进行隐藏的恶意软件。在常规系统中,保护代理驻留在内核(即,在恶意软件可访问的存储器)中。因此,在这些常规系统中,恶意软件可访问保护代理并可尝试对该保护代理隐藏其本身。如果成功,则对于保护代理而言恶意软件将会看上去并不存在于内核中。因此,当用户的反病毒软件调用保护代理并请求存在于计算机的存储器中的所有应用程序的列表时,该恶意软件将不在其中。该不在其中致使反病毒软件没有能力知晓并移除恶意软件。此外,恶意软件可遮蔽保护代理,由此从根本上防止该保护代理运行。由此,保护代理可能无法注意到恶意软件是否更改任何操作系统资源。
然而,想象用户的计算设备上的保护代理驻留在存储器中或以不可从操作系统特权模式访问的模式运行,而不是如在常规系统中地驻留在内核中。因此,当恶意驱动程序加载到内核中时,它不可访问保护代理驻留在其中的存储器或保护代理运行的模式。因此,驱动程序及其附随恶意软件不可访问保护代理本身。恶意软件由此无法对保护代理隐藏其本身并因此也无法对反病毒软件隐藏其本身。因此,当反病毒软件向保护代理询问存在于计算机的存储器中的所有应用程序的列表时,所返回的列表包括恶意软件。反病毒软件然后将该代码识别为恶意软件并因此将其从用户的计算机设备中移除。此外,保护代理本身可注意到恶意软件是否更改操作系统资源并作为响应,可关闭用户的计算设备。
因此,通过驻留在存储器中或以不可从操作系统特权模式访问的模式运行,此处所描述的各实施例防止恶意软件对保护代理隐藏其本身或遮蔽保护代理。在以上示例中,用户的计算设备因此能够从该机器中移除恶意软件或者在某些实例中,在恶意软件更改重要资源时关闭系统。在任一种情况下,这些实施例都用于减少恶意软件期望造成损害的有效性。
工具的其它实施例
以上各章节描述了其中使得保护代理不可从操作系统特权模式更改或访问的几个特定示例。在本章节中,描述工具的其他实施例,诸如将不存在于底层处理器上的特权模式添加到处理器等。
这些示例性实施例作为图7到11的过程700到1100的一部分来描述。参考图1到6描述或示出的这些过程以及各示例性过程能以任何合适的硬件、软件、固件、或其组合来实现;在软件和固件的情况下,这些过程表示被实现为存储在计算机可读介质中并由一个或多个处理器执行的计算机可执行指令的操作集合。本章节中所描述的工具的这些实施例不旨在限制该工具或权利要求的范围。
参考图7,框702接收标识一个或多个操作系统资源的强制实施策略。可包括加密数据的该强制实施策略可经由经数字签名的清单或通过向操作系统展示应用程序编程接口(API)(例如,超调用)来接收。框704从不可从在操作系统特权模式中操作的实体访问的存储器中标识一个或多个操作系统资源。示例性资源包括系统服务分派表(SSDT)、中断分派表(IDT)和/或全局描述符表(GDT)。如上所述,该标识可以在虚拟机监控程序(例如,由图1的保护代理134)或单独的虚拟分区(例如,由图1的保护代理142)中进行。
同时,框706表示确定所标识资源中的任一个是否已被更改。同样,这可以在虚拟机监控程序或单独的分区中进行。如果框706确定所标识资源中的一个或多个的确已被更改,则框708响应于该判定来终止操作系统。最后,框710在重新引导操作系统时将非法操作通知给该操作系统。
图8示出了用于允许保护代理在虚拟机监控程序中运行的过程800。框802更改虚拟机监控程序侦听管理器以便有效地允许接收与操作系统资源相关联的存储器页或寄存器已被更改的指示。该资源可包括参考图7描述的资源中的一个,或者可以是另一操作系统资源。在任何情况下,框804接收标识操作系统资源以及可能的一个或多个其他操作系统资源的强制实施策略。同样,该标识可经由以上所讨论的各种技术来完成。如上所述,资源的保护属性(例如,“只读”或“初始化只读”)可伴随资源的标识。同时,框806表示接收与操作系统资源相关联的存储器页或寄存器的确已被更改的指示。作为响应,框808关闭操作系统特权模式以便有效地关闭与操作系统资源相关联的操作系统。在某些实例中,图1的虚拟机监控程序108可完成此对操作系统特权模式的关闭。
接着,图9描述了用于创建如图1所示的保护代理特权模式132的保护代理特权模式的示例性过程900。框902接收使得存储器的特定范围不可从操作系统特权模式更改或访问的请求。同样,虚拟机监控程序可接收该请求,该请求可源自该存储器范围本身或来自驻留在该存储器范围内的保护代理。框904保护该存储器范围并设置定时器以便周期性地运行驻留在该存储器范围内的保护代理。同样,虚拟机监控程序可设置这一定时器,该定时器可指示虚拟机监控程序以规律的间隔运行保护代理。
同时,框906接收描述操作系统资源的强制实施策略。同样,该强制实施策略和所描述的资源可以与上述强制实施策略和资源相似或相同。框908运行可由虚拟机监控程序实现的保护代理。判定框910询问操作系统资源是否已被更改。保护代理可通过以上文中所详述的方式起作用来作出该判定。如果框910的确确定已发生更改,则框912关闭操作系统。然而,如果未作出这一判定,则框914接收保护代理已完成运行的通知。在某些实例中且如上所述,保护代理本身可这样通知虚拟机监控程序。同时,框916表示在运行保护代理和不运行保护代理之间循环。最后,注意,虽然保护代理不运行,但虚拟机监控程序可响应于来自在操作系统特权模式中操作的实体对与该保护代理相关联的存储器范围的访问尝试来关闭操作系统。
图10示出了用于创建如图1所示的保护代理特权模式132的保护代理特权模式的另一示例性过程1000。框1002将真实计算机处理器虚拟化为多个虚拟计算机处理器。这些虚拟处理器可包括一个或多个操作系统虚拟处理器,其各自具有更改其自己的操作系统存储器并且如图6所示地使用真实处理器的处理带宽的一部分的特权。虚拟处理器还可包括至少一个保护代理虚拟处理器,其具有更改其自己的保护代理存储器并使用真实处理器的处理带宽的不同部分的特权。虽然所有虚拟处理器都可由虚拟机监控程序来调度,但保护代理虚拟处理器对于操作系统虚拟处理器可以是透明的。在某些实例中,操作系统虚拟处理器可能无法更改分配给保护代理虚拟处理器的存储器。此外,保护代理虚拟处理器可以是专用处理器,其主要或唯一目的是如上所述地使得保护代理执行。
接着,框1004使得保护代理虚拟处理器执行保护代理,该保护代理可有效地确定所述操作系统存储器部分是否已被更改。同时,框1006接收操作系统存储器的一部分已被更改的指示。作为响应,框1008关闭对应的操作系统。
最后,图11描绘了用于将特权模式添加到真实计算处理器的过程1100。框1102表示对存在于底层物理处理器上的一个或多个特权模式进行确定、标识或分类。这些特权模式一般由底层物理处理器本身来定义。无论如何,框1104添加不存在于底层物理处理器上的特权模式。在某些实例中,所添加的特权模式能够更改计算设备中与可由一个或多个现有特权模式更改的存储器部分不同的存储器部分。所添加的特权模式还能够添加并执行先前不存在或不可在底层处理器中执行的指令。
此外,存在于底层物理处理器上的一个或多个特权模式可包括用户特权模式和操作系统特权模式。在这些实施例中,所添加的特权模式可以比用户特权模式和操作系统特权模式两者都更具特权,比用户特权模式更具特权但比操作系统特权模式所具特权少,或者比用户和操作系统特权模式两者所具特权都少。最后,注意,添加特权模式的一个实例可包括以上述多种方式添加保护代理特权模式(例如,图1所示的保护代理特权模式132)。例如,保护代理及其相关联的存储器范围可请求使该存储器范围不可从在操作系统特权模式中操作的实体访问。虚拟机监控程序还可通过调度保护代理虚拟处理器运行保护代理来创建该特权模式。
结论
上述工具能够通过使保护代理能驻留在不可从操作系统特权模式访问的存储单元或者通过创建保护代理特权模式来使得保护代理不可从操作系统特权模式更改或访问。虽然已经用对结构特征和/或方法动作专用的语言描述了该工具,但是应该理解,在所附权利要求中定义的该工具不必限于所述的具体特征或动作。相反,这些具体特征和动作是作为实现该工具的示例性形式而公开的。

Claims (14)

1.一种对保护代理进行保护的方法,所述方法包括:
在以虚拟机监控程序特权模式操作的虚拟机监控程序(108)处接收(902)使得存储器范围(206、306)不可从操作系统特权模式(126)更改或访问的请求;
使得(904)所述存储器范围(206、306)不可从所述操作系统特权模式(126)更改或访问;以及
运行(908)驻留在所述存储器范围(206、306)内的保护代理(144),
其中,以保护代理特权模式操作的所述保护代理(144)被配置成接收(906)描述在由所述虚拟机监控程序创建的第一虚拟分区中操作的一个或多个资源(120)的强制实施策略,所述一个或多个资源可从所述操作系统特权模式(126)访问,并且响应于接收到所述强制实施策略,使用所述强制实施策略并且从驻留在由所述虚拟机监控程序创建的、不可从所述操作系统特权模式访问的第二虚拟分区中的所述存储器范围中确定(910)在所述第一虚拟分区中操作的所述一个或多个资源(120)中的一个或多个是否已被更改,所述保护代理特权模式比所述操作系统特权模式更有特权但比所述虚拟机监控程序特权模式的特权少。
2.如权利要求1所述的方法,其特征在于,还包括设置(904)定时器以运行所述保护代理(144)。
3.如权利要求2所述的方法,其特征在于,所述定时器指示所述虚拟机监控程序(108)以规律的间隔运行所述保护代理(144)。
4.如权利要求1所述的方法,其特征在于,还包括响应于由所述保护代理(144)确定所述一个或多个资源(120)中的一个或多个已被更改来关闭(912)与所述操作系统特权模式(126)相关联的操作系统(114)。
5.如权利要求1所述的方法,其特征在于,所述一个或多个资源(120)包括系统服务分派表(SSDT)、中断分派表(IDT)或全局描述符表(GDT)。
6.如权利要求1所述的方法,其特征在于,还包括在所述虚拟机监控程序(108)处并在所述运行(908)保护代理(144)之后接收(914)所述保护代理(144)已完成运行的通知。
7.如权利要求1所述的方法,其特征在于,还包括响应于来自所述操作系统特权模式(126)的对所述存储器范围(206、306)或所述保护代理(144)的访问尝试来关闭与所述操作系统特权模式(126)相关联的操作系统(114)。
8.如权利要求1所述的方法,其特征在于,还包括在所述运行(908)保护代理(144)和不运行所述保护代理(144)之间循环(916),从而使得所述保护代理(144)至少在其运行时不可从所述操作系统特权模式(126)更改或访问。
9.一种对保护代理进行保护的方法,包括:
将一个或多个真实计算处理器(104(a)、104(b))虚拟化(1002)为虚拟计算处理器(506、508、510),所述虚拟计算处理器(506、508、510)包括:
一个或多个操作系统虚拟处理器(506、508),所述操作系统虚拟处理器以虚拟机监控程序特权模式操作,与由虚拟机监控程序创建的第一虚拟分区相关联,并且各自具有更改其自己的操作系统存储器并使用以操作系统特权模式操作的所述一个或多个真实计算处理器(104(a)、104(b))的处理带宽(600)的一部分的特权;以及
至少一个保护代理虚拟处理器(510),所述保护代理虚拟处理器以保护代理特权模式操作,与由所述虚拟机监控程序创建的第二虚拟分区相关联,并且具有更改其自己的保护代理存储器并使用所述一个或多个真实计算处理器(104(a)、104(b))的处理带宽(600)的不同部分的特权;以及
使得(1004)所述保护代理虚拟处理器(510)执行保护代理(144),所述保护代理(144)有效地确定所述操作系统存储器的一部分是否已被更改;
其中,所述保护代理特权模式比所述操作系统特权模式更有特权但比所述虚拟机监控程序特权模式的特权少。
10.如权利要求9所述的方法,其特征在于,还包括:
接收(1006)所述保护代理(144)确定所述操作系统存储器的一部分已被更改的指示;以及
响应于接收到所述指示,关闭(1008)对应的操作系统(144)。
11.如权利要求9所述的方法,其特征在于,所述一个或多个操作系统虚拟处理器(506、508)无法更改所述保护代理存储器。
12.如权利要求9所述的方法,其特征在于,所述使得(1004)所述保护代理虚拟处理器(510)执行保护代理(144)包括使得所述保护代理虚拟处理器(510)以指定时间间隔执行所述保护代理(144)。
13.如权利要求9所述的方法,其特征在于,所述保护代理虚拟处理器(510)仅专用于执行所述保护代理(144)。
14.如权利要求9所述的方法,其特征在于,所述保护代理虚拟处理器(510)由虚拟机监控程序(108)来调度并且对于关联于所述操作系统存储器的操作系统(114)是透明的。
CN200780050472.6A 2007-01-25 2007-12-12 保护代理和特权模式 Active CN101589364B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/627,320 US8380987B2 (en) 2007-01-25 2007-01-25 Protection agents and privilege modes
US11/627,320 2007-01-25
PCT/US2007/087225 WO2008091452A1 (en) 2007-01-25 2007-12-12 Protection agents and privilege modes

Publications (2)

Publication Number Publication Date
CN101589364A CN101589364A (zh) 2009-11-25
CN101589364B true CN101589364B (zh) 2016-03-09

Family

ID=39644770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780050472.6A Active CN101589364B (zh) 2007-01-25 2007-12-12 保护代理和特权模式

Country Status (10)

Country Link
US (1) US8380987B2 (zh)
EP (1) EP2115570B1 (zh)
JP (2) JP5055380B2 (zh)
CN (1) CN101589364B (zh)
BR (1) BRPI0720921B1 (zh)
CL (1) CL2008000168A1 (zh)
ES (1) ES2683074T3 (zh)
RU (1) RU2468418C2 (zh)
TW (1) TWI475388B (zh)
WO (1) WO2008091452A1 (zh)

Families Citing this family (263)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8539582B1 (en) * 2004-04-01 2013-09-17 Fireeye, Inc. Malware containment and security analysis on connection
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US9027135B1 (en) 2004-04-01 2015-05-05 Fireeye, Inc. Prospective client identification using malware attack detection
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US7873955B1 (en) 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) * 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US7870387B1 (en) 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8352930B1 (en) 2006-04-24 2013-01-08 Mcafee, Inc. Software modification by group to minimize breakage
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US7765374B2 (en) 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8190778B2 (en) * 2007-03-06 2012-05-29 Intel Corporation Method and apparatus for network filtering and firewall protection on a secure partition
KR101396831B1 (ko) * 2007-03-30 2014-05-21 삼성전자주식회사 메모리 접근 제어 방법
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US9164784B2 (en) * 2007-10-12 2015-10-20 International Business Machines Corporation Signalizing an external event using a dedicated virtual central processing unit
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8515075B1 (en) 2008-01-31 2013-08-20 Mcafee, Inc. Method of and system for malicious software detection using critical address space protection
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US8776028B1 (en) * 2009-04-04 2014-07-08 Parallels IP Holdings GmbH Virtual execution environment for software delivery and feedback
US8341749B2 (en) * 2009-06-26 2012-12-25 Vmware, Inc. Preventing malware attacks in virtualized mobile devices
US8341627B2 (en) 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US8381284B2 (en) * 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8621460B2 (en) * 2009-11-02 2013-12-31 International Business Machines Corporation Endpoint-hosted hypervisor management
US9552497B2 (en) 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8495750B2 (en) 2010-08-31 2013-07-23 International Business Machines Corporation Filesystem management and security system
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
US20120144489A1 (en) * 2010-12-07 2012-06-07 Microsoft Corporation Antimalware Protection of Virtual Machines
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
CN103430185B (zh) * 2011-03-22 2016-10-26 瑞典爱立信有限公司 用于在虚拟化系统操作与非虚拟化系统操作之间切换的方法
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
US9038176B2 (en) * 2011-03-31 2015-05-19 Mcafee, Inc. System and method for below-operating system trapping and securing loading of code into memory
US9087199B2 (en) 2011-03-31 2015-07-21 Mcafee, Inc. System and method for providing a secured operating system execution environment
US8966624B2 (en) 2011-03-31 2015-02-24 Mcafee, Inc. System and method for securing an input/output path of an application against malware with a below-operating system security agent
US8925089B2 (en) 2011-03-29 2014-12-30 Mcafee, Inc. System and method for below-operating system modification of malicious code on an electronic device
US9262246B2 (en) * 2011-03-31 2016-02-16 Mcafee, Inc. System and method for securing memory and storage of an electronic device with a below-operating system security agent
US9317690B2 (en) 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
US8650642B2 (en) * 2011-03-31 2014-02-11 Mcafee, Inc. System and method for below-operating system protection of an operating system kernel
US9032525B2 (en) 2011-03-29 2015-05-12 Mcafee, Inc. System and method for below-operating system trapping of driver filter attachment
US8863283B2 (en) * 2011-03-31 2014-10-14 Mcafee, Inc. System and method for securing access to system calls
US20120255003A1 (en) * 2011-03-31 2012-10-04 Mcafee, Inc. System and method for securing access to the objects of an operating system
US8966629B2 (en) * 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US8959638B2 (en) 2011-03-29 2015-02-17 Mcafee, Inc. System and method for below-operating system trapping and securing of interdriver communication
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
GB2507226B (en) 2011-08-30 2020-04-22 Hewlett Packard Development Co Virtual high privilege mode for a system management request
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8782351B2 (en) * 2011-10-13 2014-07-15 International Business Machines Corporation Protecting memory of a virtual guest
US8788763B2 (en) * 2011-10-13 2014-07-22 International Business Machines Corporation Protecting memory of a virtual guest
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
CN102521531B (zh) * 2011-11-24 2014-11-12 华中科技大学 基于硬件虚拟化的密码保护系统
US9916454B2 (en) 2011-12-22 2018-03-13 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
US9372988B2 (en) 2011-12-22 2016-06-21 Intel Corporation User controllable platform-level trigger to set policy for protecting platform from malware
CN108959110B (zh) * 2011-12-29 2023-05-30 太浩研究有限公司 一种用于防止用户模式指令的管理员模式执行的处理器及其方法
US9519782B2 (en) 2012-02-24 2016-12-13 Fireeye, Inc. Detecting malicious network content
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US20130312099A1 (en) * 2012-05-21 2013-11-21 Mcafee, Inc. Realtime Kernel Object Table and Type Protection
US9405682B2 (en) * 2012-06-23 2016-08-02 Microsoft Technology Licensing, Llc Storage device access using unprivileged software code
EP4036721A1 (en) * 2012-06-26 2022-08-03 Lynx Software Technologies Inc. Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection prevention and further features
US8832837B2 (en) * 2012-06-29 2014-09-09 Mcafee Inc. Preventing attacks on devices with multiple CPUs
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9183161B2 (en) * 2012-12-28 2015-11-10 Intel Corporation Apparatus and method for page walk extension for enhanced security checks
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9170956B2 (en) * 2013-02-07 2015-10-27 Texas Instruments Incorporated System and method for virtual hardware memory protection
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9824209B1 (en) 2013-02-23 2017-11-21 Fireeye, Inc. Framework for efficient security coverage of mobile software applications that is usable to harden in the field code
US9009822B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9407505B2 (en) * 2013-03-04 2016-08-02 Amazon Technologies, Inc. Configuration and verification by trusted provider
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
WO2014142817A1 (en) * 2013-03-13 2014-09-18 Intel Corporation Managing device driver cross ring accesses
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
WO2014162302A1 (en) * 2013-04-05 2014-10-09 Ologn Technologies Ag Systems, methods and apparatuses for protection of antivirus software
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
US9542230B2 (en) * 2013-05-15 2017-01-10 Apple Inc. System and method for selective timer coalescing
RU2541120C2 (ru) 2013-06-06 2015-02-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных исполняемых файлов на основании сходства ресурсов исполняемых файлов
US9536091B2 (en) 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9117080B2 (en) * 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US10089461B1 (en) 2013-09-30 2018-10-02 Fireeye, Inc. Page replacement code injection
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9578052B2 (en) 2013-10-24 2017-02-21 Mcafee, Inc. Agent assisted malicious application blocking in a network environment
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
JP5963313B2 (ja) * 2013-12-19 2016-08-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、方法、及び、プログラム
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756069B1 (en) * 2014-01-10 2017-09-05 Trend Micro Inc. Instant raw scan on host PC with virtualization technology
US9507935B2 (en) * 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
RU2580030C2 (ru) * 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
WO2015176046A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization, hypervisor, apis of interest, and/or other features
WO2015176029A1 (en) 2014-05-15 2015-11-19 Lynx Software Technologies, Inc. Systems and methods involving features of hardware virtualization such as hypervisor, pages of interest, and/or other features
WO2016004263A1 (en) 2014-07-01 2016-01-07 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting, and/or other features
US9203855B1 (en) 2014-05-15 2015-12-01 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as hypervisor, detection and interception of code or instruction execution including API calls, and/or other features
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US11782745B2 (en) 2014-07-01 2023-10-10 Lynx Software Technologies, Inc. Systems and methods involving aspects of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, anti-fingerprinting and/or other features
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
RU2585978C2 (ru) * 2014-09-30 2016-06-10 Закрытое акционерное общество "Лаборатория Касперского" Способ вызова системных функций в условиях использования средств защиты ядра операционной системы
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10007546B2 (en) * 2015-01-19 2018-06-26 Vmware, Inc. Operating-system exchanges using memory-pointer transfers
US10445123B2 (en) 2015-01-19 2019-10-15 Vmware, Inc. Hypervisor exchange with virtual-machine consolidation
US10725770B2 (en) 2015-01-19 2020-07-28 Vmware, Inc. Hot-swapping operating systems using inter-partition application migration
US9779240B2 (en) * 2015-01-30 2017-10-03 Vmware, Inc. System and method for hypervisor-based security
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
GB2539436B (en) * 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10395029B1 (en) * 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
WO2017071763A1 (en) 2015-10-29 2017-05-04 Hewlett-Packard Development Company, L.P. Checking a security value calculated for a part of a program code
US9536088B1 (en) 2015-11-09 2017-01-03 AO Kaspersky Lab System and method for protection of memory in a hypervisor
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
DE102015223335A1 (de) * 2015-11-25 2017-06-01 Robert Bosch Gmbh Verfahren zum Betreiben eines Mikrocontrollers
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
RU2610228C1 (ru) * 2015-12-18 2017-02-08 Акционерное общество "Лаборатория Касперского" Система и способ выполнения запросов процессов операционной системы к файловой системе
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
RU2626350C1 (ru) * 2016-04-11 2017-07-26 Андрей Сергеевич Моляков Способ функционирования операционной системы вычислительного устройства программно-аппаратного комплекса
US10705867B2 (en) 2016-06-22 2020-07-07 Vmware, Inc. Hypervisor exchange with virtual machines in memory
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10387186B2 (en) 2017-06-28 2019-08-20 Vmware, Inc. Hypervisor with virtual-memory file system
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US10534730B1 (en) * 2018-12-20 2020-01-14 Ati Technologies Ulc Storing microcode for a virtual function in a trusted memory region
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
DE112020003881T8 (de) * 2019-08-16 2022-06-09 Fiduciaedge Technologies Co., Ltd. System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
CN112799776B (zh) * 2020-12-31 2022-03-25 科东(广州)软件科技有限公司 多分区操作系统监控方法、装置、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271313A2 (en) * 2001-06-19 2003-01-02 Hewlett Packard Company, a Delaware Corporation Performing secure and insecure computing operations in a compartmented operating system
CN1575453A (zh) * 2000-12-27 2005-02-02 英特尔公司 用于解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突的方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912628A (en) * 1988-03-15 1990-03-27 International Business Machines Corp. Suspending and resuming processing of tasks running in a virtual machine data processing system
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
GB2325061B (en) 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
RU2134931C1 (ru) 1999-03-15 1999-08-20 ОАО "Всероссийский научно-исследовательский институт автоматизации управления в непромышленной сфере" Способ обеспечения доступа к объектам в операционной системе мсвс
US7210040B2 (en) * 2000-07-14 2007-04-24 Computer Associates Think, Inc. Detection of suspicious privileged access to restricted computer resources
TW472190B (en) * 2000-09-08 2002-01-11 Inventec Corp Method for directly accessing mass storage under protection mode
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
US7631160B2 (en) 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
KR100389206B1 (ko) * 2001-04-25 2003-06-27 주식회사 성진씨앤씨 컴퓨터 운영 시스템 보호 방법 및 장치
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US7272832B2 (en) * 2001-10-25 2007-09-18 Hewlett-Packard Development Company, L.P. Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
JP4256107B2 (ja) 2002-03-07 2009-04-22 富士通株式会社 データサーバへの不正侵入対処方法、及びプログラム
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US20050160423A1 (en) * 2002-12-16 2005-07-21 Bantz David F. Enabling a guest virtual machine in a windows environment for policy-based participation in grid computations
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7496958B2 (en) * 2003-10-29 2009-02-24 Qualcomm Incorporated System for selectively enabling operating modes of a device
US20050114687A1 (en) * 2003-11-21 2005-05-26 Zimmer Vincent J. Methods and apparatus to provide protection for firmware resources
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7802250B2 (en) * 2004-06-28 2010-09-21 Intel Corporation Support for transitioning to a virtual machine monitor based upon the privilege level of guest software
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US8955104B2 (en) 2004-07-07 2015-02-10 University Of Maryland College Park Method and system for monitoring system memory integrity
US7757231B2 (en) 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7409719B2 (en) 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US8856473B2 (en) * 2005-07-01 2014-10-07 Red Hat, Inc. Computer system protection based on virtualization
AU2006100099A4 (en) 2006-02-08 2006-03-16 Pc Tools Technology Pty Limited Automated Threat Analysis System
US7765374B2 (en) 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575453A (zh) * 2000-12-27 2005-02-02 英特尔公司 用于解决在一个虚拟机监控器和一个客户操作系统之间的地址空间冲突的方法
EP1271313A2 (en) * 2001-06-19 2003-01-02 Hewlett Packard Company, a Delaware Corporation Performing secure and insecure computing operations in a compartmented operating system

Also Published As

Publication number Publication date
CL2008000168A1 (es) 2009-01-09
BRPI0720921B1 (pt) 2018-11-13
US8380987B2 (en) 2013-02-19
JP2010517162A (ja) 2010-05-20
EP2115570A4 (en) 2010-06-16
CN101589364A (zh) 2009-11-25
EP2115570B1 (en) 2018-06-13
TWI475388B (zh) 2015-03-01
JP5249450B2 (ja) 2013-07-31
BRPI0720921A8 (pt) 2017-01-17
JP5055380B2 (ja) 2012-10-24
TW200836064A (en) 2008-09-01
ES2683074T3 (es) 2018-09-24
JP2012198927A (ja) 2012-10-18
BRPI0720921A2 (pt) 2014-08-05
RU2009128673A (ru) 2011-01-27
WO2008091452A1 (en) 2008-07-31
EP2115570A1 (en) 2009-11-11
RU2468418C2 (ru) 2012-11-27
US20080184373A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
CN101589364B (zh) 保护代理和特权模式
CN101589365B (zh) 用于保护操作系统资源的方法
EP2766843B1 (en) System and method for kernel rootkit protection in a hypervisor environment
KR101946982B1 (ko) 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가
US9202046B2 (en) Systems and methods for executing arbitrary applications in secure environments
US10296470B2 (en) Systems and methods for dynamically protecting a stack from below the operating system
US7984304B1 (en) Dynamic verification of validity of executable code
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
WO2013055499A1 (en) System and method for kernel rootkit protection in a hypervisor environment
EP3308274B1 (en) Executing services in containers
Grill et al. “Nice Boots!”-A Large-Scale Analysis of Bootkits and New Ways to Stop Them
Strongin Trusted computing using AMD “Pacifica” and “Presidio” secure virtual machine technology
Kuzuno et al. KMO: kernel memory observer to identify memory corruption by secret inspection mechanism
Buchner et al. Survey on Trusted Execution Environments
Kuzuno et al. MKM: Multiple kernel memory for protecting page table switching mechanism against memory corruption
Arbaugh Trusted computing
Fitz et al. SECURITY OF CONTROL COMPUTERS

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant