一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于取证的基于行为的VM资源捕获的制作方法

2022-03-31 11:16:37 来源:中国专利 TAG:

用于取证的基于行为的vm资源捕获
技术领域
1.本公开涉及捕获用于取证的基于行为的虚拟机(vm)资源。


背景技术:

2.许多第三方软件服务为了恢复或分析恶意软件攻击而捕获计算系统中的存储器的状态的快照。因为现代计算系统可以利用大量存储器,所以这些快照常常消耗相当多的处理和存储器资源。附加地,快照的静态性质仅捕获快照之间的增量,从而引起以高频率捕获快照来确保小增量的期望与通过使所捕获和存储的快照的数目最小化来维持性能的合意性之间的竞争。


技术实现要素:

3.本公开的一个方面提供一种用于捕获虚拟机资源以便取证的方法。该方法包括在数据处理硬件处接收危害指示。危害指示表明针对虚拟机的攻击危急。该方法包括:响应于接收到危害指示并且在针对虚拟机的攻击开始之前,由数据处理硬件给虚拟机所使用的易失性存储器的易失性存储器状态和虚拟机所使用的非易失性存储器的非易失性存储器状态拍快照;以及由数据处理硬件将虚拟机的审计的级别从审计的标准级别增加到审计的提高的级别。审计的提高的级别生成表示对虚拟机所使用的易失性存储器和虚拟机所使用的非易失性存储器的所有访问的数据。该方法包括:在针对虚拟机的攻击已开始之后,由数据处理硬件在阈值时间段内维持审计的提高的级别;由数据处理硬件向虚拟机的用户通知危害指示;以及由数据处理硬件将数据存储在虚拟机外部的存储器中。
4.本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,给非易失性存储器状态拍快照包括挂起非易失性存储器的垃圾收集。给易失性存储器状态拍快照可以包括执行易失性存储器的实况迁移。在一些示例中,阈值时间段可由虚拟机的用户配置。可选地,危害指示基于可疑进程的存在并且阈值时间段基于可疑进程的存在。
5.在一些实现方式中,阈值时间段对应于虚拟机的寿命。可选地,数据还包括由虚拟机在审计的提高的级别期间执行的所有命令的列表。在一些示例中,该方法进一步包括:由数据处理硬件确定攻击已结束;以及响应于确定攻击已结束,由数据处理硬件给虚拟机所使用的易失性存储器的易失性存储器状态和虚拟机所使用的非易失性存储器的非易失性存储器状态拍快照。
6.接收危害指示可以包括从在数据处理硬件上执行的入侵检测系统接收危害指示。入侵检测系统可以在第一层次保护域中执行,而在虚拟机的用户空间内的软件资源可以在第二层次保护域中执行。第一层次保护域与第二层次保护域相比具有更多特权。在一些示例中,第一层次保护域对应于虚拟机的环0,而第二层次保护域对应于虚拟机的环3。在一些实现方式中,当针对虚拟机的攻击在进行中时,给易失性存储器的易失性存储器状态和非易失性存储器的非易失性存储器状态拍快照不会发生。
7.本公开的另一方面提供一种用于捕获虚拟机资源以便取证的系统。该系统包括数
据处理硬件和与该数据处理硬件通信的存储器硬件。存储器硬件存储指令,当在数据处理硬件上执行时,这些指令使数据处理硬件执行包括接收危害指示的操作。危害指示表明针对虚拟机的攻击危急。响应于接收到危害指示并且在针对虚拟机的攻击开始之前,操作包括:给虚拟机所使用的易失性存储器的易失性存储器状态和虚拟机所使用的非易失性存储器的非易失性存储器状态拍快照;以及将虚拟机的审计的级别从审计的标准级别增加到审计的提高的级别。审计的提高的级别生成表示对虚拟机所使用的易失性存储器和虚拟机所使用的非易失性存储器的所有访问的数据。在针对虚拟机的攻击已开始之后,操作包括:在阈值时间段内维持审计的提高的级别;向虚拟机的用户通知危害指示;以及将数据存储在虚拟机外部的存储器中。
8.此方面可以包括以下可选特征中的一个或多个。在一些实现方式中,给非易失性存储器状态拍快照包括挂起非易失性存储器的垃圾收集。给易失性存储器状态拍快照可以包括执行易失性存储器的实况迁移。在一些示例中,阈值时间段可由虚拟机的用户配置。可选地,危害指示基于可疑进程的存在并且阈值时间段基于可疑进程的存在。
9.在一些实现方式中,阈值时间段对应于虚拟机的寿命。可选地,数据还包括由虚拟机在审计的提高的级别期间执行的所有命令的列表。在一些示例中,操作还包括:确定攻击已结束;以及响应于确定攻击已结束,给虚拟机所使用的易失性存储器的易失性存储器状态和虚拟机所使用的非易失性存储器的非易失性存储器状态拍快照。
10.接收危害指示可以包括从在数据处理硬件上执行的入侵检测系统接收危害指示。入侵检测系统可以在第一层次保护域中执行,而在虚拟机的用户空间内的软件资源可以在第二层次保护域中执行。第一层次保护域与第二层次保护域相比具有更多特权。在一些示例中,第一层次保护域对应于虚拟机的环0,而第二层次保护域对应于虚拟机的环3。在一些实现方式中,当针对虚拟机的攻击在进行中时,给易失性存储器的易失性存储器状态和非易失性存储器的非易失性存储器状态拍快照不会发生。
11.本公开的一个或多个实现方式的细节在附图和以下描述中阐述。从描述和附图以及从权利要求书中,其他方面、特征和优点将是显而易见的。
附图说明
12.图1是具有可扩展资源的示例分布式系统的示意图。
13.图2是托管在分布式系统上的示例应用层和虚拟机层的示意图。
14.图3是示例取证管理器的示意图。
15.图4是取证管理器的审计器和标准审计数据的示意图。
16.图5是取证管理器的审计器和提高的结构化数据的示意图。
17.图6是用于捕获虚拟机资源以便取证的时间线的线图。
18.图7是层次保护域系统的示意图。
19.图8是用于捕获vm资源以便取证的方法的操作的示例布置的示意图。
20.图9是可以被可用于实现本文描述的系统和方法的示例计算设备的示意图。
21.各图中相同的参考标记指示相同的元件。
具体实施方式
22.捕获存储器(易失性存储器和非易失性存储器两者)的状态的快照是用于恢复或分析对计算机系统的恶意软件攻击的常见方法。这些快照捕获存储器的一些或全部的每一比特的状态(即,像拍摄存储器的“照片”一样)。由于现代计算机利用大量存储器,所以快照在处理能力和存储空间两者方面相当昂贵。因此,期望仅在需要时捕获快照。然而,现代保护系统往往以规则间隔捕获快照以便仅当且只有当检测到攻击时才“回滚”到前一快照。然而,并且除了在从未使用的快照上潜在浪费的大量处理和存储以及快照需要的复杂生命周期(例如,何时删除)之外,在快照间隔之间执行其功能并且擦除它本身(或者否则隐藏其痕迹)的聪明攻击可能从未被检测或分析。甚至能够近实时地检测攻击的系统也未能紧接在攻击前后产生详细的取证数据,这可以使任何发生率响应复杂化。使所需快照的数目最小化并且每当可能时用完全地集成到虚拟机中的系统捕获存储器的增量变化是有利的。
23.本文的实现方式针对用于捕获虚拟机(vm)资源以便取证分析和/或恢复的系统和方法。取证管理器检测来自恶意软件的攻击何时危急。作为响应,并且在攻击开始之前,取证管理器捕获易失性存储器和非易失性存储器的当前状态的快照。取证管理器还将审计的级别从标准级别增加到提高的级别。审计的提高的级别将捕获在攻击期间指示攻击行为的所有命令。在取证管理器检测到攻击已结束之后,取证管理器捕获存储器的第二个资源快照并且可以将审计的级别从提高的级别降低回到标准级别。
24.图1图示包括被配置成执行资源110的分布式系统200的示例系统100。与用户120相关联的用户计算机130可以通过网络140访问分布式系统200。在所示示例中,用户计算机130包括与存储器硬件134、网络接口设备136和用户接口138通信的数据处理硬件132。存储器硬件134(例如,随机存取存储器(ram)、只读存储器(rom)、硬盘驱动器(hdd)、固态驱动器(sdd)和/或闪速存储器)存储指令,当在数据处理硬件132上执行时,这些指令使数据处理硬件132执行一个或多个操作。存储器硬件134可以存储组成本机应用、web浏览器和/或操作系统(os)的计算机可读指令。os作为数据处理硬件132与所执行的应用之间的接口。网络接口设备136包括被配置成与网络140进行通信的一个或多个设备。用户接口138包括被配置成从用户120接收输入和/或向用户120提供输出的一个或多个设备。用户接口138能够包括但不限于触摸屏、显示器、qwerty键盘、数字小键盘、触摸板、麦克风和/或扬声器。数据处理硬件132可以执行图形用户界面(gui)139)以在用户计算机130上显示。
25.分布式系统200可以运行一个或多个客户端服务,诸如但不限于计算引擎、搜索引擎、电子邮件服务、视频共享服务和其他服务。在一些实现方式中,分布式系统200包括资源110,其可以包括硬件资源110h和/或软件资源110s。硬件资源110h可以包括数据处理设备112(也称为计算设备)和存储器硬件114(例如,非暂时性存储器、持久盘)。软件资源110s可以包括软件应用、软件服务、应用编程接口(api)等。软件资源110s可以驻留在硬件资源110h中。例如,软件资源110s可以被存储在非暂时性存储器114中并且由一个或多个数据处理设备112执行。
26.在图2所示的示例中,分布式系统200包括资源110(例如,硬件资源110h)、虚拟机监视器(vmm)220、执行一个或多个虚拟机(vm)250的vm层240和应用层260的合集210。每个硬件资源110h可以包括一个或多个物理中央处理单元(pcpu)112(“物理处理器112”)和存储器硬件114。虽然每个硬件资源110h被示出具有单个物理处理器112,但是任何硬件资源
110h可以包括多个物理处理器112。操作系统212可以在资源110的合集210上执行。
27.在一些示例中,vmm 220对应于管理程序220(例如,计算引擎),该管理程序包括被配置成创建并执行vm 250的软件、固件或硬件中的至少一个。可以将与执行一个或多个vm 250的vmm 220相关联的计算机(即,数据处理硬件112)称为主机,然而可以将每个vm 250称为访客机器。这里,vmm 220或管理程序被配置成向每个vm 250提供具有虚拟操作平台的对应访客操作系统(os)212g并且管理对应访客os 212g在vm 250上的执行。如本文所使用的,可以将每个vm 250称为“实例”或“vm实例”。在一些示例中,各种操作系统的多个实例可以共享虚拟化资源。例如,操作系统的第一vm 250、操作系统的第二vm 250和os操作系统的第三vm 250可以全部在单个物理x86机器上运行。
28.vm层240包括一个或多个虚拟机250。分布式系统200使得用户120能够按需启动vm 250。vm 250模拟真实计算机系统并且基于真实计算机系统或假想计算机系统的计算机架构和功能操作,这可能涉及专门硬件、软件或其组合。在一些示例中,分布式系统200在启动一个或多个vm 250之前对用户120进行授权和认证。软件的实例或简单地实例是指被托管在分布式系统200的数据处理硬件112上(在其上执行)的vm 250。
29.每个vm 250可以包括一个或多个虚拟中央处理单元(vcpu)252(“虚拟处理器”)。在所示示例中,第一虚拟机250a包括一个或多个虚拟处理器252的第一集合252a并且第二虚拟机250b包括一个或多个虚拟处理器252的第二集合252b。虽然第二集合252b被示出为仅包括一个虚拟处理器252,但是任何数目的虚拟处理器252是可能的。每个虚拟处理器252模拟一个或多个物理处理器112。例如,一个或多个虚拟处理器252的第一集合252a模拟一个或多个物理处理器112的第一集合113a,而一个或多个虚拟处理器252的第二集合252b模拟一个或多个物理处理器112的第二集合113b。应用层260包括可以在虚拟机250上执行的软件资源110s、110sa、110sb(软件应用)。
30.通常,软件(例如,虚拟机250)的每个实例包括在物理存储器硬件114上为服务提供易失性和非易失性存储容量的至少一个虚拟存储设备262。例如,物理存储器硬件114上的存储容量能够包括跨若干物理盘(例如,存储器硬件114或随机存取存储器(ram)的存储器区域116(图10))为用户120存储数据以提供易失性存储器的持久盘(pd)。更具体地,对应vm 250的每个虚拟存储设备262将数据以字节或比特(块)的序列移动到存储器硬件114上的相关物理块存储卷v以提供非易失性存储。因此,对应vm实例250的虚拟存储设备262提供映射到存储器硬件114上的对应物理块存储卷v的存储容量。在一些示例中,虚拟存储设备262支持对存储器硬件114上的数据的随机访问并且通常使用缓冲的i/o。示例包括硬盘、cd-rom驱动器和闪存驱动器。类似地,可以跨虚拟存储设备262划分物理存储器硬件114的易失性存储器(例如,ram)的部分。
31.每个vm实例250的一个或多个虚拟存储设备262可以包括根盘262r(例如,根持久盘)和一个或多个辅助存储盘262s。根盘262r可以包括包含vm实例250的访客操作系统212g的根持久盘,然而一个或多个辅助存储持久盘262为vm实例250提供附加存储容量/空间。在一些实现方式中,当用户120创建vm实例250时,数据处理硬件112自动地创建对应根持久盘262r。在其他实现方式中,用户120创建独立根持久盘262r并且在创建vm实例250之后将该独立根持久盘262r附连到vm实例250。根持久盘262r可以暴露具有默认存储容量(例如,10gb)的块存储卷v并且随后允许用户120调整根持久盘262r的大小(例如,增加存储容量)
以改进性能并且为vm实例250提供附加存储操作系统文件。附加地或替换地,用户120可以随后添加一个或多个辅助存储盘262s以按需为在vm实例250上运行的应用提供附加数据存储容量。在图2所示的示例中,第一vm 250a具有暴露对应块存储卷v的虚拟存储设备262、262r、262s的第一合集262a,而第二vm 250b包括暴露对应块存储卷v的一个虚拟存储设备262的第二合集262b。
32.在访客操作系统212g内驻留访客内核214g。内核是作为对os具有完全访问和控制权的操作系统的核心的计算机程序。也就是说,内核是主机的应用110s和硬件资源110h之间的中介。大多数现代计算系统将虚拟存储器隔离成受保护内核空间和用户空间216g。内核通常在受保护内核空间内保持在易失性存储器中并且与用户空间216g隔离。为了提高安全性和可靠性,应用110s和其他软件服务通常在访客用户空间216g中执行并且缺少与受保护内核空间交互所必需的特权。在所示示例中,每个vm 250的内核214g包括取证管理器300。
33.现在参考图3,在一些实现方式中,在对应访客内核214g内的对应vm 250上执行的取证管理器300包括入侵检测系统(ids)310、资源快照器320和审计器330。ids 310监控可能正在执行一个或多个软件资源110s的vm 250的访客用户空间216g,以获得指示来自恶意软件的危急攻击312的异常行为。ids 310可以监控在访客用户空间216g内执行的进程、文件转移、特权变化等。例如,ids 310可以标记在进程通常不下载数据时下载数据的进程、打开进程通常不会访问的文件的进程、或其他异常行为。当ids 310检测到指示危急攻击312的行为时,ids 310生成表明针对虚拟机250的攻击312危急的危害指示(ioc)314。攻击312可以采取许多形式,但是通常攻击312是被故意地设计为对计算系统造成损害(例如,删除、窃取或破坏数据)的恶意软件(恶意程序)。在一些示例中,攻击312可以替代地是可能造成伤害(与故意地造成伤害相反)的软件的无意故障。除了ioc 314之外,ids 310可以生成攻击通知316并且向用户计算机130发送附连通知316以向用户120报警危急攻击312。通知316可以采取任何数目的形式。例如,ids 310可以发送电子邮件或者在安全应用中发布调查结果。例如,通知16可以指示受攻击312影响的软件资源110s和/或vm 250。
34.在生成ioc 314之后,ids 310将ioc 314提供给资源快照器320和审计器330。响应于接收到ioc 314并且在针对vm 250的攻击开始之前,快照器320被配置成给vm 250的易失性存储器的易失性存储器状态322和vm 250的非易失性存储器(例如,虚拟存储设备262)的非易失性存储器状态324拍快照。也就是说,在攻击312有机会实现任何重要目标之前,资源快照器320捕获易失性存储器和非易失性存储器两者的完整攻击前状态322、324(即,存储器的每个比特的状态)。这些状态322、324为攻击312的恢复和取证分析提供初始起点。捕获状态322、324可以利用vm 250的其他已经存在的特征。例如,vm 250可以创建至非易失性存储器的变化的日志并且定期使用垃圾收集服务来将日志修剪为仅非易失性存储器中的最近值。在此示例中捕获非易失性存储器324的状态的方法是挂起垃圾收集,直到变化被永久地存储为止。对于易失性存储器,资源快照器320可以使用诸如实况迁移的工具,其通常是用于将运行的vm 250移动到不同物理机器而不断开任何客户端或应用的进程。实况迁移必然在转移之前拷贝运行的vm的易失性存储器状态322并且在一些实现方式中,这样的特征可以由资源快照器320加以增补。
35.存储器状态322、324在由资源快照器320捕获后,被立即导出到外部数据存储350
(例如,存储源114)。也就是说,状态322、324在从vm 250中捕获之后被尽可能快地转移到访客用户空间216g不可访问的位置,因此在攻击312的可及范围之外。以这种方式,取证管理器300确保攻击312不能更改或影响所捕获的状态322、324。
36.审计器330被配置成控制vm 250的审计的当前级别332。审计的当前级别332控制vm 250经历的审计、监控和/或记录的量。随着审计的级别332增加/提高,性能损失(即,处理和存储器资源)类似地增加。因此,在正常或标称操作期间,vm 250可以按仅引发次要性能损失的审计的标准级别332s而操作。例如,在正常操作(即,攻击312不危急)期间,图4示出审计器330通过执行包括记录vm 250所经历的登录信息、网络连接、文件创建和删除等的次要或中等审计来应用审计的标准级别332的示意图400。然而,为了避免负面地影响性能,审计的标准级别332s将不包括细粒度审计,诸如记录读取或写入存储器的所有低级命令。审计的标准级别生成审计数据334、334s。在一些示例中,可以被结构化的审计数据334s被传递到数据存储350。
37.在一些实现方式中,审计器330在操作335处确定是否已接收到ioc 314。如果审计器330尚未接收到ioc 314,则审计器维持标准审计332s。然而,响应于接收到ioc 314(即,攻击312危急),审计器330可以将审计的当前级别332增加到审计的提高的级别332h。审计的提高的级别332h是比审计的标准级别332s更高的审计的级别。也就是说,与审计的标准级别332h相比审计的提高的级别332h将以更高的粒度、按更大的量和/或用更多的参数记录数据。在一些实现方式中,审计的提高的级别332h生成表示对由vm 250在提高的审计期间使用的易失性存储器和非易失性存储器262的所有访问的数据334h。例如,图5示出审计器330通过生成记录对vm 250的每个存储器访问的数据334h(包括时间、类型、位置和任何相关值)来应用审计的提高的级别332h的示意图500。在一些示例中,数据334h是结构化的。也就是说,结构化数据334h可以是容易存储、查询和分析的标准化格式的组织数据。在图5所示的示例中,结构化数据334h比通过向由审计器330在攻击312期间捕获的对应vm 250提供所有命令(例如,读取/写入)的列表或数组(或任何其他数据结构)在审计的标准级别332s期间获得的审计数据334s详细得多。在其他示例中,数据被以非结构化格式生成和存储。在一些实现方式中,数据334h被立即(或此后不久)导出到vm 250外部的数据存储350。
38.返回参考图3,在一些实现方式中,审计器330将在操作336处在阈值时间段内维持审计的提高的级别332h。阈值时间段可以基于固定时间量(例如,十分钟)。阈值时间段还可以基于攻击312。例如,审计器330可以维持审计的提高的级别332h直到攻击完成(例如,与攻击相关联的进程终止)为止或之后持续某个固定时间量。也就是说,ioc 314可以基于在用户空间216g中执行的可疑进程,并且阈值时间段可以基于可疑进程的存在。在仍然其他的示例中,阈值时间段是永久的。也就是说,vm 250可以在vm 250的生命周期内(例如,在vm250终止以前)维持审计的提高的级别332h。阈值时间段可以是用户在这些或任何其他适当的选项当中可配置的以确保充足的数据被捕获以供取证使用。一旦已满足阈值时间段,审计器330就可以返回到审计的标准级别332s。
39.在一些实现方式中,ids 310确定攻击312已结束。例如,攻击312可以与终止的特定进程相关联。响应于确定攻击已结束,ids 310向资源快照器320和/或审计器330发送攻击完成通知315。资源快照器320响应于从ids 310接收到攻击完成通知315而给易失性状态322和非易失性状态324拍快照并且将这些状态导出到数据存储350。因此,取证管理器300
使用攻击前快照、攻击后快照和当攻击在进行中(即,对存储器进行访问)时捕获的数据334h可以重建vm 250在攻击期间的任何点的存储器状态,同时可以在之后的任何时间分析确切行为和效果。例如,攻击前快照可以记录特定存储器地址处的值。数据334h可以示出存储器地址在攻击期间被用新值写入,然后在此后不久被用原始值重新写入以混淆攻击的发生。在这样的情况下,仅仅断续快照很可能会错过存储器每次发生改变,而聪明或适时攻击可能成功地隐藏其痕迹。然而,数据334h确保攻击312的确切效果被记录(例如,数据334h将记录两个存储器写入)并且同时地将昂贵快照保持在最低限度。在一些实现方式中,当针对vm 250的攻击312在进行中时,给易失性存储器状态322和非易失性存储器状态324拍快照不会发生。
40.现在参考图6,用于由取证管理器300捕获虚拟机资源以便取证的时间线的线图600示出取证管理器300使所捕获的快照的数目最小化,同时以足够的粒度同时地捕获数据334h以完全地重建攻击312的每一步骤。可以参考图3-5描述线图600。线图600描绘相对于图6的视图从左到右增加的时间。例如,在时间602处ids 310检测到危急攻击312,并且在时间604处,资源快照器320捕获易失性存储器状态322和非易失性存储器状态324,并且审计器330在攻击312开始之前将审计的级别332从标准级别332s增加到提高的级别332h。这里,ids310响应于在时间602处检测到危急攻击312而向资源快照器320和审计器330发出ioc 314,从而使快照器320和审计器330分别捕获存储器状态322、324并且增加审计的级别332。在当针对vm 250的攻击312在进行中时的攻击的周期606期间,快照不是必要的,因为审计器330捕获能够重建存储器在攻击312期间的任何点的状态的数据334h。ids 310可以在ids 310在时间608处确定攻击312已结束时向资源快照器320和/或审计器330发出攻击完成通知315。响应于接收到攻击完成通知315,资源快照器320再次在时间610处捕获易失性存储器322和非易失性存储器324的状态。此快照可以验证所有最终攻击后存储器状态322、324确证由审计器330在应用审计的提高的级别332h的同时获得的数据334h。在时间610处,审计器330还可以将审计的级别332返回到审计的标准级别322s。在其他示例中,审计的提高的级别322h在攻击312结束之后的阈值时间段内或在vm 250终止以前被维持。
41.现在参考图7,在许多计算机架构中,层次保护域(也称为保护环)700通过在每个域内提供特权级别(即,对资源的访问权)来保护免受故障和恶意攻击。通常,这些层次保护域被称为环0、1、2和3。环3通常对应于用户空间,并且具有最少权限或对资源的访问权,然而环0对应于内核并且具有最多特权。因此,环0最直接地与诸如对应vm 250的虚拟处理器252和虚拟存储设备262的资源110交互。中间环1和2通常对应于相应的设备驱动程序,由此环1内的设备驱动程序与环2内的设备驱动程序比具有更多特权。在一些示例中,取证管理器300(包括ids 310、资源快照器320和审计器330)在第一层次保护域(例如,环0)中执行,然而在vm 250的用户空间216g内的软件资源110s在与第一层次保护域相比具有更少特权的第二层次保护域(例如,环3)中执行。例如,取证管理器300可以在环0中执行,然而在用户空间216g内的软件资源110s在环3中执行。因为攻击312通常继承用户空间216g内被攻击312作为目标的进程的特权,所以在用户空间216g中要在环3中运行的硬件强制进程(例如,用户程序)将防止用户空间216g中的成功攻击312获得充足的特权来访问受环0保护的访客内核214g。甚至在当攻击312(例如,间谍软件)试图升级特权以获得对环0内的访客内核214g的访问权时的情况下,在环0内的访客内核214g上执行的ids 310也可以检测到这种行
为并且触发危害指示314。
42.在不偏离本发明的范围或精神的情况下,取证管理器300的各部分可以被包括在系统的其他组件中或与之通信。例如,ids 310、资源快照器320和/或审计器330的各部分可以被包括在vmm 220(例如,管理程序220)中。在一些示例中,访客内核214g中的装置(即,取证管理器300)将捕获的数据(例如,数据334h)发送到vmm 220。
43.图8是用于捕获vm资源以便取证的方法800的操作的示例布置的流程图。该方法包括在操作802处,在数据处理硬件910(图9)处接收表明针对虚拟机250的攻击312危急的危害指示314。这里,数据处理硬件910可以与计算资源112相关联并且在虚拟机250的访客内核214g内执行对应取证管理器300,其中,取证管理器300包括对应入侵检测系统310、资源快照器320和审计器330。入侵检测系统310可以检测到攻击312危急并且向快照器320和审计器330发出危害指示314。方法800还包括,响应于接收危害指示314并且在针对虚拟机250的攻击312开始之前:在操作804处,由数据处理硬件910给虚拟机250所使用的易失性存储器的易失性存储器状态322和虚拟机250所使用的非易失性存储器的非易失性存储器状态324拍快照;以及在操作806处,由数据处理硬件910将虚拟机250的审计的级别332从审计的标准级别332s增加到审计的提高的级别332h。审计的提高的级别332h生成表示对虚拟机250所使用的易失性存储器和虚拟机250所使用的非易失性存储器的所有访问的数据334h。
44.方法800还包括:在针对虚拟机250的攻击312已开始之后,在操作808处,由数据处理硬件910在阈值时间段内维持审计的提高的级别332h;以及在操作810处,由数据处理硬件910向虚拟机250的用户120通知危害指示314。方法800还包括在操作812处,由数据处理硬件910将数据334h存储在虚拟机250外部的数据存储350中。
45.非暂时性存储器(即,存储器硬件)114可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以用于计算设备112使用的物理设备。非暂时性存储器114可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)以及盘或带。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)以及相变存储器(pcm)。
46.软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交联网应用和游戏应用。
47.图9是可以用于实施本文档中描述的系统和方法的示例计算设备900的示意图。计算设备900旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其它适当的计算机。这里所示的组件、它们的连接和关系以及它们的功能意味着仅是示例性的,而不意味着限制在本文档中描述和/或要求保护的本发明的实现方式。
48.计算设备900包括处理器910、存储器920、存储设备930、连接到存储器920和高速扩展端口950的高速接口/控制器940、以及连接到低速总线970和存储设备930的低速接口/控制器960。组件910、920、930、940、950和960中的每一个使用各种总线互连,并且可以安装
在公共主板上或以其他适当的方式安装。处理器910(例如,数据处理硬件)可以处理用于在计算设备900内执行的指令,包括存储在存储器920中或存储设备930上的指令以在外部输入/输出设备(诸如耦合到高速接口940的显示器980)上显示图形用户界面(gui)的图形信息。在其它实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。而且,可以连接多个计算设备900,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。处理器910可以执行图2和3的取证管理器300。
49.存储器920(例如,存储器硬件)在计算设备900内非暂时地存储信息。存储器920可以是计算机可读介质、(多个)易失性存储器单元、或(多个)非易失性存储器单元。非易失性存储器920可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备900使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及盘或带。
50.存储设备930能够为计算设备900提供大容量存储。在一些实现方式中,存储设备930是计算机可读介质。在各种不同的实现方式中,存储设备930可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。在另外的实现方式中,计算机程序产品有形地包含在信息载体中。计算机程序产品包含指令,当执行指令时执行一个或多个方法,例如上面描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器920、存储设备930或处理器910上的存储器。
51.高速控制器940管理计算设备900的带宽密集型操作,而低速控制器960管理较低带宽密集型操作。这种职责的分配仅是示例性的。在一些实现方式中,高速控制器940被耦合到存储器920、显示器980(例如,通过图形处理器或加速器),并且被耦合到可以接受各种扩展卡(未示出)的高速扩展端口950。在一些实现方式中,低速控制器960被耦合到存储设备930和低速扩展端口990。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口990可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪或诸如交换机或路由器的联网设备。
52.如图所示,计算设备900可以以多种不同的形式来实施。例如,它可以被实施为标准服务器900a或多次实施为一组这样的服务器900a、膝上型计算机900b或机架服务器系统900c的一部分。
53.本文描述的系统和技术的各种实现方式可以在数字电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实施。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,所述可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,所述可编程处理器可以是专用或通用的,被耦合以从存储系统接收数据和指令以及向存储系统传输数据和指令。
54.软件应用(即,软件资源110s)可以指使计算设备执行一个或者多个任务的计算机
软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传送应用、媒体流应用、社交联网应用和游戏应用。
55.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或汇编/机器语言来实施。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
56.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,所述可编程处理器也称为数据处理硬件,其执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(专用集成电路)。适于执行计算机程序的处理器包括例如通用和专用微处理器这两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合到用于存储数据的一个或多个大容量存储设备,以从其接收数据或向其传送数据,或者这两者。然而,计算机不需要具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或被并入专用逻辑电路中。
57.为了提供与用户的交互,本公开的一个或多个方面可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏)以及可选地键盘和指向设备(例如,鼠标或跟踪球)的计算机上实现,用户可以通过该键盘和指向设备向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如通过响应于从用户的客户端设备上的web浏览器接收到的请求而向该web浏览器发送网页。
58.已经描述了许多实现方式。然而,将理解的是,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实现方式在所附权利要求书的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献