CN105917345A - 虚拟机之间的边信道攻击的检测 - Google Patents

虚拟机之间的边信道攻击的检测 Download PDF

Info

Publication number
CN105917345A
CN105917345A CN201380081397.5A CN201380081397A CN105917345A CN 105917345 A CN105917345 A CN 105917345A CN 201380081397 A CN201380081397 A CN 201380081397A CN 105917345 A CN105917345 A CN 105917345A
Authority
CN
China
Prior art keywords
virtual machine
value
cache
threshold value
side channel
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
Application number
CN201380081397.5A
Other languages
English (en)
Other versions
CN105917345B (zh
Inventor
K·S·范
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN105917345A publication Critical patent/CN105917345A/zh
Application granted granted Critical
Publication of CN105917345B publication Critical patent/CN105917345B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

技术涉及一种标识虚拟机之间的边信道攻击的检测器。根据一些示例,可监视第一虚拟机(VM)的处理器间中断(IPI)率、第二虚拟机的时间戳计数(TSC)率以及第三虚拟机的高速缓存未命中比(CMR)。然后可基于处理器间中断率、时间戳计数率和高速缓存未命中比来检测边信道攻击。

Description

虚拟机之间的边信道攻击的检测
背景技术
除非在本文中另外表明,否则本部分中所述的材料对于本申请中的权利要求不是现有技术,并且由于包括在本部分中而不被承认是现有技术。
云基础设施提供商可利用规模经济来以较低的成本提供动态的且按需的计算资源。虚拟化是可被基础设施提供商用来提高效率和增强性能的工具之一。来自多个客户的虚拟机(VM)可共享物理资源(诸如服务器)。共享的资源可导致多个相互不信任的客户同时共享来自同一提供商的物理资源。客户可知道云基础设施的共享的性质。阻止客户迁移到云计算的一个障碍是对来自其他用户的暗中侦探的恐惧。
发明内容
本公开一般地描述了操作检测器以标识虚拟机之间的边信道攻击的的技术。
根据一些示例,提供一种检测虚拟机之间的边信道攻击的方法。该方法可包括:监视第一虚拟机(VM)的处理器间中断(IPI)率;监视第二VM的时间戳计数(TSC)率;监视第三VM的高速缓存未命中比(CMR);基于IPI率、TSC率和CMR来检测边信道攻击。
根据其它示例,可提供检测虚拟机之间的边信道攻击的计算装置。该计算装置可包括被配置为存储指令的存储器、耦合到存储器的控制器,其中控制器执行边信道攻击检测模块。边信道攻击检测模块可被配置为:监视第一虚拟机(VM)的处理器间中断(IPI)率;检测IPI率超过预定IPI率阈值;将第一VM标记为同谋者候选和旁观者候选的集合中的至少一个;监视第三VM的高速缓存未命中比(CMR);检测CMR超过预定CMR阈值;将第三VM标记为受害者候选。
根据其它示例,可提供检测虚拟机之间的边信道攻击的计算机可读介质。这些指令可使方法响应于执行而被执行,该方法类似于本文中所述的方法。
前面的概要仅仅是说明性的,而并不意图以任何方式是限制性的。除了说明性的方面,上述实施例和特征、另外的方面、实施例和特征将通过参考附图和下面的详细描述而变得显而易见。
附图说明
通过结合附图进行的以下描述和所附权利要求,本公开的前述和其它特征将变得更充分地显而易见。理解这些附图仅仅描绘了根据本公开的几个实施例,因此,不应被认为是限制其范围,将通过使用附图来更具体地、更详细地描述本公开,在附图中:
图1说明具有边信道攻击的环境中的虚拟机的示例架构;
图2说明虚拟机之间的边信道攻击的示例;
图3说明虚拟机之间的边信道攻击的另一示例;
图4说明操作标识虚拟机之间的边信道攻击的检测器的示例流程图;
图5说明被用来检测虚拟机之间的边信道攻击的检测器的示例;
图6说明可被用来操作标识虚拟机之间的边信道攻击的检测器的通用计算装置;
图7是说明操作标识虚拟机之间的边信道攻击的检测器的示例方法的流程图;以及
图8说明操作标识虚拟机之间的边信道攻击的检测器的示例计算机程序产品的框图,
所有附图都是依照本文中所述的至少一些实施例来安排的。
具体实施方式
在以下详细描述中,对附图进行参考,所述附图形成详细描述的一部分。除非上下文另外指示,否则在附图中,相似的符号通常标识相似的部件。在详细描述、附图和权利要求中描述的说明性实施例并不意味着是限制性的。在不脱离本文中所提供的主题的精神或范围的情况下,可以利用其它实施例,以及可以进行其它改变。如在本文中一般地描述的和在图中示出的那样,本公开的各方面可以以广泛多样的不同配置被布置、替代、组合、分割和设计,所有这些在本文中都被明确地构想。
本公开尤其是针对与标识虚拟机之间的边信道攻击的检测器的操作相关的方法、设备、系统、装置和/或计算机程序产品进行一般性的描写的。
简要地说,技术涉及标识虚拟机之间的边信道攻击的检测器。根据一些示例,可监视第一虚拟机(VM)的处理器间中断(IPI)率、第二VM的时间戳计数(TSC)率以及第三VM的高速缓存未命中比(CMR)。然后可基于IPI率、TSC率和CMR来检测边信道攻击。
图1说明根据本文中所述的至少一些实施例布置的、具有边信道攻击的环境中的虚拟机的示例架构。
如图100所示,虚拟机内核(vmKernel)116可管理多个虚拟机管理器(VMM)110、112和114。虚拟机可以是用于应用和服务的自包含执行环境。虚拟机可执行高级应用(诸如操作系统)。VMM可管理和监视VM,并且提供允许VM执行的资源。VMM 110可提供执行与VM相关联的操作的虚拟中央处理单元(vCPU)1。vCPU可以是处理器占位者(诸如线程)。每个VM可被分配vCPU,该vCPU继而可被分配给处理器以执行与VM相关联的操作。可替换地,VM和vCPU可以是被用来描述自包含执行环境的同义术语。
在替换示例中,VMM 112可管理双VM。双VM可被分配vCPU 2和vCPU 3。VMM 114可管理分配给vCPU 4的另一个VM。vmKernel 116可通过分派物理资源(诸如物理CPU(pCPU)1(120)和pCPU 2(118))执行来自vCPU 1、vCPU 2、vCPU 3和vCPU 4的指令来管理这些指令的执行。
通过vCPU 3发送指令的攻击者106可利用与受害者108共享的资源来执行边信道攻击以捕获受害者108执行的指令。在边信道攻击期间,攻击者106可利用同谋者104。同谋者104可将IPI发给攻击者106以使得攻击者106能够中断受害者108的指令执行。旁观者102可参与或者可不参与边信道攻击。旁观者102可包括VMM 110,其可在指令被受害者108执行之前或之后在共享资源(诸如pCPU 1(120)或pCPU 2(118))之一上执行这些指令。
攻击者106可利用应用的共用代码基来执行边信道攻击。共用代码基可包括被用来构造应用的开源代码元素或库。攻击者106可确定在受害者108和攻击者106之间的共用处理器(诸如pCPU 1(120)或pCPU 2(118))中执行的应用所遵循的路径。该路径的知识可被用来确定(受害者108执行的)应用的数据输入或输出(诸如密钥)。
执行路径可通过检查加载到共用处理器的L1指令高速缓存中的受害者108的指令而被确定。攻击者106可使用主要探测攻击协议来检查例如L1指令高速缓存或指令高速缓存(I-高速缓存)。使用主要探测攻击协议的攻击者106可用假指令(即,模仿指令)来完全地加载I-高速缓存。接着,攻击者106可允许受害者108使用I-高速缓存执行几个指令。之后攻击者继续用假指令加载I-高速缓存。在继续加载I-高速缓存的同时,攻击者106可测量将每个假指令加载到I-高速缓存中所花费的时间。攻击者106可使用读取时间戳计数器(rdtsc)指令来测量加载I-高速缓存所花费的时间。rdtsc指令可读取时间戳计数器(TSC)。TSC是处理器上的对自重置起的时钟周期的总数进行计数的计数器(例如,64位)。在rdtsc指令执行之前或之后返回的值的变化可确定指令消耗时间。如果攻击者106加载先前被驱逐的高速缓存位置,则指令消耗时间可能是很大的值。攻击者106可知道该高速缓存位置曾被用来供受害者108执行指令。
高速缓存位置和系统存储器位置之间的直接关系可能是不可辨别的。然而,高速缓存是组关联的。也就是说,指令高速缓存内的与执行的应用相关联的位置可仅对应于系统存储器内的与该执行的应用相关联的位置的子集。因此,监视已使用的高速缓存位置可允许攻击者106确定受害者108的执行路径。
在多个VM环境中,攻击者106可使用观测粒度、观测噪声和vCPU迁移来执行边信道攻击。观测粒度可封装攻击者106的观测时间段。在示例情况下,vmKernel可允许受害者108在预定时间段期间执行指令。在一些示例中,受害者108执行的指令的数量可以是相对较大的数量,这可阻止攻击者106对这些指令进行分析。例如,如果处理在每秒执行30亿个指令的同时不中断运行30毫秒,则总共大约9000万个指令可被执行。这可能比指令高速缓存大得多,这意味着指令高速缓存被覆写多次,从而阻止被攻击者分析。攻击者106可中断受害者108的指令执行以降低观测粒度。攻击者106可使用IPI来中断受害者108的指令执行。攻击者106也可使用第二攻击者处理(诸如同谋者104)。第二攻击者处理的示例可包括被配置为执行将IPI发给攻击者106的迭代的同谋者104。迭代可提示vmKernel唆使攻击者管理IPI并且阻止受害者108执行。因为攻击者106可中断受害者108执行的应用来管理IPI,所以受害者108的执行时间可被缩短。受害者108的缩短的执行时间可允许攻击者106追踪受害者108执行的应用的执行路径。
观测噪声可封装与受害者108的指令的人工分析相关联的噪声。在示例情况下,攻击者106可确定受害者的执行的测量时间包括禁止受害者108的指令的分析的观测噪声。例如,攻击者106可使用包括基于隐藏马尔可夫模型(HMM)的支持矢量机(SVM)的机器学习算法来克服观测噪声。攻击者106可使用机器学习算法来以很少的错误推断执行的操作。
vCPU迁移可封装物理资源共享。在示例情况下,攻击者可与受害者108共享pCPU 1(120)。可替换地,攻击者106可以不共享pCPU 1(120)。攻击者106可使用包括SVM和HMM的机器学习算法来聚集与受害者108相关联的代码段序列以确定与受害者108相关联的时间测量。
图2说明根据本文中所述的至少一些实施例布置的、虚拟机之间的边信道攻击的示例。
如图200所示,vmKernel可使用时间分享方案来由VMM的vCPU 208在整个时间202期间在pCPU 1(204)和pCPU 2(206)上执行指令。旁观者最初可在pCPU 1(204)上执行操作。在旁观者在pCPU 1(204)上执行指令的时间段期间,攻击者和受害者可在pCPU 2(206)上执行指令。攻击者可能无法在旁观者在pCPU 1(204)上执行指令的时间段期间中断受害者的指令执行。接着,同谋者可允许攻击者通过中断受害者的执行来监视受害者执行的指令。pCPU 2(206)上的中断的执行时间段可允许攻击者通过监视与受害者共享的pCPU 2(206)的高速缓存的指令来监视受害者的指令执行路径。
同谋者可通过发送处理器间中断210来帮助攻击者以允许攻击者在pCPU 2(206)上执行指令并且中断受害者的指令执行。在诸如时序攻击212的时间段期间,同谋者可将多个IPI发送给攻击者以中断受害者在pCPU 2(206)上的指令执行。攻击者可被允许执行主要探测攻击以在迭代处理中监视受害者执行的指令。迭代处理可继续进行,直到同谋者在pCPU 1(204)处被旁观者取代为止。在时序攻击212时间段期间,攻击者可记录时序数据以用于对与受害者共享的pCPU 2(206)的高速缓存进行分析。
图3说明根据本文中所述的至少一些实施例布置的、虚拟机之间的边信道攻击的另一示例。
示图300示出边信道攻击的部件。三个vCPU可涉及托管VM的数据中心中的边信道攻击。vCPU可在pCPU 1(302)和pCPU 2(308)上执行指令。攻击者1(304)可将IPI发给pCPU 2(308)。攻击者1(304)可以是同谋者。攻击者2(306)可对pCPU 2(308)执行rdtsc指令。接着,攻击者2(306)可被允许与受害者310交换地方以在pCPU 2(308)上执行指令。攻击者2(306)可监视pCPU 2(308)的高速缓存以确定在中断时间段期间存储在该高速缓存中的受害者310执行的指令作为攻击者1(304)发出的IPI的结果。因为IPI中断受害者310的指令执行,所以受害者310可能具有L1高速缓存或I-高速缓存未命中。
上述每个动作可在数据中心在正常操作期间单独地发生。然而,一起发生的动作可以是边信道攻击的指示。边信道攻击的阻止可由将多个vCPU之间共用的度量相关连以认出用信号通知交叉VM时序攻击的行为的检测器实现。
图4说明根据本文中所述的至少一些实施例布置的、操作标识虚拟机之间的边信道攻击的检测器的示例流程图。
如图400所示,边信道攻击的检测可涉及若干个操作。在操作402中,检测器可对来自监视通过vmKernel在pCPU上执行指令的vCPU的监视器的度量进行分析(分析来自监视器的度量)。度量可包括IPI率、TSC率和CMR。在操作404中,可将vCPU_m(即,第一VM)的IPI率与预定IPI率阈值进行比较(Vcpu_m的IPI率大于IPI率阈值?)。IPI率阈值可通过基于与vmKernel、pCPU、vCPU、VM或VMM相关联的若干个参数可进行调整的动态系统设置而被确定。可替换地,IPI率阈值可由外部或内部源(诸如数据中心)手动设置。响应于确定vCPU_m的IPI率高于IPI率阈值,在操作406中,可将vCPU_m标记为同谋者(将vCPU_m标记为同谋者)。vCPU_m可以是攻击者对的一部分。
接着,在操作408中,可将从vCPU_m接收IPI的vCPU_n(即,第二VM)标识为攻击者(标识接收IPI的vCPU_n攻击者)。vCPU_n可被vCPU_m中断。vCPU_n可以是攻击者对的另一部分。中断的vCPU_n可被允许在共同执行者vCPU_k(即,第三VM)使用的pCPU上执行。
vCPU_n在pCPU上的指令(诸如RDTSC)的执行可中断共同执行者vCPU_k的指令执行。在操作410中,可将共同执行者vCPU_k标识为受害者(将共同执行者vCPU_k标识为vCPU_n攻击者的受害者)。
在操作412中,可将vCPU_k的CMR与CMR阈值进行比较(vCPU_k的CMR大于CMR阈值?)。CMR可以是高速缓存未命中的数量除以与vCPU(或VM)相关联的总高速缓存未命中。高速缓存可被设计为使CMR保持接近于零。主要探测攻击可迫使vCPU_k使CMR接近于值1。具有接近于值1的高CMR的vCPU可被进一步检查以确定边信道攻击。CMR阈值可通过基于与vmKernel、pCPU、CPU、VM或VMM相关联的若干个参数可进行调整的动态系统设置而被确定。可替换地,CMR阈值可由外部或内部源(诸如数据中心)手动设置。响应于确定CMR高于CMR阈值,可计算与基于三个vCPU的边信道攻击相关联的嫌疑值或S_mnk。
可基于vCPU_m的IPI率、vCPU_n的TSC率以及vCPU_k的CMR来计算S_mnk。在操作414中,可将计算出的S_mnk与嫌疑值阈值进行比较(S_mnk大于S阈值?)。嫌疑值阈值可通过基于与vmKernel、pCPU、CPU、VM或VMM相关联的若干个参数可进行调整的动态系统设置而被确定。可替换地,嫌疑值阈值可由外部或内部源(诸如数据中心)手动设置。响应于确定嫌疑值S_mnk高于嫌疑值阈值,在操作416中,可向系统(诸如数据中心管理)通知与vCPU_m、vCPU_n和vCPU_k相关联的边信道攻击(通知系统)。
在一些示例中,可使用公式S_mnk=α*(CPU_m的IPI率/IPI率阈值)+β*(CPU_n的TSC率/TSC率阈值)+γ*(CPU_k的CMR率/CMR率阈值)来计算S_mnk。该公式可响应于嫌疑行为的增加来启发式地增大S_mnk的嫌疑值。因子α、β和γ可被包括以允许数据中心将该公式配置或调整为将S_mnk计算到真实世界行为。α、β和γ中的每个的默认值可以是例如1.0。
响应于确定S_mnk值高于嫌疑阈值,可将vCPU_m和vCPU_n标识为攻击者(或攻击者对)。接着,将vCPU标识为攻击者的事件可被记录在数据储存器中。该事件可通过将与vCPU_m、vCPU_n和vCPU_k相关联的IPI率、TSC、CMR和数据群集到该事件中而产生。为了阻止攻击,可迫使vCPU_n仅在pCPU上执行。除了α、β和γ之外,IPI率阈值、TSC率阈值、CMR阈值和嫌疑阈值在一些示例中也可被数据中心配置。
根据一些实施例,也可监视L1数据高速缓存的CMR,而不是L1指令高速缓存(Lli)的CMR。L1数据高速缓存上的边信道攻击可以类似地像Lli上的那样。因为L2和L3高速缓存的大小增大,L2和L3高速缓存中的指令混合,并且L2和L3高速缓存与pCPU的距离增大,所以L2和L3高速缓存上的边信道攻击可以是不同的。
因为同谋者VM可使用包括输入/输出(I/O)中断的替换中断来中断攻击者VM并且迫使受害者VM停止执行指令,所以其它中断也可被监视。监视并分析中断以检测边信道攻击的检测器可监视IPI以及其它中断。
根据其它实施例,攻击者可对时间事件使用除了rdtsc之外的指令。在攻击者可对时间事件使用不同指令的示例情况下,检测器可监视与受害者相关联的CMR和与同谋者相关联的IPI率以确定边信道攻击。高于CMR阈值的CMR和高于IPI率阈值的IPI率可指示边信道攻击。
图5说明根据本文中所述的至少一些实施例的布置的、被用来检测虚拟机之间的边信道攻击的检测器的示例。
如图500所示,旁观者vCPU 1可由VMM 502管理,同谋者vCPU 2和攻击者vCPU 3可由VMM 504管理,受害者vCPU 4可由VMM 506管理。vmKernel 508可分派资源以允许vCPU 1、2、3和4执行指令。vmKernel 508可管理资源pCPU 1(512)和pCPU 2(514)。
vmKernel 508可托管对从VMM 502、504和506中的监视器的度量进行分析的检测器510。监视器可监视包括与vCPU 1、vCPU 2、vCPU 3和vCPU 4相关联的IPI率、TSC率和CMR的度量。检测器可对IPI率、TSC率和CMR进行分析以确定与vCPU 2、vCPU 3和vCPU 4相关联的嫌疑值。可将嫌疑值与嫌疑值阈值进行比较以将vCPU 2和vCPU 3标识为攻击者对。
图6说明根据本文中所述的至少一些实施例布置的、可被用来操作标识虚拟机之间的边信道攻击的检测器的通用计算装置。图6的计算装置600可以是由数据中心执行的vmKernel 508或图1、2、3、4和5中未示出的一些其它装置中的一个或多个。在配置602中,计算装置600通常包括一个或多个处理器604和系统存储器606。存储器总线608可被用于在处理器604和系统存储器606之间进行通信。
取决于特定配置,处理器604可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或它们的任何组合。处理器604可包括一级或多级高速缓存(诸如等级高速缓存612)、处理器核614和寄存器616。示例处理器核614可包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或它们的任何组合。示例存储器控制器618也可与处理器604一起被使用,或在一些实施方式中存储器控制器614可以是处理器604的内部部分。
取决于特定配置,系统存储器606可以是任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或它们的任何组合。系统存储器606可包括操作系统620、检测器应用622以及程序数据624。检测器应用622可包括被布置为检测VM(或vCPU)之间的边信道攻击的边信道模块626。程序数据可包括度量数据628和以上结合至少图1、2、3、4和5讨论的类似数据中的一个或多个。该数据对于如本文中所述的检测VM之间的边信道攻击可以是有用的。该描述的基本配置602在图6中通过内部虚线内的这些部件而被示出。
计算装置600可具有附加特征或功能以及用于促进基本配置602和任何所需的装置和接口之间的通信的附加接口。例如,总线/接口控制器630可被用来促进经由存储接口总线634基本配置602与一个或多个数据存储装置632之间的通信。数据存储装置632可以是可移除存储装置636、不可移除存储装置638或它们的组合。可移除存储装置和不可移除存储装置的示例例如包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘装置、诸如压缩盘(CD)驱动器或数字通用盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器。示例计算机存储介质可包括在信息存储的任何方法或技术中被实施的易失性和非易失性、可移除和不可移除的介质(诸如计算机可读指令、数据结构、程序模块或其它数据)。
系统存储器606、可移除存储装置636和不可移除存储装置638是计算机存储介质的示例。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储器装置或可用于存储信息以及可被计算装置600访问的任何其它介质。任何这样的计算机存储介质可以是计算装置600的一部分。
计算装置600也可包括用于促进经由总线/接口控制器630从各种接口装置(例如,输出装置642、外围接口644和通信装置666)到基本配置602的通信的接口总线640。示例输出装置642包括图形处理单元648和音频处理单元650,其可被配置为经由一个或多个A/V端口652与诸如显示器或扬声器的各种外部装置进行通信。示例外围接口644包括串行接口控制器654或并行接口控制器656,其可被配置为经由一个或多个I/O端口658与诸如输入装置(例如,键盘、鼠标、笔、声音输入装置、触摸输入装置等)或其它外围装置(例如,打印机、扫描仪等)的外部装置进行通信。示例通信装置666包括网络控制器660,其可被布置为促进在网络通信链路上经由一个或多个通信端口664与一个或多个其它计算装置662的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以被体现为计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据,并且可包括任何信息递送介质。“调制的数据信号”可以是具有其特性集合中的一个或多个或者以对信号中的信息进行编码的方式被更改的信号。举例来说,而非限制,通信介质可包括诸如有线网络或有线直接连接的有线介质、以及诸如声学、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文中所使用的术语计算机可读介质可包括存储介质和通信介质两者。
计算装置600也可被实施作为物理服务器、虚拟服务器、计算云或包括以上功能中的任何功能的混合装置的一部分。计算装置600也可被实施作为包括笔记本计算机和非笔记本计算机配置两者的个人计算机。而且,计算装置600可被实施作为联网系统、或者通用或专用服务器的一部分。
用于包括计算装置600的联网系统的网络可包括服务器、客户端、交换机、路由器、调制解调器、互联网服务提供商以及任何适当的通信介质(例如,有线或无线通信)的任何拓扑。根据实施例的系统可具有静态或动态网络拓扑。网络可包括诸如企业网络(例如,LAN、WAN或WLAN)的安全网络、诸如无线开放网络(例如,IEEE 802.11无线网络)的非安全网络、或全世界网络(例如,互联网)。网络也可包括适于一起操作的多个不同的网络。这样的网络被配置为提供本文中所述的节点之间的通信。举例来说,而非限制,这些网络可包括无线介质(诸如声学、RF、红外和其它无线介质)。此外,网络可以是同一网络或独立网络的部分。
图7是说明根据本文中所述的至少一些实施例布置的、可由计算装置710(诸如图6中的计算装置600)执行的操作检测器以标识虚拟机之间的边信道攻击的示例方法的流程图。
计算装置710可被实施为计算装置600或执行存储在非暂时性计算机可读介质720中的用于执行所述方法的指令的类似装置。操作检测器以标识虚拟机之间的边信道攻击的处理可包括如方框722、724、726和/或728中的一个或多个所示的一个或多个操作、功能或动作。
一些示例处理可从操作722“监视第一虚拟机(VM)的处理器间中断(IPI)率”开始。在操作722中,计算装置600可将IPI率高于预定IPI率阈值的VM标识为同谋者104。
操作722之后可以接着是操作724,“监视第二VM的时间戳计数(TSC)率”。在操作724中,计算装置600可将TSC率高于预定TSC率阈值的VM标识为攻击者106。
操作724之后可以接着是操作726,“监视第三VM的高速缓存未命中比(CMR)”。在操作726中,计算装置600可将CMR高于预定CMR率阈值的VM标识为受害者108。
图8说明根据本文中所述的至少一些实施例布置的、操作检测器以标识虚拟机之间的边信道攻击的示例计算机程序产品的框图。
在如图8所示的一些示例中,计算机程序产品800可包括信号承载介质802,其也可包括响应于被例如处理器执行可提供以上关于图1至图7描述的功能的机器可读指令804。因此,例如,参照计算装置600,图8中所示的任务中的一个或多个可响应于指令804被介质802递送到计算装置600而进行,以执行与检测器标识虚拟机之间的边信道攻击相关的动作。这些指令中的一些可包括:监视第一虚拟机(VM)的处理器间中断(IPI)率;监视第二VM的时间戳计数(TSC)率;监视第三VM的高速缓存未命中比(CMR);以及基于IPI率、TSC率和CMR来检测边信道攻击。
在一些实施方式中,图8中描绘的信号承载介质802可包含非暂时性计算机可读介质806(诸如但不限于硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字带、存储器等)。在一些实施方式中,信号承载介质802可包含可记录介质808(诸如但不限于存储器、读/写(R/W)CD、R/W DVD等)。在一些实施方式中,信号承载介质802可包含通信介质801(诸如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等))。因此,例如,计算机程序产品800可通过RF信号承载介质802被递送给处理器804,其中信号承载介质802可通过无线通信介质810(例如,符合IEEE 802.11标准的无线通信介质)被递送。
根据一些示例,提供了一种检测虚拟机之间的边信道攻击的方法。该方法可包括:监视第一虚拟机(VM)的处理器间中断(IPI)率;监视第二VM的时间戳计数(TSC)率;监视第三VM的高速缓存未命中比(CMR);以及基于IPI率、TSC率和CMR来检测边信道攻击。
根据其它示例,检测边信道攻击可包括:检测IPI率超过预定IPI率阈值,并且将第一VM标记为以下集合中的至少一个:同谋者候选和旁观者候选。检测边信道攻击也可包括:检测TSC率超过预定TSC率阈值,并且将第二VM标记为攻击者候选。检测边信道攻击可进一步包括:检测CMR超过预定CMR阈值,并且将第三VM标记为受害者候选。
根据进一步的示例,所述方法可进一步包括:检测第一VM发送的并且被第二VM接收的一个或多个IPI,并且确定第二VM将被第一VM中断。可通过高速缓存未命中的第一数量除以第三VM访问的总高速缓存的第二数量来确定CMR。可通过以下操作来计算与边信道攻击相关联的嫌疑值:基于IPI率和预定IPI率阈值的商来确定第一值,基于TSC率和预定TSC率阈值的商来确定第二值,基于CMR和预定CMR阈值的商来确定第三值,并且将第一值、第二值和第三值相加以计算嫌疑值。可检测嫌疑值超过预定嫌疑值阈值,并且可将第一VM和第二VM标识为攻击者对。可允许一个或多个数据中心运营商调整以下集合中的一个或多个:预定IPI率阈值、预定TSC阈值、预定CMR阈值以及预定嫌疑者阈值。
根据一些示例,所述方法可进一步包括:响应于确定边信道攻击,将与第一VM、第二VM和第三VM相关联的IPI率、TSC、CMR和数据群集到事件中,并且将该事件记录在数据储存器中。可响应于确定边信道攻击来通知一个或多个数据中心运营商。
根据其它示例,可提供检测虚拟机之间的边信道攻击的计算装置。该计算装置可包括被配置为存储指令的存储器、耦合到所述存储器的控制器,其中控制器执行边信道攻击检测模块。边信道攻击检测模块可被配置为:监视第一虚拟机(VM)的处理器间中断(IPI)率;检测IPI率超过预定IPI率阈值;将第一VM标记为以下集合中的至少一个:同谋者候选和旁观者候选;监视第三VM的高速缓存未命中比(CMR);检测CMR超过预定CMR阈值;以及将第三VM标记为受害者候选。
根据一些示例,边信道攻击检测模块可被进一步配置为:监视第二VM的时间戳计数(TSC)率,并且基于IPI率、TSC率和CMR来检测边信道攻击。可检测TSC率超过预定TSC率阈值,并且可将第二VM标记为攻击者候选。可检测第一VM发送的并且被第二VM接收的一个或多个IPI,并且可将第二VM确定为被第一VM中断。可通过高速缓存未命中的第一数量除以第三VM访问的总高速缓存的第二数量来计算CMR。
根据进一步的示例,边信道攻击检测模块可被进一步配置为通过以下操作来计算与边信道攻击相关联的嫌疑值:基于IPI率和预定IPI率阈值的商来确定第一值;基于TSC率和预定TSC率阈值的商来确定第二值;基于CMR和预定CMR阈值的商来确定第三值;以及将第一值、第二值和第三值相加以计算嫌疑值。
根据其它示例,边信道攻击检测模块可被进一步配置为:对于第一VM、第二VM和第三VM计算嫌疑值;检测嫌疑值超过预定嫌疑值阈值;将第一VM和第二VM标识为攻击者对。可响应于确定边信道攻击,将与第一VM、第二VM和第三VM相关联的IPI率、TSC率、CMR和数据群集到事件中,并且可将该事件记录在数据储存器中。可允许一个或多个数据中心运营商调整以下集合中的一个或多个:预定IPI率阈值、预定TSC率阈值、预定CMR阈值以及预定嫌疑者阈值。可响应于确定边信道攻击通知一个或多个数据中心运营商。
根据其它示例,可提供检测虚拟机之间的边信道攻击的计算机可读介质。这些指令可响应于执行使方法被执行,该方法类似于上述方法。
系统的各方面的硬件实施方式和软件实施方式之间区别很小:硬件或软件的使用一般是(但不总是,因为在某些上下文下,硬件和软件之间的选择可能变得重要)表示成本对效率权衡的设计选择。存在通过其可实现本文中所述的处理和/或系统和/或其它技术的各种载体(例如,硬件、软件和/或固件),并且优选的载体将随着部署这些处理和/或系统和/或其它技术的上下文而变化。例如,如果实施者确定速度和精度是最重要的,则实施者可选择主要硬件和/或固件载体;如果灵活性是最重要的,则实施者可选择主要软件实施方式;或者,再一次可替换地,实施者可选择硬件、软件和/或固件的某一组合。
前述的详细描述已经通过使用框图、流程图和/或示例阐述了装置和/或处理的各种实施例。只要这样的框图、流程图和/或示例包含一个或多个功能和/或操作,本领域技术人员将理解,这样的框图、流程图或示例内的每个功能和/或操作可单独地和/或共同地用各种不同的硬件、软件、固件或它们的几乎任何组合来实施。在一个实施例中,本文中所述的主题的几个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实施。然而,本领域技术人员将认识到,本文中所公开的实施例的一些方面全部地或部分地可在集成电路中被等同地实施作为在一个或多个计算机上运行的一个或多个计算机程序(例如,在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,在一个或多个微处理器上运行的一个或多个程序)、固件、或者它们的几乎任何组合,并且根据本公开,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的熟练技能内。
在本申请中所述的特定实施例方面(意图使其作为各方面的例证),本公开不应当是受限的。如对本领域技术人员来说将显而易见的,在不脱离其精神和范围的情况下可以做出许多修改和改变。通过前述描述,本公开范围内的功能等同的方法和装置(除本文中所列举的那些之外)对于本领域技术人员来说将是显而易见的。意图使这样的修改和改变落在所附权利要求的范围内。本公开仅由所附权利要求的各项以及这样的权利要求所赋予的等同物的全部范围一起来限定。应当理解,本公开并不限于特定的方法、系统或部件(当然其可以变化)。还应当理解,本文中所使用的术语仅仅是为了描述特定实施例的目的,且并不意图是限制性的。
另外,本领域技术人员将意识到,本文中所述的主题的机制能够作为各种形式的程序产品发布,并且本文中所述的主题的说明性实施例不管用于实际上实现发布的信号承载介质的具体类型都适用。信号承载介质的示例包括但不限于以下:可记录的类型介质(诸如软盘、硬盘驱动器、压缩盘(CD)、数字通用盘(DVD)、数字带、计算机存储器等);以及传输类型的介质(诸如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等))。
本领域技术人员将认识到,以本文中所阐述的方式描述装置和/或处理、其后使用工程实践将所述的装置和/或处理集成到数据处理系统中在本领域内是常见的。也就是说,本文中所述的装置和/或处理的至少一部分可经由合理量的实验集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统一般包括以下中的一个或多个:系统单元壳体、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户界面、以及应用程序、诸如触控板或触摸屏的一个或多个交互装置、和/或包括反馈回路的控制系统。
典型的数据处理系统可利用任何合适的市售部件(诸如常见于数据计算/通信和/或网络计算/通信系统中的部件)来实施。本文中所述的主题有时说明包含在不同的其它部件内的不同部件、或者与不同的其它部件连接在一起的不同部件。要理解,这样的描绘的架构仅仅是示例性的,事实上,可实施实现相同功能的许多其它的架构。从概念的意义上来讲,实现相同功能的部件的任何布置是有效“关联的”,使得特定的功能被实现。因此,本文中组合实现特定功能的任何两个部件可被看作彼此“关联”,使得不管架构或中间部件如何,特定的功能都被实现。同样地,如此相关联的任何两个部件也可被视为彼此“可操作地连接”或“可操作地耦合”来实现特定的功能,并且能够如此关联的任何两个部件也可被视为彼此“可操作地耦合”来实现特定的功能。可操作地耦合的具体示例包括但不限于可物理连接和/或物理交互部件、和/或可无线交互和/或无线交互部件、和/或逻辑交互和/或可逻辑交互部件。
关于基本上任何复数和/或单数术语在本文中的使用,本领域技术人员可以按照其适用于的上下文和/或应用而从复数转化到单数和/或从单数转化到复数。为了清楚起见,在本文中可能明确地阐述了各种单数/复数变换。
本领域技术人员将理解的是,总之,本文中且尤其是所附权利要求(例如所附权利要求的主体)中所使用的术语通常意图是“开放的”术语(例如术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”等)。本领域技术人员将进一步理解的是,如果所引入的权利要求叙述的特定数字是有意的,这样的意图将被明确叙述在权利要求中,并且在没有这样的叙述的情况下不存在这样的意图。例如,作为理解的辅助,下面所附的权利要求可以包含引入性短语“至少一个”和“一个或多个”的使用以引入权利要求叙述。然而,这样的短语的使用不应被解释为暗示通过不定冠词“一”或“一个”引入权利要求叙述将包含这样引入的权利要求叙述的任何特定权利要求限定到包含只有一个这样的叙述的实施例,即使当该同一权利要求包括引入性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时也是这样(例如,“一”和/或“一个”应当被解释为意味着“至少一个”或“一个或多个”);对于用来引入权利要求叙述的定冠词的使用来说情况是同样的。此外,即使明确记载了所引入的权利要求叙述的特定数字,本领域技术人员也将认识到,这样的记载应当被解释为意味着至少所记载的数字(例如,在没有其它修饰的情况下,“两个叙述”的简要叙述意味着至少两个叙述或者两个或更多叙述)。
此外,在使用类似于“A、B和C等中的至少一个”的惯例的这些实例中,通常这样的构造意图是本领域技术人员将理解该惯例的意义(例如,“具有A、B和C等中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B一起、具有A和C一起、具有B和C一起以及/或者具有A、B和C一起等的系统)。本领域技术人员将进一步理解的是,实际上任何转折性词语和/或提供两个或更多替换术语的短语无论是在说明书、权利要求中还是在附图中都应当被理解为构想包括这些术语中的一个、这些术语中的任一个或这些术语两个的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
如本领域技术人员将理解的,出于任何和所有目的,诸如在提供书面描述方面,本文中所公开的所有范围也涵盖任何和所有可能的子范围以及其子范围的组合。任何所列出的范围可被容易地理解为充分描述并使能被分解成至少相等的两份、三份、四份、五份、十份等的同一范围。作为非限制示例,本文中所讨论的每个范围都可被容易地分解成下三分之一、中间三分之一和上三分之一等。如本领域技术人员也将理解的,诸如“高达”、“至少”、“大于”、“少于”等的所有语言都包括所述的数字并且指代随后可被分解成如上所讨论的子范围的范围。最后,如本领域技术人员将理解的,范围包括每个单个成员。因此,例如,具有1-3个单元的群组指代具有1个、2个或3个单元的群组。相似地,具有1-5个单元的群组指代具有1个、2个、3个、4个或5个单元的群组等。
虽然本文中已经公开了各个方面和实施例,但是其它方面和实施例对于本领域技术人员将是显而易见的。本文中所公开的各个方面和实施例是出于例证的目的,而非意图限制,其中真实范围和精神由权利要求来指明。

