ARM处理器分支预测漏洞分析测评及新漏洞发现
2021-07-13王春露田瑞冬赵旭吕勇强汪东升
西安交通大学学报 2021年7期
关键词:指令
王春露,田瑞冬,赵旭,吕勇强,汪东升
(1.北京邮电大学可信分布式计算与服务教育部重点实验室,100876,北京;2.北京信息科技大学计算机学院,100192,北京;3.清华大学北京信息科学与技术国家研究中心,100084,北京;4.清华大学计算机科学与技术系,100084,北京)
传统高性能处理器通过指令流水线技术来提高指令执行并行度,从而提高处理器性能。但是,程序指令之间会存在数据、控制和资源相关性,这些相关性会造成流水线阻塞[1]。为此,现代高性能处理器采用了多种微架构优化技术来降低相关性对指令流水线的影响。然而,最新的研究表明,由于当前的处理器架构始终以性能优先作为导向,未对性能优化机制进行周密的安全性分析,导致当前处理器系统存在严重的安全漏洞,可能造成计算机机密信息的泄露,危害性极大[2-4]。
分支预测技术作为最基本的优化技术,广泛应用于Intel、AMD和ARM等主流的商业处理器中。在分支预测机制中,存在一些指令被提前执行,但最终被废弃,无法提交。虽然这些指令的执行不会改变体系结构的状态,不影响程序的正确执行,但这些被废弃的指令可能会在微体系结构中留下痕迹,从而产生被攻击的风险,此类漏洞被称为分支预测漏洞[5]。Kocher等在2018年发表的Spectre是利用分支预测漏洞攻击的典型代表[2]。自从此后,学术界对Spectre及其变种进行了大量研究,先后提出了SpectreRSB[3-4]、BranchScope[6]、NetSpectre[7]和SGXpectre[8-9]等攻击变种,对其威胁程度和相关防御手段也进行了充分讨论,但目前的研究主要集中在x86架构上。……
登录APP查看全文
