熔断 (安全漏洞)
目录
熔断 (安全漏洞)
Meltdown 是两个原始瞬态执行 CPU 漏洞之一(另一个是 Spectre)。 Meltdown 影响 Intel x86 微处理器、IBM POWER 处理器和一些基于 ARM 的微处理器。 它允许流氓进程读取所有内存,即使它没有被授权这样做。
崩溃影响范围广泛的系统。 在披露时,这包括所有运行 iOS、Linux、macOS 或 Windows 最新版本和补丁版本的设备。 因此,许多服务器和云服务以及使用基于 ARM 处理器的大多数智能设备和嵌入式设备(移动设备、智能电视、打印机等)受到影响,包括范围广泛的网络设备。纯软件 Meltdown 的变通方法被评估为在某些专门的工作负载中将计算机速度降低 5% 到 30%,尽管负责漏洞利用软件修正的公司报告说一般基准测试的影响很小。
概览
Meltdown 利用竞争条件,这是许多现代 CPU 设计中固有的。 这发生在指令处理期间的内存访问和特权检查之间。 此外,结合缓存侧通道攻击,此漏洞允许进程绕过正常的特权检查,这些检查将漏洞利用进程与访问属于操作系统和其他正在运行的进程的数据隔离开来。 该漏洞允许未经授权的进程从映射到当前进程内存空间的任何地址读取数据。 由于指令流水线是在受影响的处理器中进行的,因此在乱序执行期间,来自未经授权地址的数据几乎总是会临时加载到 CPU 的缓存中——从中可以恢复数据。 即使原始读取指令由于权限检查而失败,或者如果它从未产生可读结果,也会发生这种情况。

由于许多操作系统将物理内存、内核进程和其他正在运行的用户空间进程映射到每个进程的地址空间,Meltdown 有效地使流氓进程有可能读取任何物理、内核或其他进程的映射内存——无论 它是否应该能够这样做。 防御 Meltdown 需要避免以易受此类攻击的方式使用内存映射(即基于软件的解决方案)或避免潜在的竞争条件(即修改 CPU 的微代码或执行路径)。
该漏洞在任何将特权数据映射到非特权进程的虚拟内存的操作系统上都存在,包括许多当今的操作系统。 崩溃可能会影响比目前确定的更广泛的计算机,因为这些计算机使用的微处理器系列几乎没有变化。
如果执行熔断攻击,则无法检测到。