Почему обновления микрокода Intel не работают в моей системе?


8

Я хочу модернизировать свою систему, чтобы смягчить эксплойты Spectre и Meltdown.

На соответствующей странице Ubuntu говорится, что мне нужно обновить микрокоды: «С точки зрения гостевого и не-гипервизорного« голого железа », начиная с обновлений ядра 21 февраля, насколько нам известно, меры по смягчению для Spectre и Meltdown в 64-битной среде amd64, ppc64el и s390x полностью функциональны, если выполняются все обновления микрокода, встроенного ПО и гипервизора в системе. ... "

Я intel-microcodeи iucode-toolустановлены и обновлены, однако не работает dmesg | grep -i microcodeи grep -i microcode /var/log/syslog*возвращение ничего , что заставляет меня думать , что либо процессор микрокода не обновляется или что - то еще не так.

Пакеты обновлены и с момента последнего обновления произошли перезапуски.

операционная система: Lubuntu 16.04

Процессор: Intel N3700 (Braswell)

репозитории с включенным ПО

включены обновления: xenial-security

Edit:
Выход grep name /proc/cpuinfo | sort -uIS
model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Мой процессор не Skylake, ни Kaby Lake.

В /proc/cpuinfoHyper-Threading отображается как поддерживается, но эта страница Intel говорит, что это не поддерживается:
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:

Кажется, что для моего процессора нет обновленного микрокода, что интересно, так как 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:
Теперь я понимаю, что для микрокода процессора нет обновления, что означает, что исходная проблема решена, и я оставлю это как есть.

Тем не менее, 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

1
Вот подробные инструкции по проверке микрокода в системах Debian - lists.debian.org/debian-devel/2017/06/msg00308.html . Опубликовать вывод этих команд. Начните с идентификации вашего процессора с grep name /proc/cpuinfo | sort -uпометкой «Некоторые процессоры в этих двух списках не затронуты, поскольку у них нет поддержки гиперпоточности. Запустите команду ниже в командной строке (например, xterm), и она выдаст сообщение, если гипер -читывание поддерживается / включено: " grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
Panther

Я редактировал вопрос.
MeltingPoint

Можете ли вы запустить sudo update-initramfs -u && sudo rebootи проверить еще раз после перезагрузки.
Пантера

1
Возможно, нет микрокода для вашего процессора в пакете Ubuntu. запустите это, чтобы увидеть/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
Даг

1
В «конце 2017 года» у вас, возможно, был микрокод для вашего процессора, основанный на попытках исправления ошибок. Этот код был удален /, то есть пакет был возвращен к предыдущему, в котором ничего не требуется для вашего процессора.
Дуг

Ответы:


4

По результатам /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*не загружается микрокод для вашего процессора, потому что на данный момент его нет. Это не значит, что не будет в будущем. Вы можете безопасно оставить intel-microcode и iucode-tool установленными, если есть обновление, содержащее микрокод для подписи вашего процессора, оно будет использовано.


2

Ошибка в распаде / Призрак Intel Microcode

В начале 2018 года произошла ошибка при обновлении микрокода Intel, чтобы устранить дыры в безопасности Meltdown / Spectre. Таким образом, микрокод должен был быть возвращен к предыдущей версии.

Вот микрокод, который я использую (отказавшись от всех обновлений, начиная с января 2018 года):

$ apt list --installed | grep intel-microcode

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

intel-microcode/now 3.20170707.1~ubuntu16.04.0 amd64 [installed,upgradable to: 3.20180108.0+really20170707ubuntu16.04.1]

При установке Intel Microcode Update вы получите эту версию или нечто подобное:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Ubuntu 16.04 LTS Меню

Я не уверен насчет структуры меню Lubuntu, но для обычной Ubuntu вы получаете доступ к элементам управления Intel Microcode Update:

Additional Drivers.png

Нижняя опция управляет обновлениями микрокода Intel.

Установите Intel Microcode из CLI

Чтобы вообще пропустить меню GUI, вы можете установить его из командной строки:

sudo apt update
sudo apt install intel-microcode

dmesg теперь показывает правильный вывод

После выполнения шагов установки dmesgвозвращает желаемый результат (в отличие от вашего вопроса, где он ничего не показывает):

$ dmesg | grep -i microcode
[    1.166542] microcode: sig=0x506e3, pf=0x20, revision=0xba
[    1.166993] microcode: Microcode Update Driver: v2.2.
[16082.584598] microcode: microcode updated early to revision 0xba, date = 2017-04-09

В вопросе ОП четко сказано: «У меня установлен и обновлен intel-microcode и iucode-tool», поэтому я не совсем уверен, как это поможет.
Пантера

@Panther Я пропустил добавление dmesgвывода, который у меня был изначально, когда я начал писать ответ. Я добавлю это в. В основном после выполнения шагов установки, dmesgвывод будет выглядеть так, как и должно быть.
WinEunuuchs2Unix

ОП также ясно указывает, что «выполнение микрокода dmesg | grep -i и микрокода grep -i / var / log / syslog * ничего не возвращают». Я подозреваю, что мы должны бежатьsudo update-initramfs -u && sudo reboot
Пантера

@Panther Сначала мне показалось, что микрокод установлен неправильно. Хороший вопрос о перезагрузке. ОП ничего не упоминает об этом. Я буду следить за будущим ответом ОП на ваш комментарий под его вопросом. Я не уверен в update-initramfs -uнеобходимости, так как он не указан здесь: askubuntu.com/questions/545925/… . Однако это никогда не ранит.
WinEunuuchs2Unix

Микрокод обычно является частью initramfs и загружается во время загрузки, поэтому, хотя и не ожидается, я предлагаю перестроить initramfs в качестве возможного исправления необычной ситуации OP. Помогло бы, если бы мы знали, какой микрокод был установлен.
Пантера

2

Ubuntu выпустила исправленное обновление Kernal для этого эксплойта. Новый кернал потребовал изменений.

Ссылка: SecurityTeam / База знаний / SpectreAndMeltdown | Ubuntu Wiki

Я в Ubuntu 16.04, использую драйвер дисплея Nouveau. В моем случае микрокод Intel был удален после установки нового ядра.

Это обновление выпущено сразу после того, как компания Intel выпустила исправление для уязвимости безопасности ошибок спектра.

Это должно решить вашу проблему.

Если вы заменили драйвер свойства intel, как у меня, и все еще хотите драйвер свойств intel-microcode.

Intel выпускает микрокоды для процессоров Linux, чтобы исправить ошибки, связанные с распадом и призраками | bleepingcomputer.com

В настоящее время новые драйверы не включены в Ubuntu ppa. Пользователям может потребоваться загрузить его вручную с веб-сайта Intel.

Предупреждение: это может вызвать конфликт драйверов или нестабильность в вашей Ubuntu. Вы должны установить его на свой страх и риск.

Загрузить файл данных микрокода процессора Linux | downloadcenter.intel.com

Для меня у меня нет проблем в моем ноутбуке с Ubuntu. Поэтому я не хочу рисковать. Я покинул команду Ubuntu, чтобы решить, что лучше из моей системы. Я жду обновления от команды Ubuntu Driver.


Я не понимаю, как это отвечает на мой вопрос. Вы можете объяснить? Я intel-microcodeустановил.
MeltingPoint


Обновите свой кернал, Ubuntu исправил его другим способом.
Аравинд


Если Intel-микрокод был удален, у вас есть 2 варианта. вариант 1) оставаться в безопасности и ждать, пока команда Ubuntu выпустит обновление, как я. Или 2) вы можете запустить свой собственный эксперимент, загрузив вручную на свой страх и риск.
Аравинд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.