欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    处理器级别漏洞会引起哪些安全隐患.doc

    • 资源ID:3418605       资源大小:16.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    处理器级别漏洞会引起哪些安全隐患.doc

    处理器级别漏洞会引起哪些安全隐患0x01 背景meltdown(熔断)以及spectre(幽灵)从爆出到现在大概一个多星期时间了,spectre对应的CVE编号为 CVE-2017-5715 、 CVE-2017-5753 ,meltdown对应的CVE编号为 CVE-2017-5754关于meltdown和spectre相关研究最早是在2016年 Blackhat USA大会上有过相关的描述和猜想,研究人员发现,在现代的处理器架构的用户模式下,存在泄露内存区不可访问区域的敏感信息可能性,但是当时还没有具体的实现方法,之后才被格拉茨技术大学和其他实验室研究人员共同研究出该漏洞猜想的利用方法。处理器级别漏洞一般可以影响整个云计算基础设施的发展历史,cpu本身的架构同时也面临着严峻的考验。在看了遍大致原理之后,结合之前在公司上cissp课的时候老师讲过的side channel attack侧信道攻击的相关知识,算是把漏洞基本上弄懂了。首先我们先来看下几个需要掌握的概念。乱序执行在cpu的流水线工作中,cpu处理执行指令如果采用顺序的方式,在处理性能上会产生比较大的开销。现代处理器优化了cpu处理指令的方式,程序指令在同样的单位时钟周期内通过乱序执行。所以,可能造成一种提前将需要执行的指令进行预执行的可能。这种方式虽然提高了cpu的指令处理效率,但是可能会成为内核漏洞利用的一种手段。用wiki上的例子解释1. b = a * 52. v = * b3. c = a + 3这里由于1与3可并发运行,而2之b无法随即获得,因此可以先计算乘法1与加法3,再运行2地址空间每个进程在内存地址中都有自己的独立的内存空间,内存空间以PLT页表映射的方式将内存实际地址映射成虚拟地址,同时定义了内核地址特权保护相关手段。这样的内存空间主要分为用户可访问内存地址和不可访问的内核地址空间,分支预测CPU执行一条指令,一般来说,最少也要经过从内存中取指令,将指令译码解析成微操作(OP),微操作最终驱动硬件电路部件三个步骤(简称取指令、译码和执行),如果执行一条指令,要等到这三个步骤都完成后,才能执行下一条指令,则一条指令执行时间过长(用CPU硬件术语说就是消耗多个时钟周期),CPU运行速度就无法得到有效提高,循序执行就是必须执行完当前指令才能执行下一条指令的执行方式。 为了解决这种问题,现代cpu使用分支预测的方式提前预测cpu将要执行的指令。我们用通俗点的一句话概括这种机制: 如果某一段时间内某一条件跳转都走向某一固定分支,则可以预测这条条件跳转指令下一次很大可能也走向这一分支 。隐藏信道攻击(side channel attack)为了提高内存IO效率,通常将经常使用的数据存放在cache中,cpu缓存通过在较小和较快的内存中缓存常用的数据来减少慢速内存访问延时带来的成本。现代cpu具有多级缓存机制,这些缓存通常可以提供给cpu内存使用,也可以提供给其他缓存共享使用,PLT表也可能存放在缓存中。我们用个通俗的例子来解释隐藏信道攻击的原理:假设现在有一个安全等级非常高的私密空间机构(类似于美国中央情报局),这个机构只能接受外部特定的情报消息(写),但不能将自己内部的一切信息泄漏给外部,(读),A是这个中央情报局的工作人员,B想拿到中央情报局的一些敏感资料供自己使用。B通过多种渠道认识了A,拿到了A的一些把柄,A的工作中也有B需要的敏感文件,A为了自己的名誉答应B的泄漏敏感文件要求。商量之后,B为了不让A暴露自己与A达成了一个协议;经过B的发现,A的办公室每天晚上12点左右关灯并且关灯的时间有偏差,B要求A通过一定的手段控制办公室的关灯时间以12点为分界点,十二点之前关灯信号计为1,十二点之后关灯信号记为0。这样B和A就源源不断的通过隐蔽的方式讲中央情报局的秘密泄露出来了。隐藏信道攻击也称为旁路攻击,这种攻击攻击是利用缓存引入的时序的差异方式对cpu内存进行攻击的一种方式。漏洞poc使用的是基于Flush+Reload的方式对缓存进行泄漏,这种攻击利用最后一级缓存,利用clflush刷新目标内存位置。通过测量重新加载数据所需的时间,攻击者可以确定数据是否由另一个进程同时加载到缓存中。0x02 Spectre攻击在理解完上述的几个关键点之后,我们再来看看spectre这种攻击的真实利用过程。参考spectre attack上的代码片段if(x array1_size)y = array2array1x * 256代码片段中首先判断了用户进程是否越界访问数组的非法访问区域。在某种程度上,这种方式防止了处理器越界访问非法访问的敏感数据区域。然而,在乱序执行的条件下,假设攻击者可以操纵x的值(对应arrayx = k)泄露单个byte的内存值,此时array1_size和array2没有cache到缓存中,但是k已经存入cache缓存了。攻击者此时可以让cpu多次执行判断为真的指令,执行多次后cpu会将下一条指令预见性的读取,这时候只要攻击者突然改变x为非法访问内存值,则可以让cpu误读取非法区域中的值,达到泄露非法地址内存信息的目的。

    注意事项

    本文(处理器级别漏洞会引起哪些安全隐患.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开