基于动态资源使用策略的SMT执行端口侧信道安全防护.docxVIP

基于动态资源使用策略的SMT执行端口侧信道安全防护.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于动态资源使用策略的SMT执行端口侧信道安全防护 随着计算机技术的发展和数据处理需求的增大,处理器厂商一直致力于提升处理器的并行处理能力.早期处理器发展重点是提升处理器内部的指令并行度,当处理器指令并行度提升到了一定瓶颈后,处理器厂商开始提升线程并行度来提升处理器的整体性能,这也推动了多核处理器的出现. 同时多线程(simultaneous multi-threading,SMT)技术是实现线程级并行的技术之一,其通过增加少量硬件资源,把1个物理核映射成2个逻辑核,同时运行的线程可共享处理器的资源.因为线程执行总有空闲或者等待的时间,SMT环境下当一个线程进入空闲或等待,另一个线程可以继续执行,从而更加合理的使用处理器资源,进而达到比单线程超标量处理器更好的指令吞吐量和资源利用率.已实现SMT技术的处理器厂商包括Intel,AMD,IBM等,其中以Intel最早于2002年的Pentium4处理器上使用的超线程(hyper-threading, HT)技术 从Intel公司推出的HT技术商用开始,研究人员就开始针对SMT技术进行安全问题的挖掘和研究,因为SMT技术增加了很多处理器微架构安全问题利用的场景和机会,因此有研究人员评价SMT技术是“廉价的硬件并行意味着廉价的安全性” 在SMT设计下,处理器执行资源是完全被2个线程共享的,2个线程间共享一样的执行端口及端口内的执行单元,很容易构造资源的竞争,这种竞争可以被攻击者检测和利用. 2006年,Wangd等人 在针对上述SMT环境下共享执行端口或执行单元的时间侧信道攻击,研究人员也提出了一些防护方法.Percival等人 本文提出了一种针对现代处理器SMT技术执行端口时间侧信道攻击的防护方法.主要贡献有如下2点: 1)首次提出动态调整双线程共享的执行端口资源使用策略,防护SMT环境下执行端口双线程共享产生的时间侧信道攻击的方法,该方法将SMT技术对不同数据结构的处理方式应用到侧信道安全防护中,通过对数据结构共享策略的改变来达到防护效果,可以在SMT技术合理利用共享数据结构的同时达到安全防护的目的; 2)提出并设计了一种基于记录分支预测错误刷新及执行端口冲突历史的防护方法,可以有效防护以SMotherSpectre为代表的组合使用诱导分支预测投机执行的Spectre机制及执行端口冲突时间侧信道攻击. 1 相关工作 在20世纪初期SMT技术问世之后,研究人员就开始在SMT技术上挖掘安全问题和防护方法. Ko?等人 SMT环境下执行端口时间侧信道攻击路径核心环节是冲突的构建和对时间的度量,这也是时间信道利用的2个基本要素(简称为冲突和时间).表1描述了已有针对SMT共享执行端口的时间侧信道防护方法: 1.1 冲突要素防护 从冲突要素的防护策略角度,针对SMT技术下执行端口双线程共享产生的时间侧信道安全问题目前主要有2种防护手段:将SMT技术禁用以及动态关闭SMT(DDM Percival 1.2 时间要素防护 从时间要素的防护策略角度,可以通过修改时间度量指令的方式增加时间噪声来防护针对SMT技术下执行端口共享产生的时间侧信道攻击. 增加时间噪声是指在时间度量方式和手段上进行噪声添加.Hu Vattikonda等人 1.3 小结 当前除了禁用SMT技术 2 背景知识 2.1 SMT微架构特征及安全挑战 处理器在开启SMT技术后,处理器内部微架构会使用相关的SMT功能特性,从而完成微架构功能的转变,进入到同时多线程模式,可以在同一时刻利用不同执行端口发射执行不同线程的指令. 如图1所示,SMT技术区别于其他的多线程技术的核心是可以在同一个流水级执行来自几个不同线程的微操作(或称Uop、微指令).普通的超标量单核处理器同时只能运行1个线程,在局部时间内流水线资源还会处于空闲状态(例如取指令阶段);对于普通的多核处理器,其会使用多个物理核来运行多个线程,是普通单核处理器的简单叠加;粗粒度和细粒度多线程技术使用时间片的方式分配资源使用,资源会在一段时间内分配给独立的1个线程使用,同一时间资源只会分配给1个线程使用;SMT技术区别于粗/细粒度的多线程技术,其可以灵活分配处理器内部资源,大部分数据结构资源被多个线程共享且同一周期可以调度多个线程的操作同时执行,最大化得提高资源利用率. SMT技术原理(以Intel的超线程技术为例)主要包含以下3个部分: 1)制定资源共享策略.SMT技术可以使用资源复制、资源分割和资源共享的方式来实现数据结构资源的分配.以图2 为例,Intel SMT技术中的ITLB和IP结构采用了资源复制的处理策略,微操作队列结构采用了资源分割的处理策略,追踪缓存结构采用了资源共享的处理策略. 2)设置线程选择点.使用

文档评论(0)

lmzwkyc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档