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

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

【技术实现步骤摘要】
一种利用缓存替换策略的隐蔽缓存攻击方法
本专利技术涉及信息安全
,具体涉及一种利用缓存替换策略的隐蔽缓存攻击方法。
技术介绍
现代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的平方和乘幂攻击来分析攻击性能,采用libgcrypt1.5.0库作为目标进行实验。实验结果表明,提出的RELOAD+REFRESH攻击在达到和其他传统攻击所能达到相近的密钥恢复准确度的同时,同样具有低很多的LLC缓存未命中,从而导致了检测的困难。RELOAD+REFRESH攻击对受害者影响评估,为了量化所提出攻击方法对受害者的影响,利用PAPI定期监控了当执行AES攻击和RSA攻击时不同计数器的分析结果,采样率设置为100µs,进行了多次重复实验。实验结果表明,对于AES和RSA攻击,不能用一个单独的记录LLC是否命中的计数器来区分攻击和正常操作。即,引用LLC的计数器不足以检测RELOAD+REFRESH攻击。此外,此前提出的依据LLC未命中或访问次数的检测机制无法适用于本专利技术提出的RELOAD+REFRESH攻击。以上公开的本专利技术优选实施例只是用于帮助阐述本专利技术。优选实施例并没有详尽叙述所有的细节,也不限制该专利技术仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本专利技术的原理和实际应用,从而使所属
技术人员能很好地理解和利用本专利技术。本专利技术仅受权利要求书及其全部范围和等效物的限制。本文档来自技高网
...

【技术保护点】
1.一种利用缓存替换策略的隐蔽缓存攻击方法,其特征在于:所述隐蔽缓存攻击方法包括如下步骤:/n初始化,当缓存集为W路时,在初始化阶段将目标数据以及构造的驱逐集W-1个数据对缓存集进行填充,之后等待受害者访问内存的操作;/nRELOAD,首先访问缓存集的第一个驱逐集元素造成强制未命中,之后重新访问目标数据,并目标数据重新加载入缓存集内,记录访问时间,以及根据访问时间判断受害者是否访问了目标数据;/nREFRESH,访问剩余的W-2个驱逐集元素以完成缓存集的刷新并记录访问时间,根据访问时间判断是否有其他进程同时在访问缓存。/n

【技术特征摘要】
1.一种利用缓存替换策略的隐蔽缓存攻击方法,其特征在于:所述隐蔽缓存攻击方法包括如下步骤:
初始化,当缓存集为W路时,在初始化阶段将目标数据以及构造的驱逐集W-1个数据对缓存集进行填充,之后等待受害者访问内存的操作;
RELOAD,首先访问缓存集的第一个驱逐集元素造成强制未命中,之后重新访问目标数据,并目标数据重新加载入缓存集内,记录访问时间,...

【专利技术属性】
技术研发人员:肖树根胡建勋
申请(专利权)人:中科信息安全共性技术国家工程研究中心有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1