[发明专利]经由动态缩放的时间膨胀来减轻计时攻击在审
申请号: | 201980028147.2 | 申请日: | 2019-04-06 |
公开(公告)号: | CN112020717A | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | J·韦伯;T·提图斯;D·利比;B·曼泽斯;C·帕奇蒂;赵鹏翔;M·米勒;J·T·拉贝特;J·黑曾 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F21/55 | 分类号: | G06F21/55 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 黄倩 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 经由 动态 缩放 时间 膨胀 减轻 计时 攻击 | ||
提供了一种用于经由动态缩放的时间膨胀来减轻计时攻击的技术。根据一组实施例,一组计算机系统能够启用关于程序的时间膨胀,其中,时间膨胀使程序观察相对于真实时间的膨胀的时间的视图。然后,在时间膨胀被启用时,计算机系统在一系列时间桶中的每个时间桶内跟踪由程序产生的应用编程接口(API)调用或回调的计数,并且基于针对最近范围的时间桶跟踪的计数,放大或缩小时间膨胀的程度。
背景技术
在计算中,计时攻击是一种类型的侧信道攻击(即,基于从计算机系统的物理实现获得的信息的攻击),其中攻击者试图通过分析完成一个或多个操作花费的时间量来损坏系统。计算机系统中的每个逻辑运算花费一定时间来执行,并且该时间可以基于对运算的(一个或多个)输入而不同。因此,利用对运算的执行时间的足够精确的测量,攻击者可以创建针对运算的时间模型并推断出其(一个或多个)输入(其可以包括秘密)。最近高度曝光的依赖于计时攻击的安全漏洞包括影响大多数现代微处理器架构的Meltdown和Spectre漏洞。
一般而言,为了执行计时攻击,攻击者需要能够经由参考时钟(换言之,其中时钟滴答声以一致的速率到达的时钟)来量化运算的执行时间。攻击者可以通过咨询显式时钟(即,从硬件信号导出的并且通常以挂钟时间或CPU时间表示的时钟)来建立参考时钟。例如,攻击者可以调用返回如由系统硬件确定的时间戳值的应用编程接口(API)。攻击者可以还通过创建隐式时钟(即,在无需显式时钟的情况下从任意时间测量单位导出的时钟)来建立参考时钟。例如,攻击者可以在运算执行的同时跟踪采取特定动作或执行特定任务(例如,调用API,运行计算,等)所花费的时间的数量,并且使用该数量来量化运算的持续时间。
存在用于减轻计时攻击的许多现有方法,诸如将显式时钟钳位到相对低的分辨率,改变运行时硬件频率,并且对这些频率添加噪声或干扰。然而,这些现有方法可以是应急方法并且因此不能在结构性地防止计时手段。另外,由于这些现有方法使计算机系统偏离理想运行状况,所以它们负面地影响用户与系统交互的体验(例如,性能变得更差,资源利用增加,功率效率降低,等)。
发明内容
提供了一种用于经由动态缩放的时间膨胀来减轻计时攻击的技术。根据一组实施例,一组计算机系统能够启用关于程序的时间膨胀,其中,所述时间膨胀使所述程序观察相对于真实时间的膨胀的时间的视图。然后,在所述时间膨胀被启用时,计算机系统在一系列时间桶中的每个时间桶内跟踪由程序产生的API调用或回调的计数,并且基于针对最近范围的时间桶跟踪的计数,放大或缩小所述时间膨胀的程度。
附图说明
图1描绘了实现本公开的技术的软件环境的简化框图。
图2描绘了根据某些实施例的用于动态地触发时间膨胀的工作流程。
图3A、图3B和图3C描绘了图示根据某些实施例的用于扭曲显式时钟的不同算法的曲线图。
图4描绘了根据某些实施例的用于动态地缩放时间膨胀的工作流程。
图5描绘了根据某些实施例的计算机系统的简化框图。
具体实施方式
在下面的描述中,为了解释的目的,阐述了许多示例和细节以提供对各种实施例的理解。然而,对本领域技术人员将显而易见的是,某些实施例可以在没有这些细节中的一些的情况下来实践,或者可以在具有对其的修改或等价物的情况下来实践。
本公开的实施例提供了用于经由“时间膨胀”来减轻计时攻击的技术,换言之,相对于真实时间膨胀或扭曲观察者(例如,潜在攻击者)的时间的视图,使得观察者不能建立用于执行计时攻击的一致参考时钟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980028147.2/2.html,转载请声明来源钻瓜专利网。