[发明专利]一种目标主机分支预测单元的安全性评估方法有效
申请号: | 201910541462.7 | 申请日: | 2019-06-21 |
公开(公告)号: | CN110336803B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 霍天霖;赵培;岳晓萌;赵姗 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24;G06F21/57 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 目标 主机 分支 预测 单元 安全性 评估 方法 | ||
本发明公开了一种目标主机分支预测单元的安全性评估方法,其步骤包括:1)将目标主机的分支预测单元BPU由一级预测器预测模式转变为二级预测器预测模式;然后将二级方向预测器中目标PHT项中饱和计数器的值设定为强不跳转状态,将目标PHT项中的饱和计数器值设定为弱跳转状态;2)目标主机在已执行过目标分支历史序列的基础上,执行目标程序中的目标分支指令,修改二级方向预测器中指定条目中的信息;3)目标主机执行测试代码中的测试分支指令,用于对目标PHT项的状态进行探测,如果探测时间超过设定阈值,则判定BPU预测错误;否则判断预测的跳转方向与目标分支指令真实执行的跳转方向是否一致,如果一致则判定目标主机不安全。
技术领域
本发明涉及一种针对目标主机分支预测单元的安全性评估和防御方法,属于系统安全技术领域。
背景技术
分支预测单元(Branch Prediction Unit,BPU)是现代处理器中用以提升处理器性能的重要组件之一。它会对程序执行的分支跳转指令的方向和地址进行预测,并允许处理器投机执行预测的结果以充分利用流水线资源。如果由于预测错误而导致投机执行失败,处理器会对错误执行的整个路径进行刷新。
BPU设计如图1所示,主要包括模式历史表(Pattern History Table,简称PHT)、分支目标缓存(Branch Target Buffer,简称BTB)、分支历史缓存(Branch History Buffer,简称BHB)等。模式历史表主要负责分支指令跳转方向的预测(即该分支taken还是不taken),是BPU中方向预测器中的核心器件;分支目标缓存主要负责预测本次分支跳转的目标地址;分支历史缓存主要用于记录之前出现的历史分支跳转。其中,方向预测器一般包括一级预测器(即双峰预测器),二级方向预测器,循环预测器等,这些预测器协同工作保证BPU分支预测的正确率。对于一个新到来的分支指令,BPU会首先选择一级方向预测器来预测该分支指令可能的跳转方向;而当数次预测错误后,BPU会转为使用二级方向预测器进行预测。一级预测器仅会根据当前分支跳转指令的PC(program counter)值来进行PHT索引,而二级预测器在此基础上,同时还会考虑分支历史缓存(BHB)中的历史信息来进行PHT索引。
BPU在为处理器带来巨大性能提升的同时,也为侧信道入侵提供了机会。目前存在大量针对BPU的侧信道安全问题,例如2018年1月暴露的Spectre测试就是一种利用BPU来窃取目标用户私密信息的典型测试实例,该测试可以对现有的绝大部分Intel、AMD以及ARM处理器造成危害。为了更好地防御BPU侧信道测试,针对处理器中BPU的安全性进行评估显得尤为重要。针对BPU安全性评估的通用方法是监测BPU中目标器件的微架构状态变化,进而检测该状态变化是否可以推测出目标程序中的私密数据。本发明重点关注与BPU中的二级方向预测器相关的侧信道安全。对目标主机进行基于侧信道测试的安全性评估是亟待解决的技术问题,从而基于评估可以提出相应的防御措施。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种针对目标主机分支预测单元的安全性评估方法,通过是否能够推测目标主机进程的执行路径对目标主机的分支预测单元安全性进行评估,并根据评估结果给出目标主机进程中私密数据的是否安全。
在安全评估时被测试的程序称为目标程序,而将该程序中与私密信息相关的分支指令称为目标分支指令。在目标分支指令执行前,目标程序中所执行过的分支历史序列称为目标分支历史序列。目标分支指令在二级方向预测器中进行预测时,所使用的PHT项被称为目标PHT项。
与此同时,将对目标程序进行安全测试评估的程序称为测试程序,测试程序中与目标程序中的目标分支指令位于相同程序位置(即具有相同PC值)的分支指令被称为测试分支指令。在测试分支指令执行前,测试程序中所执行过的分支历史序列称为测试分支历史序列。
本发明采用的技术方案如下:
一种针对目标主机分支预测单元的安全性评估方法,其步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910541462.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种服务器的远程操作方法及装置
- 下一篇:多媒体文件的恢复方法、装置及设备