首页> 中国专利> 一种利用缓存替换策略的隐蔽缓存攻击方法

一种利用缓存替换策略的隐蔽缓存攻击方法

摘要

一种利用缓存替换策略的隐蔽缓存攻击方法包括:当缓存集为W路时,在初始化阶段将目标数据以及构造的驱逐集W‑1个数据对缓存集进行填充,之后等待受害者访问内存的操作;RELOAD,首先访问缓存集的第一个驱逐集元素造成强制未命中,之后重新访问目标数据,并目标数据重新加载入缓存集内,记录访问时间,以及根据访问时间判断受害者是否访问了目标数据;REFRESH,访问剩余的W‑2个驱逐集元素以完成缓存集的刷新并记录访问时间,根据访问时间判断是否有其他进程同时在访问缓存。与现有技术相比,本发明的有益效果是:该攻击方案对受害者具有很小的缓存未命中影响,从而使其无法被最先进的检测机制检测到。

著录项

  • 公开/公告号CN112528271A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利号CN202011543330.7

  • 发明设计人 肖树根;胡建勋;

    申请日2020-12-24

  • 分类号G06F21/50(20130101);G06F21/53(20130101);G06F21/57(20130101);

  • 代理机构

  • 代理人

  • 地址 100080 北京市海淀区中关村大街19号新中关大厦B座北翼16层

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明涉及信息安全技术领域,具体涉及一种利用缓存替换策略的隐蔽缓存攻击方法。

背景技术

现代CPU的微架构在并发进程之间共享资源。这种共享可能会导致并发进程之间意外的信息流动,从而导致攻击行为。缓存攻击可以跨越虚拟机边界,从邻近的进程或虚拟机中推断密钥,破坏安全协议,或与其他技术相结合,从受害者的内存地址空间中泄漏信息。

缓存及其他微架构攻击存在巨大的威胁,因此,人们提出了不同的技术来检测和缓解相应攻击。基于硬件的方案需要数年的时间来整合和部署,且可能会导致性能损失,实现较为困难,因此,当前措施多为检测正在进行的攻击,然后以某种方式做出应对。相关学者提出了通过使用硬件性能计数器(HPCs)来检测正在进行的攻击,以及用于检测专门绕过其他对策攻击的技术。

现有的缓存攻击方法基本采用通过强制驱逐进程改变缓存状态,观察共同驻留进程的缓存行为来获取受害者访问内存情况的思想,针对这一思想所提出的根据观察缓存情况检测攻击行为的技术能够有效发现相应的缓存攻击并及时做出应对方案,这使得缓存攻击存在一定困难。

发明内容

本发明的目的针对现有技术存在的缺陷,提出了一种利用缓存替换策略的隐蔽缓存攻击方法,该攻击方案对受害者具有很小的缓存未命中影响,从而使其无法被最先进的检测机制检测到。

所述一种利用缓存替换策略的隐蔽缓存攻击方法包括如下步骤:

初始化,当缓存集为W路时,在初始化阶段将目标数据以及构造的驱逐集W-1个数据对缓存集进行填充,之后等待受害者访问内存的操作;

RELOAD,首先访问缓存集的第一个驱逐集元素造成强制未命中,之后重新访问目标数据,并目标数据重新加载入缓存集内,记录访问时间,以及根据访问时间判断受害者是否访问了目标数据;

REFRESH,访问剩余的W-2个驱逐集元素以完成缓存集的刷新并记录访问时间,根据访问时间判断是否有其他进程同时在访问缓存。

优选的,所述访问时间较长说明受害者没有访问目标数据,访问时间较短则说明受害者访问了目标数据。

与现有技术相比,本发明的有益效果是:该攻击方案对受害者具有很小的缓存未命中影响,从而使其无法被最先进的检测机制检测到。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明采用RELOAD加REFRESH攻击方法来实现本发明所述的目的,其的基本思想为:当系统中存在共享机制时,已知驱逐策略的攻击者可以将受害者可能会使用一些数据放在缓存中所需的位置。因为由数据存储位置和它们的age(取决于内存访问)的顺序确定驱逐候选,攻击者可以迫使目标数据成为被驱逐候选。如果受害者访问了目标,它将不再是驱逐候选,因为它的age随着访问减少。攻击者可以强制目标未命中,然后检查目标是否仍在缓存中。如果是,攻击者将获得所需的信息,也就是受害者已经使用了目标数据,当受害者从缓存中加载数据时不会出现缓存未命中的现象,也就没有攻击痕迹,从而很难被现有缓存攻击检测方法所检测出来。

从本发明攻击方法与其他缓存攻击方法的比较,以及本发明攻击方法对受害者的影响两方面对本发明所提出的RELOAD+REFRESH攻击进行效果评估。

如下具体分析与其他缓存攻击方法的比较:

将RELOAD+REFRESH与常见的缓存攻击FLUSH+RELOAD和PRIME+PROBE通过3组实验进行性能的比较。

通过隐蔽信道通信对缓存攻击分辨度(resolution)进行分析。实验结果表明,与FLUSH+RELOAD和PRIME+PROBE攻击相比,所提出的RELOAD+REFRESH攻击具有比较好的分辨度,即当受害者访问内存数据时,攻击者有较高准确度接收到是否访问的准确信息。

分析缓存攻击在AES攻击上的效果。将3种缓存攻击方法分别用于AES的T-Table攻击,通过观察3种攻击获取真实AES密钥所需要的探测次数来分析这些攻击的性能。实验结果表明,提出的RELOAD+REFRESH攻击在探测次数与传统的FLUSH+RELOAD和PRIME+PROBE攻击所需探测次数相差不多的情况下,会造成更少的LLC未命中,也就是说,该攻击方法不能通过测量L3缓存未命中的数量来与AES加密过程的正常访问区分开来。

分析缓存攻击在RSA攻击上的效果。将3种缓存攻击方法分别用于RSA的平方和乘幂攻击来分析攻击性能,采用libgcrypt 1.5.0库作为目标进行实验。实验结果表明,提出的RELOAD+REFRESH攻击在达到和其他传统攻击所能达到相近的密钥恢复准确度的同时,同样具有低很多的LLC缓存未命中,从而导致了检测的困难。

RELOAD+REFRESH攻击对受害者影响评估,为了量化所提出攻击方法对受害者的影响,利用PAPI定期监控了当执行AES攻击和RSA攻击时不同计数器的分析结果,采样率设置为100µs,进行了多次重复实验。

实验结果表明,对于AES和RSA攻击,不能用一个单独的记录LLC是否命中的计数器来区分攻击和正常操作。即,引用LLC的计数器不足以检测RELOAD+REFRESH攻击。此外,此前提出的依据LLC未命中或访问次数的检测机制无法适用于本发明提出的RELOAD+REFRESH攻击。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号