meltdown漏洞解释_“ Meltdown” CPU漏洞的简化解释
meltdown漏洞解释
我刚刚阅读了有关“ Meltdown” CPU安全漏洞的白皮书,因为我很好奇这里到底发生了什么。 白皮书对此进行了详细说明,但由于篇幅较长且学术性强,因此我认为应该有一个更简单的概述。
Meltdown攻击是绕过许多现代CPU的安全检查的一种巧妙方法,它允许从未修补操作系统上的任何进程读取内核模式内存。
本文介绍了其实际工作原理-您可以在Meltdown网站和其他地方有关这些漏洞的影响的信息。
首先,将其称为“ bug”(尽管有很多)可能有点夸大其词-CPU的功能与广告宣传的一样。 问题是有人想出了如何读取由操作避免的副作用的方法。
接下来是一些技术性知识,但我将尝试尽可能简单地进行解释。 当然,我已经掩盖了细节-这里的目的只是从概念上传达其工作原理。
在找到问题的实际原因之前,您需要了解一些先决条件。
先决条件#1-CPU内存缓存
CPU高速缓存是CPU上的一块内存,用于存储最近访问的数据页。 因为这些页面直接缓存在CPU上,所以访问它们的速度比必须一直回到主内存的速度要快。
当CPU从主内存中读取数据时,它将在CPU缓存中缓存该页面的副本。 下次如果需要缓存页面时,它需要从主内存中读取数据,它可以从速度更快的CPU缓存中加载该值。
高速缓存中的每个页面为4096字节,并且高速缓存足以存储其中的许多页面(取决于CPU)
前提条件2-乱序执行
每个CPU内核都有多个执行单元,每个执行单元都可以执行不同类型的操作。
例如:一个Intel i7具有17至20个执行单元— 2x整数伪指令,1x除法,1x装载存储器,1x存储存储器单元等…
为了使这些单元尽可能繁忙,CPU将等待即将到来的指令,并在等待时在不同的执行单元上开始执行它们 当前指令完成。
(这是一个过于简化的视图,但足以用于本次讨论。实际上,指令被分解为微操作,并分发给执行单元)。
先决条件#3-特权模式
在任何时间点,CPU均以特权模式或非特权模式运行。
- 内核代码以特权模式运行,并允许访问所有映射的内存。
- 用户代码以非特权模式运行,如果尝试读取或写入标记为特权的内存,则用户代码将失败,并发生异常。
基本上,操作系统以特权模式运行,而已安装的程序则以非特权模式运行。
问题
如果您考虑以上情况,则似乎用户模式(非特权)代码不应读取内核模式内存,因为CPU会引发异常。
问题是:
- 指令完成之前,不会执行特权模式检查。 (即:不在乱序执行期间)。
- 即将执行的指令的乱序执行会产生副作用。
运作方式如下
首先,攻击者分配一个内存块,该内存块由256页内存(即256 * 4096字节)组成。 此刻该内存块中的每个页面都不会被缓存,因为它从未被访问过。
接下来,执行类似于以下代码的序列。 这称为“发送者”:
- 执行一些会引发异常的指令(什么都没关系)
- 从特权内存中读取一个字节。 我们称之为“秘密”
- 将机密乘以4096(高速缓存页面大小)
- 使用该乘积值作为分配的内存块的索引并读取一个字节(即:从第N页读取一个字节,其中N是秘密)
假设CPU在指令1完成之前开始乱序执行指令2-4,则指令4将导致分配的内存块的一页被缓存在CPU上。 缓存的页面将与从内核模式内存读取的字节直接相关。 例如:如果密码为21,则分配的存储块的第21页现在将被缓存在CPU上。
最后,“接收者”观察到这种无序执行的副作用,以确定读取的机密字节。
- 捕获上述指令1引发的异常。
- 遍历分配的内存块中的每个页面,然后…
- 从每一页读取一个字节花费的时间。
- 如果字节快速加载,则该页面必须已被缓存并泄露了机密。
从上面的示例继续,分配的内存块的页面0到20读起来很慢,而页面21则要快得多-因此秘密值必须为21。
现在,只需重复以上所有内容,即可读取您想要的秘密字节数。 白皮书说,他们能够读取高达500Kb /秒的速度。
翻译自: https://hackernoon.com/a-simplified-explanation-of-the-meltdown-cpu-vulnerability-ad316cd0f0de
meltdown漏洞解释
meltdown漏洞解释_“ Meltdown” CPU漏洞的简化解释相关推荐
- 预防xml注入漏洞攻击_预防性编程-漏洞发生前如何修复
预防xml注入漏洞攻击 by Kurt 由库尔特 福尔摩斯(Sherlock Holmes)本来是个出色的程序员 (Sherlock Holmes would have been a brillian ...
- 绿盟漏洞扫描_主机安全漏洞解决方案
前几天发了一篇等保2.0的文章(等保2.0简单介绍 ),文章里面提到,相比于等保1.0标准,等保2.0很大幅度上对安全通用要求的一些控制项做了大幅精简,但是等保二级的要求仍多达135项.等保三级多达2 ...
- rc4加密问题漏洞修复_「ssl漏洞」网站SSL安全漏洞修复指南
前段时间对公司的网站进行了一下扫描,使用的是awvs扫描器,发现了几处SSL方面的安全漏洞,网上找了一些修复的建议,分享给大家,如果你也遇到和我一样的问题,可以用此修复. Web网站的SSL漏洞主要包 ...
- xxs漏洞危害_反射型XSS漏洞详解
反射型XSS漏洞 如果一个应用程序使用动态页面向用户显示错误消息,就会造成一种常见的XSS漏洞.通常,该页面会使用一个包含消息文本的参数,并在响应中将这个文 本返回给用户.对于开发者而言,使用这种机制 ...
- 多项logistic回归系数解释_多元回归系数:我们都解释错了?
作者:金钊 (中山大学) E-Mail: Note: 助教招聘信息请进入「课程主页」查看.因果推断-内生性 专题 ⌚ 2020.11.12-15 主讲:王存同 (中央财经大学):司继春(上海对外经贸大 ...
- 古人对梦的解释_中国古代对梦的解释-精选文档
中国古代对梦的解释 一.中国古代对梦的观念 依据人类可查的历史文献来看, 早在远古时代的人们就已经 意识到"梦"这一现象的存在, 并已经开始试图对这种现象进行 解释. 中国人早在夏 ...
- 占优策略名词解释_《曼昆经济学》名词解释——第17章 寡头
囚徒困境(prisoners' dilemma) 两个被捕的囚徒之间的一种特殊"博弈",说明为什么甚至在合作对双方都有利时,保持合作也是困难的 这个就联系到我们接下来的一个概念 博 ...
- CPU 漏洞是“Spectre”和“Meltdown”漏洞简介
CPU 漏洞是"Spectre"和"Meltdown"漏洞.这些漏洞于2018年1月首次被公开披露.这些漏洞可以允许攻击者利用处理器的一些设计缺陷,从而窃取计算 ...
- CPU漏洞修复工具下载,专门针对“Meltdown”(融化)和“Spectre”(幽灵)两组CPU漏洞,360安全卫士国内首发免疫工具
CPU漏洞免疫工具下载地址:http://down.360safe.com/cpuleak_scan.exe 这两组漏洞可能造成的危害: 这两组漏洞的利用依靠现代CPU普遍使用的推测执行特性(spec ...
- php速度慢不怕cpu漏洞,PHP曝远程DOS漏洞可致CPU持续占满,请注意升级_护卫神
PHP是一个开放的平台,集成了广大PHP爱好者的智慧精华,为社会产生了极大的效益,使用十分广泛. 但是PHP曝出的漏洞也不小,前不久一次hash漏洞导致PHP服务器CPU占满,最近一次的远程DOS漏洞 ...
最新文章
- linux c ping实现
- android 入门-引用库项目
- 单片机入门学习笔记7:人机交互界面
- 了解动态链接(六)—— 重定位表
- 析构函数和动态内存管理
- 到底应不应该表达自己对工作安排的不满?
- Eclipse编辑HTML,JSP,JS等时的卡顿问题,非常有效!!!
- System.IO命名空间
- linux查看文件第三行,学习linux第三课!新手必须掌握的linux命令
- No bean named 'xxxxxxx' available--springboot 上线打war包
- Android 5.1 Gallery2 模块编译不过解决办法
- 汇编语言典型例子详解_汇编语言常见例子
- VMware 8.0下载地址
- 北京市关于印发建筑工人实名制管理办法(试行)的通知
- 研究生阶段如何学习、做研究(超棒)
- QQ自由幻想刺客的属性点
- 黎活明8天快速掌握android视频教程--21_监听ContentProvider中数据的变化
- 【JS】网页悬浮广告及联系QQ客服侧边栏
- Java中“||”与“|”的区别【JAVA基础】
- 基于SSM的酒吧管理系统