Por que as atualizações do microcódigo Intel não funcionam no meu sistema?

8

Eu quero atualizar meu sistema para mitigar explorações de Specter e Meltdown.

A página relevante do Ubuntu indica que eu preciso atualizar os microcódigos: "De uma perspectiva bare-metal convidada e não-hipervisora, a partir das atualizações do kernel de 21 de fevereiro, até onde sabemos, as atenuações para o Specter e o Meltdown em 64 bits, amd64, ppc64el e s390x são completas desde que todas as atualizações de microcódigo, firmware e hypervisor sob o sistema são feitas ... "

Eu tenho intel-microcode e iucode-tool instalado e atualizado, mas executar dmesg | grep -i microcode e grep -i microcode /var/log/syslog* não retorna nada, o que me faz pensar que o microcódigo da cpu não é atualizado ou algo está errado.

Os pacotes estão atualizados e houve reinicializações desde a última atualização.

sistema operacional: Lubuntu 16.04

CPU: Intel N3700 (Braswell)

repositórios de software ativados: main, universe

atualizações ativadas: xenial-security

Editar:
A saída de grep name /proc/cpuinfo | sort -u é model name : Intel(R) Pentium(R) CPU N3700 @ 1.60GHz

Meu processador não é Skylake nem Kaby Lake.

Em /proc/cpuinfo o hyper-threading aparece como suportado, mas esta página da Intel diz que não é suportada:
link

Editar 2:
Eu corri sudo update-initramfs -u e reiniciei. As saídas ainda são as mesmas.

Saída de /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/* :

/usr/sbin/iucode_tool: system has processor(s) with signature 0x000406c3
selected microcodes:

Parece que não há microcódigo atualizado para minha CPU, o que é interessante, já que havia um microcódigo selecionável na guia Additional Drivers anteriormente (final de 2017); agora não há.

Editar 3:
Saída de 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]

Editar 4:
Agora eu entendo que não há atualização para o microcódigo da cpu, o que significa que o problema original está resolvido e deixarei como está.

No entanto, dmesg e journalctl -b ainda devem produzir linhas sobre a versão do microcódigo, acredito.
Também notei que esses logs de inicialização começam em "5" em vez dos típicos 1 ou 0, e que há uma mensagem de erro repetida que os torna truncados ( dmesg não diz nada sobre truncamento, mas journalctl diz que há 371635 perdido mensagens do kernel, veja abaixo). Eu vou ignorar isso por enquanto.

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
    
por MeltingPoint 18.03.2018 / 12:32

3 respostas

4

Com base nos resultados de /usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/* nenhum microcódigo está sendo carregado para sua CPU porque no momento não há nenhum. Isso não significa que não haverá no futuro. Você pode deixar o intel-microcode e a ferramenta iucode instalados com segurança. Se houver uma atualização contendo o microcódigo para a assinatura da sua CPU, ela será usada.

    
por doug 19.03.2018 / 12:30
2

Bug no Meltdown / Specter Intel Microcode

Houve um bug no início de 2018 da Atualização do Microcódigo da Intel para abordar as falhas de segurança do Meltdown / Specter. Como tal, o microcódigo teve que ser revertido para uma versão anterior.

Aqui está o microcódigo que estou usando (tendo desativado todas as atualizações a partir de janeiro de 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]

Quando você instala o Intel Microcode Update, você obtém esta versão ou algo semelhante:

intel-microcode/3.20180108.0+really20170707ubuntu16.04.1

Menu LTS do Ubuntu 16.04

Não tenho certeza sobre a estrutura do menu do Lubuntu, mas para o Ubuntu normal é assim que você acessa os controles de Atualização do Microcódigo da Intel:

A opção inferior controla as atualizações do microcódigo da Intel.

Instale o Microcódigo Intel do CLI

Para pular os menus da GUI, você pode instalar a partir da linha de comando:

sudo apt update
sudo apt install intel-microcode

dmesg agora mostra a saída correta

Depois de seguir os passos de instalação dmesg devolve a saída desejada (ao contrário da sua pergunta onde não mostra nada):

$ 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
    
por WinEunuuchs2Unix 18.03.2018 / 19:13
2

O Ubuntu lançou uma atualização kernal fixa contra este exploit. O novo kernal exigiu mudanças.

Referência: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Wiki do Ubuntu

Estou no Ubuntu 16.04, usando o driver de exibição Nouveau. No meu caso, o Intel-microcode foi desinstalado após a instalação do novo kernel.

Esta atualização é liberada logo após a Intel ter liberado a correção de bug para a vulnerabilidade de segurança de bugs do espectro.

Isso deve resolver seu problema.

Se você tiver o driver de propriedade da Intel substituído como em meu lugar e ainda quiser o driver de propriedade do intel-microcode.

Intel lança CPU Linux Microcódigos Para corrigir Meltdown & Erros de espectro | bleepingcomputer.com

Atualmente, os novos drivers não estão incluídos no Ubuntu ppa. Os usuários podem ter que baixá-lo manualmente no site da Intel.

Aviso: Isso pode causar conflito de driver ou instabilidade no seu Ubuntu. Você tem que instalá-lo por sua conta e risco.

Faça o download do arquivo de dados do microcódigo do processador Linux | downloadcenter.intel.com

Para mim, não tenho nenhum problema no meu laptop ubuntu. Então eu não quero correr riscos. Deixei a equipe do Ubuntu para decidir o que é melhor do meu sistema. Estou aguardando atualização da equipe de drivers do Ubuntu.

    
por Aravind 18.03.2018 / 12:49