当前位置: 首页 > 工具软件 > Meltdown > 使用案例 >

Meltdown & Spectre原理简要梳理

屠和洽
2023-12-01

        Spectre以及meltdown漏洞是前段时间,十分热门的两个漏洞,它们之所以广受重视,是因为它们根据的是体系结构的设计漏洞,而非针对某个系统或者某个软件,因此它几乎可以遍及大多数近代的CPU。

这里主要有三个漏洞:

  • Variant 1: bounds check bypass (CVE-2017-5753)【绕过边界检查】
  • Variant 2: branch target injection (CVE-2017-5715)【分支目标注入】
  • Variant 3: rogue data cache load (CVE-2017-5754)【恶意数据缓存载入】
    Spectre 主要利用前两个漏洞进行攻击,而meltdown则主要利用第三个漏洞进行攻击。

一、内存映射

        Linux和Windows的内存映射方法是不同的,在linux中,虚拟空间地址有4G,03G为用户空间,34G为内核空间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lwei6HgM-1681701807065)(null)]

其中内核空间都相同,准确的讲是每个进程共享同一个内核空间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6IOvRqmo-1681701807017)(null)]

        Linux在启动时会初始化一个进程,然后通过fork()生成子进程,Linux的fork机制会把父进程的页表和堆栈等一模一样地复制一份,然后在运行时,子进程通过缺页异常等操作来改变用户空间,如果内核空间部分也改变了,则只修改初始化进程的内核空间,其它子进程访问该页时,再通过缺页中断将这部分内容从父进程更

 类似资料: