[发明专利]一种轻量级的处理器芯片分支预测器内容隔离方法及电子装置有效
申请号: | 202010321896.9 | 申请日: | 2020-04-22 |
公开(公告)号: | CN111638912B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 侯锐;孟丹;赵路坦;李沛南 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 处理器 芯片 分支 预测 内容 隔离 方法 电子 装置 | ||
本发明提供一种轻量级的处理器芯片分支预测器内容隔离方法及电子装置,其方法包括:将不同的程序划分成不同的安全域,并获取所述安全域的分支预测器读出的内容以及待更新的内容;分配一个随机数给每个所述安全域,并使所述随机数作用于所述分支预测器读出的内容以及待更新的内容,得到内容隔离的分支预测器;使用所述索引数索引内容隔离的分支预测器。本发明只需要对现有的分支预测器做较小的改动,不改变原分预测器的预测机制即可实现类似于刷新分支预测器进行隔离的效果,可以大大增加攻击者跨线程或者跨特权级恶意训练和恶意感知分支预测器的难度。
技术领域
本发明属于处理器体系结构领域,涉及一种轻量级的处理器芯片分支预测器内容隔离方法及电子装置。
背景技术
当前分支预测技术是处理器提高程序执行并行性的关键技术。但是随着诸如“幽灵”漏洞和分支预测器侧信道等安全问题的曝光,显示出当前处理器体系结构的涉及的存在着严重的安全问题。问题的根本原因在于处理器设计中普遍采用资源共享原则,而分支预测器就是其中的典型代表。从安全的角度考虑,资源共享即意味着存在可能的攻击面。当前分支预测器中记录着不同程序的执行历史信息,这些历史信息虽然来自不同的程序但是却存在相同的存储单元中且允许不同程序间相互访问,这就给了攻击者恶意训练和恶意感知的机会。
提高分支预测器安全性的根本方法是对分支预测器进行隔离,例如当上下文切换或者特权级转换的时候,将分支预测器刷新,刷新的方法可以是软件也可以是硬件,或者在分支预测器历史信息中增加程序的标识号。但是这些安全增强方法有两个缺点:一是,缺乏通用性,无法同时满足单线程和同时多线程架构的需求;二是,硬件实现代价高,大大增加了分支预测器的实现成本。
发明内容
鉴于现有技术中存在的技术问题,本发明提供一种轻量级的处理器芯片分支预测器内容隔离方法及电子装置。该方法使用每个安全域动态分配的私有随机数对保存在分支预测器中的原始分支历史信息内容进行变换操作(如哈希和加密等运算操作)。经过变换之后,虽然不同安全域共享相同的分支预测器资源,但无法使用自己的私有随机数正确地还原出原始分支历史信息。该方法不针对某一种具体的分支预测器实现,而是面向分支预测器中基本的历史预测信息存储单元中的内容(如分支跳转目标地址、分支跳转方向等)。因此,该方法适用于任何通过记录分支历史执行进行预测的分支预测器,应用范围包括但不限于典型的分支预测器(如Gshare、TAGE等)。同时该方法对现有的分支预测器做较小的改动,不改变原分预测器的预测机制即可实现类似于刷新分支预测器进行隔离的效果,是一种轻量级的安全增强机制。
一种轻量级的处理器芯片分支预测器内容隔离方法,包括以下步骤:
1)将不同的程序划分成不同的安全域,并获取所述安全域的分支预测器读出的内容以及待更新的内容;
2)分配一个随机数给每个所述安全域,并使所述随机数作用于所述分支预测器读出的内容以及待更新内容,得到内容隔离的分支预测器;
3)使用所述索引数索引内容隔离的分支预测器。
进一步地,所述分支预测器包括Gshare分支预测器或TAGE分支预测器。
进一步地,所述安全域根据保护场景而划分。
进一步地,所述保护场景为线程粒度、进程粒度或不同安全级。
进一步地,所述分支预测器读出的内容以及待更新的内容为分支指令地址或饱和计数器值。
进一步地,当所述安全域发生切换时所述随机数相应的更换。
进一步地,所述随机数的产生方法为随机数发生器或物理不可克隆函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010321896.9/2.html,转载请声明来源钻瓜专利网。