CN103907098A - 用于管理程序环境中的关键地址空间保护的系统和方法 - Google Patents
用于管理程序环境中的关键地址空间保护的系统和方法 Download PDFInfo
- Publication number
- CN103907098A CN103907098A CN201280053614.5A CN201280053614A CN103907098A CN 103907098 A CN103907098 A CN 103907098A CN 201280053614 A CN201280053614 A CN 201280053614A CN 103907098 A CN103907098 A CN 103907098A
- Authority
- CN
- China
- Prior art keywords
- client
- access
- cas
- supervisory routine
- address
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
一个实施例中的系统和方法包括用于检测对客户操作系统(OS)(其已经实现管理程序环境中的地址空间布局随机化)的关键地址空间(CAS)的访问尝试,识别尝试访问的进程,以及在不准许该进程访问CAS时采取动作的模块。动作能够从下列项选取:向管理程序的管理控制台报告该访问,向客户OS提供推荐,以及在客户OS内自动采取动作。其它实施例包括通过促使客户OS中的页错误,从与CAS对应的客户虚拟地址解析客户物理地址,并且将机器地址映射到客户物理地址,来识别与CAS对应的机器地址。
Description
技术领域
一般来说,本公开涉及计算机网络领域,以及更具体来说,涉及用于管理程序环境中的关键地址空间保护的系统和方法。
背景技术
计算机网络安全性的领域在当今社会已经变得越来越重要和复杂。计算机网络环境配置用于几乎每一个企业或组织,其中通常具有多个互连的计算机(例如最终用户计算机、膝上型计算机、服务器、打印装置等)。此外,云服务提供商(以及运行多个应用和操作系统的其它组织)可使用管理程序技术在主机装置上并发地运行各种不同的客户操作系统。管理程序是计算机软件/硬件平台虚拟化软件,其允许多个操作系统并发地运行于主计算机上。安全性威胁能够源于管理程序环境的外部和内部。管理程序环境中的这些威胁能够给IT管理员带来进一步挑战。
附图说明
为了提供对本公开及其特征和优点的更完整理解,参照结合附图进行的以下描述,其中相似参考标号表示相似部件,其中:
图1是示出按照一个示例实施例、用于管理程序环境中的关键地址空间保护的系统的组件的简化框图;
图2是示出按照一个示例实施例的系统的附加细节的简化框图;以及
图3是示出可与本公开的实施例关联的示例操作步骤的简化流程图。
具体实施方式
概述
一个实施例中的系统和方法包括用于检测对客户操作系统(OS)(其实现管理程序环境中的地址空间布局随机化(ASLR))的关键地址空间(CAS)的访问尝试,识别尝试访问的进程,以及在不准许该动作时采取至少一个动作的模块。动作可以是下列一个或多个:向管理程序的管理控制台报告该访问,向客户OS提供推荐,并且在客户OS内自动采取动作。向管理程序的管理控制台报告访问包括将客户OS的状态标记为受感染。向客户OS提供推荐包括推荐将该进程列入黑名单、直到它由安全工具来扫描并且列入白名单,和/或对该进程运行防病毒。在客户OS内采取动作包括在客户OS中运行防病毒程序,和/或关闭客户OS或保存客户OS的状态以供离线扫描。
更具体实施例包括通过在管理程序的影子页表中为与CAS对应的页生成页表条目(PTE)并且将PTE标记成使得访问尝试引起页错误,来检测访问尝试。尝试访问的进程可通过读取该进程对应的CR3寄存器来识别。
其它实施例包括使用策略来验证访问尝试,策略包括:如果该进程从存储器元件的可写区域执行,则拒绝该访问,而如果该进程从存储器元件的只读区域执行,则准许该访问。其它示例实施例包括通过促使客户OS中的页错误,从与CAS对应的客户虚拟地址解析客户物理地址,并且将机器地址映射到客户物理地址和其它特征,来识别与CAS对应的机器地址。
示例实施例
图1是示出用于管理程序环境中的关键地址空间保护的系统10的示例实现的简化框图。如本文所使用的“管理程序”是一种硬件虚拟化实体,其允许称作“客户OS”的一个或多个操作系统(OS)在主机装置(例如计算机)上并发地运行。在一个示例实施例中,管理程序能够直接运行于主机装置的硬件上,以控制硬件以及管理客户OS。在一个备选实施例中,管理程序能够在常规OS环境(例如Linux OS)内作为支持运行于更高层的一个或多个客户OS的软件层来运行。虚拟化允许客户OS在其中再现主机装置的物理特性和行为的隔离虚拟环境(通常称作虚拟机或客户)上未经修改地运行。更具体来说,客户能够表示配备有虚拟硬件(处理器、存储器、盘、网络接口等)的隔离虚拟环境。按照图1所示的实施例,系统10包括管理程序12,其向客户14提供虚拟化环境。在本公开的广义范围之内,可在管理程序12上接管任何数量的客户。为了便于说明,图1中代表性地示出单个客户。
管理程序12控制和管理被分配以供客户14使用的主机装置(未示出)的硬件16。客户14可在管理程序12上运行客户OS 18。客户OS 18可支持一个或多个应用20。管理程序12可管理一个或多个应用20(本文中以单数称作应用20,以表示应用之一)对诸如处理器22和机器存储器24之类的基础硬件16的访问。如本文所使用的“机器存储器”表示一种存储器元件,它对于管理程序12如在主机装置上可用的那样是可见的。客户OS 18可向应用20提供客户虚拟存储器26,其访问客户物理存储器28。如本文所使用的“客户虚拟存储器”表示实质上连续的虚拟地址空间,该空间对于客户14内部运行的应用20是可见的。地址空间表示离散地址的范围,每个离散地址可对应于应用(例如应用20)能够存储数据以及以后检索数据的存储器位置(即,地址)。“客户物理存储器”表示对于客户OS 18是可见的虚拟存储器。
客户14包括虚拟控制寄存器、即CR3寄存器30,其指向应用20的进程的页表的开始。进程是应用(或者其一部分)的实例,其指令被执行。客户OS 18中的应用20可由多个进程组成。各进程能够具有其自己(唯一)的进程地址空间。各进程地址空间具有对应的页表。页表是由客户OS 18用来存储虚拟地址与物理地址之间的映射的数据结构。例如,CR3寄存器30可唯一地识别尝试访问客户OS 18中称作关键地址空间(CAS)(其包括系统库(例如kernel32.dll))的被保护存储区的进程。
客户OS 18包括代理32(作为客户镜像的一部分),其与管理程序12中的hyperCASP模块34进行通信。hyperCASP模块34也可与客户物理存储器28、CR3寄存器30和机器存储器24进行通信。hyperCASP模块34可通过俘获对CAS的访问尝试,并且检查管理程序环境内部、访问尝试发生的上下文,来保护客户14免受潜在恶意软件攻击。
管理程序12可使用管理控制台36来管理。管理控制台36可提供管理管理程序12上的客户14的统一接口。管理控制台36可提供让管理员配置管理程序12(包括存储、控制客户行为的方面以及建立虚拟网络)的部件。在一个示例实施例中,管理控制台36可提供让管理员查看客户14的状态(包括它是否被恶意软件和/或其它不希望的应用攻击)的接口。
按照本公开的实施例,系统10的组件可检测对客户OS 18的CAS的访问尝试,识别执行访问尝试的进程,确定是否准许该访问,以及如果不准许该访问,则采取一个或多个保护动作,诸如向管理控制台36报告访问尝试、向客户OS 18提供推荐以及在客户OS 18内自动采取动作等。
为了说明系统10的技术,重要的是理解可存在于给定系统、例如图1所示系统中的活动和安全性问题。以下基本信息可被看作是可正确说明本公开的基础。这种信息完全是仅为了说明而提供,并且因此决不应当被理解为限制本公开的广义范围及其潜在应用。
在管理物理存储器的一种方法中,存储器可分为覆盖存储器地址的连续范围的块或页。每个块或页被给予包括存储器是只读、读/写还是只写的属性。当应用或库(包括动态链接库、例如kernel32.dll)加载到存储器时,对应代码指令加载到只读存储器中,并且数据加载到可写存储器中。因此,代码指令可从只读存储器来读取和执行。一些存储器、例如包含可执行代码(例如指令)的存储器通常是只读存储器;操作系统可以不允许进程对其可执行代码改写数据。相反,能够对包含数据的(非恶意软件)页进行写入,但是尝试将那个存储器作为指令来执行可能失败。
但是,恶意代码可配置成加载或注入数据中,并且可配置成从可写存储器而不是如预期那样从只读存储器执行。在可写存储器空间中运行的代码的检测可以是关于代码是恶意的指示。例如,使组网中使用的缓冲器溢出,以注入恶意代码。接收具有来自非置信主机的数据的服务请求的万维网服务器能够受请求中嵌入并且通过使万维网服务器的缓冲器溢出所加载的恶意代码感染。通过缓冲器溢出(或者通过其它不适当技术)所加载的恶意代码的突出特性在于,代码加载到可写的存储器(并且从其中执行)。
在计算机安全性中,可执行空间保护能够用来将某些存储器区域(例如栈和堆存储器)标记为不可执行,使得执行这些区域中的机器代码的尝试能够引起异常或页错误。页错误是当程序访问在虚拟存储器(例如管理程序环境中的客户虚拟存储器)中映射、但是没有在物理存储器(例如,管理程序环境中的机器存储器)中加载的页时的陷阱。这种方式帮助防止某些缓冲器溢出攻击、特别是注入和执行代码的那些攻击取得成功。这些攻击依靠既可写又可执行的存储器的某个部分、通常是栈。检测恶意代码的执行的一种方法是检查每一个处理器指令从其中执行的存储器属性。但是,这种方式可要求大处理开销来检查每一个所执行指令的存储器属性,从而使计算机性能降级。
防止恶意软件执行的另一种技术是通过控制对CAS的访问。CAS保护(CASP)通过俘获对CAS的访问尝试,并且检查访问尝试从其中发生的上下文,来防止缓冲器溢出和栈溢出攻击。例如,大多数恶意软件执行kernel32.dll的查找以供函数解析(例如导出函数)。Kernel32.dll是中央模块,其包含操作系统的核心进程,诸如存储器管理、输入/输出操作、中断等。因此,CASP技术能够通过俘获对kernel32.dll的访问尝试,来防止诸如缓冲器溢出和栈溢出攻击之类的攻击。
地址空间布局随机化(ASLR)是可用于通过使攻击者更难以预测目标地址来防止安全性攻击的另一种技术。ASLR在操作系统引导时将可执行镜像(即,采取处理器可执行的格式的程序代码的单元,例如采取DLL格式或EXE格式的文件)移入随机位置,从而使得更难以利用代码可预测地操作。ASLR的意图是保护物理存储器免于病毒和其它恶意软件。通过ASLR,OS(例如管理程序环境中的客户OS 18)随机排列关键数据区的位置,包括库的位置、进程的虚拟地址空间中的堆和栈。在没有使用ASLR的情况下,攻击可能使用进程的地址空间(例如特定库函数)中的已知位置的硬编码地址来执行其功能。
在一个示例中,当应用创建堆时,OS的堆管理器在进程地址空间中的随机位置创建那个堆,以帮助降低基于堆的缓冲器溢出利用的成功机会。在另一个示例中,当线程在进程中开始时,OS(例如客户OS 18)将线程的栈移动到进程地址空间中的随机位置,以帮助降低基于栈的缓冲器溢出利用的成功机会。在又一个示例中,ASLR可使程序的每次执行产生不同的存储器空间布局,这使动态加载库(DLL)每次被加载到不同位置中。许多恶意软件攻击依靠程序员准确识别特定进程或系统函数在存储器中驻留的位置的能力。通过ASLR,地址位置经过随机化,从而使得恶意软件代码更难以成功执行。
例如,在Windows Vista OS中,当加载已经选择参与ASLR的可执行镜像时,OS使用每次重新引导从256个值的范围中选择一次的随机全局镜像偏移量。共同加载到进程中的可执行镜像,包括EXE和DLL,以这个偏移量一个接一个地加载。当执行其可执行镜像对ASLR已经标记的程序时,通过随机地放置线程栈和进程堆,对进程的存储器布局进一步随机化。栈地址首先从32个可能位置的范围来选择。一旦已经放置栈,则对初始栈指针进一步随机化某个随机量(例如从IA32系统上的16384个可能值其中之一所选择)。一旦已经选择栈地址,则选择进程堆。从32个不同位置的范围来分配每个堆。第一堆的位置选择成避免先前放置的栈,以及必须分配随后的每个堆以避免先前到达的堆。在Windows Vista中,诸如进程环境块、栈和堆位置之类的一些地址空间布局参数每次程序执行选择一次。诸如程序代码的位置、数据段和库之类的其它参数仅在重新引导之间发生变化。
在管理程序环境中,攻击的影响可比非虚拟化环境中更加严重。一个受感染客户可感染主机装置上的所有其它客户。例如,攻击者能够通过感染客户来获得对硬件的管理员特权,并且能够通过管理程序环境从一个客户移动到另一个客户。在管理程序接管数千客户的情况下,这种客户-客户攻击可能具有灾难性结果。
来看与管理程序中如何配置虚拟存储器系统关联的一些初步信息,当运行客户时,管理程序为客户创建毗连可寻址存储器空间。这个存储器空间具有与客户虚拟存储器相同的性质。这允许管理程序同时运行多个虚拟机,同时防止各虚拟机的存储器被他人访问。因此,从客户内部运行的应用的角度来看,管理程序添加额外等级的地址转换,其将客户物理地址映射到机器地址。客户OS与管理程序之间的通信经由可建立客户物理地址中的参数的超级调用发生,以及管理程序可对参数进行解码,将客户物理地址映射到机器地址,并且执行所请求动作。
客户物理存储器(例如客户物理存储器28)只是由管理程序(例如管理程序12)用于保持到主机物理地址(又称作机器地址)的正确映射的抽象。影子页表由管理程序(例如管理程序12)用来将客户物理存储器(例如客户物理存储器28)映射到机器存储器(例如机器存储器24)。通常,不保证客户页表所指向的任何页存在于机器存储器中。管理程序(例如管理程序12)配置成每次存在由客户OS(例如客户OS 18)访问不存在页的尝试时启用页错误。在触发页错误时,管理程序中的页错误处理程序促进将适当页(例如从盘)加载到机器存储器中,并且更新管理程序的影子页表以反映变化。引起页错误的指令的执行在页已经加载到机器存储器中并且分页表适当地指向正确页时恢复。管理程序的分页表反映哪些页实际上(即,物理上)在机器存储器中加载,而客户分页表只是虚拟的。
来看进程存储器管理,在许多处理器(不一定运行管理程序)中,称作CR3寄存器的控制寄存器(例如CR3寄存器30)包含当前页表(称作页目录)的根(即,开始)的物理地址。在管理程序环境中,客户中的CR3寄存器可经过虚拟化,并且可指向当前客户页表的根的客户物理地址。物理处理器(例如处理器22)使用另一个CR3寄存器(未示出)而不是客户CR3寄存器(例如CR3寄存器30)来对机器存储器24寻址。处理器的CR3寄存器指向管理程序的页目录而不是客户页目录。相比之下,客户CR3寄存器(例如CR3寄存器30)指向客户页目录,其指向客户页表。因此,通过客户CR3寄存器-客户页目录-客户页表-影子页表-物理页的序列把虚拟客户地址转换成机器地址,能够执行当前指令。
客户CR3寄存器30的内容由客户OS(例如客户OS 18)的内核来更新成指向由当前执行的进程所使用的适当页表。因此,客户OS(例如客户OS 18)通过改变客户CR3寄存器(例如CR3寄存器30)的值,在进程之间切换。在虚拟机(例如客户14)中,管理程序(例如管理程序12)拦截对CR3寄存器(例如CR3寄存器30)的任何访问,并且由此确定将要从机器存储器24取出的、用于当前执行的进程的页。
回到恶意软件保护技术,管理程序中的弱点可破坏ASLR的效能。例如,管理程序中的已知弱点使机器存储器的原本不可访问的部分可用于对客户OS中运行的应用的读/写访问。恶意软件可能利用这个弱点来获得对机器存储器的控制,而不管ASLR。虽然CASP能够在管理程序环境中的客户OS(例如客户OS 18)内部实现,但是客户OS中的CASP无法防止管理程序中的弱点。此外,基于管理程序的实现能够提供OS不可知解决方案。在这种解决方案中存在对最终用户的价值,因为安全性软件无需在各客户内部单独安装。攻击客户的恶意软件忘了管理程序内部运行的这个安全性层。采用由客户OS所实现的ASLR来实现管理程序中的CASP的过程中的难题之一在于,管理程序可能不知道要保护的关键地址,因为CAS在每次应用加载或者存在客户操作系统的重新引导时在客户物理存储器内由ASLR来随机化。另一个难题是唯一识别攻击源于的客户进程上下文以使得可采取适当保护动作。
通过图1所概述的用于管理程序环境中的关键地址空间保护的系统能够解决这些问题等。本公开的实施例寻求极大地改进现有技术的能力,以允许更健壮的解决方案。在示例实施例中,系统10的组件可检测对管理程序环境中的客户OS 18的CAS的访问,其中客户OS 18实现ASLR,识别请求访问的进程,确定是否准许该访问,以及如果不准许该访问,则采取一个或多个保护动作。
如图1所示,hyperCASP模块34可与代理32进行通信,以便识别与CAS的客户物理地址对应的机器地址。代理32可通过特意从CAS地址进行读取来在客户OS 18中促使页错误,并且从客户虚拟地址来解析客户物理地址。例如,页错误可使管理程序12拦截页错误事件,以及代理32可检查客户页表,以确定对应客户虚拟地址的客户物理地址。在另一个示例中,管理程序12中的页错误处理程序可监测客户物理页的映射,并且可响应页错误而建立到机器页的对应映射(例如通过俘获对客户页表的访问)。
代理32可将CAS客户物理地址传递给hyperCASP模块34,模块34可将机器地址映射到对应客户物理地址。因此,hyperCASP模块34识别待保护的机器地址。管理程序12中的页错误处理程序可使那些页的条目指向机器存储器24中的对应页。在一个示例实施例中,代理32可使用双向通信信道,来将CAS地址传递给hyperCASP模块34。通过保护与客户虚拟存储器28中的CAS对应的机器存储器24中的地址空间,管理程序12能够防止从客户OS 18中的恶意软件攻击、例如尝试访问CAS的恶意软件。
按照本公开的实施例,hyperCASP模块34可通过在管理程序的影子页表中为与CAS对应的页生成页表条目(PTE),来检测对CAS的访问尝试,在PTE中将页标记为NOT_PRESENT,使得基本上每一次访问尝试引起页错误。页错误将控制传递给管理程序12,使得管理程序12能够识别访问CAS的进程。
在一个示例实施例中,hyperCASP模块34可读取CR3寄存器30,以识别尝试访问CAS的进程。一般来说,使用影子页表的管理程序(例如管理程序12)(例如使用硬件支持、例如扩展页表/嵌套页表(EPT/NPT)所实现和所加速的影子页表)可俘获CR3寄存器访问,以便客户14的正常操作。因此,对CR3寄存器30的变更可由hyperCASP模块34来俘获,以便唯一地识别运行于客户14中、访问CAS的进程。CR3寄存器30能够通过保持当前任务的客户页表的根,来识别进程。例如,恶意软件进程可尝试执行任务。任务具有上下文,其是对任务唯一的寄存器和值的集合。一种这样的寄存器是CR3寄存器30,其包含恶意软件进程的页目录的地址。每当客户OS 18内存在CAS访问时,hyperCASP模块34可通过查看(进程的)当前执行的可应用指令的页保护位,来检查它是否为攻击(例如缓冲器/栈溢出)。
hyperCASP模块34可使用策略,诸如在访问来自存储器元件(例如客户虚拟存储器)的可写区域时拒绝访问的策略以及在访问来自存储器元件的只读区域时准许访问的策略,来确定是否准许访问。例如,如果PTE表明对客户OS 18中的CAS的访问来自设置了写入位的客户14中的PTE,并且策略指示不准许写入位的这种状态,则该访问可能是非法的,因为它可能是对进程的栈或堆的恶意软件攻击的结果。在一个示例实施例中,hyperCASP模块34可使用相同位(例如写入位)状态值来允许绕过针对假阳性的保护校验以允许合法访问。
hyperCASP模块34可采取各种保护动作来防止恶意软件代码的执行。在一个示例实施例中,hyperCASP模块34可向管理控制台36报告访问尝试。管理员能够获得运行于系统10中(或者一组系统中,这取决于环境)的一个或多个客户(例如客户14)的视图,以及hyperCASP模块34可使标志被设置,以标记任何受感染客户的状态。在另一个示例实施例中,hyperCASP模块34可向客户OS 18提供推荐,以将该进程列入黑名单,直到它由防病毒或者另一种安全工具来扫描和标记为清洁(例如列入白名单)。在又一个示例实施例中,hyperCASP模块34可使代理32在客户OS 18内自动采取动作,例如,在检测到客户OS 18内的攻击时运行防病毒(自动发起),或者关闭受影响客户/保存受影响客户的状态以供离线扫描等。
来看图2,图2是示出按照一个示例实施例的系统的附加细节的简化框图。实现对CASP的基于管理程序的解决方案的过程中的一个难题是识别与CAS(例如kernel32.dll)对应的机器地址。CAS的地址可使用两级分页(一个在客户14中,另一个在管理程序12中)来解析。
处理器22访问存储器地址,以便取指令或者当它执行应用20时取并且保存数据。在虚拟存储器系统、例如客户OS 18中,所有地址均是客户虚拟地址(GVA),而不是客户物理地址(GPA)。虚拟地址由客户OS 18基于一组客户页表中保存的信息来转换为物理地址。客户页表将进程的客户虚拟页映射为存储器中的客户物理页。管理程序12维护与各客户页表对应的影子页表。每个页表(包括客户页表和影子页表)包括PTE的列表。当客户OS 18启动进程时,它为CAS创建PTE连同其它PTE条目;对应地,管理程序12也更新其影子页表。
在图2中示出一组示例的地址空间。假定进程X(例如在应用20中)在客户OS 18中运行并且具有客户虚拟地址空间38,其映射到客户OS 18中的对应客户物理地址空间40。各地址空间可分为用户空间和CAS(例如内核空间)。为了举例以及易于说明,客户虚拟地址空间38中的CAS示为CAS 60。客户物理地址空间40映射为机器地址空间42。例如,客户虚拟地址空间38中的GVA 44可映射到客户物理地址空间40中的对应GPA 46,客户物理地址空间40又可映射到机器地址空间42中的机器地址(MA)48。这些映射中的每个通过对应页表中的适当PTE来保护。例如,GVA 44可通过客户页表50中的PTE来映射到GPA 46。管理程序12可创建影子页表51,以将GPA 46映射到MA 48。影子页表51可包含格式与客户页表50中PTE的格式相似的PTE。
在图2中以分解视图示出影子页表51的示例PTE 51a。PTE 51a包括页的物理页地址52(例如MA 48)、存在位54、写入位56和读取位58。hyperCASP模块34可使用存在位54、写入位56和读取位58中的信息来确定CAS是否被恶意软件访问。从存在位54的状态,hyperCASP模块34能够确定与特定地址对应的页是否存在。在一个示例中,假定为100的GPA 46转化成为5000的MA 48。hyperCASP模块34会查看与5000对应的PTE,并且通过读取存在位54来查看进程是否有权访问MA 48。如果该进程有权访问,则存在位54会设置为1。如果存在位54设置为0(即,页标记为NOT_PRESENT),指示该页不存在,则可出现页错误。然后,控制(由处理器22)转到管理程序12以修复错误。在另一个示例中,访问CAS的代码指令可以让读取位58置位,以及写入位56可以不置位,从而指示指令为只读(但不可写),并且因此被准许有权访问。
当应用20在客户OS 18中运行时,客户虚拟存储器26中的CAS 60的地址可以不一定是管理程序12已知的,因为CAS 60的地址可由客户OS 18使用ASLR来随机化以获得安全性。当客户14启动时,代理32可促使客户OS 18内部的错误,并且对其进行解析,使得从GVA(例如GVA 44)到与CAS 60(例如kernel32.dll)对应的GPA(例如GPA 46)建立映射。代理32可俘获对CAS 60的第一访问尝试(例如通过在用于CAS 60的PTE中将存在位设置为0(即,将页标记为NOT_PRESENT)),使得可俘获每一个后续访问。俘获对CAS 60的第一访问尝试可确保对CAS 60的进一步访问能够引起页错误,因为如果对于对应GVA(例如GVA 44)设立存在位(或者设置为1),则处理器22对于对GVA(例如GVA 44)的附加访问尝试将不会引起任何错误。
代理32可使用双向通信信道将CAS 60的地址传递给hyperCASP模块34。与CAS 60对应的GVA(例如GVA 44)可使用客户页表50来转化成GPA(例如GPA 46),并且使用影子页表51来转化为MA(例如MA 48)。这时,管理程序12已经识别MA(例如MA 48),以使用CASP方法来防止攻击。hyperCASP模块34可在影子页表51中为与CAS 60对应的页生成PTE(例如PTE 51a)。hyperCASP模块34可在PTE中将页标记为NOT_PRESENT(例如通过将存在位54设置为0),以指示对CAS 60的访问引起页错误62。在通过页错误62检测到对CAS 60的访问时,控制(通过hyperCASP模块34)转到管理程序12,管理程序12可检查它是否为攻击(缓冲器/栈溢出)。在一个示例实施例中,hyperCASP模块34可运行一个或多个校验(例如预定的一组校验),以查看访问是否来自被准许进程。管理程序12在没有客户OS 18的知识的情况下可透明地检查客户OS 18内的活动。
为了确定哪一个进程正攻击CAS 60,hyperCASP模块34可使用CR3寄存器30。通常,管理程序12不知道客户OS 18内部运行的任务。在一个示例实施例中,进程X中的恶意软件64可驻留在客户虚拟地址空间38中,并且可尝试访问CAS 60(例如kernel32.dll)。对CAS 60的访问可引起页错误62。由客户OS 18中的进程(例如进程X)所运行的各任务可与对应CR3寄存器30关联,其中CR3寄存器30包括唯一对应于正执行该任务的进程的任务上下文。CR3寄存器30可指向客户页表50的开始。hyperCASP模块34可读取CR3寄存器30,并且确定进程X正访问CAS 60。
hyperCASP模块34可使用策略来验证访问尝试,策略包括在访问来自存储器元件的可写区域(例如客户虚拟地址空间38)时拒绝访问,以及在访问来自存储器元件的只读区域时准许访问。在一个示例实施例中,hyperCASP模块34可读取与当前执行的指令对应的影子页表51中的PTE 51a。因为恶意软件通常驻留在用户空间(而不是内核空间)中,所以PTE 51a的写入位56可被置位,从而指示指令不是只读的并且因此可能是非法的(例如,指示对进程X的栈或堆的攻击)。
一旦hyperCASP模块34识别攻击,它可执行一个或多个保护动作。例如,如果管理程序12正运行多个客户,则hyperCASP模块34可对管理控制台36将客户的状态标记为受感染。作为替代或补充,hyperCASP模块34可向代理32发送一个或多个消息,以使客户14离线(例如关闭)或者启动防病毒(例如,将特定进程以及标记的一个或多个主机确定为目标以便清除),和/或通知客户OS 18关于受感染的进程。在一个示例实施例中,推荐可包括将进程列入黑名单,直到它由防病毒或者另一个安全工具(例如用于测试和/或修复计算机软件和/或硬件中的弱点的程序)来扫描并且标记为清洁的(即,列入白名单)。
来看图3,图3是示出可与本公开的实施例关联的示例操作步骤的简化流程图。当激活hyperCASP模块34和代理32时,操作100在102开始。在104,代理32通过特意从CAS地址读取,来促使客户OS 18中的页错误62。在106,代理32解析与CAS 60对应的GPA(例如GPA 46)。在108,GPA(例如GPA 46)使用影子页表51来映射到对应MA(例如MA 48)。在110,对MA(例如MA 48)的访问尝试由hyperCASP模块34例如通过在影子页表51的PTE(例如PTE 51a)中将与CAS 60对应的页标记为NOT_PRESENT来监测。
例如,对CAS 60的任何访问尝试可在112中检测,因为对CAS 60的访问尝试引起页错误62。如果没有检测到访问尝试(例如没有生成页错误),则该进程可返回到110中的监测。但是,当检测到访问尝试时,控制以页错误62的形式转到管理程序12。在114,尝试访问的进程可例如使用CR3寄存器30来识别。hyperCASP模块34可读取CR3寄存器30,以识别与尝试访问的进程对应的客户页表50。在116,访问尝试可使用策略来验证。示例策略可指示对于对CAS 60的有效访问,没有将写入位56置位。如果如在118所确定的,策略不准许访问,则可指示攻击。
作为响应,hyperCASP模块34可采取一个或多个保护动作,例如,在120向管理控制台36报告访问;或者在122在客户OS 18内自动采取动作(例如使代理32在客户OS 18中自动发起防病毒;使客户14离线/关闭;保存客户OS 18的状态以供离线扫描等);或者在124向客户OS 18提供推荐(例如,将进程列入黑名单、对进程运行防病毒等)。可对受感染进程所使用的其它资源(例如网络套接字/文件句柄等)采取类似动作。如果如在118所确定的,策略准许访问,则操作可在126结束。
用于保护地址空间(以及阻止危险代码被执行)的软件能够在各种位置(例如在hyperCASP模块34内)提供。在一个示例实现中,这个软件常驻于寻求保护以防止安全性攻击(或者防止可写存储区的不希望或者未经授权的操纵)的计算机中。在更详细配置中,这个软件具体常驻于管理程序的安全层,其可包括图1所示的组件(或者以其它方式与所述组件接口)。在又一些实施例中,软件可从万维网服务器来接收或下载(例如,在对于分离的装置、分离的虚拟机、管理程序、服务器等购买单独最终用户许可证的上下文中),以便提供这个地址空间保护。
在其它示例中,关键地址空间保护功能可涉及专有元件(例如作为防病毒解决方案的一部分),其可在这些所述元件中(或者其附近)提供,或者在任何其它装置、服务器、网络设备、控制台、防火墙、交换机、信息技术(IT)装置等中提供,或者作为补充解决方案(例如结合防火墙)来提供,或者在网络中的某个位置来预配置。如本说明书中所使用的术语“计算机”意在涵盖在安全环境中可操作以影响或处理电子信息的这些可能元件(VMM、管理程序、Xen装置、虚拟装置、网络设备、路由器、交换机、网关、处理器、服务器、负荷平衡器、防火墙或者任何其它适当装置、组件、元件或对象)。此外,这个计算机可包括促进其操作的任何适当的硬件、软件、组件、模块、接口或者对象。这可包含允许关键地址空间的有效保护的适当算法和通信协议。另外,关键地址空间保护功能能够按照任何适当方式来结合。按照类似设计备选方案,各个附图的所示模块和组件的任一个可按照各种可能配置组合。显然,其全部处于本说明书的广义范围之内。
这些元件(例如计算机、服务器、网络设备、防火墙、管理程序、任何其它类型的虚拟元件等)中的任一个可包括处理器,处理器能够执行软件或算法,以执行如本说明书中所述的关键地址空间保护活动。另外,这些元件(例如计算机、服务器、网络设备、防火墙、管理程序、任何其它类型的虚拟元件等)中的每个能够包括存储器元件(随机存取存储器(RAM)、ROM、EPROM、EEPROM、ASIC等)、软件、硬件,或者在适当的情况下并且基于特定需要在任何其它适当组件、装置、元件或对象中。在系统10中被跟踪、发送、接收或存储的信息可基于特定需要和实现而在任何数据库、寄存器、表、高速缓存、队列、控制列表或者存储结构中提供,其全部可在任何适当时帧中引用。
这些元件和/或模块能够相互协作,以便与如本文所述的管理程序环境中的关键地址空间保护结合执行活动。在其它实施例中,这些特征可在这些元件的外部提供、包含在其它装置中以实现这些预期功能性、或者按照任何适当方式来结合。例如,与各种元件关联的有些处理器可被去除或者以其它方式来合并,使得单个处理器和单个存储器位置负责某些活动。在一般意义上,附图所示的布置在其表示中可以是更加逻辑的,而物理架构可包括这些元件的各种置换、组合和/或混合。
本文所述的存储器项的任一个(例如客户页表50、影子页表51、机器存储器24、客户虚拟存储器26、客户物理存储器28、客户虚拟地址空间38、客户物理地址空间40、机器地址空间42等)应当被理解为涵盖在广义术语“存储器元件”内。类似地,本说明书中所述的潜在处理元件、模块和机器中的任一个应当被理解为涵盖在广义术语“处理器”内。计算机、网络设备、虚拟元件等中的每个还能够包括适当接口,以用于在安全环境中接收、传送和/或以其它方式传递数据或信息。
处理器能够执行与数据关联的任何类型的指令,以便实现本说明书中详述的操作。在一个示例中,处理器(如附图所示)可将元件或产品(例如数据)从一种状态或东西变换成另一种状态或东西。在另一个示例中,本文所述的活动可采用固定逻辑或者可编程逻辑(例如由处理器执行的软件/计算机指令)来实现,以及本文所述的元件可能是某种类型的可编程处理器、可编程数字逻辑(例如现场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程ROM(EEPROM))或者包括数字逻辑、软件、代码、电子指令或者它们的任何适当组合的ASIC。
在某些示例实现中,本文概述的地址空间保护功能可由在一个或多个有形非暂时介质中编码的逻辑(例如,专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器(DSP)指令、将要由处理器或其它类似机器执行的软件(可能包含对象代码和源代码)等)来实现。在这些实例中的有些实例中,存储器元件(如附图所示)能够存储用于本文所述操作的数据。这包括能够存储被执行以完成本说明书中所述活动的软件、逻辑、代码或处理器指令的存储器元件。
在各种实施例中,这些元件中的部分或全部包括软件(或者往复式软件),其能够协调、管理或者以其它方式协作,以便实现如本文概述的操作。这些元件中的一个或多个可包括促进其操作的任何适当算法、硬件、软件、组件、模块、接口或者对象。注意,对于本文所提供的许多示例,可根据两个、三个、四个或者更多网络元件和模块来描述交互。但是,这仅为了清楚起见和举例而进行。应当理解,系统能够按照任何适当方式来结合。按照类似设计备选方案,图1的所示模块、组件和元件中的任一个可按照各种可能配置组合,其全部显然是在本说明书的广义范围之内。在某些情况下,通过仅引用有限数量的元件或组件,可以更易于描述给定的一组流程的功能性的一个或多个。应当理解,图1(及其教导)的系统是可容易缩放的,并且能够接纳大量组件以及更复杂/尖端的布置和配置。因此,所提供的示例不应当限制如潜在地适用于无数其它架构的系统10的范围或者约束其广义教导。
重要的是还要注意,参照前面附图所述的操作仅示出可由系统执行或者在系统内执行的可能情况中的一些。这些操作中的一些可适当地删除或消除,或者这些步骤可经过相当大的修改或改变,而没有背离所述概念的范围。另外,这些操作的定时可相当大地改变,并且仍然实现本公开所讲述的结果。为了示例和论述而提供了前面的操作流程。系统提供充分灵活性,因为可提供任何适当的布置、时序、配置和定时机制,而没有背离所述概念的教导。
Claims (20)
1. 一种方法,包括:
检测对包括管理程序的管理程序环境中的客户操作系统(OS)的关键地址空间(CAS)的访问尝试,其中所述客户OS实现地址空间布局随机化(ASLR);
识别尝试所述访问的进程;以及
如果不准许所述进程访问所述CAS,则采取动作。
2. 如权利要求1所述的方法,其中,检测所述访问尝试包括:
在所述管理程序的影子页表中为对应于所述CAS的页生成页表条目(PTE);
标记所述PTE,使得所述访问尝试引起页错误。
3. 如权利要求1所述的方法,其中,识别尝试所述访问的所述进程包括:读取与所述进程对应的CR3寄存器。
4. 如权利要求1所述的方法,其中,所述动作从下列项中选取:
向所述管理程序的管理控制台报告所述访问;
向所述客户OS提供推荐;以及
在所述客户OS内自动采取动作。
5. 如权利要求4所述的方法,其中,向所述管理程序的管理控制台报告所述访问包括:将所述客户OS的状态标记为受感染。
6. 如权利要求4所述的方法,其中,向所述客户OS提供推荐包括下列至少一个:
推荐将所述进程列入黑名单,直到它由安全工具来扫描并且列入白名单;或者
对所述进程运行防病毒。
7. 如权利要求4所述的方法,其中,在所述客户OS内采取动作包括下列至少一个:
在所述客户OS中运行防病毒程序;或者
关闭所述客户OS或保存所述客户OS的状态以供离线扫描。
8. 如权利要求1所述的方法,还包括使用策略来验证所述访问尝试,所述策略包括:
如果所述进程从存储器元件的可写区域执行,则拒绝所述访问;以及
如果所述进程从所述存储器元件的只读区域执行,则准许所述访问。
9. 如权利要求1所述的方法,还包括:
识别与所述CAS对应的机器地址,识别所述机器地址包括:
促使所述客户OS中的页错误;
从与所述CAS对应的客户虚拟地址来解析客户物理地址;以及
将所述机器地址映射到所述客户物理地址。
10. 一种设备,包括:
配置成存储数据的存储器元件;以及
可操作以执行与所述数据关联的指令的计算处理器;
管理程序;以及
驻留在客户OS中的代理,使得所述设备配置用于:
检测对包括所述管理程序的管理程序环境中的客户OS的CAS的访问尝试,其中所述客户OS实现ASLR;
识别尝试所述访问的进程;以及
如果不准许所述进程访问所述CAS,则采取动作。
11. 如权利要求10所述的设备,其中,检测所述访问尝试包括:
在所述管理程序的影子页表中为对应于所述CAS的页生成PTE;
标记所述PTE,使得所述访问尝试引起页错误。
12. 如权利要求10所述的设备,其中,识别尝试所述访问的所述进程包括:读取与所述进程对应的CR3寄存器。
13. 如权利要求10所述的设备,其中,所述动作从下列项中选取:
向所述管理程序的管理控制台报告所述访问;
向所述客户OS提供推荐;以及
在所述客户OS内自动采取动作。
14. 如权利要求10所述的设备,其中,所述设备还配置用于:
识别与所述CAS对应的机器地址,所述识别包括:
促使所述客户OS中的页错误;
从与所述CAS对应的客户虚拟地址来解析客户物理地址;以及
将所述机器地址映射到所述客户物理地址。
15. 一种在非暂时介质中编码的逻辑,包括用于执行的代码,并且在由处理器执行时可操作以完成包括下列各项的操作:
检测对包括管理程序的管理程序环境中的客户OS的CAS的访问尝试,其中所述客户OS实现ASLR;
识别尝试所述访问的进程;以及
如果不准许所述进程访问所述CAS,则采取动作。
16. 如权利要求15所述的逻辑,其中,检测所述访问尝试包括:
在所述管理程序的影子页表中为对应于所述CAS的页生成PTE;
标记所述PTE,使得所述访问尝试引起页错误。
17. 如权利要求15所述的逻辑,其中,识别尝试所述访问的所述进程包括:读取与所述进程对应的CR3寄存器。
18. 如权利要求15所述的逻辑,其中,所述动作从下列项中选取:
向所述管理程序的管理控制台报告所述访问;
向所述客户OS提供推荐;以及
在所述客户OS内自动采取动作。
19. 如权利要求15所述的逻辑,还包括使用策略来验证所述访问尝试,所述策略包括:
如果所述进程从存储器元件的可写区域执行,则拒绝所述访问;以及
如果所述进程从所述存储器元件的只读区域执行,则准许所述访问。
20. 如权利要求15所述的逻辑,还包括:
识别与所述CAS对应的机器地址,所述识别包括:
促使所述客户OS中的页错误;
从与所述CAS对应的客户虚拟地址来解析客户物理地址;以及
将所述机器地址映射到所述客户物理地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/271,102 US8694738B2 (en) | 2011-10-11 | 2011-10-11 | System and method for critical address space protection in a hypervisor environment |
US13/271102 | 2011-10-11 | ||
PCT/US2012/055674 WO2013055502A1 (en) | 2011-10-11 | 2012-09-15 | System and method for critical address space protection in a hypervisor environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103907098A true CN103907098A (zh) | 2014-07-02 |
CN103907098B CN103907098B (zh) | 2018-05-08 |
Family
ID=48042866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280053614.5A Active CN103907098B (zh) | 2011-10-11 | 2012-09-15 | 用于管理程序环境中的关键地址空间保护的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8694738B2 (zh) |
EP (1) | EP2766847A4 (zh) |
JP (1) | JP5763278B2 (zh) |
CN (1) | CN103907098B (zh) |
WO (1) | WO2013055502A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369558A (zh) * | 2015-11-25 | 2018-08-03 | 罗伯特·博世有限公司 | 用于运行微控制器的方法 |
CN108830078A (zh) * | 2018-05-09 | 2018-11-16 | 中国船舶重工集团公司第七〇四研究所 | 一种针对工控设备的恶意代码发现方法 |
CN109997138A (zh) * | 2016-09-13 | 2019-07-09 | 赛门铁克公司 | 用于检测计算设备上的恶意进程的系统和方法 |
CN110430209A (zh) * | 2019-08-13 | 2019-11-08 | 中科天御(苏州)科技有限公司 | 一种基于动态多样化的工控系统安全防御方法及装置 |
CN113918084A (zh) * | 2020-07-10 | 2022-01-11 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840968B1 (en) * | 2003-12-17 | 2010-11-23 | Mcafee, Inc. | Method and system for containment of usage of language interfaces |
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 |
US8555404B1 (en) | 2006-05-18 | 2013-10-08 | Mcafee, Inc. | Connectivity-based authorization |
US9424154B2 (en) * | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
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 |
US8381284B2 (en) | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
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 |
US8549003B1 (en) | 2010-09-12 | 2013-10-01 | Mcafee, Inc. | System and method for clustering host inventories |
KR101701515B1 (ko) * | 2010-11-16 | 2017-02-01 | 삼성전자주식회사 | 메모리 접근 정보를 추적하기 위한 장치 및 방법 |
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 |
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 |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit 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 |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US9069598B2 (en) * | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
RU2510075C2 (ru) * | 2012-04-11 | 2014-03-20 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ обнаружения вредоносного программного обеспечения в ядре операционной системы |
CN102750477B (zh) * | 2012-06-11 | 2014-03-19 | 腾讯科技(深圳)有限公司 | 控制终端关闭的方法和系统 |
US10607007B2 (en) | 2012-07-03 | 2020-03-31 | Hewlett-Packard Development Company, L.P. | Micro-virtual machine forensics and detection |
US9223962B1 (en) | 2012-07-03 | 2015-12-29 | Bromium, Inc. | Micro-virtual machine forensics and detection |
US9275223B2 (en) * | 2012-10-19 | 2016-03-01 | Mcafee, Inc. | Real-time module protection |
US9922192B1 (en) | 2012-12-07 | 2018-03-20 | Bromium, Inc. | Micro-virtual machine forensics and detection |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
US8868908B2 (en) * | 2013-03-08 | 2014-10-21 | Dark Matter Labs, Inc. | Total hypervisor encryptor |
US20140325689A1 (en) * | 2013-04-26 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Shutdown verification method and device |
US9507727B2 (en) * | 2013-07-17 | 2016-11-29 | Bitdefender IPR Management Ltd. | Page fault injection in virtual machines |
US9147070B2 (en) * | 2013-08-12 | 2015-09-29 | Cisco Technology, Inc. | Binary translation and randomization system for application security |
CN105580023B (zh) | 2013-10-24 | 2019-08-16 | 迈克菲股份有限公司 | 网络环境中的代理辅助的恶意应用阻止 |
US10747563B2 (en) * | 2014-03-17 | 2020-08-18 | Vmware, Inc. | Optimizing memory sharing in a virtualized computer system with address space layout randomization (ASLR) enabled in guest operating systems wherein said ASLR is enable during initialization of a virtual machine, in a group, when no other virtual machines are active in said group |
US9760712B2 (en) * | 2014-05-23 | 2017-09-12 | Vmware, Inc. | Application whitelisting using user identification |
US9792222B2 (en) * | 2014-06-27 | 2017-10-17 | Intel Corporation | Validating virtual address translation by virtual machine monitor utilizing address validation structure to validate tentative guest physical address and aborting based on flag in extended page table requiring an expected guest physical address in the address validation structure |
US20160048679A1 (en) | 2014-08-18 | 2016-02-18 | Bitdefender IPR Management Ltd. | Systems And Methods for Exposing A Current Processor Instruction Upon Exiting A Virtual Machine |
US20160077981A1 (en) * | 2014-09-12 | 2016-03-17 | Advanced Micro Devices, Inc. | Method and Apparatus for Efficient User-Level IO in a Virtualized System |
US10311228B2 (en) | 2014-09-30 | 2019-06-04 | Apple Inc. | Using a fine-grained address space layout randomization to mitigate potential security exploits |
US10311227B2 (en) | 2014-09-30 | 2019-06-04 | Apple Inc. | Obfuscation of an address space layout randomization mapping in a data processing system |
WO2016079602A1 (en) | 2014-11-17 | 2016-05-26 | Morphisec Information Security Ltd. | Malicious code protection for computer systems based on process modification |
US9659170B2 (en) * | 2015-01-02 | 2017-05-23 | Senteon LLC | Securing data on untrusted devices |
US9189630B1 (en) | 2015-01-21 | 2015-11-17 | AO Kaspersky Lab | Systems and methods for active operating system kernel protection |
JP6645011B2 (ja) * | 2015-01-27 | 2020-02-12 | 日本電気株式会社 | 仮想化システム、サーバ、端末、仮想化方法、及びそのためのプログラム |
CN108027737B (zh) * | 2015-04-07 | 2021-07-27 | 瑞安安全股份有限公司 | 通过二进制和存储器多样性进行混淆的系统和方法 |
US9727359B2 (en) * | 2015-04-27 | 2017-08-08 | Red Hat Israel, Ltd. | Virtual machine function based sub-page base address register access for peripheral component interconnect device assignment |
US9710393B2 (en) * | 2015-06-25 | 2017-07-18 | Intel Corporation | Dynamic page table edit control |
US10075296B2 (en) * | 2015-07-02 | 2018-09-11 | Intel Corporation | Loading and virtualizing cryptographic keys |
US10191858B2 (en) | 2015-11-25 | 2019-01-29 | Red Hat Israel, Ltd. | Virtual machine memory lock-down |
US10402563B2 (en) | 2016-02-11 | 2019-09-03 | Morphisec Information Security Ltd. | Automated classification of exploits based on runtime environmental features |
US10013554B2 (en) * | 2016-03-31 | 2018-07-03 | Qualcomm Incorporated | Time varying address space layout randomization |
US10019583B2 (en) | 2016-04-01 | 2018-07-10 | Samsung Electronics Co., Ltd. | Method and apparatus for performing protected walk-based shadow paging using multiple stages of page tables |
GB2549511B (en) * | 2016-04-20 | 2019-02-13 | Advanced Risc Mach Ltd | An apparatus and method for performing operations on capability metadata |
US10621340B2 (en) | 2016-09-01 | 2020-04-14 | Intel Corporation | Hybrid hypervisor-assisted security model |
US10043013B1 (en) * | 2016-09-09 | 2018-08-07 | Symantec Corporation | Systems and methods for detecting gadgets on computing devices |
US10228963B2 (en) | 2016-12-19 | 2019-03-12 | Red Hat, Inc. | Efficient hypervisor reporting |
US10489308B2 (en) * | 2017-06-29 | 2019-11-26 | Intel Corporation | Mitigating attacks on kernel address space layout randomization |
US11188367B2 (en) * | 2017-08-21 | 2021-11-30 | Nicira Inc. | Guest operating system physical memory page protection using hypervisor |
US10740190B2 (en) * | 2017-09-15 | 2020-08-11 | Iron Mountain Incorporated | Secure data protection and recovery |
US11210222B2 (en) * | 2018-01-23 | 2021-12-28 | Vmware, Inc. | Non-unified cache coherency maintenance for virtual machines |
US11150929B2 (en) | 2018-05-29 | 2021-10-19 | Red Hat, Inc. | Enhanced memory management for virtual machines |
KR102186221B1 (ko) * | 2018-11-29 | 2020-12-03 | 한국전자통신연구원 | 하드웨어 기반의 임베디드 시스템의 주소 공간 레이아웃 랜덤화 방법 및 이를 위한 장치 |
US11061829B2 (en) * | 2019-04-09 | 2021-07-13 | Red Hat, Inc. | Prefetch support with address space randomization |
US11573910B2 (en) | 2019-08-22 | 2023-02-07 | Intel Corporation | Apparatus, system and method to define memory information leak zones in a computing system |
US11947465B2 (en) * | 2020-10-13 | 2024-04-02 | International Business Machines Corporation | Buffer overflow trapping |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235534A1 (en) * | 2007-03-22 | 2008-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
US20090113110A1 (en) * | 2007-10-30 | 2009-04-30 | Vmware, Inc. | Providing VMM Access to Guest Virtual Memory |
US20100332910A1 (en) * | 2009-06-26 | 2010-12-30 | Vmware, Inc. | System and method to reduce trace faults in software mmu virtualization |
CN102667794A (zh) * | 2009-12-23 | 2012-09-12 | 国际商业机器公司 | 用于保护操作系统免于非授权修改的方法和系统 |
Family Cites Families (232)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4982430A (en) | 1985-04-24 | 1991-01-01 | General Instrument Corporation | Bootstrap channel security arrangement for communication network |
US4688169A (en) | 1985-05-30 | 1987-08-18 | Joshi Bhagirath S | Computer software security system |
US5155847A (en) | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
US5560008A (en) | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
CA2010591C (en) | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
US5222134A (en) | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5390314A (en) | 1992-10-09 | 1995-02-14 | American Airlines, Inc. | Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification |
US5339261A (en) | 1992-10-22 | 1994-08-16 | Base 10 Systems, Inc. | System for operating application software in a safety critical environment |
US5584009A (en) | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
JP3042341B2 (ja) | 1994-11-30 | 2000-05-15 | 日本電気株式会社 | クラスタ結合型マルチプロセッサシステムにおけるローカル入出力制御方法 |
US6282712B1 (en) | 1995-03-10 | 2001-08-28 | Microsoft Corporation | Automatic software installation on heterogeneous networked computer systems |
US5699513A (en) | 1995-03-31 | 1997-12-16 | Motorola, Inc. | Method for secure network access via message intercept |
US5787427A (en) | 1996-01-03 | 1998-07-28 | International Business Machines Corporation | Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies |
US5842017A (en) | 1996-01-29 | 1998-11-24 | Digital Equipment Corporation | Method and apparatus for forming a translation unit |
US5907709A (en) | 1996-02-08 | 1999-05-25 | Inprise Corporation | Development system with methods for detecting invalid use and management of resources and memory at runtime |
US5907708A (en) | 1996-06-03 | 1999-05-25 | Sun Microsystems, Inc. | System and method for facilitating avoidance of an exception of a predetermined type in a digital computer system by providing fix-up code for an instruction in response to detection of an exception condition resulting from execution thereof |
US5787177A (en) | 1996-08-01 | 1998-07-28 | Harris Corporation | Integrated network security access control system |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
US5991881A (en) | 1996-11-08 | 1999-11-23 | Harris Corporation | Network surveillance system |
US5987611A (en) | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
US6141698A (en) | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6587877B1 (en) | 1997-03-25 | 2003-07-01 | Lucent Technologies Inc. | Management of time and expense when communicating between a host and a communication network |
US6192475B1 (en) | 1997-03-31 | 2001-02-20 | David R. Wallace | System and method for cloaking software |
US6167522A (en) | 1997-04-01 | 2000-12-26 | Sun Microsystems, Inc. | Method and apparatus for providing security for servers executing application programs received via a network |
US6356957B2 (en) | 1997-04-03 | 2002-03-12 | Hewlett-Packard Company | Method for emulating native object oriented foundation classes on a target object oriented programming system using a template library |
US6073142A (en) | 1997-06-23 | 2000-06-06 | Park City Group | Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments |
US6275938B1 (en) | 1997-08-28 | 2001-08-14 | Microsoft Corporation | Security enhancement for untrusted executable code |
US6192401B1 (en) | 1997-10-21 | 2001-02-20 | Sun Microsystems, Inc. | System and method for determining cluster membership in a heterogeneous distributed system |
US6393465B2 (en) | 1997-11-25 | 2002-05-21 | Nixmail Corporation | Junk electronic mail detector and eliminator |
US5987610A (en) | 1998-02-12 | 1999-11-16 | Ameritech Corporation | Computer virus screening methods and systems |
US6795966B1 (en) | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6442686B1 (en) | 1998-07-02 | 2002-08-27 | Networks Associates Technology, Inc. | System and methodology for messaging server-based management and enforcement of crypto policies |
US6338149B1 (en) | 1998-07-31 | 2002-01-08 | Westinghouse Electric Company Llc | Change monitoring system for a computer system |
US6546425B1 (en) | 1998-10-09 | 2003-04-08 | Netmotion Wireless, Inc. | Method and apparatus for providing mobile and other intermittent connectivity in a computing environment |
JP3753873B2 (ja) | 1998-11-11 | 2006-03-08 | 株式会社島津製作所 | 分光光度計 |
US6969352B2 (en) | 1999-06-22 | 2005-11-29 | Teratech Corporation | Ultrasound probe with integrated electronics |
US6453468B1 (en) | 1999-06-30 | 2002-09-17 | B-Hub, Inc. | Methods for improving reliability while upgrading software programs in a clustered computer system |
US6567857B1 (en) | 1999-07-29 | 2003-05-20 | Sun Microsystems, Inc. | Method and apparatus for dynamic proxy insertion in network traffic flow |
US6256773B1 (en) | 1999-08-31 | 2001-07-03 | Accenture Llp | System, method and article of manufacture for configuration management in a development architecture framework |
US6990591B1 (en) | 1999-11-18 | 2006-01-24 | Secureworks, Inc. | Method and system for remotely configuring and monitoring a communication device |
US6321267B1 (en) | 1999-11-23 | 2001-11-20 | Escom Corporation | Method and apparatus for filtering junk email |
US6662219B1 (en) | 1999-12-15 | 2003-12-09 | Microsoft Corporation | System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource |
US6460050B1 (en) | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
US6769008B1 (en) | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
EP1281134A4 (en) | 2000-03-17 | 2007-01-10 | Filesx Ltd | ACCELERATE ANSWERS TO REQUIREMENTS FROM USERS TO AN INTERNET |
US6748534B1 (en) | 2000-03-31 | 2004-06-08 | Networks Associates, Inc. | System and method for partitioned distributed scanning of a large dataset for viruses and other malware |
CA2305078A1 (en) | 2000-04-12 | 2001-10-12 | Cloakware Corporation | Tamper resistant software - mass data encoding |
US7325127B2 (en) | 2000-04-25 | 2008-01-29 | Secure Data In Motion, Inc. | Security server system |
WO2001084285A2 (en) | 2000-04-28 | 2001-11-08 | Internet Security Systems, Inc. | Method and system for managing computer security information |
US6769115B1 (en) | 2000-05-01 | 2004-07-27 | Emc Corporation | Adaptive interface for a software development environment |
US6847993B1 (en) | 2000-05-31 | 2005-01-25 | International Business Machines Corporation | Method, system and program products for managing cluster configurations |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US6611925B1 (en) | 2000-06-13 | 2003-08-26 | Networks Associates Technology, Inc. | Single point of entry/origination item scanning within an enterprise or workgroup |
US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
US8204999B2 (en) | 2000-07-10 | 2012-06-19 | Oracle International Corporation | Query string processing |
US7093239B1 (en) | 2000-07-14 | 2006-08-15 | Internet Security Systems, Inc. | Computer immune system and method for detecting unwanted code in a computer system |
US7350204B2 (en) | 2000-07-24 | 2008-03-25 | Microsoft Corporation | Policies for secure software execution |
US7441265B2 (en) | 2000-08-04 | 2008-10-21 | Prismtech Gmbh | Method and system for session based authorization and access control for networked application objects |
US7707305B2 (en) | 2000-10-17 | 2010-04-27 | Cisco Technology, Inc. | Methods and apparatus for protecting against overload conditions on nodes of a distributed network |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7146305B2 (en) | 2000-10-24 | 2006-12-05 | Vcis, Inc. | Analytical virtual machine |
US6930985B1 (en) | 2000-10-26 | 2005-08-16 | Extreme Networks, Inc. | Method and apparatus for management of configuration in a network |
US6834301B1 (en) | 2000-11-08 | 2004-12-21 | Networks Associates Technology, Inc. | System and method for configuration, management, and monitoring of a computer network using inheritance |
US6766334B1 (en) | 2000-11-21 | 2004-07-20 | Microsoft Corporation | Project-based configuration management method and apparatus |
US20020069367A1 (en) | 2000-12-06 | 2002-06-06 | Glen Tindal | Network operating system data directory |
US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
JP2002244898A (ja) | 2001-02-19 | 2002-08-30 | Hitachi Ltd | データベース管理プログラム及びデータベースシステム |
US6918110B2 (en) | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
US6988101B2 (en) | 2001-05-31 | 2006-01-17 | International Business Machines Corporation | Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system |
US6715050B2 (en) | 2001-05-31 | 2004-03-30 | Oracle International Corporation | Storage access keys |
US6988124B2 (en) | 2001-06-06 | 2006-01-17 | Microsoft Corporation | Locating potentially identical objects across multiple computers based on stochastic partitioning of workload |
US7290266B2 (en) | 2001-06-14 | 2007-10-30 | Cisco Technology, Inc. | Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy |
US7065767B2 (en) | 2001-06-29 | 2006-06-20 | Intel Corporation | Managed hosting server auditing and change tracking |
US7069330B1 (en) | 2001-07-05 | 2006-06-27 | Mcafee, Inc. | Control of interaction between client computer applications and network resources |
US20030023736A1 (en) | 2001-07-12 | 2003-01-30 | Kurt Abkemeier | Method and system for filtering messages |
US20030014667A1 (en) | 2001-07-16 | 2003-01-16 | Andrei Kolichtchak | Buffer overflow attack detection and suppression |
US6877088B2 (en) | 2001-08-08 | 2005-04-05 | Sun Microsystems, Inc. | Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition |
US7007302B1 (en) | 2001-08-31 | 2006-02-28 | Mcafee, Inc. | Efficient management and blocking of malicious code and hacking attempts in a network environment |
US7010796B1 (en) | 2001-09-28 | 2006-03-07 | Emc Corporation | Methods and apparatus providing remote operation of an application programming interface |
US7177267B2 (en) | 2001-11-09 | 2007-02-13 | Adc Dsl Systems, Inc. | Hardware monitoring and configuration management |
US7346781B2 (en) | 2001-12-06 | 2008-03-18 | Mcafee, Inc. | Initiating execution of a computer program from an encrypted version of a computer program |
US7159036B2 (en) | 2001-12-10 | 2007-01-02 | Mcafee, Inc. | Updating data from a source computer to groups of destination computers |
US7039949B2 (en) | 2001-12-10 | 2006-05-02 | Brian Ross Cartmell | Method and system for blocking unwanted communications |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
CA2469633C (en) | 2001-12-13 | 2011-06-14 | Japan Science And Technology Agency | Software safety execution system |
US7398389B2 (en) | 2001-12-20 | 2008-07-08 | Coretrace Corporation | Kernel-based network security infrastructure |
JP3906356B2 (ja) | 2001-12-27 | 2007-04-18 | 独立行政法人情報通信研究機構 | 構文解析方法及び装置 |
US7743415B2 (en) | 2002-01-31 | 2010-06-22 | Riverbed Technology, Inc. | Denial of service attacks characterization |
US20030167399A1 (en) | 2002-03-01 | 2003-09-04 | Yves Audebert | Method and system for performing post issuance configuration and data changes to a personal security device using a communications pipe |
US6941449B2 (en) | 2002-03-04 | 2005-09-06 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing critical tasks using speculative operations |
US7600021B2 (en) | 2002-04-03 | 2009-10-06 | Microsoft Corporation | Delta replication of source files and packages across networked resources |
US20070253430A1 (en) | 2002-04-23 | 2007-11-01 | Minami John S | Gigabit Ethernet Adapter |
US7370360B2 (en) | 2002-05-13 | 2008-05-06 | International Business Machines Corporation | Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine |
US7823148B2 (en) | 2002-05-22 | 2010-10-26 | Oracle America, Inc. | System and method for performing patch installation via a graphical user interface |
US20030221190A1 (en) | 2002-05-22 | 2003-11-27 | Sun Microsystems, Inc. | System and method for performing patch installation on multiple devices |
US7024404B1 (en) | 2002-05-28 | 2006-04-04 | The State University Rutgers | Retrieval and display of data objects using a cross-group ranking metric |
US7512977B2 (en) | 2003-06-11 | 2009-03-31 | Symantec Corporation | Intrustion protection system utilizing layers |
US7823203B2 (en) | 2002-06-17 | 2010-10-26 | At&T Intellectual Property Ii, L.P. | Method and device for detecting computer network intrusions |
US7139916B2 (en) | 2002-06-28 | 2006-11-21 | Ebay, Inc. | Method and system for monitoring user interaction with a computer |
US8924484B2 (en) | 2002-07-16 | 2014-12-30 | Sonicwall, Inc. | Active e-mail filter with challenge-response |
US7522906B2 (en) | 2002-08-09 | 2009-04-21 | Wavelink Corporation | Mobile unit configuration management for WLANs |
US7624347B2 (en) | 2002-09-17 | 2009-11-24 | At&T Intellectual Property I, L.P. | System and method for forwarding full header information in email messages |
US7546333B2 (en) | 2002-10-23 | 2009-06-09 | Netapp, Inc. | Methods and systems for predictive change management for access paths in networks |
US7353501B2 (en) | 2002-11-18 | 2008-04-01 | Microsoft Corporation | Generic wrapper scheme |
US7865931B1 (en) | 2002-11-25 | 2011-01-04 | Accenture Global Services Limited | Universal authorization and access control security measure for applications |
US20040143749A1 (en) | 2003-01-16 | 2004-07-22 | Platformlogic, Inc. | Behavior-based host-based intrusion prevention system |
US20040167906A1 (en) | 2003-02-25 | 2004-08-26 | Smith Randolph C. | System consolidation tool and method for patching multiple servers |
US7024548B1 (en) | 2003-03-10 | 2006-04-04 | Cisco Technology, Inc. | Methods and apparatus for auditing and tracking changes to an existing configuration of a computerized device |
US7529754B2 (en) | 2003-03-14 | 2009-05-05 | Websense, Inc. | System and method of monitoring and controlling application files |
CN1723446A (zh) | 2003-03-28 | 2006-01-18 | 松下电器产业株式会社 | 记录介质、记录设备及使用该记录介质和设备的再现设备 |
US7607010B2 (en) | 2003-04-12 | 2009-10-20 | Deep Nines, Inc. | System and method for network edge data protection |
US20050108516A1 (en) | 2003-04-17 | 2005-05-19 | Robert Balzer | By-pass and tampering protection for application wrappers |
US20040230963A1 (en) | 2003-05-12 | 2004-11-18 | Rothman Michael A. | Method for updating firmware in an operating system agnostic manner |
DE10324189A1 (de) | 2003-05-28 | 2004-12-16 | Robert Bosch Gmbh | Verfahren zur Steuerung des Zugriffs auf eine Ressource einer Applikation in einer Datenverarbeitungseinrichtung |
US7657599B2 (en) | 2003-05-29 | 2010-02-02 | Mindshare Design, Inc. | Systems and methods for automatically updating electronic mail access lists |
US20050108562A1 (en) | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
US7283517B2 (en) | 2003-07-22 | 2007-10-16 | Innomedia Pte | Stand alone multi-media terminal adapter with network address translation and port partitioning |
US7886093B1 (en) | 2003-07-31 | 2011-02-08 | Hewlett-Packard Development Company, L.P. | Electronic device network supporting compression and decompression in electronic devices |
US7464408B1 (en) | 2003-08-29 | 2008-12-09 | Solidcore Systems, Inc. | Damage containment by translation |
US20050114672A1 (en) | 2003-11-20 | 2005-05-26 | Encryptx Corporation | Data rights management of digital information in a portable software permission wrapper |
US7600219B2 (en) | 2003-12-10 | 2009-10-06 | Sap Ag | Method and system to monitor software interface updates and assess backward compatibility |
US7546594B2 (en) | 2003-12-15 | 2009-06-09 | Microsoft Corporation | System and method for updating installation components using an installation component delta patch in a networked environment |
US7840968B1 (en) | 2003-12-17 | 2010-11-23 | Mcafee, Inc. | Method and system for containment of usage of language interfaces |
US7272654B1 (en) | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
US7783735B1 (en) | 2004-03-22 | 2010-08-24 | Mcafee, Inc. | Containment of network communication |
WO2005099340A2 (en) | 2004-04-19 | 2005-10-27 | Securewave S.A. | On-line centralized and local authorization of executable files |
US20060004875A1 (en) | 2004-05-11 | 2006-01-05 | Microsoft Corporation | CMDB schema |
US7890946B2 (en) | 2004-05-11 | 2011-02-15 | Microsoft Corporation | Efficient patching |
EP1762114B1 (en) | 2004-05-24 | 2015-11-04 | Google, Inc. | Location based access control in a wireless network |
US7818377B2 (en) | 2004-05-24 | 2010-10-19 | Microsoft Corporation | Extended message rule architecture |
US7506170B2 (en) | 2004-05-28 | 2009-03-17 | Microsoft Corporation | Method for secure access to multiple secure networks |
US20050273858A1 (en) | 2004-06-07 | 2005-12-08 | Erez Zadok | Stackable file systems and methods thereof |
JP4341517B2 (ja) | 2004-06-21 | 2009-10-07 | 日本電気株式会社 | セキュリティポリシー管理システム、セキュリティポリシー管理方法およびプログラム |
US20050289538A1 (en) | 2004-06-23 | 2005-12-29 | International Business Machines Corporation | Deploying an application software on a virtual deployment target |
US7203864B2 (en) | 2004-06-25 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | Method and system for clustering computers into peer groups and comparing individual computers to their peers |
US7908653B2 (en) | 2004-06-29 | 2011-03-15 | Intel Corporation | Method of improving computer security through sandboxing |
US20060015501A1 (en) | 2004-07-19 | 2006-01-19 | International Business Machines Corporation | System, method and program product to determine a time interval at which to check conditions to permit access to a file |
US7937455B2 (en) | 2004-07-28 | 2011-05-03 | Oracle International Corporation | Methods and systems for modifying nodes in a cluster environment |
US7703090B2 (en) | 2004-08-31 | 2010-04-20 | Microsoft Corporation | Patch un-installation |
US7873955B1 (en) | 2004-09-07 | 2011-01-18 | Mcafee, Inc. | Solidifying the executable software set of a computer |
US20060080656A1 (en) | 2004-10-12 | 2006-04-13 | Microsoft Corporation | Methods and instructions for patch management |
US9329905B2 (en) | 2004-10-15 | 2016-05-03 | Emc Corporation | Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine |
US7765538B2 (en) | 2004-10-29 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | Method and apparatus for determining which program patches to recommend for installation |
US20060101277A1 (en) | 2004-11-10 | 2006-05-11 | Meenan Patrick A | Detecting and remedying unauthorized computer programs |
WO2006101549A2 (en) | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
US7765544B2 (en) | 2004-12-17 | 2010-07-27 | Intel Corporation | Method, apparatus and system for improving security in a virtual machine host |
US8479193B2 (en) | 2004-12-17 | 2013-07-02 | Intel Corporation | Method, apparatus and system for enhancing the usability of virtual machines |
US7607170B2 (en) | 2004-12-22 | 2009-10-20 | Radware Ltd. | Stateful attack protection |
US7302558B2 (en) | 2005-01-25 | 2007-11-27 | Goldman Sachs & Co. | Systems and methods to facilitate the creation and configuration management of computing systems |
US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US8056138B2 (en) | 2005-02-26 | 2011-11-08 | International Business Machines Corporation | System, method, and service for detecting improper manipulation of an application |
US7836504B2 (en) | 2005-03-01 | 2010-11-16 | Microsoft Corporation | On-access scan of memory for malware |
US7685635B2 (en) | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
TW200707417A (en) | 2005-03-18 | 2007-02-16 | Sony Corp | Reproducing apparatus, reproducing method, program, program storage medium, data delivery system, data structure, and manufacturing method of recording medium |
US7552479B1 (en) | 2005-03-22 | 2009-06-23 | Symantec Corporation | Detecting shellcode that modifies IAT entries |
US7770151B2 (en) | 2005-04-07 | 2010-08-03 | International Business Machines Corporation | Automatic generation of solution deployment descriptors |
US8590044B2 (en) | 2005-04-14 | 2013-11-19 | International Business Machines Corporation | Selective virus scanning system and method |
US7349931B2 (en) | 2005-04-14 | 2008-03-25 | Webroot Software, Inc. | System and method for scanning obfuscated files for pestware |
US7603552B1 (en) | 2005-05-04 | 2009-10-13 | Mcafee, Inc. | Piracy prevention using unique module translation |
US7363463B2 (en) | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
WO2006137057A2 (en) | 2005-06-21 | 2006-12-28 | Onigma Ltd. | A method and a system for providing comprehensive protection against leakage of sensitive information assets using host based agents, content- meta-data and rules-based policies |
US8839450B2 (en) | 2007-08-02 | 2014-09-16 | Intel Corporation | Secure vault service for software components within an execution environment |
US7739721B2 (en) | 2005-07-11 | 2010-06-15 | Microsoft Corporation | Per-user and system granular audit policy implementation |
US7856661B1 (en) | 2005-07-14 | 2010-12-21 | Mcafee, Inc. | Classification of software on networked systems |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US7962616B2 (en) | 2005-08-11 | 2011-06-14 | Micro Focus (Us), Inc. | Real-time activity monitoring and reporting |
US7340574B2 (en) | 2005-08-30 | 2008-03-04 | Rockwell Automation Technologies, Inc. | Method and apparatus for synchronizing an industrial controller with a redundant controller |
US8327353B2 (en) | 2005-08-30 | 2012-12-04 | Microsoft Corporation | Hierarchical virtualization with a multi-level virtualization mechanism |
US20070074199A1 (en) | 2005-09-27 | 2007-03-29 | Sebastian Schoenberg | Method and apparatus for delivering microcode updates through virtual machine operations |
US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
US7725737B2 (en) | 2005-10-14 | 2010-05-25 | Check Point Software Technologies, Inc. | System and methodology providing secure workspace environment |
US20070169079A1 (en) | 2005-11-08 | 2007-07-19 | Microsoft Corporation | Software update management |
US7836303B2 (en) | 2005-12-09 | 2010-11-16 | University Of Washington | Web browser operating system |
US7856538B2 (en) | 2005-12-12 | 2010-12-21 | Systex, Inc. | Methods, systems and computer readable medium for detecting memory overflow conditions |
US20070143851A1 (en) | 2005-12-21 | 2007-06-21 | Fiberlink | Method and systems for controlling access to computing resources based on known security vulnerabilities |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US8185724B2 (en) | 2006-03-03 | 2012-05-22 | Arm Limited | Monitoring values of signals within an integrated circuit |
US8621433B2 (en) | 2006-03-20 | 2013-12-31 | Microsoft Corporation | Managing version information for software components |
US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
US7752233B2 (en) | 2006-03-29 | 2010-07-06 | Massachusetts Institute Of Technology | Techniques for clustering a set of objects |
US7870387B1 (en) | 2006-04-07 | 2011-01-11 | Mcafee, Inc. | Program-based authorization |
US8015563B2 (en) | 2006-04-14 | 2011-09-06 | Microsoft Corporation | Managing virtual machines with system-wide policies |
US7966659B1 (en) | 2006-04-18 | 2011-06-21 | Rockwell Automation Technologies, Inc. | Distributed learn mode for configuring a firewall, security authority, intrusion detection/prevention devices, and the like |
US8458673B2 (en) | 2006-04-26 | 2013-06-04 | Flexera Software Llc | Computer-implemented method and system for binding digital rights management executable code to a software application |
US7849502B1 (en) | 2006-04-29 | 2010-12-07 | Ironport Systems, Inc. | Apparatus for monitoring network traffic |
US8291409B2 (en) | 2006-05-22 | 2012-10-16 | Microsoft Corporation | Updating virtual machine with patch on host that does not have network access |
US7761912B2 (en) | 2006-06-06 | 2010-07-20 | Microsoft Corporation | Reputation driven firewall |
US7809704B2 (en) | 2006-06-15 | 2010-10-05 | Microsoft Corporation | Combining spectral and probabilistic clustering |
US8176501B2 (en) | 2006-06-23 | 2012-05-08 | Dell Products L.P. | Enabling efficient input/output (I/O) virtualization |
US20070300215A1 (en) | 2006-06-26 | 2007-12-27 | Bardsley Jeffrey S | Methods, systems, and computer program products for obtaining and utilizing a score indicative of an overall performance effect of a software update on a software host |
US8468526B2 (en) | 2006-06-30 | 2013-06-18 | Intel Corporation | Concurrent thread execution using user-level asynchronous signaling |
US8365294B2 (en) | 2006-06-30 | 2013-01-29 | Intel Corporation | Hardware platform authentication and multi-platform validation |
US8572721B2 (en) | 2006-08-03 | 2013-10-29 | Citrix Systems, Inc. | Methods and systems for routing packets in a VPN-client-to-VPN-client connection via an SSL/VPN network appliance |
US8015388B1 (en) | 2006-08-04 | 2011-09-06 | Vmware, Inc. | Bypassing guest page table walk for shadow page table entries not present in guest page table |
US8161475B2 (en) | 2006-09-29 | 2012-04-17 | Microsoft Corporation | Automatic load and balancing for virtual machines to meet resource requirements |
US9697019B1 (en) | 2006-10-17 | 2017-07-04 | Manageiq, Inc. | Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine |
US7689817B2 (en) | 2006-11-16 | 2010-03-30 | Intel Corporation | Methods and apparatus for defeating malware |
US8336046B2 (en) | 2006-12-29 | 2012-12-18 | Intel Corporation | Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources |
US7996836B1 (en) | 2006-12-29 | 2011-08-09 | Symantec Corporation | Using a hypervisor to provide computer security |
US8381209B2 (en) | 2007-01-03 | 2013-02-19 | International Business Machines Corporation | Moveable access control list (ACL) mechanisms for hypervisors and virtual machines and virtual port firewalls |
US8254568B2 (en) | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US8380987B2 (en) | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
US7930327B2 (en) | 2007-05-21 | 2011-04-19 | International Business Machines Corporation | Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor |
US20080301770A1 (en) | 2007-05-31 | 2008-12-04 | Kinder Nathan G | Identity based virtual machine selector |
US20090007100A1 (en) | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Suspending a Running Operating System to Enable Security Scanning |
US8763115B2 (en) * | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
WO2009032710A2 (en) | 2007-08-29 | 2009-03-12 | Nirvanix, Inc. | Filing system and method for data files stored in a distributed communications network |
US8250641B2 (en) | 2007-09-17 | 2012-08-21 | Intel Corporation | Method and apparatus for dynamic switching and real time security control on virtualized systems |
US8195931B1 (en) | 2007-10-31 | 2012-06-05 | Mcafee, Inc. | Application change control |
JP5238235B2 (ja) | 2007-12-07 | 2013-07-17 | 株式会社日立製作所 | 管理装置及び管理方法 |
US8042190B2 (en) | 2007-12-31 | 2011-10-18 | Intel Corporation | Pre-boot protected memory channel |
US8515075B1 (en) | 2008-01-31 | 2013-08-20 | Mcafee, Inc. | Method of and system for malicious software detection using critical address space protection |
US20090249471A1 (en) | 2008-03-27 | 2009-10-01 | Moshe Litvin | Reversible firewall policies |
US8321931B2 (en) | 2008-03-31 | 2012-11-27 | Intel Corporation | Method and apparatus for sequential hypervisor invocation |
US8132091B2 (en) | 2008-08-07 | 2012-03-06 | Serge Nabutovsky | Link exchange system and method |
US8065714B2 (en) | 2008-09-12 | 2011-11-22 | Hytrust, Inc. | Methods and systems for securely managing virtualization platform |
US9141381B2 (en) | 2008-10-27 | 2015-09-22 | Vmware, Inc. | Version control environment for virtual machines |
US8060722B2 (en) | 2009-03-27 | 2011-11-15 | Vmware, Inc. | Hardware assistance for shadow page table coherence with guest page mappings |
US8381284B2 (en) | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
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 |
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 |
JP5758914B2 (ja) | 2010-12-21 | 2015-08-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 仮想計算機システム及び仮想計算機システム制御方法 |
US20120179874A1 (en) | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Scalable cloud storage architecture |
US8984478B2 (en) * | 2011-10-03 | 2015-03-17 | Cisco Technology, Inc. | Reorganization of virtualized computer programs |
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 |
US9256552B2 (en) * | 2011-11-21 | 2016-02-09 | Cisco Technology, Inc. | Selective access to executable memory |
-
2011
- 2011-10-11 US US13/271,102 patent/US8694738B2/en active Active
-
2012
- 2012-09-15 CN CN201280053614.5A patent/CN103907098B/zh active Active
- 2012-09-15 WO PCT/US2012/055674 patent/WO2013055502A1/en active Application Filing
- 2012-09-15 EP EP12840804.4A patent/EP2766847A4/en not_active Withdrawn
- 2012-09-15 JP JP2014535730A patent/JP5763278B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080235534A1 (en) * | 2007-03-22 | 2008-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
US20090113110A1 (en) * | 2007-10-30 | 2009-04-30 | Vmware, Inc. | Providing VMM Access to Guest Virtual Memory |
US20100332910A1 (en) * | 2009-06-26 | 2010-12-30 | Vmware, Inc. | System and method to reduce trace faults in software mmu virtualization |
CN102667794A (zh) * | 2009-12-23 | 2012-09-12 | 国际商业机器公司 | 用于保护操作系统免于非授权修改的方法和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369558A (zh) * | 2015-11-25 | 2018-08-03 | 罗伯特·博世有限公司 | 用于运行微控制器的方法 |
CN109997138A (zh) * | 2016-09-13 | 2019-07-09 | 赛门铁克公司 | 用于检测计算设备上的恶意进程的系统和方法 |
CN109997138B (zh) * | 2016-09-13 | 2023-07-14 | Ca公司 | 用于检测计算设备上的恶意进程的系统和方法 |
CN108830078A (zh) * | 2018-05-09 | 2018-11-16 | 中国船舶重工集团公司第七〇四研究所 | 一种针对工控设备的恶意代码发现方法 |
CN108830078B (zh) * | 2018-05-09 | 2022-04-19 | 中国船舶重工集团公司第七一四研究所 | 一种针对工控设备的恶意代码发现方法 |
CN110430209A (zh) * | 2019-08-13 | 2019-11-08 | 中科天御(苏州)科技有限公司 | 一种基于动态多样化的工控系统安全防御方法及装置 |
CN110430209B (zh) * | 2019-08-13 | 2021-12-14 | 中科天御(苏州)科技有限公司 | 一种基于动态多样化的工控系统安全防御方法及装置 |
CN113918084A (zh) * | 2020-07-10 | 2022-01-11 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN113918084B (zh) * | 2020-07-10 | 2023-08-18 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2766847A1 (en) | 2014-08-20 |
JP5763278B2 (ja) | 2015-08-12 |
US20130091318A1 (en) | 2013-04-11 |
CN103907098B (zh) | 2018-05-08 |
JP2014528623A (ja) | 2014-10-27 |
WO2013055502A1 (en) | 2013-04-18 |
US8694738B2 (en) | 2014-04-08 |
EP2766847A4 (en) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103907098A (zh) | 用于管理程序环境中的关键地址空间保护的系统和方法 | |
US20240211618A1 (en) | Inhibiting Memory Disclosure Attacks using Destructive Code Reads | |
CN105393255B (zh) | 用于虚拟机中的恶意软件检测的过程评估 | |
US9747172B2 (en) | Selective access to executable memory | |
CN107977573B (zh) | 用于安全的盘访问控制的方法和系统 | |
EP3123311B1 (en) | Malicious code protection for computer systems based on process modification | |
US9229881B2 (en) | Security in virtualized computer programs | |
RU2723668C1 (ru) | Фильтрация событий для приложений безопасности виртуальных машин | |
US11522904B2 (en) | Self-healing architecture for resilient computing services | |
CN102592082B (zh) | 通过操作码随机化的安全 | |
CN110383256B (zh) | 一种内核完整性保护方法及装置 | |
CN103460179A (zh) | 用于透明地对应用程序进行插桩的方法和设备 | |
CN111400702A (zh) | 一种虚拟化的操作系统内核保护方法 | |
CN110058921B (zh) | 客户虚拟机内存动态隔离和监控方法及系统 | |
KR101064164B1 (ko) | 리눅스 커널 기반 스마트 플랫폼 내에서의 커널 무결성 검사 및 변조된 커널 데이터 복구 방법 | |
CN108334404B (zh) | 应用程序的运行方法和装置 | |
Xuan et al. | Toward revealing kernel malware behavior in virtual execution environments | |
Suzaki et al. | Kernel memory protection by an insertable hypervisor which has VM introspection and stealth breakpoints | |
US20240354404A1 (en) | Migration of attacking software as a mitigation to an attack by a malicious actor | |
Zou et al. | Memshepherd: comprehensive memory bug fault‐tolerance system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: McAfee limited liability company Address before: American California Patentee before: Mai Kefei company |