CN107851153A - 使用异步自测异常的计算机安全系统及方法 - Google Patents
使用异步自测异常的计算机安全系统及方法 Download PDFInfo
- Publication number
- CN107851153A CN107851153A CN201680041426.9A CN201680041426A CN107851153A CN 107851153 A CN107851153 A CN 107851153A CN 201680041426 A CN201680041426 A CN 201680041426A CN 107851153 A CN107851153 A CN 107851153A
- Authority
- CN
- China
- Prior art keywords
- condition
- satisfied
- target entity
- response
- event
- 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
Classifications
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- 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/54—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 adding security routines or objects to programs
-
- 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
- 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/55—Detecting local intrusion or implementing counter-measures
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Abstract
所描述的系统及方法能够高效地分析安全相关事件,尤其是在硬件虚拟化平台中。在一些实施例中,通知处理程序检测虚拟机内事件的发生,且将相应事件传达给安全软件。接着,所述安全软件试图将所述相应事件与行为及异常签名的集合进行匹配。异常包括一组条件,当<event,entity>元组满足所述条件时,所述条件指示相应实体并非是恶意的。在一些实施例中,异常匹配的一部分是同步执行的(即,在触发所述相应事件的所述实体的执行被暂停的同时),而异常匹配的另一部分是异步执行的(即,在触发实体被允许重新开始执行之后)。
Description
相关申请案
本申请案自申请之日起主张2015年7月14日提出申请的标题为“使用异步自测异常的计算机安全系统及方法(Computer Security Systems and Methods UsingAsynchronous Introspection Exceptions)”的美国临时专利申请案第62/192,384号的权益,所述申请案的全部内容以引用的方式并入本文中。
背景技术
本发明涉及计算机安全系统及方法,且特定来说涉及用于保护硬件虚拟化环境免受计算机安全威胁的系统及方法。
恶意软件(Malicious software,也被称为malware)在世界范围内影响大量计算机系统。恶意软件以其许多形式(例如,计算机病毒、蠕虫、隐匿程序(rootkit)、间谍软件及非所要广告软件)给数百万计算机用户带来严重风险,使其容易丢失数据及敏感信息、身份被盗用及损失工作效率等等。
计算机安全软件可用于保护计算机系统免受恶意软件影响。检测及打击恶意软件的常用方法包含签名匹配及行为方法。基于签名的方法试图将目标软件实体的代码区段与从已知恶意软件提取的代码片段集合进行匹配。行为方法通常包括:检测由目标软件实体所致的或在目标软件实体的执行期间发生的事件的发生,及分析相应事件以确定其是否指示潜在安全威胁。
常规事件检测通常依赖于此项技术中已知的一类方法,如挂钩(hook)。这些方法通常易受攻击且可被恶意软件阻挠。此外,常规行为方法通常暂停导致所检测事件的实体的执行,同时分析相应事件以发现恶意指示符。这些暂停可对用户体验造成负面影响,尤其是在其中安全软件在受保护虚拟机外部执行的硬件虚拟化配置中。
一直以来希望提高计算机安全系统及方法的效率,且特定来说希望开发出能解决上述与事件检测及分析有关的缺点的系统及方法。
发明内容
根据一个方面,一种主机系统包括硬件处理器及存储器,所述硬件处理器经配置以执行目标实体、同步异常分析程序及异步异常分析程序。所述硬件处理器进一步经配置以:响应于检测到由所述目标实体的执行所致的事件的发生而暂停所述目标实体的所述执行且切换成执行所述同步异常分析程序。所述同步异常分析程序经配置以根据所述事件而确定所述目标实体是否有恶意嫌疑。所述同步异常分析程序进一步经配置以:作为响应,当所述目标实体有恶意嫌疑时,从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码。所述同步异常分析程序进一步经配置以:响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足。响应于确定所述第一条件是否被满足,当所述第一条件被满足时,所述同步异常分析程序进一步经配置以致使所述硬件处理器重新开始所述目标实体的执行。所述同步异常分析程序进一步经配置以:响应于确定所述第一条件是否被满足,当所述第一条件未被满足时,确定所述目标实体是恶意的。所述异步异常分析程序经配置以:响应于所述硬件处理器重新开始所述目标实体的执行,根据所述事件且根据所述目标实体而确定所述第二条件是否被满足。所述异步异常分析程序进一步经配置以:响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的。所述异步异常分析程序进一步经配置以:响应于确定所述第二条件是否被满足,当所述第二条件未被满足时,确定所述目标实体是恶意的。
根据另一方面,一种非暂时性计算机可读媒体存储处理器指令,所述处理器指令在由主机系统的硬件处理器执行时,致使所述主机系统形成同步异常分析程序及异步异常分析程序。所述硬件处理器进一步经配置以:响应于检测到由所述目标实体的执行所致的事件的发生,暂停所述目标实体的所述执行,且响应于暂停所述目标实体的执行,切换成执行所述同步异常分析程序。所述同步异常分析程序经配置以根据所述事件而确定所述目标实体是否有恶意嫌疑。所述同步异常分析程序进一步经配置以:作为响应,当所述目标实体有恶意嫌疑时,从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码。所述同步异常分析程序进一步经配置以响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足。响应于确定所述第一条件是否被满足,当所述第一条件被满足时,所述同步异常分析程序进一步经配置以致使所述硬件处理器重新开始所述目标实体的执行。所述同步异常分析程序进一步经配置以:响应于确定所述第一条件是否被满足,当所述第一条件未被满足时,确定所述目标实体是恶意的。所述异步异常分析程序经配置以:响应于所述硬件处理器重新开始所述目标实体的执行,根据所述事件且根据所述目标实体而确定所述第二条件是否被满足。所述异步异常分析程序进一步经配置以:响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的。所述异步异常分析程序进一步经配置以:响应于确定所述第二条件是否被满足,当所述第二条件未被满足时,确定所述目标实体是恶意的。
根据另一方面,一种方法保护主机系统免受计算机安全威胁,其中所述主机系统包括硬件处理器及存储器。所述方法包括:采用所述硬件处理器来检测由目标实体的执行所致的事件的发生。所述方法进一步包括:响应于检测到所述事件的所述发生,采用所述硬件处理器来暂停所述目标实体的所述执行且切换成执行同步异常分析程序。所述同步异常分析程序经配置以根据所述事件而确定所述目标实体是否有恶意嫌疑。当所述目标实体有恶意嫌疑时,作为响应,所述同步异常分析程序经配置以从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码。所述同步异常分析程序进一步经配置以响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足。所述同步异常分析程序进一步经配置以,响应于确定所述第一条件是否被满足,当所述第一条件被满足时,致使所述硬件处理器重新开始所述目标实体的执行,且当所述第一条件未被满足时,确定所述目标实体是恶意的。所述方法进一步包括,响应于所述硬件处理器重新开始所述目标实体的执行,采用所述硬件处理器来根据所述事件且根据所述目标实体而确定所述第二条件是否被满足。所述方法进一步包括:响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的,且当所述第二条件未被满足时,确定所述目标实体是恶意的。
附图说明
在阅读以下详细描述后且在参考图式后,本发明的前述方面及优点将立即变得更好理解,在图式中:
图1展示根据本发明的一些实施例的受保护免受计算机安全威胁的主机系统的示范性硬件配置。
图2-A展示在不涉及硬件虚拟化的配置中保护根据本发明的一些实施例的主机系统的示范性计算机安全应用程序(CSA)。
图2-B展示根据本发明的一些实施例的其中一组示范性受保护虚拟机由在主机系统上执行的管理程序公开且其中CSA在受保护虚拟机外部执行的替代配置。
图3图解说明根据本发明的一些实施例的计算机安全应用程序的示范性组件。
图4-A展示其中通知处理程序在受保护虚拟机内执行且其中同步及异步异常分析程序在受保护虚拟机外部执行的示范性配置。
图4-B展示根据本发明的一些实施例的其中通知处理程序在受保护虚拟机外部执行且其中同步及异步异常分析程序在受保护虚拟机内执行的替代配置。
图4-C展示根据本发明的一些实施例的其中异步异常分析程序在与受保护虚拟机相异的安全虚拟机内执行的又一示范性配置。
图5展示根据本发明的一些实施例的计算机安全应用程序的组件的示范性交互。
图6图解说明根据本发明的一些实施例的规则异常的示范性格式。
图7展示根据本发明的一些实施例的异常分析请求(EAR)的示范性格式。
图8展示根据本发明的一些实施例的由通知处理程序实施的一系列示范性步骤。
图9展示根据本发明的一些实施例的由同步异常分析程序执行的一系列示范性步骤。
图10展示根据本发明的一些实施例的由异步异常分析程序实施的一系列示范性步骤。
图11图解说明根据本发明的一些实施例的由终止观察程序实施的一系列示范性步骤。
具体实施方式
在以下描述中,应理解,结构之间的所有所述连接可为直接操作性连接或通过中间结构的间接操作性连接。一组元素包含一个或多个元素。对元素的任何引用应理解为指代至少一个元素。多个元素包含至少两个元素。除非另有需要,否则任何所描述的方法步骤不需要一定以所图解说明的特定次序执行。从第二元素导出的第一元素(例如,数据)涵盖等于所述第二元素的第一元素以及通过处理所述第二元素而产生的第一元素及任选地其它数据。根据参数做出确定或决策涵盖根据所述参数及任选地根据其它数据做出确定或决策。除非另有规定,否则一些数量/数据的指示符可为数量/数据本身,或与所述数量/数据本身不同的指示符。计算机安全涵盖保护用户及装备以防对数据及/或硬件的无意或未授权存取、对数据及/或硬件的无意或未授权修改及对数据及/或硬件的破坏。计算机程序是实施任务的处理器指令序列。本发明的一些实施例中所描述的计算机程序可以是独立软件实体或其它计算机程序的子实体(例如,子例程、库)。除非另有规定,否则进程是计算机程序的实例,例如应用程序或操作系统的一部分,且特征在于具有至少一个执行线程及指派给所述进程的虚拟存储器空间,其中相应虚拟存储器空间的内容包含可执行代码。除非另有规定,否则访客进程是在虚拟机内执行的进程。当进程在相应虚拟机的虚拟处理器上执行时,所述进程被视为在虚拟机内执行。除非另有规定,否则页面表示可被个别地映射到主机系统的物理存储器的虚拟存储器的最小单元。计算机可读媒体涵盖:非暂时性媒体,例如磁性存储媒体、光学存储媒体及半导体存储媒体(例如硬盘驱动器、光盘、快闪存储器、DRAM);以及通信链路,例如导电电缆及光纤链路。根据一些实施例,本发明除了别的事物以外还提供计算机系统,所述计算机系统包括经编程以执行本文中所描述的方法的硬件(例如,一个或多个微处理器),以及用以执行本文中所描述的方法的计算机可读媒体编码指令。
以下描述以实例方式且未必以限制方式图解说明本发明的实施例。
图1展示根据本发明的一些实施例的受保护免受计算机安全威胁的主机系统10的示范性硬件配置。主机系统10可表示具有处理器及存储器的任何电子装置。示范性主机系统10包含:个人计算机、服务器、膝上型计算机、平板计算机、移动电信装置(例如,智能电话)、媒体播放器、TV、游戏控制台、家用电器(例如,冰箱、恒温器、智能加热及/或照明系统)及可穿戴装置(例如,智能手表,体育及健身装备)等等。
图1图解说明计算机系统;其它主机系统(例如智能电话及智能手表)的硬件配置可不同于所图解说明配置。主机系统10包括一组物理装置,包含处理器12及存储器单元14。在一些实施例中,处理器12包括经配置以利用一组信号及/或数据执行计算及/或逻辑运算的物理装置(例如微处理器、形成于半导体衬底上的多核心集成电路等)。在一些实施例中,以处理器指令序列(例如,机器代码或其它类型的编码)的形式将这些运算递送到处理器12。存储器单元14可包括存储由处理器12存取或产生的指令及/或数据的易失性计算机可读媒体(例如DRAM、SRAM)。
取决于装置的类型及性能,主机系统10可进一步包括一组输入装置16(例如键盘、鼠标、触摸屏等),从而使用户能够将数据及/或指令输入到主机系统10。一组输出装置18(例如监视器或液晶显示器)可(例如)经由图形用户界面将信息传达给用户。存储装置20包含达成处理器指令及/或数据的非易失性存储、读取及写入的计算机可读媒体。示范性存储装置20包含磁盘及光盘及快闪存储器装置以及可移动媒体,例如CD及/或DVD磁盘及驱动器。一组网络适配器22使主机系统10能够连接到计算机网络及/或连接到其它装置/计算机系统。控制器集线器24一般表示多个系统、外围装置及/或芯片组总线及/或达成处理器12与装置14、16、18、20及22之间的通信的所有其它电路。举例来说,控制器集线器24可包含存储器管理单元(MMU)、输入/输出(I/O)控制器及中断控制器等等。在另一实例中,控制器集线器24可包括将处理器12连接到存储器14的北桥及/或将处理器12连接到装置16、18、20及22的南桥。在一些实施例中,控制器集线器24可与处理器12部分地或完全地集成,例如MMU可与处理器12共享共同半导体衬底。
计算机安全应用程序(CSA)40保护主机系统10免受计算机安全威胁,例如恶意软件、间谍软件、非所要广告软件等。在一些实施例中,CSA 40经配置以监视多个可执行实体(例如,进程、线程、应用程序、操作系统的组件)的行为,且根据其行为确定任何这些所监视实体是否为恶意的。所监视实体可包含操作系统的组件及用户应用程序等等。响应于确定实体是恶意的,CSA 40可采取保护性行动来对抗相应实体,举例来说停止、隔离相应恶意实体或以其它方式使相应恶意实体失去能力。
图2-A到2-B展示根据本发明的一些实施例的示范性软件配置。在图2-A的实例中,主机系统10执行操作系统(OS)34、一组示范性应用程序36a到36b及CSA 40。应用程序36a到36b一般表示任何计算机程序,例如文字处理、图像处理、媒体播放器、数据库、日历、个人联系人管理、浏览器、游戏、语音通信及数据通信应用程序等等。操作系统34可包括任何广泛可用的操作系统,例如Microsoft 或等等。OS 34提供应用程序36a到36b与主机系统10的硬件之间的接口。所图解说明的CSA 40位置指示CSA 40可以各种处理器特权等级执行。举例来说,CSA 40的一部分可以OS内核(例如,环0、内核模式)的处理器特权执行,而其它部分可以应用程序36a到36b(例如,环3、用户模式)的处理器特权执行。
图2-B展示本发明的替代实施例,其中主机系统10使用硬件虚拟化技术来操作一组访客虚拟机。硬件虚拟化通常用于例如云计算及服务器合并等应用程序中以及用于其它用途。虚拟机(VM)模拟实际物理机器/计算机系统,且能够运行操作系统及其它应用程序。在一些实施例中,管理程序30在主机系统10上执行,管理程序30经配置以创建或达成多个虚拟化装置(例如,虚拟处理器及虚拟存储器管理单元)且将这些虚拟化装置呈现给其它软件以代替主机系统10的真实物理装置。这些操作在此项技术中通常被称为公开虚拟机。管理程序30可进一步使多个虚拟机能够共享主机系统10的硬件资源,使得每一VM独立地操作且察觉不到同时在主机系统10上执行的其它VM。流行管理程序的实例包含来自VMware公司的VMware vSphereTM及开放源Xen管理程序等等。
图2-B展示公开于主机系统10上的一组访客VM 32a到32b。每一VM 32a到32b包含虚拟化处理器,且可进一步包含其它虚拟化装置,例如虚拟化输入、输出、存储及网络装置以及虚拟化控制器等等。每一虚拟化处理器包括对硬件处理器12的功能性中的至少一些的模拟,且经配置以接收供执行的处理器指令。使用相应虚拟处理器以执行的软件被视为在相应虚拟机内执行。举例来说,在图2-B的实例中,访客OS 34a及应用程序36c被视为在访客VM 32a内执行。相比之下,管理程序30被视为在访客VM 32a到32b外部或在访客VM 32a到32b下执行。每一虚拟化处理器可如其与对应物理装置一样与这些虚拟化装置交互。举例来说,在VM 32a内执行的软件可经由VM 32a的虚拟化网络适配器发送及/或接收网络流量。在一些实施例中,管理程序30可仅将一子组虚拟化装置公开给每一访客VM,且可给出直接且排外地使用主机系统10的一些硬件装置的选定访客VM。在一个此类实例中,VM 32a可排外地使用输入装置16及输出装置18,但缺少虚拟化网络适配器。同时,VM 32b可直接且排外地使用网络适配器22。举例来说,可使用来自的技术来实施这些配置。
每一VM 32a到32b分别执行访客操作系统(OS)34a到34b。每一OS 34a到34b提供在相应VM内执行的应用程序36c到36d与相应VM的虚拟化硬件装置之间的接口。在图2-B的示范性实施例中,CSA 40在访客VM外部执行,且经配置以保护相应访客VM免受计算机安全威胁。单个计算机安全应用程序可保护多个虚拟机。CSA 40可(举例来说)作为库而被并入到管理程序30中,或可作为与管理程序30相异且独立于管理程序30的计算机程序而被递送,但以管理程序30的处理器特权等级执行(例如,根模式,环1)。CSA 40可以是具有单独预安排执行线程的进程,或可作为在被特定通知事件触发时执行的非预安排代码对象集合操作,如下文所进一步图解说明。
此项技术中已知保护主机系统(包含硬件虚拟化平台)免受恶意软件影响的数种方法。一种特定类别的方法被称为行为分析。典型行为分析方法采用通知机制,其中通知安全软件所监视VM内事件的发生,所述事件是由软件实体(例如,应用程序或操作系统的组件)触发及/或在软件实体执行期间发生。接着,安全软件可分析相应事件以确定其是否指示潜在安全威胁。
图3展示根据本发明的一些实施例的计算机安全应用程序40的示范性组件。引擎40包含通知处理程序42、连接到处理程序42的同步异常分析程序44、异步异常分析程序46及以通信方式耦合到分析程序46的终止观察程序48。
在一些实施例中,通知处理程序42经配置以检测与计算机安全相关的特定事件的发生。示范性所检测事件包含对特定OS功能的调用及系统调用等等。其它类型的所检测事件可包含:打开文件、创建文件、写入到文件、删除文件、复制文件、创建进程、终止进程、预安排线程以供执行、由于同步事件(例如,互相排斥)暂停线程、创建堆、依据堆分配存储器、扩展执行堆栈的大小、改变存储器存取权限、执行换进(例如磁盘到存储器)操作、执行换出(例如存储器到磁盘)操作、加载可执行模块(例如,共享库–DLL)、打开注册表项、重命名注册表项、检测新硬件装置的附件、建立新网络连接、接收网络包、提升线程的执行特权、改变与文件相关联的自定义访问控制(DAC)权限。此项技术中已知数种检测这些事件的方法。其包含挂钩特定OS功能、修改调度表等。这些方法将处理器12配置成响应于相应事件的发生而从执行触发实体(例如,进程)切换成执行处理程序常式。将通知处理程序42登记为处理程序常式允许处理程序42检测各种事件,且将所述事件的发生传达给CSA 40。
在硬件虚拟化平台中,可与计算机安全相关的特殊类别的所检测事件包含检测对存储器存取权限的违反。检测这些违反可提供对常规挂钩的替代方案。大多数现代计算机系统经配置成与虚拟存储器协同操作,且使用专用数据结构(举例来说,页面表)来管理存储器地址转换。经配置以支持硬件虚拟化的系统通常使用第二层地址转换,即从由每一公开VM可见的访客物理存储器转换成主机系统的实际物理存储器14。所述第二地址转换通常是使用硬件加速专用数据结构及由处理器12控制的机制来实现,被称为二级地址转换(SLAT)。流行的SLAT实施方案包含平台上的扩展页面表(EPT)及平台上的快速虚拟化索引(RVI)/嵌套页面表(NPT)。SLAT通常允许为每一存储器页面设定存储器存取权限,例如读取/写入/执行。处理器12可经配置以在软件试图以违反当前存取权限的方式存取相应页面时触发处理器事件(例如,VM退出事件或虚拟化异常)。VM退出事件(举例来说,平台上的VMExit)暂停在相应VM内代码的执行,且将处理器12切换成以管理程序30的等级执行代码。相比之下,虚拟化异常(例如,平台上的#VE)可将处理器12切换成在同一VM内执行代码。在一些实施例中,CSA 40将通知处理程序42登记为用于VM退出(例如,在例如图4-B的配置中)或虚拟化异常(例如,在例如图4-A及4-C的配置中)的处理程序。这使处理程序42能够在受保护虚拟机内检测违反存储器存取权限的尝试,且将这些尝试传达给CSA 40。
常规安全系统通常依赖于恶意软件行为签名来检测恶意实体。恶意软件行为签名包括一组条件,当一个事件(一系列事件)满足所述条件时,所述条件指示触发所述相应事件的实体是恶意的。举例来说,注入代码序列随后写入到磁盘可被视为恶意指示符。恶意软件行为签名可达成高检测率,但也通常会产生相对高的错误肯定率(良性实体被错误地标记为恶意的)。减小错误肯定率可需要增加恶意软件行为签名的复杂性,这可基本上增加计算开销。
与这类基于签名的方法相比,本发明引入一组规则异常以替换恶意软件行为签名或作为恶意软件行为签名的补充。在一些实施例中,规则异常包括一组条件,当<event,triggering entity>元组满足所述条件时,所述条件判定相应触发实体是良性的(非恶意的)。满足规则异常条件的<event,triggering entity>元组在本文中称为与相应规则异常相匹配。这些规则异常的典型使用场景包括首先将恶意软件行为签名应用到所检测事件。当事件与指示恶意的签名相匹配时,CSA 40可进一步试图将事件与一组规则异常进行匹配。当无规则异常与所检测事件相匹配时,CSA 40可推断触发实体确实是恶意的。相反,当事件与至少一个规则异常相匹配时,CSA 40可推断触发实体是良性的。此分析策略可基本上减小错误肯定率,同时也控制计算开销。举例来说,计算成本的减少可由于使用比常规计算机安全系统更简单的恶意软件行为签名。
常规行为安全方法包含暂停触发实体的执行同时分析检测事件。此种事件分析通常被认为是同步的。相比之下,在本发明的一些实施例中,仅事件分析的一部分是同步执行的,而分析的另一部分是异步执行的。术语“异步”在本文中被是指分析事件及/或规则异常的方式,其中允许触发实体继续执行,而关于相应事件/异常的数据被保存以供稍后进行分析。
特定来说,在本发明的一些实施例中,一些规则异常匹配是同步执行的,而其它规则异常匹配是异步执行的。同步异常分析程序44可经配置以对在受保护主机系统或访客VM内发生的事件实施同步分析,以确定所述事件是否满足一组预定规则异常中的任一者(与其相匹配)。由同步异常分析程序44核对的一组规则异常在本文中被视为同步异常(下文更多细节)。同步异常通常包括与事件进行匹配所需的计算成本相对低的规则异常。在一些实施例中,同步异常可包括对于评估由所监视实体造成的安全风险至关重要的一子组规则异常。在另一实例中,同步异常包含其核对仅依赖于主机系统10本地的资源(举例来说,存储于存储装置20本地上的签名数据库)的规则异常。
反过来,异步异常分析程序46可经配置以对在受保护主机系统或访客VM内发生的事件执行异步分析,以确定所述事件是否与另一组预定规则异常中的任一者相匹配。由异步异常分析程序46核对的一组规则异常在本文中被称为异步异常。与同步分析相比,异步分析模块46的操作在某种意义上与触发实体的执行无关,即允许触发实体继续执行,而可稍后执行将所触发事件与异常进行匹配的操作。异步异常通常包括需要与事件进行匹配所需的计算成本相对高的规则异常,或不被认为对于主机系统10的安全至关重要的规则异常。形成异步异常匹配的一部分的示范性操作包含:确定触发实体的完整性(举例来说,使用散列匹配),对触发实体执行远程扫描(例如,通过将关于相应实体的信息发送到从相应服务器接收恶意裁定的远程云服务器)及确定触发实体是否为由另一实体注入的代码的接收者等等。
图4-A、4-B、4-C展示根据本发明的一些实施例的通知处理程序42、同步异常分析程序44及异步异常分析程序46的各种示范性位置。所属领域的技术人员将了解组件42、44、46可在受保护VM外部(例如,以管理程序30的处理器特权等级)、在受保护VM内(例如,以内核模式)或在单独安全VM内执行。将组件置于受保护VM内可使相应组件存取关于在相应VM内执行的实体的大量信息,但可使相应组件易于受以相同处理器特权等级执行的恶意软件攻击。可使用一组技术(例如,基于平台上的#VE(虚拟化异常)及VMFUNC而交替多个EPT视图)以便增强置于受保护VM内的安全组件的安全性。当相应组件在受保护VM外部执行时,其是相对安全的,但需要解析实体及事件的语义的特定运算可需要大量计算。
图4-A展示其中同步异常分析程序44在受保护访客VM外部执行的示范性配置,而在图4-B、4-C中,分析程序44以内核模式在相应访客VM内部执行。鉴于同步处理暂停触发实体的执行且因此应该尽可能快以便不影响用户体验,可优选以下配置:其中同步异常分析程序44的操作从所监视VM退出不需要高昂代价。在优选实施例中,同步异常分析程序44可在通知处理程序42(例如,图4-C)的上下文中执行。
异步异常分析程序46可在受保护访客VM外部或内部执行。在一些实施例中(例如参见图4-C),分析程序46可在公开于主机系统上的专用安全VM 33中执行,安全VM 33与受保护访客VM相异。
取决于组件42、44、46的执行上下文,其操作可需要复杂信令/消息,有时跨越虚拟机边界。可使用硬件虚拟化技术中已知的任何技术实施这些信令。举例来说,数据可经由在两个组件之间共享的存储器区段发射,且信令可包括VM退出与事件注入的组合。
图5展示根据本发明的一些实施例的组件42、44、46及48当中的示范性交换。当触发实体致使在访客VM内发生事件时,所述事件致使事件通知52(例如处理器事件,例如VM退出或虚拟化异常)被递送到处理程序42。接着,处理程序42可确定当前所通知事件的类型及一组参数。示范性事件类型包含代码注入、特定系统调用、磁盘文件创建及HTTP请求等等。事件参数可为每一类型的所通知事件所特有。一些示范性事件参数包含导致所通知事件的进程或线程的识别符(例如,进程ID)、文件名、路径、存储器地址及处理器指令的操作数等等。
在一些实施例中,处理程序42接着将事件指示符54传递到同步异常分析程序44。事件指示符54可包括相应事件的唯一识别符(事件ID)、事件类型的指示符及一组事件参数等等。接着,同步异常分析程序44可试图(例如)通过查询异常知识库50来将相应事件与一组同步规则异常进行匹配。
在一些实施例中,异常知识库50(举例来说)在计算机可读媒体上存储一组规则异常条目,所述计算机可读媒体形成主机系统10的一部分或以通信方式耦合到主机系统10。图6展示根据本发明的一些实施例的规则异常条目60的示范性格式。异常条目60包含同步标志62,同步标志62可指示相应条目是否具有一异步部分。条目60可进一步包括指示事件类型的事件类型指示符64(例如,仅与每一事件类型相关联的数字ID)。事件类型指示符64可允许知识库50根据所检测事件的类型选择性地检索规则异常条目。另一选择为,知识库50可维持将每一规则异常条目与和相应规则异常相关的事件类型相关联的内部映射(例如,散列索引)。
规则异常条目60可进一步包括同步异常签名66及异步异常签名68。签名66包括同步规则异常的编码,即由分析程序46同步验证的一组条件的编码。相比之下,异步签名68包括异步规则异常的编码,即由异步异常分析程序46异步地验证的一组条件的编码。
当与所通知事件的当前类型相关的规则异常条目具有一异步部分时,同步异常分析程序44可将异常分析请求(EAR)56插入到EAR列表58中以供稍后处理(下文更多细节)。在一些实施例中,EAR列表58包括具有多个条目的数据结构,每一条目对异步规则异常匹配的请求进行编码。EAR列表58可被组织为多产生方多使用方队列(举例来说,先进先出队列)。图7给出根据本发明的一些实施例的异常分析请求的示范性格式。所图解说明EAR包括仅与触发相应分析的事件相关联的事件ID。EAR 56可进一步包含仅识别异常知识库50的特定条目60的异常ID。EAR 56可进一步包括触发实体的指示符。EAR 56中包含此实体ID可帮助终止观察程序48确定是否存在与特定执行实体相关联的任何挂起的异常分析请求(参见下文更多细节)。在一些实施例中,EAR 56进一步包含由通知处理程序42及/或同步异常分析程序44确定的各种上下文数据,所述上下文数据包括关于相应事件及/或关于触发实体的信息。上下文数据可包含存储器地址、进程ID、与产生所触发事件的时刻对应的指令指针(RIP)的值等等。这些上下文数据可由异步异常分析程序46在执行异步规则异常匹配时使用。
图8展示由根据本发明的一些实施例的通知处理程序42执行的一系列例示性步骤。如上文所展示,处理程序42在允许处理程序42有效地暂停触发实体的执行的位置中执行。举例来说,处理程序42可被登记为用于VM退出及/或虚拟化异常的事件处理程序,其中这些处理器事件是响应于发生由软件(例如,存取特定存储器页面的尝试)所致的特定所监视事件而被触发。响应于这些事件,处理器12暂停触发实体的执行且切换成执行通知处理程序42。因此,在触发实体的执行被暂停时通知处理程序42通知发生所监视事件。当处理器事件是VM退出时,处理程序42可以管理程序30的等级执行。
当处理程序42接收到事件通知时,一系列步骤106到108确定在受保护访客VM内发生的事件的类型及相应事件的一组参数。接着,处理程序42可将事件指示符54发射到同步异常分析程序44(步骤110)。在步骤112中,处理程序42可等待来自分析程序44的释放信号。在一些实施例中,此释放信号指示当前事件已与同步规则异常相匹配,或与当前事件相关联的EAR被添加到EAR列表58(参见下文关于图9的更多细节)。响应于接收到释放信号,处理程序42可指示处理器12重新开始触发实体的执行。
图9展示根据本发明的一些实施例的由同步异常分析程序44实施的一系列示范性步骤。响应于从通知处理程序42接收到事件指示符54,步骤124对触发实体执行初步安全评估。举例来说,分析程序44可确定相应事件是否为恶意软件指示性的。在一些实施例中,步骤124试图将当前<event,entity>元组与一组恶意软件行为签名进行匹配。此恶意软件指示性签名的一个实例包括事件序列:第一实体下载无有效数字签名的可执行文件、第一实体从可执行文件开启第二实体及第二实体试图登记自身以在系统启动时自动开始。恶意软件行为签名的另一实例包括:驱动器试图覆盖系统服务描述符表(SSDT)条目。当初步评估指示触发实体不可能是恶意的时,分析程序44可给通知处理程序42发信号以重新开始触发实体的执行(参见上文)。
当初步评估指示触发实体有恶意嫌疑时,步骤126根据当前事件的事件类型从异常知识库50选择性地检索一组规则异常条目。当知识库50不含有与当前事件的类型相关联的任何规则异常条目时,在步骤130中,CSA 40可采取反恶意软件行动来对抗触发实体。此保护性行动可包含终止、隔离触发实体或以其它方式使触发实体失去能力及复原由于执行触发实体而对主机系统10做出的一组改变等等。在一些实施例中,CSA 40维持与每一所监视实体相关联的一组恶意软件指示性分数。步骤130可包括使相应分数递增可为事件所特有的量。CSA 40可进一步对所述分数与阈值进行比较,且只有当(举例来说)分数超过预定阈值时才采取反恶意软件行动。
当知识库50含有至少一个与当前事件的事件类型相关联的规则异常条目60时,步骤131确定当前事件是否与相应规则异常条目的同步规则异常相匹配。步骤131可包括测试<current event,triggering entity>元组是否满足由相应规则异常的同步签名66编码的一组条件。如此,步骤131可包含实施一组计算(举例来说)以根据事件指示符54确定触发实体的实体类型。示范性实体类型包含OS 34的特定组件、特定应用程序的实例(例如,Acrobat)、特定类别的实体(例如,文件管理器、浏览器)等。实体的其它实例类型包含驱动器、共享库(例如,动态链接库–DLL)及所注入代码区段。
当未发现同步签名匹配时,分析程序44推断触发实体确实是恶意的,且前进到上文所描述的步骤130。在当前事件与至少一个规则异常的同步签名相匹配时,在步骤134中,分析程序44确定相应规则异常条目是否也包括异步签名。在一些实施例中,步骤134包含核对同步标志62的值(参见图6)。当“否”时,分析程序44给处理程序42发信号以重新开始触发实体的执行。当“是”时,步骤136确定关于当前事件及/或关于触发实体的上下文数据。另一步骤138制定EAR 56且将EAR 56添加到EAR列表58。接着,同步异常分析程序44可给处理程序42发信号以重新开始触发实体的执行。
图10展示由异步异常分析程序46的此实例实施的一系列示范性步骤。在一些实施例中,计算机安全应用程序40管理用于异步规则异常匹配的线程池。所述池的线程可在受保护VM外部或在受保护VM内执行,或者在单独安全VM内执行(例如,参见图4-C)。当这些线程在相应受保护VM内执行时,其可以内核模式(环0)执行。每当池的线程变得可用时,CSA40可开启异步异常分析程序46的实例。
在一系列步骤142到144中,异步异常分析程序46确定当前是否存在任何未完成异常分析请求。当EAR列表58非空的时,分析程序46可从列表58移除EAR且试图将由相应EAR指示的事件与由相应EAR指示的异步规则异常进行匹配。步骤148可包括进一步确定事件参数及/或关于触发相应事件实体的信息。举例来说,这些计算可包含散列计算、存储器查询、建立各种软件实体之间的源流(filiation)关系(例如,此进程已衍生出(spawn)其它进程)、模拟等。在一些实施例中,步骤148包含与远程安全服务器(云扫描)交换数据。
在一些实施例中,当相应事件与异步规则异常相匹配时,分析程序46结束。终止分析程序46的当前实例指示:相应事件不指示计算机安全威胁,且因此不再需要分析相应事件。当分析程序46确定事件不与相应异步规则异常相匹配时,步骤152可给CSA40发信号以采取保护性反恶意软件行动(参见上文图9中的步骤130)。
在替代实施例中,异步规则异常经制定使得匹配指示相应实体是恶意的。在这些实施例中,当事件不与相应规则异常相匹配时,分析程序46可结束,且当事件与相应规则异常相匹配时,CSA 40可采取反恶意软件行动。
图11展示由根据本发明的一些实施例的终止观察程序48执行的一系列例示性步骤。终止观察程序48可在受保护虚拟机外部或受保护虚拟机内执行,且以通信方式至少与异步异常分析程序46耦合。
由于异步规则异常分析与触发实体的执行无关,因此可出现以下情况:其中触发实体在异步异常分析46开始处理与相应实体有关的异常分析请求终止执行。在这些情况中,恶意实体可能逃过检测,或可做出一些无法复原的损坏。为了防止这些情况,在本发明的一些实施例中,终止观察程序48检测OS终止实体的尝试(步骤162到164)。检测终止尝试可有效地暂停终止实体的执行。步骤162可包括与通知处理程序42协作,例如,处理程序42可实际上检测终止尝试,且给终止观察程序48发信号。
响应于检测到终止尝试,在一系列步骤166到168中,终止观察程序48可确定是否仍存在针对终止实体的任何未完成异常分析请求。当“否”时,步骤170可指示处理器12重新开始终止实体的执行,从而实际上允许相应实体终止。在一些实施例中,步骤170包括将释放信号发送到通知处理程序42,从而指示处理程序42释放终止实体。
当EAR列表58含有与终止实体相关联的至少一个EAR时,终止观察程序48可将相应实体维持在暂停状态直到所有这些挂起的请求均被处理为止。一系列步骤172到174促使处理与相应终止实体相关联的请求(一系列步骤可被重复直到所有此类请求均被处理为止)。步骤174可包含调用异步异常分析程序46来处理与终止实体有关的每一未完成EAR。当分析程序46确定由相应EAR指示的事件不与由相应EAR指示的异步规则异常相匹配时,步骤178可给CSA 40发信号以采取保护性行动来对抗终止实体(关于图9到10参见上文)。
上文所描述的示范性系统及方法能够对软件实体进行高效行为监视。在一些实施例中,通知机制经部署以检测受保护主机系统或虚拟机内安全相关事件的发生,并将相应事件报告给安全软件。接着,安全软件分析相应事件以确定是否其指示计算机安全威胁,例如恶意软件、间谍软件、未授权入侵等。
一些常规行为系统及方法依赖于恶意软件行为签名来确定实体是否为恶意的。恶意软件行为签名通常包括一组条件,当<event,entity>元组满足所述条件时,所述条件判定相应事件指示恶意,且因此触发相应事件的软件实体可能是恶意的。为了防止触发实体实施其恶意活动,常规系统及方法暂停触发实体的执行,同时分析所触发事件以发现恶意指示符。
本发明的一些实施例依赖于两个观察。第一,并非特定类型事件的所有发生均同样是恶意软件指示性的。同一类型的事件(例如,存取URL、打开磁盘文件等)在一些场景中可指示恶意,而在其它场景中是完全良性的。在一个此类实例中,事件在被孤立地看待时可不指示恶意,但在作为一系列特定事件的一部分发生时可能是恶意软件指示性的。举例来说,写入到磁盘文件在被孤立地看待时可是良性的操作(即,许多进程及应用程序合法地存取磁盘)。然而,当执行写入的实体是从另一实体注入的代码的接收者时,写入事件可能是可疑的。此观察表明成功的恶意软件检测可需要相当复杂的恶意软件行为签名,所述恶意软件行为签名能够在如上文所描述的各种场景之间做出辨别。使用此类复杂行为签名通常负担相对高的计算成本。此外,优化恶意软件行为签名以达成高检测率通常导致错误肯定检测增加(良性的事件被错误地分类为恶意软件指示性的,合法实体被错误地分类为恶意的)。在计算机安全领域中尤其不希望错误肯定分类,这是因为其可导致数据丢失及用户工作效率损失。
第二观察是,在进行恶意软件行为签名匹配的整个持续时间内暂停触发实体的执行会对用户体验造成负面影响。在复杂行为签名的情形中,且在其中依据已发生事件的VM外部的位置(举例来说,依据管理程序30层级)执行事件分析的硬件虚拟化配置中,尤其如此。
与此类常规计算机安全系统及方法相比,一些实施例使用一组规则异常签名来作为恶意软件行为签名的补充。规则异常签名包括一组条件,<event,entity>元组满足所述条件时,所述条件判定相应事件是良性的,且因此判定触发实体并非是恶意的。因此,规则异常向将通常指示恶意行为的规则提供异常的编码。在示范性用例场景中,安全软件可首先试图将所检测事件与一组相对简单、计算成本低的恶意软件行为签名进行匹配,以确定触发实体是否可能是恶意的。当“是”时,安全软件可进一步试图将相应事件与一组规则异常签名进行匹配。规则异常签名匹配可指示触发实体实际上是良性的。
添加规则异常签名创造机会来使用相对简单的签名,而非在仅使用恶意软件行为签名匹配时所必需的相当复杂签名。因此,一些实施例减小由安全软件产生的计算开销,同时也减小错误肯定检测率。
此外,在本发明的一些实施例中,至少部分地以异步方式执行规则异常签名的匹配,即在触发相应事件的实体被允许继续执行的同时。通过选择在安全分析的整个持续时间内不暂停执行触发实体,可显著地减小对用户体验的影响。在一些实施例中,规则异常签名经优化以达成低开销:在同步匹配中使用负担相对低计算成本的签名,而在异步匹配中使用相对高代价的签名。
虽然在常规恶意软件行为签名与规则异常签名之间存在一些类似性,但其使用及语义是极为不同的。举例来说,规则异常签名仅是恶意软件行为签名的补充或反面这种表述是不正确的。恶意软件行为签名及规则异常签名并不相互排斥。举例来说,当事件与恶意软件行为签名相匹配时,这也并不意味着其不能与规则异常签名相匹配。相反,正是在其中事件与恶意软件行为签名及规则异常签名两者均相匹配的情况中,规则异常签名才最有价值,这是因为其允许对恶意软件检测进行高效决策过程。
同步规则异常对异步规则异常的实例以及其与恶意软件行为签名的相关性的实例包括检测所监视软件实体修补共享可执行模块(例如,库)的代码的尝试。代码修补通常指示恶意,因此其可如在恶意软件行为签名中一样被编码。每当检测到代码修补时,使用相应签名可触发恶意软件警报。然而,举例来说,当开启新进程时,各种软件实体(例如OS)执行合法代码修补。同样地,来自给定软件应用程序套件(例如,)的一个进程可合法修补来自同一套件的另一进程。在本发明的一些实施例中,可使用规则异常解决这些情况。示范性同步规则异常可核对修补进程是否为受信任OS进程中的一者,及目标进程(正被修补的进程)是否启动。当两个条件均被满足时,那么修补实体被视为良性的(合法)。如此,当OS开始进程且执行修补时,其可在不被CSA 40阻碍的情况下进行。相比之下,根据以上规则异常,如果未知进程试图执行相同修补操作,那么其将被阻碍。为了允许一些未知进程执行修补,一些实施例可使用两部分规则异常签名:同步部分可验证参与代码修补的实体的身份,而异步部分可验证所注入缓冲区/代码本身(例如通过分解代码及/或在所述代码内搜索特定代码模式)。当所注入代码非恶意的时,未知进程可被视为良性的。
在另一实例中,恶意软件行为签名可指示代码注入是恶意软件指示性的。当执行注入的进程是众所周知的且受信任时,同步规则异常签名可允许代码注入。然而,同一规则异常签名可具有异步部分,所述异步部分对所注入代码执行内容分析。当内容对所述特定进程来说似乎不寻常时,相应进程可被视为恶意的。在此实例中,就计算开销来说相对高代价的内容分析被异步地执行(即在执行相应进程的同时)以便对用户体验具有最小影响。
在又一实例中,恶意软件行为签名可指示:浏览器加载插件的尝试指示恶意软件。然而,一些插件是良性的且应被允许操作。在示范性实施例中,同步规则异常可测试相应插件是否由特定权威机构以数字方式签署,且当“是”时,确定浏览器是良性的。在同步签名匹配的情形中,可允许浏览器加载且执行插件。接着,另一规则异常可异步地确定用于签署插件的证书当前是有效还是已被撤销。当相应证书已被撤销时,CSA 40可终止浏览器及/或显示警告。测试证书有效性通常需要向远程服务器发送请求,且因此在同步进行的情况下可基本上影响用户体验。
所属领域的技术人员将清楚,可在不背离本发明的范围的情况下以许多方式更改以上实施例。因此,本发明的范围应由所附权利要求书及其法律等效内容来确定。
Claims (19)
1.一种主机系统,其包括硬件处理器及存储器,所述硬件处理器经配置以执行目标实体、同步异常分析程序及异步异常分析程序,其中所述硬件处理器进一步经配置以:
响应于检测到发生由所述目标实体的执行所致的事件,暂停所述目标实体的所述执行,及
响应于暂停所述目标实体的执行,切换成执行所述同步异常分析程序;
其中所述同步异常分析程序经配置以:
根据所述事件而确定所述目标实体是否有恶意嫌疑,
作为响应,当所述目标实体有恶意嫌疑时,从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码,
响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足,
响应于确定所述第一条件是否被满足,当所述第一条件被满足时,致使所述硬件处理器重新开始所述目标实体的执行,及
响应于确定所述第一条件是否被满足,当所述第一条件未被满足时,确定所述目标实体是恶意的;且
其中所述异步异常分析程序经配置以:
响应于所述硬件处理器重新开始所述目标实体的执行,根据所述事件且根据所述目标实体而确定所述第二条件是否被满足,
响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的,及
响应于确定所述第二条件是否被满足,当所述第二条件未被满足时,确定所述目标实体是恶意的。
2.根据权利要求1所述的主机系统,其中:
所述同步异常分析程序进一步经配置以:响应于确定所述第一条件是否被满足,当所述第一条件被满足时,将分析请求插入到请求队列中,所述分析请求是根据所述第二条件、根据所述事件且进一步根据所述目标实体而制定;且
所述异步异常分析程序进一步经配置以:在准备确定所述第二条件是否被满足时,从所述请求队列移除所述分析请求。
3.根据权利要求1所述的主机系统,其中所述硬件处理器进一步经配置以:
响应于检测到终止所述目标实体的尝试,暂停所述尝试;及
响应于暂停所述尝试,切换成执行连接到所述异步异常分析程序的终止观察程序,所述终止观察程序经配置以:
搜索所述请求队列以得到根据所述目标实体制定的第二分析请求,所述第二分析请求指示第三条件,
调用所述异步异常分析程序来处理所述第二分析请求,及
响应于调用所述异步异常分析程序,当所述异步异常分析程序确定所述第三条件被满足时,致使所述硬件处理器重新开始终止所述目标实体的所述尝试。
4.根据权利要求1所述的主机系统,其中所述目标实体在由所述主机系统公开的访客虚拟机内执行,且其中所述异步异常分析程序在所述访客虚拟机外部执行。
5.根据权利要求1所述的主机系统,其中所述异步异常分析程序在由访客系统公开的安全虚拟机内执行,所述安全虚拟机与访客虚拟机同时执行。
6.根据权利要求1所述的主机系统,其中所述规则异常签名经配置使得确定所述第一条件是否被满足所负担的计算成本基本上低于确定所述第二条件是否被满足所负担的计算成本。
7.根据权利要求1所述的主机系统,其中所述事件包括以违反存储器存取权限的方式存取所述存储器的尝试。
8.根据权利要求1所述的主机系统,其中:
确定所述第一条件是否被满足包括确定所述目标实体是否已将代码注入到第二实体中;且
确定所述第二条件是否被满足包括确定所述代码是否为恶意的。
9.一种存储处理器指令的非暂时性计算机可读媒体,所述处理器指令在由主机系统的硬件处理器执行时,致使所述主机系统形成同步异常分析程序及异步异常分析程序,其中所述硬件处理器经配置以:
响应于检测到发生由所述目标实体的执行所致的事件,暂停所述目标实体的所述执行,及
响应于暂停所述目标实体的执行,切换成执行所述同步异常分析程序;
其中所述同步异常分析程序经配置以:
根据所述事件而确定所述目标实体是否有恶意嫌疑,
作为响应,当所述目标实体有恶意嫌疑时,从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码,
响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足,
响应于确定所述第一条件是否被满足,当所述第一条件被满足时,致使所述硬件处理器重新开始所述目标实体的执行,及
响应于确定所述第一条件是否被满足,当所述第一条件未被满足时,确定所述目标实体是恶意的;且
其中所述异步异常分析程序经配置以:
响应于所述硬件处理器重新开始所述目标实体的执行,根据所述事件且根据所述目标实体而确定所述第二条件是否被满足,
响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的,及
响应于确定所述第二条件是否被满足,当所述第二条件未被满足时,确定所述目标实体是恶意的。
10.根据权利要求9所述的计算机可读媒体,其中:
所述同步异常分析程序进一步经配置以:响应于确定所述第一条件是否被满足,当所述第一条件被满足时,将分析请求插入到请求队列中,所述分析请求是根据所述第二条件、根据所述事件且进一步根据所述目标实体而制定;且
所述异步异常分析程序进一步经配置以:在准备确定所述第二条件是否被满足时,从所述请求队列移除所述分析请求。
11.根据权利要求10所述的计算机可读媒体,其中所述硬件处理器进一步经配置以:
响应于检测到终止所述目标实体的尝试,暂停所述尝试;及
响应于暂停所述尝试,切换成执行连接到所述异步异常分析程序的终止观察程序,所述终止观察程序经配置以:
搜索所述请求队列以得到根据所述目标实体制定的第二分析请求,所述第二分析请求指示第三条件,
调用所述异步异常分析程序来处理所述第二分析请求,及
响应于调用所述异步异常分析程序,当所述异步异常分析程序确定所述第三条件被满足时,致使所述硬件处理器重新开始终止所述目标实体的所述尝试。
12.根据权利要求9所述的计算机可读媒体,其中所述目标实体在由所述主机系统公开的访客虚拟机内执行,且其中所述异步异常分析程序在所述访客虚拟机外部执行。
13.根据权利要求12所述的计算机可读媒体,其中所述异步异常分析程序在由访客系统公开的安全虚拟机内执行,所述安全虚拟机与所述访客虚拟机同时执行。
14.根据权利要求9所述的计算机可读媒体,其中所述规则异常签名经配置使得确定所述第一条件是否被满足所负担的计算成本基本上低于确定所述第二条件是否被满足所负担的计算成本。
15.根据权利要求9所述的计算机可读媒体,其中所述事件包括以违反存储器存取权限的方式存取所述主机系统的存储器的尝试。
16.根据权利要求9所述的计算机可读媒体,其中:
确定所述第一条件是否被满足包括确定所述目标实体是否已将代码注入到第二实体中;且
确定所述第二条件是否被满足包括确定所述代码是否为恶意的。
17.一种保护主机系统免受计算机安全威胁的方法,所述主机系统包括硬件处理器及存储器,所述方法包括:
采用所述硬件处理器来检测由目标实体的执行所致的事件的发生;
响应于检测到所述事件的所述发生,采用所述硬件处理器来暂停所述目标实体的所述执行;
响应于暂停所述目标实体的所述执行,采用所述硬件处理器来切换成执行同步异常分析程序,所述同步异常分析程序经配置以:
根据所述事件而确定所述目标实体是否有恶意嫌疑,
作为响应,当所述目标实体有恶意嫌疑时,从多个规则异常签名选择性地检索一个规则异常签名,所述规则异常签名是根据所述事件检索的,其中所述规则异常签名包括第一条件的编码及第二条件的编码,
响应于检索到所述规则异常签名,根据所述事件且根据所述目标实体而确定所述第一条件是否被满足,
响应于确定所述第一条件是否被满足,当所述第一条件被满足时,致使所述硬件处理器重新开始所述目标实体的执行,及
响应于确定所述第一条件是否被满足,当所述第一条件未被满足时,确定所述目标实体是恶意的;
响应于所述硬件处理器重新开始所述目标实体的执行,采用所述硬件处理器来根据所述事件且根据所述目标实体而确定所述第二条件是否被满足;
响应于确定所述第二条件是否被满足,当所述第二条件被满足时,确定所述目标实体并非是恶意的;及
响应于确定所述第二条件是否被满足,当所述第二条件未被满足时,确定所述目标实体是恶意的。
18.根据权利要求17所述的方法,其进一步包括:
响应于确定所述第一条件是否被满足,当所述第一条件被满足时,采用所述硬件处理器来将分析请求插入到请求队列中,所述分析请求是根据所述第二条件、根据所述事件且进一步根据所述目标实体而制定;且
在准备确定所述第二条件是否被满足时,采用所述硬件处理器来从所述队列移除所述分析请求。
19.根据权利要求18所述的方法,其进一步包括:
响应于检测到终止所述目标实体的尝试,采用所述硬件处理器来暂停所述尝试;
响应于暂停所述尝试,采用所述硬件处理器来搜索所述请求队列以得到根据所述目标实体制定的第二分析请求,所述第二分析请求指示第三条件;
响应于搜索到所述第二分析请求,根据所述目标实体而确定所述第三条件是否被满足;
作为响应,当所述第三条件被满足时,采用所述硬件处理器来终止所述目标实体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562192384P | 2015-07-14 | 2015-07-14 | |
US62/192,384 | 2015-07-14 | ||
US15/209,317 US9852295B2 (en) | 2015-07-14 | 2016-07-13 | Computer security systems and methods using asynchronous introspection exceptions |
US15/209,317 | 2016-07-13 | ||
PCT/EP2016/066745 WO2017009415A1 (en) | 2015-07-14 | 2016-07-14 | Computer security systems and methods using asynchronous introspection exceptions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107851153A true CN107851153A (zh) | 2018-03-27 |
CN107851153B CN107851153B (zh) | 2021-03-30 |
Family
ID=56511556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680041426.9A Active CN107851153B (zh) | 2015-07-14 | 2016-07-14 | 使用异步自测异常的计算机安全系统及方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US9852295B2 (zh) |
EP (1) | EP3323074B1 (zh) |
JP (1) | JP6842455B2 (zh) |
KR (1) | KR102297133B1 (zh) |
CN (1) | CN107851153B (zh) |
AU (1) | AU2016293058B2 (zh) |
CA (1) | CA2990343C (zh) |
ES (1) | ES2792912T3 (zh) |
HK (1) | HK1247295A1 (zh) |
IL (1) | IL256563B (zh) |
RU (1) | RU2703156C2 (zh) |
WO (1) | WO2017009415A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10397277B2 (en) | 2015-06-14 | 2019-08-27 | Avocado Systems Inc. | Dynamic data socket descriptor mirroring mechanism and use for security analytics |
US10270810B2 (en) | 2015-06-14 | 2019-04-23 | Avocado Systems Inc. | Data socket descriptor based policies for application and data behavior and security |
US10193930B2 (en) | 2015-06-29 | 2019-01-29 | Avocado Systems Inc. | Application security capability exchange via the application and data protection layer |
US10356068B2 (en) | 2015-07-14 | 2019-07-16 | Avocado Systems Inc. | Security key generator module for security sensitive applications |
US10354070B2 (en) * | 2015-08-22 | 2019-07-16 | Avocado Systems Inc. | Thread level access control to socket descriptors and end-to-end thread level policies for thread protection |
US10599551B2 (en) * | 2016-08-12 | 2020-03-24 | The University Of Chicago | Automatically detecting distributed concurrency errors in cloud systems |
US10394641B2 (en) * | 2017-04-10 | 2019-08-27 | Arm Limited | Apparatus and method for handling memory access operations |
US10706180B2 (en) | 2017-07-07 | 2020-07-07 | Endgame, Inc. | System and method for enabling a malware prevention module in response to a context switch within a certain process being executed by a processor |
US11062021B2 (en) * | 2017-08-29 | 2021-07-13 | NortonLifeLock Inc. | Systems and methods for preventing malicious applications from exploiting application services |
US10546120B2 (en) | 2017-09-25 | 2020-01-28 | AO Kaspersky Lab | System and method of forming a log in a virtual machine for conducting an antivirus scan of a file |
US10691800B2 (en) * | 2017-09-29 | 2020-06-23 | AO Kaspersky Lab | System and method for detection of malicious code in the address space of processes |
US10860411B2 (en) | 2018-03-28 | 2020-12-08 | Futurewei Technologies, Inc. | Automatically detecting time-of-fault bugs in cloud systems |
US11544379B2 (en) * | 2018-04-13 | 2023-01-03 | Webroot Inc. | Malicious software detection based on API trust |
US10599552B2 (en) | 2018-04-25 | 2020-03-24 | Futurewei Technologies, Inc. | Model checker for finding distributed concurrency bugs |
RU2701842C1 (ru) | 2018-06-29 | 2019-10-01 | Акционерное общество "Лаборатория Касперского" | Способ формирования запроса информации о файле для осуществления антивирусной проверки и система для реализации способа (варианты) |
EP3588350B1 (en) * | 2018-06-29 | 2021-04-07 | AO Kaspersky Lab | Method and system for generating a request for information on a file to perform an antivirus scan |
US11295011B2 (en) * | 2019-01-08 | 2022-04-05 | Vmware, Inc. | Event-triggered behavior analysis |
US11277436B1 (en) * | 2019-06-24 | 2022-03-15 | Ca, Inc. | Identifying and mitigating harm from malicious network connections by a container |
US20220200996A1 (en) * | 2020-12-23 | 2022-06-23 | Acronis International Gmbh | Systems and methods for protecting web conferences from intruders |
US20230061511A1 (en) * | 2021-08-30 | 2023-03-02 | International Business Machines Corporation | Inaccessible prefix pages during virtual machine execution |
CN113779561B (zh) * | 2021-09-09 | 2024-03-01 | 安天科技集团股份有限公司 | 内核漏洞处理方法、装置、存储介质及电子设备 |
US11934515B2 (en) | 2021-12-02 | 2024-03-19 | Bank Of America Corporation | Malware deterrence using computer environment indicators |
US20230319070A1 (en) * | 2022-03-30 | 2023-10-05 | Sophos Limited | Scored threat signature analysis |
US20230315849A1 (en) * | 2022-03-31 | 2023-10-05 | Sophos Limited | Threat signature scoring |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012081A (en) * | 1996-07-03 | 2000-01-04 | Siemens Aktiengesellschaft | Service and event synchronous/asynchronous manager |
WO2009151888A2 (en) * | 2008-05-19 | 2009-12-17 | Authentium, Inc. | Secure virtualization system software |
US20100031360A1 (en) * | 2008-07-31 | 2010-02-04 | Arvind Seshadri | Systems and methods for preventing unauthorized modification of an operating system |
CN101673332A (zh) * | 2009-10-12 | 2010-03-17 | 湖南大学 | 一种基于哈佛体系结构的内核代码保护方法 |
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及系统 |
US20120255012A1 (en) * | 2011-03-29 | 2012-10-04 | Mcafee, Inc. | System and method for below-operating system regulation and control of self-modifying code |
US20130151824A1 (en) * | 1998-10-26 | 2013-06-13 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
CN103620613A (zh) * | 2011-03-28 | 2014-03-05 | 迈克菲股份有限公司 | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 |
CN103839003A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 恶意文件检测方法及装置 |
US20140181897A1 (en) * | 2012-12-25 | 2014-06-26 | Kaspersky Lab Zao | System and Method for Detection of Malware Using Behavior Model Scripts of Security Rating Rules |
US20140215226A1 (en) * | 2013-01-30 | 2014-07-31 | Vmware, Inc. | Method and system for preventing tampering with software agent in a virtual machine |
US20140282879A1 (en) * | 2008-10-24 | 2014-09-18 | Microsoft Corporation | Automatically Securing Distributed Applications |
CN104102878A (zh) * | 2013-04-10 | 2014-10-15 | 中国科学院计算技术研究所 | 一种Linux平台下的恶意代码分析方法及系统 |
CN104715201A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种虚拟机恶意行为检测方法和系统 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826084A (en) | 1997-03-25 | 1998-10-20 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for selectively bypassing external interrupts past the monitor program during virtual program operation |
US7657419B2 (en) | 2001-06-19 | 2010-02-02 | International Business Machines Corporation | Analytical virtual machine |
US7748039B2 (en) | 2002-08-30 | 2010-06-29 | Symantec Corporation | Method and apparatus for detecting malicious code in an information handling system |
US20040117532A1 (en) | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US20040168157A1 (en) | 2003-02-18 | 2004-08-26 | Robert Hundt | System and method for creating a process invocation tree |
US7421689B2 (en) | 2003-10-28 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Processor-architecture for facilitating a virtual machine monitor |
US7552434B2 (en) | 2004-04-30 | 2009-06-23 | Hewlett-Packard Development Company, L.P. | Method of performing kernel task upon initial execution of process at user level |
US8127098B1 (en) | 2004-05-11 | 2012-02-28 | Globalfoundries Inc. | Virtualization of real mode execution |
WO2005121950A2 (en) * | 2004-06-08 | 2005-12-22 | Dartdevices Corporation | Architecture apparatus and method for seamless universal device interoperability platform |
US7685635B2 (en) | 2005-03-11 | 2010-03-23 | Microsoft Corporation | Systems and methods for multi-level intercept processing in a virtual machine environment |
US7587595B2 (en) | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
CN101849228B (zh) * | 2007-01-16 | 2013-05-08 | 吉兹莫克斯有限公司 | 用于创建面向IT的基于服务器的Web应用的方法和系统 |
US8561060B2 (en) | 2007-04-26 | 2013-10-15 | Advanced Micro Devices, Inc. | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine |
US8065728B2 (en) | 2007-09-10 | 2011-11-22 | Wisconsin Alumni Research Foundation | Malware prevention system monitoring kernel events |
US9779235B2 (en) | 2007-10-17 | 2017-10-03 | Sukamo Mertoguno | Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity |
KR101489244B1 (ko) * | 2007-12-24 | 2015-02-04 | 삼성전자 주식회사 | 가상 머신 모니터 기반의 프로그램 실행 시스템 및 그 제어방법 |
US20100031353A1 (en) | 2008-02-04 | 2010-02-04 | Microsoft Corporation | Malware Detection Using Code Analysis and Behavior Monitoring |
US8341105B1 (en) * | 2008-02-19 | 2012-12-25 | Mcafee, Inc. | System, method, and computer program product for applying a rule to associated events |
US9015704B2 (en) | 2008-03-24 | 2015-04-21 | International Business Machines Corporation | Context agent injection using virtual machine introspection |
US9609015B2 (en) | 2008-05-28 | 2017-03-28 | Zscaler, Inc. | Systems and methods for dynamic cloud-based malware behavior analysis |
US8225317B1 (en) * | 2009-04-17 | 2012-07-17 | Symantec Corporation | Insertion and invocation of virtual appliance agents through exception handling regions of virtual machines |
US8566943B2 (en) | 2009-10-01 | 2013-10-22 | Kaspersky Lab, Zao | Asynchronous processing of events for malware detection |
KR101057432B1 (ko) | 2010-02-23 | 2011-08-22 | 주식회사 이세정보 | 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체 |
CN102169484B (zh) | 2010-02-26 | 2014-08-13 | 威睿公司 | 虚拟化环境中综合的、相关的和动态的数据搜索 |
US8578345B1 (en) | 2010-04-15 | 2013-11-05 | Symantec Corporation | Malware detection efficacy by identifying installation and uninstallation scenarios |
US8949797B2 (en) | 2010-04-16 | 2015-02-03 | International Business Machines Corporation | Optimizing performance of integrity monitoring |
US8914879B2 (en) | 2010-06-11 | 2014-12-16 | Trustwave Holdings, Inc. | System and method for improving coverage for web code |
US8863283B2 (en) * | 2011-03-31 | 2014-10-14 | Mcafee, Inc. | System and method for securing access to system calls |
US8959638B2 (en) * | 2011-03-29 | 2015-02-17 | Mcafee, Inc. | System and method for below-operating system trapping and securing of interdriver communication |
US20120255031A1 (en) * | 2011-03-28 | 2012-10-04 | Mcafee, Inc. | System and method for securing memory using below-operating system trapping |
US20120255003A1 (en) * | 2011-03-31 | 2012-10-04 | Mcafee, Inc. | System and method for securing access to the objects of an operating system |
US20120254993A1 (en) | 2011-03-28 | 2012-10-04 | Mcafee, Inc. | System and method for virtual machine monitor based anti-malware security |
US8549644B2 (en) * | 2011-03-28 | 2013-10-01 | Mcafee, Inc. | Systems and method for regulating software access to security-sensitive processor resources |
US8966629B2 (en) * | 2011-03-31 | 2015-02-24 | Mcafee, Inc. | System and method for below-operating system trapping of driver loading and unloading |
US9032525B2 (en) * | 2011-03-29 | 2015-05-12 | Mcafee, Inc. | System and method for below-operating system trapping of driver filter attachment |
RU2454705C1 (ru) * | 2011-04-19 | 2012-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения |
US8099596B1 (en) | 2011-06-30 | 2012-01-17 | Kaspersky Lab Zao | System and method for malware protection using virtualization |
US8578080B2 (en) * | 2011-07-01 | 2013-11-05 | Intel Corporation | Secure handling of interrupted events utilizing a virtual interrupt definition table |
US9298918B2 (en) * | 2011-11-30 | 2016-03-29 | Elwha Llc | Taint injection and tracking |
US9146767B2 (en) | 2012-06-19 | 2015-09-29 | Raytheon Company | Secure cloud hypervisor monitor |
US20140053272A1 (en) | 2012-08-20 | 2014-02-20 | Sandor Lukacs | Multilevel Introspection of Nested Virtual Machines |
US8850581B2 (en) | 2012-11-07 | 2014-09-30 | Microsoft Corporation | Identification of malware detection signature candidate code |
US8762948B1 (en) | 2012-12-20 | 2014-06-24 | Kaspersky Lab Zao | System and method for establishing rules for filtering insignificant events for analysis of software program |
RU2523112C1 (ru) * | 2012-12-25 | 2014-07-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу |
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 |
EP3044718A4 (en) | 2013-09-10 | 2017-05-17 | Symantec Corporation | Systems and methods for using event-correlation graphs to detect attacks on computing systems |
US9323931B2 (en) | 2013-10-04 | 2016-04-26 | Bitdefender IPR Management Ltd. | Complex scoring for malware detection |
US9619346B2 (en) | 2013-10-31 | 2017-04-11 | Assured Information Security, Inc. | Virtual machine introspection facilities |
US9973534B2 (en) * | 2013-11-04 | 2018-05-15 | Lookout, Inc. | Methods and systems for secure network connections |
EP3084615B1 (en) | 2013-12-17 | 2020-06-24 | Intel Corporation | Detection of unauthorized memory modification and access using transactional memory |
CN104750534B (zh) | 2013-12-26 | 2018-10-30 | 华为技术有限公司 | 触发虚拟机自省的方法、装置及系统 |
US9323926B2 (en) * | 2013-12-30 | 2016-04-26 | Intuit Inc. | Method and system for intrusion and extrusion detection |
US20150215327A1 (en) * | 2014-01-28 | 2015-07-30 | Intuit Inc. | Method and system for extrusion and intrusion detection in a cloud computing environment using network communications devices |
US9613218B2 (en) | 2014-06-30 | 2017-04-04 | Nicira, Inc. | Encryption system in a virtualized environment |
-
2016
- 2016-07-13 US US15/209,317 patent/US9852295B2/en active Active
- 2016-07-14 CN CN201680041426.9A patent/CN107851153B/zh active Active
- 2016-07-14 AU AU2016293058A patent/AU2016293058B2/en active Active
- 2016-07-14 WO PCT/EP2016/066745 patent/WO2017009415A1/en active Application Filing
- 2016-07-14 CA CA2990343A patent/CA2990343C/en active Active
- 2016-07-14 JP JP2018500939A patent/JP6842455B2/ja active Active
- 2016-07-14 RU RU2018104335A patent/RU2703156C2/ru active
- 2016-07-14 EP EP16741900.1A patent/EP3323074B1/en active Active
- 2016-07-14 KR KR1020187001763A patent/KR102297133B1/ko active IP Right Grant
- 2016-07-14 ES ES16741900T patent/ES2792912T3/es active Active
-
2017
- 2017-12-25 IL IL256563A patent/IL256563B/en active IP Right Grant
-
2018
- 2018-05-17 HK HK18106407.4A patent/HK1247295A1/zh unknown
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6012081A (en) * | 1996-07-03 | 2000-01-04 | Siemens Aktiengesellschaft | Service and event synchronous/asynchronous manager |
US20130151824A1 (en) * | 1998-10-26 | 2013-06-13 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
WO2009151888A2 (en) * | 2008-05-19 | 2009-12-17 | Authentium, Inc. | Secure virtualization system software |
US20100031360A1 (en) * | 2008-07-31 | 2010-02-04 | Arvind Seshadri | Systems and methods for preventing unauthorized modification of an operating system |
US20140282879A1 (en) * | 2008-10-24 | 2014-09-18 | Microsoft Corporation | Automatically Securing Distributed Applications |
CN101673332A (zh) * | 2009-10-12 | 2010-03-17 | 湖南大学 | 一种基于哈佛体系结构的内核代码保护方法 |
CN103620613A (zh) * | 2011-03-28 | 2014-03-05 | 迈克菲股份有限公司 | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 |
US20120255012A1 (en) * | 2011-03-29 | 2012-10-04 | Mcafee, Inc. | System and method for below-operating system regulation and control of self-modifying code |
CN102663312A (zh) * | 2012-03-20 | 2012-09-12 | 中国科学院信息工程研究所 | 一种基于虚拟机的rop攻击检测方法及系统 |
CN103839003A (zh) * | 2012-11-22 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 恶意文件检测方法及装置 |
US20140181897A1 (en) * | 2012-12-25 | 2014-06-26 | Kaspersky Lab Zao | System and Method for Detection of Malware Using Behavior Model Scripts of Security Rating Rules |
US20140215226A1 (en) * | 2013-01-30 | 2014-07-31 | Vmware, Inc. | Method and system for preventing tampering with software agent in a virtual machine |
CN104102878A (zh) * | 2013-04-10 | 2014-10-15 | 中国科学院计算技术研究所 | 一种Linux平台下的恶意代码分析方法及系统 |
CN104715201A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种虚拟机恶意行为检测方法和系统 |
Non-Patent Citations (2)
Title |
---|
DAEWON KIM ET AL.: "Behavior-Based Tracer to Monitor Malicious Features of Unknown Executable Fil", 《2010 FIFTH INTERNATIONAL MULTI-CONFERENCE ON COMPUTING IN THE GLOBAL INFORMATION TECHNOLOGY》 * |
韩奕: "基于行为分析的恶意代码检测与评估研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
JP6842455B2 (ja) | 2021-03-17 |
KR20180029047A (ko) | 2018-03-19 |
CN107851153B (zh) | 2021-03-30 |
CA2990343C (en) | 2021-09-28 |
WO2017009415A1 (en) | 2017-01-19 |
EP3323074A1 (en) | 2018-05-23 |
US9852295B2 (en) | 2017-12-26 |
CA2990343A1 (en) | 2017-01-19 |
JP2018520446A (ja) | 2018-07-26 |
US20170039371A1 (en) | 2017-02-09 |
EP3323074B1 (en) | 2020-03-18 |
ES2792912T3 (es) | 2020-11-12 |
RU2703156C2 (ru) | 2019-10-15 |
HK1247295A1 (zh) | 2018-09-21 |
IL256563B (en) | 2021-02-28 |
RU2018104335A (ru) | 2019-08-14 |
AU2016293058B2 (en) | 2020-11-05 |
IL256563A (en) | 2018-02-28 |
RU2018104335A3 (zh) | 2019-08-30 |
AU2016293058A1 (en) | 2018-01-18 |
KR102297133B1 (ko) | 2021-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851153A (zh) | 使用异步自测异常的计算机安全系统及方法 | |
CN105593870B (zh) | 用于恶意软件检测的复杂评分 | |
JP6378758B2 (ja) | 仮想マシンにおけるマルウェア検出のためのプロセス評価 | |
EP3516571B1 (en) | Event filtering for virtual machine security applications | |
CN108475217A (zh) | 用于审计虚拟机的系统及方法 | |
CN103620613B (zh) | 用于基于虚拟机监视器的反恶意软件安全的系统和方法 | |
US8732824B2 (en) | Method and system for monitoring integrity of running computer system | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
CN107454958A (zh) | 使用多个嵌套页表隔离客户机代码和数据 | |
CN107851155A (zh) | 用于跨越多个软件实体跟踪恶意行为的系统及方法 | |
CN106575236A (zh) | 用于在退出虚拟机器后暴露当前处理器指令的系统及方法 | |
CN107690645A (zh) | 使用解释器虚拟机的行为恶意软件检测 | |
US20200193041A1 (en) | Preventing ransomware from encrypting data elements | |
CN103310152B (zh) | 基于系统虚拟化技术的内核态Rootkit检测方法 | |
CN109997138A (zh) | 用于检测计算设备上的恶意进程的系统和方法 | |
CN109684829A (zh) | 一种虚拟化环境中服务调用监控方法和系统 | |
CN115904605A (zh) | 软件防御方法以及相关设备 | |
CN104484611B (zh) | 一种Android系统的分区挂载管控方法及装置 | |
US9792431B1 (en) | Systems and methods for selectively masking data on virtual storage devices | |
Mettrick | Virtual machine detection through Central Processing Unit (CPU) detail anomalies | |
Montasari et al. | An Investigation of Microarchitectural Cache-Based Side-Channel Attacks from a Digital Forensic Perspective: Methods of Exploits and Countermeasures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1247295 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |