安全系统时间报告的制作方法

文档序号:8435826阅读:186来源:国知局
安全系统时间报告的制作方法
【专利说明】安全系统时间报告
【背景技术】
[0001] 除非本文另有指明,否则本部分描述的材料并非本申请的权利要求的现有技术并 且不通过包含在本部分而被承认为现有技术。
[0002] 时间攻击是侧信道攻击的一种形式,其中攻击者通过分析被用来执行目标操作的 时间来破坏目标。计算机中的每次逻辑操作花费时间来执行,并且目标操作的执行时间可 基于对所述目标操作的输入而不同。通过对目标操作的时间的精准测量,攻击者可以反向 推导来查明目标输入。
[0003] 时间攻击可以发生在多种设置中。一般地,涉及共享计算硬件的多个进程的设置 特别容易受到时间攻击。例如,计算机可以执行几个进程,其中一个进程可以对其他进程发 起时间攻击。在另一示例中,计算机可以配备有虚拟机管理器(VMM)(本文中也被称为"超 级管理器"),所述虚拟机管理器被配置为管理几个虚拟机(VM)(本文中也被称为"客机操 作系统(0S)")。所述客机操作系统中的一个可以对其他客机操作系统发起时间攻击。
[0004] 在当今的云计算和数据中心环境中,时间攻击特别相关。主流的计算机使用正从 单独管理、独立型计算设备演变到经由网络连接访问软件和/或数据的连接设备。"云计算" 指一种计算模型,其中计算资源可经由网络连接被访问。从网络可获取的资源可以被称为 "在云中"。
[0005] 在网络连接后,"云"可以包括专业地管理的硬件和软件。数据中心/基础设施供应 商可以提供硬件基础设施本身,例如,服务器的框架包括处理器、存储器、布线、冷却系统、 原始数据存储器、防火墙和负载平衡器。在一些实例中,基础设施本身可以作为服务被提 供,如由亚马逊(AMAZON?)提供的"弹性计算云"(EC2)以及微软视窗蓝(MICROSOFT WINDOWSAZURE?)。另外,"平台即服务"(PaaS)供应商可以提供使用基础设施供应商 硬件的平台层。平台层可以包括,例如,计算平台(如0S、编程语言执行环境、数据库和web 服务器)。"软件即服务"(SaaS)供应商可以提供使用平台供应商的平台的软件层。SaaS软 件层可以包括例如应用软件,该应用软件实施可以在云中由终端用户操作的客户端应用获 得的网络服务和/或其他网络服务。
[0006] 为了更好地使用资源,云计算供应商可以在单一物理机上多路复用来自不同客户 的几个虚拟机。该做法开启了来自恶意客户的侧信道攻击的危害,例如时间攻击。安全是 考虑部署到云的客户的重要关切点。

【发明内容】

[0007] 本公开一般地描述包括与安全系统时间报告相关的设备、方法、以及计算机可读 介质的技术。一些示例方法可以包括计算设备中超级管理器进行的安全系统时间报告的方 法。超级管理器可以捕获来自客机操作系统的当前系统时间请求;请求当前系统时间;并 且将所述当前系统时间和先前请求的系统时间进行比较。当所述当前系统时间和所述先前 请求的系统时间的差处于或低于预定最小值时,所述超级管理器可以响应于所述当前系统 时间请求返回所述先前请求的系统时间。当所述当前系统时间和所述先前请求的系统时间 的差超过所述预定最小值时,所述超级管理器可以响应于所述当前系统时间请求返回所述 当前系统时间。
[0008] -些示例方法可以包括用于保护数据中心免受侧信道攻击的方法。方法可以包 括:在所述数据中心检测同一数据中心服务器中与一个以上数据中心客户相关的客机操作 系统的执行,并且将所述数据中心服务器中的超级管理器配置为,当在所述数据中心服务 器中检测到与一个以上数据中心客户相关的客机操作系统的执行时,进行安全系统时间报 告。所述超级管理器可以被配置为执行本文描述的安全系统时间报告方法。
[0009] 计算设备和具有实施本文描述的多种技术的指令的计算机可读介质同样被公开。 示例计算机可读介质可以包括具有被处理器可执行的计算机可执行指令的非暂时性计算 机可读存储介质,当被所述处理器执行时,所述指令引起所述处理器执行本文提供的多种 方法的任意结合。示例计算设备可以包括被配置为执行本文描述的方法的服务器,所述服 务器包括处理器、存储器和超级管理器或数据中心安全模块。
[0010] 前述
【发明内容】
仅用于说明并且不旨在以任何方式进行限制。除上述示意性方面、 实施方式、及特征外,通过参考附图及以下详细描述,更多的方面、实施方式、及特征将变得 明显。
[0011] 附图描述
[0012] 结合附图,从以下描述和所附权利要求,本公开的前述及其他特征将变得更加明 显。需理解的是,这些附图仅描绘了根据本公开的一些实施方式并且因此不被认为是对其 范围的限制,通过使用附图,本公开另外的特性和细节将被描述,其中:
[0013] 图1为示出被配置为用于安全系统时间报告的示例计算设备的框图;
[0014]图2为示出被返回作为当前系统时间和先前请求的系统时间的差的函数的示例 时间值的图表;
[0015] 图3为作为图1中介绍的设备的一个示例的计算设备的框图;
[0016]图4为示出计算设备中超级管理器进行的安全系统时间报告的示例方法的流程 图;
[0017] 图5为作为数据中心管理器设备的一个示例的计算设备的框图;以及
[0018] 图6为示出所有均根据本公开的至少一些实施方式被布置的用于保护数据中心 免受侧信道攻击的示例方法的流程图。
【具体实施方式】
[0019]在以下详细描述中,参考附图,附图构成本描述的一部分。在附图中,除非上下文 另有指明,否则相同符号一般指代相同部件。在详细说明、附图以及权利要求书中描述的示 意性实施方式不意在限制。在不背离本文呈现的主题的精神或范围的情况下,其他实施方 式可以被使用,并且可以做出其他改变。将很容易理解的是,如本文一般描述的、以及在图 中示出的本公开的各方面可以以多种不同配置被布置、替换、组合以及设计,这些都被清晰 地构思并成为本公开的一部分。
[0020] 除其他之外,本公开总体涉及包括与安全时间报告相关的方法、设备、系统和/或 被部署在其中的计算机可读介质的技术。在一些示例中,对一些时间请求的响应可以被操 作以防止泄露对时间攻击可能有益的信息,而对其他时间请求的响应则无需操作。特别地, 对与先前时间请求相隔预定最小值或少于预定最小值的时间请求的响应可以被操作。对与 先前时间请求相隔超过所述预定最小值的时间请求的响应不需被操作。此外,安全时间报 告可以根据需要被适应性地在数据中心中的服务器上展开。
[0021] 一些示例方法可以包括用于保护数据中心免受侧信道攻击的方法。方法可以包 括在数据中心检测同一数据中心服务器中与一个以上数据中心客户相关的客机操作系统 (guest operating system)的执行,并且当在所述数据中心服务器中检测到与一个以上数 据中心客户相关的客机操作系统的执行时将所述数据中心服务器中的超级管理器配置为 进行安全系统时间报告。
[0022] 在一些实施方式中,超级管理器可以可选地被配置为检测计算设备中一个以上客 机操作系统的执行,并且当检测到一个以上客机操作系统的执行时进行安全系统时间报 告。将理解的是,可以在数据中心内或其他地方部署计算设备。在一些实施方式中,例如, 当计算设备包括数据中心中的服务器时,超级管理器可以被配置为检测计算设备中与一个 以上数据中心客户相关的客机操作系统的执行,并且当检测到与一个以上数据中心客户相 关的客机操作系统的执行时,进行安全系统时间报告。
[0023] -些示例方法可以包括计算设备中超级管理器进行的安全系统时间报告的方法。 示例超级管理器可以包括软时间戳计数器(softtsc)类内核或这样的内核,该内核以其他 方式被配置和/或可配置为拦截对计算设备中系统定时器的调用并且操作系统定时器响 应。所述超级管理器可以被配置为捕获来自客机操作系统的当前系统时间请求,例如读时 间戳命令(RDTSC)。所述超级管理器可以被配置为响应于当前系统时间请求来请求当前系 统时间,将所述当前系统时间和先前请求的系统时间进行比较,并且基于所述比较来确定 是否修改响应于所述当前系统时间请求提供给客机操作系统的当前系统时间输出。
[0024] 在一些实施方式中,在当前系统时间和先前请求的系统时间的差处于或低于预定 最小值时,超级管理器可以被配置为响应于当前系统时间请求返回先前请求的系统时间。 在当前系统时间和先前请求的系统时间的差超过所述预定最小值时,超级管理器可以响应 于当前系统时间请求返回当前系统时间。
[0025] 在一些实施方式中,在当前系统时间和先前请求的系统时间的差处于或低于预定 最小值时,超级管理器可以被配置为响应于当前系统时间请求返回除当前系统时间之外的 时间值。所述返回的除当前系统时间之外的时间值可以包括任意时间值,例如,可以是如使 用"模糊定时器"(fuzzy timer)技术确定的时间值或如上所述的先前请求的系统时间。在 当前系统时间与先前请求的系统时间的差超过预定最小值时,超级管理器可以响应于当前 系统时间请求返回当前系统时间。
[0026] 时间值可以按时间单位或处理器时钟周期来测量。术语"处理器时钟周期"、"时钟 周期"、或"周期"可以在本文中可交换地使用来指代处理器时钟周期,即,设定处理器速度 的振荡器的脉冲。每秒的周期数被叫做时钟速度,其一般以兆赫(MHz)或千兆赫(GHz)来 测量。如本领域技术人员所理解的,处理器每时钟周期可以执行一个或多个指令。
[0027] 例如,在一些实施方式中,所述预定最小值可以包括约.15至.45微秒(y S)范围 内的时间的量。在一些实施方式中,所述预定最小值可以包括对应于计算设备中处理器的 约750个周期至约1250个周期的时间范围内的时间的量。根据特定实施方式所部署的设 定、将要阻止的时间攻击的类型以及系统时间操作可能具有不利后果的范围,宽范围的值 可以适于用来作为预定最小值。在一些实施方式中,所述预定最小值可以包括通常对应于 比计算设备中处理器处理约10000周期的时间少的任意时间的量的时间的量。
[0028] 可以由本公开的实施方式解决的示例侧信道时间攻击包括,但不限于,使用精准 定时器从高速缓存访问以及共存进程(co-resident process)的处理时间中收集信息的 攻击。示例攻击已在观测到的仅65毫秒(mS)内从广泛使用的高级加密标准(AES)中偷 走密钥 ° 参见 E. Tromer, D. A. Osvik, A. Shamir, "Efficient cache attacks on AES, and countermeasures",International Association for Cryptologic Research, 2009。其他 示例攻击也已在一次密钥观测中偷走RSA(Rivest, Shamir, and Adleman)密钥的每512-比 特指数中的310比特。参见C. Percival于2005年5月发表在BSDCan 2005的"Cache missing for fun and profit",。高速缓存时间攻击还可以提供关于按键时间的信息来提 取密码以及对用户计数等等。
[0029]在 C. Percival, "Cache missing for fun and profit"(如上引用的)中描述的 一次具体高速缓存时间攻击中,RSA操作在包括开放安全套接层(OpenSSL)的环境中被攻 击。间谍进程在超线程奔腾4处理器上与OpenSSL共存运行。因为共存进程共享1级(L1) 高速缓存,因此当间谍进程控制处理器时,间谍进程可以重载所述L1级高速缓存。通过测 量高速缓存重载时间,所述间谍进程可以推断RSA操作使用了多少L1级高速缓存。RSA解 密使用一系列模平方和模乘,其可以通过所测量的高速缓存重载时间的差来区分。高速缓 存重载时间一般在约120至约170处理器周期范围内。从测量到的高速缓存重载时间,所 述间谍进程可以检测RSA操作的序列,允许所述间谍进程解密每512比特指数中的约200 比特。这是多种被展示与共享硬件的共存进程运行的高速缓存时间攻击技术的一种。
[0030] 为了防止高速缓存时间攻击和/或其他类型的时间攻击,一些方案可尝试消除或 减少系统定时器的精度。减少了精度的定时器可以被称为模糊定时器。但是,许多系统处 理取决于系统定时器,并且减少系统定时器的准确性可能使得0S或超级管理器冻结,从而 造成不可接受的不稳定性。例如,在一些情况下,VM冻结可能源自时钟更改对使用10, 000 至10, 000, 000个周期的时钟的情况的影响,如模糊定时器的影响。由于时钟更改影响其他 范围内的时间/周期值造成的不稳定性也是可能的。
[0031] 上述高速缓存时间攻击依赖于测量与先前时间请求相隔等于或少于预定最小值 的量的时间。成功测量加载高速缓存的时间涉及测量相隔约100-200个处理器周期范围的 量的时间。该范围低于201个处理器周期或更多的示例预定最小值,例如,250个处理器周 期的预定最小值、1000个处理器周期的预定最小值或另一可以被选择用于合适的特定实施 方式的预定最小值。许多可能发生在其他设定中的其他时间攻击还可以依赖于测量与先前 时间请求相隔的量等于或少于预定最小值的时间,因此将容易理解的是,本公开不被限制 于解决高速缓存时间攻击。
[0032] 在一些实施方式中,系统定时器和/或相关的系统可以被配置为,操作返回的系 统时间来防止时间的准确测量(所述时间与响应于先前系统时间请求返回的时间相隔的 量等于或少于预定最小值),来阻止时间攻击所需的范围内的时间测量。例如,在如上所述 的高速缓存时间攻击的情况中,如果系统定时器和/或相关的系统可以被配置为操作返回 的系统时间来防止在0-1000个处理器周期范围内准确测量或者在一些实施方式中防止任 何测量,那么,单一高速缓存加载规模的准确测量可以被防止,并且高速缓存时间攻击也可 以被防止。
[0033] 本公开的实施方式可以因此预先确定最小值,所述最小值可操作用来向可能的攻 击者隐藏敏感的时间信息,并且操作返回的系统时间来防止处于或低于预定最小值的范围 内的准确测量。同时,本公开的实施方式可以允许系统定时器和/或相关系统为有效使用 提供正常运行,即在预定最小值之外的范围内需要系统时间测量的使用。如上所述的源于 时钟更改对使用10, 〇〇〇至10, 〇〇〇, 〇〇〇个周期的时钟的情况的影响造成的VM冻结可以因 此被避免,同时避免因操作与响应于先前系统时间请求提供的时间相隔的量超过预定最小 值的返回系统时间的结果可能引起的任意其他问题。
[0034] 在一些实施方式中,本文描述的技术可以抵抗超级管理器管理的VM中的基于时 间的侧信道攻击。本公开的实施方式可以使用超级管理器捕获能力来以以下方式调节系统 时间的报告:在向大部分或所有的必需VM功能提供大体上不变的输出的同时,减少或消除
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1