Claims (30)

1.一种检测虚拟机之间的边信道攻击的方法,所述方法包括:
监视第一虚拟机(VM)的处理器间中断(IPI)率;
监视第二虚拟机的时间戳计数(TSC)率;
监视第三虚拟机的高速缓存未命中比(CMR);以及
基于所述处理器间中断率、所述时间戳计数率和所述高速缓存未命中比来检测所述边信道攻击。
2.根据权利要求1所述的方法,其中检测所述边信道攻击包括:
检测所述处理器间中断率超过预定处理器间中断率阈值;以及
将所述第一虚拟机标记为同谋者候选和旁观者候选的集合中的至少一个。
3.根据权利要求1所述的方法,其中检测所述边信道攻击包括:
检测所述时间戳计数率超过预定时间戳计数率阈值;以及
将所述第二虚拟机标记为攻击者候选。
4.根据权利要求1所述的方法,其中检测所述边信道攻击包括:
检测所述高速缓存未命中比超过预定高速缓存未命中比阈值;以及
将所述第三虚拟机标记为受害者候选。
5.根据权利要求1所述的方法,还包括:
检测所述第一虚拟机发送的且被所述第二虚拟机接收的至少一个处理器间中断率;以及
确定所述第二虚拟机被所述第一虚拟机中断。
6.根据权利要求1所述的方法,还包括:
通过高速缓存未命中的第一数量除以所述第三虚拟机访问的总高速缓存的第二数量来确定所述高速缓存未命中比。
7.根据权利要求1所述的方法,还包括:
通过以下操作来计算与所述边信道攻击相关联的嫌疑值:
基于所述处理器间中断率和预定处理器间中断率阈值的商来确定第一值;
基于所述时间戳计数率和预定时间戳计数率阈值的商来确定第二值;
基于所述高速缓存未命中比和预定高速缓存未命中比阈值的商来确定第三值;
分别将所述第一值、所述第二值和所述第三值与第一系数、第二系数和第三系数相乘;以及
将所述第一值与所述第一系数的乘积、所述第二值与所述第二系数的乘积、以及所述第三值与所述第三系数的乘积相加以计算所述嫌疑值。
8.根据权利要求7所述的方法,还包括:
检测所述嫌疑值超过预定嫌疑值阈值;以及
将所述第一虚拟机和所述第二虚拟机标识为攻击者对。
9.根据权利要求7所述的方法,还包括:
允许数据中心运营商调整以下集合中的至少一个:预定处理器间中断率阈值、预定时间戳计数率阈值、预定高速缓存未命中比阈值、所述第一系数、所述第二系数、所述第三系数以及预定嫌疑值阈值。
10.根据权利要求1所述的方法,还包括:
响应于确定所述边信道攻击,将与所述第一虚拟机、所述第二虚拟机和所述第三虚拟机相关联的所述处理器间中断率、所述时间戳计数率、所述高速缓存未命中比和数据群集到事件中;以及
将所述事件记录在数据储存器中。
11.根据权利要求1所述的方法,还包括:
响应于确定所述边信道攻击,通知至少一个数据中心运营商。
12.一种检测虚拟机之间的边信道攻击的计算装置,所述计算装置包括:
存储器,其被配置为存储指令;
控制器,其被耦合到所述存储器,其中所述控制器执行边信道攻击检测模块,所述边信道攻击检测模块被配置为:
监视第一虚拟机(VM)的处理器间中断(IPI)率;
检测所述处理器间中断率超过预定处理器间中断率阈值;
将所述第一虚拟机标记为同谋者候选和旁观者候选的集合中的至少一个;
监视第三虚拟机的高速缓存未命中比(CMR);
检测所述高速缓存未命中比超过预定高速缓存未命中比阈值;以及
将所述第三虚拟机标记为受害者候选。
13.根据权利要求12所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
监视第二虚拟机的时间戳计数(TSC)率;以及
基于所述处理器间中断率、所述时间戳计数率和所述高速缓存未命中比来检测所述边信道攻击。
14.根据权利要求13所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
检测所述时间戳计数率超过预定时间戳计数率阈值;以及
将所述第二虚拟机标记为攻击者候选。
15.根据权利要求12所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
检测所述第一虚拟机发送的且被所述第二虚拟机接收的至少一个处理器间中断;以及
将所述第二虚拟机确定为被所述第一虚拟机中断。
16.根据权利要求12所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
通过高速缓存未命中的第一数量除以所述第三虚拟机访问的总高速缓存的第二数量来确定所述高速缓存未命中比。
17.根据权利要求12所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
通过以下操作来计算与所述边信道攻击相关联的嫌疑值:
基于所述处理器间中断率和预定处理器间中断率阈值的商来确定第一值;
基于第二虚拟机的时间戳计数率和预定时间戳计数率阈值的商来确定第二值;
基于所述高速缓存未命中比和所述预定高速缓存未命中比阈值的商来确定第三值;
分别将所述第一值、所述第二值和所述第三值与第一系数、第二系数和第三系数相乘;以及
将所述第一值与所述第一系数的乘积、所述第二值与所述第二系数的乘积、以及所述第三值与所述第三系数的乘积相加以计算所述嫌疑值。
18.根据权利要求18所述的计算装置,其中所述边信道攻击检测模块被进一步配置为:
计算关于所述第一虚拟机、所述第二虚拟机和所述第三虚拟机的嫌疑值;
检测所述嫌疑值超过预定嫌疑值阈值;以及
将所述第一虚拟机和所述第二虚拟机标识为攻击者对。
19.根据权利要求18所述的计算装置,其中所述边信道模块被进一步配置为:
响应于确定所述边信道攻击,将与所述第一虚拟机、所述第二虚拟机和所述第三虚拟机相关联的所述处理器间中断率、所述时间戳计数率、所述高速缓存未命中比和数据群集到事件中;以及
将所述事件记录在数据储存器中。
20.根据权利要求18所述的计算装置,其中所述边信道模块被进一步配置为:
允许数据中心运营商调整以下集合中的至少一个:所述预定处理器间中断率阈值、所述预定时间戳计数率阈值、所述预定高速缓存未命中比阈值、所述第一系数、所述第二系数、所述第三系数以及预定嫌疑值阈值。
21.根据权利要求12所述的计算装置,其中所述边信道模块被进一步配置为:
响应于确定所述边信道攻击,通知至少一个数据中心运营商。
22.一种存储有检测虚拟机之间的边信道攻击的指令的计算机可读存储介质,所述指令使方法响应于执行而被执行,其中,所述方法包括:
监视第一虚拟机(VM)的处理器间中断(IPI)率;
检测所述处理器间中断率超过预定处理器间中断率阈值;以及
将第一虚拟机标记为同谋者候选和旁观者候选的集合中的至少一个;
监视第二虚拟机的时间戳计数(TSC)率;
检测所述时间戳计数率超过预定时间戳计数率阈值;以及
将第二虚拟机标记为攻击者候选;
监视第三虚拟机的高速缓存未命中比(CMR);以及
基于所述处理器间中断率、所述时间戳计数率和所述高速缓存未命中比来检测所述边信道攻击。
23.根据权利要求23所述的计算机可读存储介质,其中响应于检测到所述高速缓存未命中比超过预定高速缓存未命中比阈值,将所述第三虚拟机标记为受害者候选。
24.根据权利要求23所述的计算机可读存储介质,其中至少一个处理器间中断被检测为由所述第一虚拟机发送并且被所述第二虚拟机接收,并且所述第二虚拟机被确定为被所述第一虚拟机中断。
25.根据权利要求23所述的计算机可读存储介质,其中通过高速缓存未命中的第一数量除以所述第三虚拟机访问的总高速缓存的第二数量来计算所述高速缓存未命中比。
26.根据权利要求23所述的计算机可读存储介质,其中通过以下操作计算与所述边信道攻击相关联的嫌疑值:
分别将第一值、第二值和第三值与第一系数、第二系数和第三系数相乘;以及
将所述第一值与所述第一系数的乘积、所述第二值与所述第二系数的乘积、以及所述第三值与所述第三系数的乘积相加,其中通过将所述处理器间中断率除以预定处理器间中断率阈值来确定所述第一值,通过将所述时间戳计数率除以所述预定时间戳计数率阈值来确定所述第二值,通过将所述高速缓存未命中比除以预定高速缓存未命中比阈值来确定所述第三值。
27.根据权利要求27所述的计算机可读存储介质,其中响应于检测到所述嫌疑值超过预定嫌疑值阈值,将所述第一虚拟机和所述第二虚拟机标识为攻击者对。
28.根据权利要求23所述的计算机可读存储介质,其中响应于确定所述边信道攻击,将与所述第一虚拟机、所述第二虚拟机和所述第三虚拟机相关联的所述处理器间中断率、所述时间戳计数率、所述高速缓存未命中比和数据群集到事件中,并且将所述事件记录在数据储存器中。
29.根据权利要求23所述的计算机可读存储介质,其中响应于确定所述边信道攻击,通知至少一个数据中心运营商。
30.根据权利要求23所述的计算机可读存储介质,其中至少一个数据中心运营商被使得能够调整以下中的一个或多个:所述预定处理器间中断率阈值、所述预定时间戳计数率阈值、所述预定高速缓存未命中比阈值、所述第一系数、所述第二系数、所述第三系数以及预定嫌疑值阈值。
CN201380081397.5A 2013-12-04 2013-12-04 虚拟机之间的边信道攻击的检测 Expired - Fee Related CN105917345B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/073140 WO2015084344A1 (en) 2013-12-04 2013-12-04 Detection of side channel attacks between virtual machines

