不要在 Xenial 上安装 4.4.0-108-generic!它破坏启动/重启/关机/挂起功能!

不要在 Xenial 上安装 4.4.0-108-generic!它破坏启动/重启/关机/挂起功能!

目前,英特尔处理器 Meltdown 漏洞已通过启用页表隔离功能进行补救。但如何关闭此功能仍是一个问题:如何禁用页表隔离以恢复因英特尔 CPU 安全漏洞补丁而损失的性能?

我的问题正好相反:有没有办法在正在运行的系统上检查 PTI 机制是否对系统有效,从而保护系统?我专门寻找cat /proc/somethingcat /sys/something,而不是检查内核版本或配置参数等。

答案1

  • 在内核配置中 grepping CONFIG_PAGE_TABLE_ISOLATION 为Raniz 的建议对桌面版 Ubuntu 没有帮助,但可能对云实例有帮助:

    grep CONFIG_PAGE_TABLE_ISOLATION=y /boot/config-`uname -r` && \
    echo "patched :)" || echo "unpatched :("
    

  • 您可以使用/proc/cpuinfo以下方式检查JonasCz 建议

    grep -q "cpu_insecure\|cpu_meltdown\|kaiser" /proc/cpuinfo && echo "patched :)" \
    || echo "unpatched :("
    

  • 或者来自dmesg(感谢杰森·克莱顿):

    dmesg | grep -q "Kernel/User page tables isolation: enabled" \
    && echo "patched :)" || echo "unpatched :("
    

  • 您可以从编译测试程序拉斐尔·卡瓦略用于 Meltdown 检测:

    sudo apt-get install git build-essential
    cd /tmp
    git clone https://github.com/raphaelsc/Am-I-affected-by-Meltdown.git
    cd Am-I-affected-by-Meltdown
    make
    sudo sh -c "echo 0  > /proc/sys/kernel/kptr_restrict"
    ./meltdown-checker
    

在修补的系统上它应该以输出结束

...
so far so good (i.e. meltdown safe) ...

System not affected (take it with a grain of salt though as false negative
may be reported for specific environments; Please consider running it once again).

在修补的系统上它应该显示以下内容:

Spectre and Meltdown mitigation detection tool v0.27

Checking for vulnerabilities against live running kernel Linux 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64
...
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES 
* PTI enabled and active:  YES 
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)

不要在 Xenial 上安装 4.4.0-108-generic!它破坏启动/重启/关机/挂起功能

安装 4.4.0-109-generic (参见 USN-3522-3了解详情)!


作为Robie Basak 已经写了,有一个关于Ubuntu 中的 Spectre 和 Meltdown 漏洞状态

另外还有:

答案2

运行以下命令:

dmesg | grep 'page tables isolation'

如果显示 enabled,则表示 PTI 已启用。如果没有显示任何内容,或者您​​在终端中看到“disabled”,则表示 PTI 已禁用。Ubuntu 尚未发布补丁,因此不会显示任何消息。

答案3

您可以检查cat /proc/cpuinfo,如果它cpu_insecure在“错误”下报告,则 PTI 已启用。

如果它是空白的(或者只是没有列出cpu_insecure),那么很可能您正在运行尚未修补的内核(Ubuntu 没有),或者您有一个 AMD 处理器(由于它们不易受到攻击,因此可以预见不会启用此功能)。

现在所有 CPU 都被视为易受攻击在最新的4.15内核中。

答案4

我发现这个很棒的 sh 脚本可以测试系统上的 Meltdown/specre 漏洞:

https://github.com/speed47/spectre-meltdown-checker

该脚本会检查你的系统上已知的 Meltdown 和 Spectre 补丁,以告知你这些漏洞是否已被你的操作系统缓解

相关内容