工程实践-MeltDown分析

CPU硬件漏洞 - 熔断攻击 meltdown:基于timing原理的旁路攻击,突破了硬件限制,在用户态读到了内核态内存。
> 三个关键点:
> 【1】 MMU触发缺页异常到CPU处理完该异常需要一定时间(a=*kernel_addr);
> 【2】 CPU乱序执行此时还在不停的执行后续的攻击代码,导致内核地址kernel_addr上内存数据已经被读入cache(b=probe_array[a]);
> 【3】 cache硬件特性又决定该cache单元的内容不会随指令被抛弃,可以利用cache命中速度去探测(for循环探测数组probe_array[]);
> 这样的条件叠加在一起,才造成了可以通过对比probe_array[]各个元素的访问时间来找到数据下标a,这个a正是内核地址kernel_addr上的内存数据。

@2018-06-22 14:32
Comments
Write a Comment