Publications (2)

Publication Number Publication Date
CN105917345A true CN105917345A (zh) 2016-08-31
CN105917345B CN105917345B (zh) 2019-02-05

Family

ID=53273903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380081397.5A Expired - Fee Related CN105917345B (zh) 2013-12-04 2013-12-04 虚拟机之间的边信道攻击的检测

Country Status (4)

Country Link
US (1) US9438624B2 (zh)
KR (1) KR101807441B1 (zh)
CN (1) CN105917345B (zh)
WO (1) WO2015084344A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033826A (zh) * 2018-06-26 2018-12-18 天津飞腾信息技术有限公司 可抵御边信道攻击的缓存加固方法及装置
CN111289890A (zh) * 2020-02-27 2020-06-16 致能装备科技(集团)有限公司 一种基于边信道的dtu安全监测方法
CN112437921A (zh) * 2018-08-24 2021-03-02 赫尔实验室有限公司 基于反复出现的信号模式的快速无监督识别的网络攻击检测的系统和方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015179865A1 (en) * 2014-05-23 2015-11-26 The George Washington University System and method for uncovering covert timing channels
US10437993B2 (en) * 2014-10-03 2019-10-08 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for detecting covert timing channels
CN106295337B (zh) * 2015-06-30 2018-05-22 安一恒通(北京)科技有限公司 用于检测恶意漏洞文件的方法、装置及终端
KR102411884B1 (ko) 2017-09-28 2022-06-22 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10521585B2 (en) * 2017-10-02 2019-12-31 Baidu Usa Llc Method and apparatus for detecting side-channel attack
KR102424357B1 (ko) 2017-10-24 2022-07-25 삼성전자주식회사 부채널 공격으로부터 정보를 보호하는 방법 및 디바이스
FR3080203B1 (fr) * 2018-04-17 2020-03-27 Renault S.A.S. Procede de filtrage de flux d’attaque visant un module de connectivite
US10929535B2 (en) * 2018-06-29 2021-02-23 Intel Corporation Controlled introduction of uncertainty in system operating parameters
US20220360597A1 (en) * 2019-08-29 2022-11-10 Darktrace Holdings Limited Cyber security system utilizing interactions between detected and hypothesize cyber-incidents
US11316875B2 (en) * 2020-01-31 2022-04-26 Threatology, Inc. Method and system for analyzing cybersecurity threats and improving defensive intelligence
WO2022092499A1 (ko) * 2020-10-30 2022-05-05 재단법인대구경북과학기술원 신뢰가능한 실행 환경을 이용한 캐시 부 채널 공격 탐지 방법 및 장치
CN115021892B (zh) * 2022-07-22 2024-09-27 紫光同芯微电子有限公司 一种侧信道冗余数据移除方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761715A (en) * 1995-08-09 1998-06-02 Kabushiki Kaisha Toshiba Information processing device and cache memory with adjustable number of ways to reduce power consumption based on cache miss ratio
US20040044912A1 (en) * 2002-08-26 2004-03-04 Iven Connary Determining threat level associated with network activity
US20110214187A1 (en) * 2010-03-01 2011-09-01 Silver Tail Systems, Inc. System and Method for Network Security Including Detection of Attacks Through Partner Websites
US20120266221A1 (en) * 2009-10-20 2012-10-18 Claude Castelluccia Method for secure communication between devices
US20130232577A1 (en) * 2011-03-07 2013-09-05 Isight Partners, Inc. Information System Security Based on Threat Vectors
US20130297832A1 (en) * 2009-04-24 2013-11-07 Vmware, Inc. Interrupt coalescing for outstanding input/output completions
WO2013172913A2 (en) * 2012-03-07 2013-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channels attacks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL187046A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Memory randomization for protection against side channel attacks
JP2011182038A (ja) 2010-02-26 2011-09-15 Konica Minolta Business Technologies Inc 画像処理装置、画像処理システムおよび表示画面制御方法
US8359488B2 (en) 2010-04-12 2013-01-22 Red Hat, Inc. Keeping time in multi-processor virtualization environments
US9009385B1 (en) * 2011-06-30 2015-04-14 Emc Corporation Co-residency detection in a cloud-based system
CN102571746B (zh) * 2011-11-23 2014-11-05 西安交通大学 一种面向云计算环境侧通道攻击防御的虚拟机部署方法
EP2822213A1 (en) * 2012-03-02 2015-01-07 Sony Corporation Information processing device, information processing method, and programme
JP5835458B2 (ja) * 2012-03-02 2015-12-24 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US8813240B1 (en) * 2012-05-30 2014-08-19 Google Inc. Defensive techniques to increase computer security
US9015838B1 (en) * 2012-05-30 2015-04-21 Google Inc. Defensive techniques to increase computer security
US9304795B2 (en) * 2013-01-15 2016-04-05 Empire Technology Development Llc Function-targeted virtual machine switching
US9342343B2 (en) * 2013-03-15 2016-05-17 Adventium Enterprises, Llc Wrapped nested virtualization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761715A (en) * 1995-08-09 1998-06-02 Kabushiki Kaisha Toshiba Information processing device and cache memory with adjustable number of ways to reduce power consumption based on cache miss ratio
US20040044912A1 (en) * 2002-08-26 2004-03-04 Iven Connary Determining threat level associated with network activity
US20130297832A1 (en) * 2009-04-24 2013-11-07 Vmware, Inc. Interrupt coalescing for outstanding input/output completions
US20120266221A1 (en) * 2009-10-20 2012-10-18 Claude Castelluccia Method for secure communication between devices
US20110214187A1 (en) * 2010-03-01 2011-09-01 Silver Tail Systems, Inc. System and Method for Network Security Including Detection of Attacks Through Partner Websites
US20130232577A1 (en) * 2011-03-07 2013-09-05 Isight Partners, Inc. Information System Security Based on Threat Vectors
WO2013172913A2 (en) * 2012-03-07 2013-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channels attacks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033826A (zh) * 2018-06-26 2018-12-18 天津飞腾信息技术有限公司 可抵御边信道攻击的缓存加固方法及装置
CN112437921A (zh) * 2018-08-24 2021-03-02 赫尔实验室有限公司 基于反复出现的信号模式的快速无监督识别的网络攻击检测的系统和方法
CN112437921B (zh) * 2018-08-24 2024-02-02 赫尔实验室有限公司 网络攻击检测的系统、方法和非暂时性计算机可读介质
CN111289890A (zh) * 2020-02-27 2020-06-16 致能装备科技(集团)有限公司 一种基于边信道的dtu安全监测方法

