Spectre / Meltdown - atualização do microcódigo

1

Estou tentando atualizar manualmente o microcódigo para o Intel i5-2410M.

Dell XPS 15z 2011 - Intel i5-2410M (ponte Sandy).

Ubuntu 18.04 (Debian) | Gnome | Grub2 | Systemd

Instalei um microcódigo pré-empacotado do repositório do Ubuntu, mas não sei se algum deles se aplica a mim:

apt install intel-microcode
dmsg | grep microcode

[ 0.000000] microcode: microcode updated early to revision 0x2d, date = 2018-02-07

[ 1.259590] microcode: sig=0x206a7, pf=0x10, revision=0x2d

[ 1.259643] microcode: Microcode Update Driver: v2.2.

Observe que a data é 7 de fevereiro de 2018. A Intel tem uma versão posterior para o i5-2410M, 25 de abril de 2018.

https://downloadcenter.intel.com/download/27776/Linux-Processor-Microcode-Data-File?product=52224

CVE-2018-3640 [registro do sistema invasor lido] também conhecido como 'Variante 3a'

    O microcódigo da CPU atenua a vulnerabilidade: NÃO

STATUS: VULNERABLE (an up-to-date CPU microcode is needed to mitigate this vulnerability)

How to fix: The microcode of your CPU needs to be upgraded to mitigate this vulnerability. This is usually done at boot time by your kernel (the upgrade is not persistent across reboots which is why it's done at each boot). If you're using a distro, make sure you are up to date, as microcode updates are usually shipped alongside with the distro kernel. Availability of a microcode update for you CPU model depends on your CPU vendor. You can usually find out online if a microcode update is available for your CPU by searching for your CPUID (indicated in the Hardware Check section). The microcode update is enough, there is no additional OS, kernel or software change needed.

CVE-2018-3639 [derivação de loja especulativa] também conhecida como 'Variante 4'

  • Mitigado de acordo com a interface / sys: NÃO (Vulnerável)

  • O kernel suporta bypass de armazenamento de especulação: YES (encontrado em / proc / self / status)

STATUS: VULNERABLE (Your CPU doesn't support SSBD)

How to fix: Your kernel is recent enough to use the CPU microcode features for mitigation, but your CPU microcode doesn't actually provide the necessary features for the kernel to use. The microcode of your CPU hence needs to be upgraded. This is usually done at boot time by your kernel (the upgrade is not persistent across reboots which is why it's done at each boot). If you're using a distro, make sure you are up to date, as microcode updates are usually shipped alongside with the distro kernel. Availability of a microcode update for you CPU model depends on your CPU vendor. You can usually find out online if a microcode update is available for your CPU by searching for your CPUID (indicated in the Hardware Check section).

» grep . /sys/devices/system/cpu/vulnerabilities/*

/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI

/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable

/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization

/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline, IBPB, IBRS_FW

Alguém poderia, por favor, fornecer uma migalha de pão para o que eu deveria pesquisar, eu estou bem preso agora. Eu aprecio seu tempo.

    
por Evan 01.06.2018 / 00:10

1 resposta

0

Resposta curta: você tem a versão mais recente. Esse download tem atualizações de microcódigo para muitas CPUs. Pelo menos um foi atualizado, mas não foi para sua CPU.

Detalhes:

Observe que sig do microcódigo é 0x206a7 revisão 2d. Baixe as atualizações do microcódigo e descompacte-as. Procure no arquivo chamado list para uma linha com 06-2a-07. (Por que os números são trocados e zero preenchido está além de mim.)

06-2a-07/00000012       0000002d        2018-02-07

Assim você tem a versão mais recente.

Você precisaria fornecer seu sistema operacional, mas pelo menos com o Gentoo, atualizar o microcódigo é fácil. Você faz um initramfs com o microcódigo via:

iucode_tool -S --write-earlyfw=/boot/early_ucode.cpio /lib/firmware/intel-ucode/*

O Gentoo atualizou o grub para incluir automaticamente este initramfs.

Se você quiser examinar isso para o seu sistema operacional: encontre o initramfs que seu sistema usa. Extraia com cpio -idv < foo.img . O microcódigo será chamado kernel/x86/microcode/GenuineIntel.bin . Você pode então verificar o que estava no tarball. Por exemplo:

md5sum kernel/x86/microcode/GenuineIntel.bin
63b77e80b39b5a3ed81a30682ef2c5ab  kernel/x86/microcode/GenuineIntel.bin

Do diretório intel-ucode criado quando você extraiu o tarball:

md5sum * | grep 63b77e80b39b5a3ed81a30682ef2c5ab
63b77e80b39b5a3ed81a30682ef2c5ab  06-2a-07
    
por 01.06.2018 / 02:20