我想升级我的系统以缓解 Spectre 和 Meltdown 漏洞。
相关的 Ubuntu 页面指出我需要更新微码:“从访客和非管理程序裸机的角度来看,据我们所知,截至 2 月 21 日内核更新,64 位上的 Spectre 和 Meltdown 缓解措施amd64、ppc64el 和 s390x 功能齐全,只要系统下的所有微码、固件和虚拟机管理程序更新完成。..."
我已经安装intel-microcode
并iucode-tool
更新了,但是运行dmesg | grep -i microcode
并grep -i microcode /var/log/syslog*
没有返回任何内容,这让我认为 cpu 微码没有得到更新或其他错误。
软件包是最新的,并且自上次更新以来已经重新启动。
操作系统:Lubuntu 16.04
CPU:英特尔 N3700(布拉斯韦尔)
启用的软件存储库:主要,宇宙
启用更新:xenial-security
编辑:
的输出grep name /proc/cpuinfo | sort -u
是
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz
我的处理器不是 Skylake,也不是 Kaby Lake。
在/proc/cpuinfo
超线程中显示为受支持,但此英特尔页面表示不支持:
https ://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz
编辑2:
我运行sudo update-initramfs -u
并重新启动。输出仍然相同。
输出/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
:
/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:
我的 cpu 似乎没有更新的微码,这很有趣,因为Additional Drivers
之前(2017 年末)选项卡中有一个可选择的微码;现在,没有。
编辑3:
输出apt list --installed | grep intel-microcode
:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
intel-microcode/xenial-security,now 3.20180108.0+really20170707ubuntu16.04.1 amd64 [installed]
编辑4:
现在我明白了cpu微码没有更新,这意味着原来的问题已经解决了,我将保持原样。
但是,dmesg
我journalctl -b
相信仍然应该输出有关微码版本的行。
我还注意到这些引导日志从“5”而不是典型的 1 或 0 开始,并且有一个重复的错误消息使它们被截断(dmesg
没有提到截断,但journalctl
说有 371635 条内核消息丢失,见下文) . 我暂时忽略这个。
March 19 06:36:40 NN systemd-journald[266]: Runtime journal (/run/log/journal/) is 8.0M, max 78.9M, 70.9M free.
March 19 06:36:40 NN systemd-journald[266]: Missed 371635 kernel messages
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
March 19 06:36:40 NN kernel: ->action(): (null)
March 19 06:36:40 NN kernel: IRQ_NOPROBE set
March 19 06:36:40 NN kernel: irq 115, desc: ffff9b91f5df8200, depth: 1, count: 0, unhandled: 0
March 19 06:36:40 NN kernel: ->handle_irq(): ffffffffb9ee8f70,
March 19 06:36:40 NN kernel: handle_bad_irq+0x0/0x230
March 19 06:36:40 NN kernel: ->irq_data.chip(): ffffffffbb172c40,
March 19 06:36:40 NN kernel: chv_gpio_irqchip+0x0/0x120
基于
/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
没有为您的 cpu 加载微码的结果,因为目前没有微码。这并不意味着将来不会有。您可以安全地安装 intel-microcode 和 iucode-tool,如果有包含用于您的 cpu 签名的微码的更新,它将被使用。Ubuntu 已针对此漏洞发布了修复的内核更新。新内核需要更改。
参考: SecurityTeam/KnowledgeBase/SpectreAndMeltdown | Ubuntu 维基
我在 Ubuntu 16.04 中,使用 Nouveau 显示驱动程序。就我而言,英特尔微码在安装新内核后被卸载。
此更新是在英特尔发布针对幽灵错误安全漏洞的错误修复后立即发布的。
这应该可以解决您的问题。
如果您像我一样更换了英特尔属性驱动程序,并且仍然想要英特尔微码属性驱动程序。
英特尔发布 Linux CPU 微代码以修复 Meltdown 和 Spectre 漏洞 bleepingcomputer.com
目前,新驱动程序不包含在 Ubuntu ppa 中。用户可能需要从英特尔网站手动下载。
警告:这可能会导致 Ubuntu 中的驱动程序冲突或不稳定。您必须自行承担安装它的风险。
下载 Linux 处理器微码数据文件 | 下载中心.intel.com
对我来说,我的 ubuntu 笔记本电脑没有问题。所以我不想冒险。我离开了 Ubuntu 团队来决定我的系统中什么是最好的。我正在等待 Ubuntu 驱动程序团队的更新。
Meltdown/Spectre 英特尔微码中的错误
2018 年初英特尔微码更新中存在一个错误,以解决 Meltdown/Spectre 安全漏洞。因此,微码必须回滚到以前的版本。
这是我正在使用的微码(从 2018 年 1 月开始选择退出所有更新):
当您安装英特尔微码更新时,您将获得此版本或类似版本:
Ubuntu 16.04 LTS 菜单
我不确定 Lubuntu 菜单结构,但对于常规 Ubuntu,这是您访问英特尔微码更新控件的方式:
底部选项控制英特尔微码更新。
从 CLI 安装英特尔微码
要完全跳过 GUI 菜单,您可以从命令行安装:
dmesg
现在显示正确的输出遵循安装步骤后
dmesg
返回所需的输出(与您的问题不同,它什么都不显示):