
概念验证 /
漏洞利用 /
检查系统是否受到变种3的影响:恶意数据缓存加载 (CVE-2017-5754),又称MELTDOWN。
基本思想是用户将知道正在运行的系统是否已正确修补了类似KAISER补丁集(https://lkml.org/lkml/2017/10/31/884)的东西。
查看我的博客文章,它指导读者了解Meltdown概念验证:http://funwithbits.net/blog/programmers-guide-to-meltdown/
*** 目前仅适用于Linux ***
它通过使用 /proc/kallsyms 查找系统调用表,并检查通过利用MELTDOWN找到的系统调用地址是否与 /proc/kallsyms 中相应的地址匹配。
克隆,然后运行 make 编译项目,再运行 meltdown-checker:
git clone https://github.com/raphaelsc/Am-I-affected-by-Meltdown.git
cd ./Am-I-affected-by-Meltdown
make
taskset 0x1 ./meltdown-checker
Unable to read /proc/kallsyms...
那是因为您的系统可能由于 /proc/sys/kernel/kptr_restrict 设置为 1 而阻止程序读取 /proc/kallsyms 中的内核符号。
以下命令可以解决问题:
sudo sh -c "echo 0 > /proc/sys/kernel/kptr_restrict"
Unable to read /boot/System.map-.
这很可能是因为您的系统没有挂载 /boot。该程序依赖该分区,因此您需要先挂载 /boot 分区。
如果您有关于如何在这种场景下回退到其他方法的想法,请提出一个issue。

Checking whether system is affected by Variant 3: rogue data cache load (CVE-2017-5754), a.k.a MELTDOWN ...
Checking syscall table (sys_call_table) found at address 0xffffffffaea001c0 ...
0xc4c4c4c4c4c4c4c4 -> That's unknown
0xffffffffae251e10 -> That's SyS_write
System affected! Please consider upgrading your kernel to one that is patched with KAISER
Check https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html for more details