[发明专利]一种可抵抗基于flush操作的Spectre攻击的方法及系统在审
申请号: | 202010633770.5 | 申请日: | 2020-07-02 |
公开(公告)号: | CN111898127A | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 屠晨阳;何敏;单亦伟;李敏 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F11/30 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 李文涛 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 抵抗 基于 flush 操作 spectre 攻击 方法 系统 | ||
本发明提出一种可抵抗基于flush操作的Spectre攻击的方法及系统,属于信息安全软硬件协同设计技术领域,可以实时监测和记录进程的flush操作,监测该进程是否进行恶意的flush行为,若是监测为恶意进程,便暂时禁用分支预测,阻止CPU进行推测执行,不仅可以抵制攻击者发起的基于flush操作的Spectre攻击,而且保证了系统的flush功能的正常使用。
技术领域
本发明属于信息安全软硬件协同设计技术领域,具体为基于ARM-FPGA嵌入式SoC设计flush API,提出一种可抵抗基于flush操作的Spectre攻击的方法及系统,在保证了高安全性和低性能损失的情况下,可抵御基于flush操作的Spectre攻击。
背景技术
近年来,随着市场对高性能小型电子设备的需求越来越大,SoC(System on Chip,片上系统)商品的功能也变得越来越强大、复杂并且个性化。其中,把ARM和FPGA(Field-Programmable Gate Array,现场可编程门阵列)结合到一起的ARM-FPGA嵌入式SoC,为系统架构师和ARM开发工程师提供了一个弹性的平台以满足消费者的个性化需求。该类型SoC以Xilinx公司的Zynq系列为代表,已经被广泛应用到无人机以及高性能嵌入式和物联网设备中。但是,与Intel和AMD的芯片产品一样,ARM-FPGA嵌入式SoC同样面临着多种多样的安全威胁,以cache攻击为代表的微体系架构攻击就是其中不可忽略的一种类型。
自从Kocher和Kelsey等人提出cache行为可能构成安全威胁以来,研究人员提出了各种cache攻击方法,例如著名的Flush+Reload和Flush+Flush。在提出“Flush+Reload”攻击之后,flush操作已广泛用于cache攻击中,以降低噪声并提高分辨率。近年来,诸如Flush+Reload,Flush+Flush和基于flush的Spectre(使用Flush+Reload进行Spectre攻击)之类的缓存攻击都使用flush操作,这种类型的cache攻击可被称为“基于flush的缓存攻击”。特别是于2018年提出的Spectre攻击(见P.Kocher,J.Horn,A.Fogh,D.Genkin,D.Gruss,W.Haas,M.Hamburg,M.Lipp,S.Mangard,T.Prescher,M.Schwarz,Y.Yarom.Spectre Attacks:Exploiting Speculative Execution.In 40th IEEESymposium on Security and Privacy,2019),它把cache攻击技术和分支预测技术结合在一起,大大扩展了cache攻击的数据窃取能力。包括ARM平台在内的大多数现代微处理器中都存在推测执行功能,因此Spectre攻击已经成为了现代处理器和操作系统的重要安全威胁。大多数现代处理器都具有可以清除缓存层次结构的指令或寄存器,这是清除缓存行的最快,最有效的方法。例如,在x86和ARM v8-A架构处理器上,用户空间中有直接的指令直接清除所有缓存层次结构中的缓存行。在ARM v7-A处理器上,CP15协处理器和PL310缓存控制器用于清除缓存。为了确保高速缓存一致性,在运行的系统中快速flush操作至关重要。例如,DMA数据传输需要快速flush操作以保持高速缓存的一致性。因此,如何确保快速flush操作可用的同时避免其引起的安全漏洞,已经成为一个工业界和学术界亟待解决的问题。
当前学术界和工业界已经提出了许多检测和防御基于flush操作的Spectre攻击的方法。这些方法主要分为三个大类,静态代码检测/分析,限制推测执行和创新微体系结构设计。静态代码检测/修复是一种有效的方法,但通过混淆和打包技术可以使恶意代码有效躲避静态代码分析技术的探测。限制推测执行可以避免不安全的推测执行,但会导致严重的性能损失。第三类方法基于硬件的解决方案来创新微体系结构设计,以保护推测性执行。但这要求主要的处理器供应商将它们整合到商业硬件中,这得花费大量时间。考虑到这点,这类解决方案并不能得到有效推广。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010633770.5/2.html,转载请声明来源钻瓜专利网。