[发明专利]一种一级数据缓存中推测执行侧信道漏洞检测方法在审
申请号: | 202110317827.5 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113127880A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 陈铭松;顾海峰;李一鸣 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 夏思秋 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 一级 数据 缓存 推测 执行 信道 漏洞 检测 方法 | ||
本发明提出了一种一级数据缓存中推测执行侧信道漏洞检测方法,主要包含以下步骤:步骤1:扩展指令集架构模拟器使其能够支持分支预测并针对条件分支指令自动生成不同的分支预测方向;步骤2:在白盒处理器中拦截分支预测的结果并使用步骤一中生成的分支预测方向来引导白盒处理器的执行;步骤3:通过分析白盒处理器的执行log信息来判断白盒处理器中是否存在一级数据缓存中的推测执行侧信道漏洞。本发明能够有效地检测出处理器在早期设计阶段可能存在的一级数据缓存中推测执行侧信道漏洞。
技术领域
本发明属于计算机技术领域,涉及推测执行技术、乱序执行以及分支预测技术,涉及到处理器微体系结构的设计,尤其涉及一种数据缓存中推测执行侧信道漏洞检测方法。
背景技术
推测执行(Speculative Execution)是一种用于提升处理器性能的优化技术。该技术通过处理器设计中的分支预测器来推测应用程序中分支指令的跳转方向,并由处理器在计算出真正的跳转方向之前提前执行推测方向上的指令。结合乱序执行,现代处理器设计大多数都使用了推测执行技术,然而该技术存在着一级数据缓存中推测执行侧信道漏洞。
一级数据缓存中的推测执行侧信道漏洞是由谷歌在2018年由一个名为幽灵的攻击(Spectre Attack)而揭露出来。该漏洞的本质在于基于乱序执行,处理器能够推测执行一个错误的预测将内存数据加载到一级数据缓存中,并且在废弃该错误的预测后没有将加载的数据从一级数据缓存中清除。该漏洞通过推测执行和乱序执行影响了大多数的现代处理器,包括AMD、ARM和Intel的很多CPU。幽灵攻击主要是通过精心设计了一个应用程序来训练处理器中的分支预测器并诱导分支预测器给出一个错误的预测方向,然后通过对一级数据缓存进行访问并利用时间分析方法来判断访问缓存是否命中,从而猜测出一级数据缓存中泄露的重要数据。幽灵攻击严重依赖于应用程序对处理器中分支预测器的训练以及在整个运行系统上对一级数据缓存的命中与否进行时间分析。这需要攻击者掌握处理器设计的关键技术,例如分支预测协议、乱序执行以及推测执行。
针对一级数据缓存中推测执行侧信道漏洞,目前大多数研究主要研究了如何在处理器设计中解决该漏洞,没有对如何检测一个处理器设计中是否存在该漏洞进行研究。
发明内容
本发明的目的是针对白盒处理器提出一种一级数据缓存中推测执行侧信道漏洞的检测方法,该方法通过扩展指令集架构模拟器来生成条件分支指令的分支预测方向,由生成的分支预测方向来引导白盒处理器执行给定分支预测方向上的指令,在白盒处理器执行了错误的分支预测方向上的指令并将内存数据加载到一级数据缓存中后,结合一级数据缓存在推测执行中未命中而在推测执行之外直接命中的模式来匹配分析白盒处理器的执行log信息,从而检测出白盒处理器中一级数据缓存中的推测执行侧信道漏洞。
实现本发明目的的具体技术方案是:
一种一级数据缓存中推测执行侧信道漏洞检测方法,包括以下步骤:
步骤1:扩展指令集架构模拟器使其能够支持分支预测并针对条件分支指令自动生成不同的分支预测方向;
步骤2:在白盒处理器中拦截分支预测的结果并使用步骤1中生成的分支预测方向来引导白盒处理器的执行;
步骤3:通过分析白盒处理器的执行log信息来判断白盒处理器中是否存在一级数据缓存中的推测执行侧信道漏洞。
本发明步骤1中扩展指令集架构模拟器是用于使指令集架构模拟器在执行应用程序时能够支持分支预测并针对执行过程中遇到的条件分支指令自动生成不同的分支预测方向。指令集架构模拟器每次执行到条件分支指令时就分叉出一个进程来预测执行分支的另一方向上的指令,同时当前进程和分叉出来的进程分别保存好当前条件分支指令的预测方向。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110317827.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置