发明名称 一种面向分支预测攻击的微体系结构级安全防护方法
摘要 本发明公开了一种面向分支预测攻击的微体系结构级安全防护方法,该方法流程包括:首先进行间谍进程识别;然后对识别的间谍进程实现基于加锁的防护。首次提出微体系结构的硬件防护方法来有效抵御此种攻击。在防护过程中,将使用记录表动态识别系统运行中的间谍进程,并立即激活对应的防护策略;在BTB中,最近访问的关键分支语句将被强行加锁,阻止间谍进行对其进行替换,破坏攻击条件,达到有效防护的目的。本发明能够确保面向分支预测分析攻击的微体系结构级防护方法的安全性;对通用处理器性能(例如CPI)的影响非常小,甚至对于整体的CPI具有平均0.12%的提升。
申请公布号 CN105005737A 申请公布日期 2015.10.28
申请号 CN201510468229.2 申请日期 2015.07.31
申请人 天津大学 发明人 魏继增;谭雅;郭炜
分类号 G06F21/55(2013.01)I;G06F21/57(2013.01)I 主分类号 G06F21/55(2013.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 李素兰
主权项 一种面向分支预测攻击的微体系结构级安全防护方法,其特征在于,该方法包括以下步骤:首先进行间谍进程识别;然后对识别的间谍进程实现基于加锁的防护,其中:所述间谍进程识别的流程包括:对某一分支进行BTB搜寻,获得所有命中分支且合法的对应进程;触发计算所有进程对BTB的占有率;分析该BTB占有率是否超过了阈值;如果计算出的BTB占有率没有超过阈值,那么说明该进程不是间谍进程;如果超过阈值,那么说明此进程非常有可能是间谍进程,标志着此进程对于BTB的访问将会受到限制;当进程退出或者挂起时,不再记录进程对于BTB的占用情况;所述对识别的间谍进程实现基于加锁的防护的流程包括:在更新BTB之前,首先检查间谍进程记录表;准备更新的分支的进程是否属于间谍进程;如果进程不是间谍进程,那么判断将要替换的BTB行是否被加锁,;如果将要替换的BTB行没有被加锁,那么将采取正常的替换策略,即普通更新BTB,;如果该BTB行被加锁了,那么就需要比较准备更新BTB的分支所属的进程是否与将要被替换的BTB行中的进程相同;如果相同,说明是同一个进程对BTB行进行更新,那么允许更新BTB;如果不相等,即另一个进程的分支,判断该进程的进程号是否与BTB中所存储的某个进程号相同?如果是,则允许更新BTB,准备更新BTB表;否则,将被禁止更新BTB表,并跳过BTB的更新。
地址 300072 天津市南开区卫津路92号