Also Published As

Publication number Publication date
KR101807441B1 (ko) 2017-12-08
WO2015084344A1 (en) 2015-06-11
KR20160072135A (ko) 2016-06-22
CN105917345B (zh) 2019-02-05
US9438624B2 (en) 2016-09-06
US20160044059A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
CN105917345B (zh) 虚拟机之间的边信道攻击的检测
Zhang et al. Cloudradar: A real-time side-channel attack detection system in clouds
Kulah et al. SpyDetector: An approach for detecting side-channel attacks at runtime
US10705904B2 (en) Detecting anomalous behavior in an electronic environment using hardware-based information
Karn et al. Cryptomining detection in container clouds using system calls and explainable machine learning
US11188643B2 (en) Methods and apparatus for detecting a side channel attack using hardware performance counters
Wang et al. Self-adaptive cloud monitoring with online anomaly detection
US9098408B2 (en) Ticket consolidation for multi-tiered applications
US10885167B1 (en) Intrusion detection based on anomalies in access patterns
US11956264B2 (en) Method and system for verifying validity of detection result
CN101853346A (zh) 虚拟机快照和损坏抑制
CN107113183A (zh) 大数据的受控共享的系统和方法
CN107924360A (zh) 计算系统中的诊断框架
CN111316272A (zh) 使用行为和深度分析的先进网络安全威胁减缓
Baumgärtner et al. Complex event processing for reactive security monitoring in virtualized computer systems
US11347840B2 (en) Dynamic re-distribution of detection content and algorithms for exploit detection
Zhou et al. A cautionary tale about detecting malware using hardware performance counters and machine learning
Sangeetha et al. An optimistic technique to detect cache based side channel attacks in cloud
US20160092313A1 (en) Application Copy Counting Using Snapshot Backups For Licensing
Wang Ebat: online methods for detecting utility cloud anomalies
CN107358106A (zh) 漏洞检测方法、漏洞检测装置及服务器
US11762953B2 (en) Event-triggered analysis for high fidelity simulation
CN102930046B (zh) 数据处理方法、计算节点及系统
Tarvo et al. Automated analysis of multithreaded programs for performance modeling
Qin et al. Martini: Memory access traces to detect attacks

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190205

Termination date: 20191204