Quero atualizar meu sistema para mitigar as explorações de Spectre e Meltdown.
A página relevante do Ubuntu afirma que eu preciso atualizar os microcódigos: "Do ponto de vista de convidado e não hipervisor, a partir das atualizações do kernel de 21 de fevereiro, tanto quanto sabemos, as atenuações para Spectre e Meltdown em 64 bits amd64, ppc64el e s390x são completos, desde que todas as atualizações de microcódigo, firmware e hipervisor sob o sistema sejam realizadas. ... "
Eu intel-microcode
e iucode-tool
instalado e atualizado, no entanto correndo dmesg | grep -i microcode
e grep -i microcode /var/log/syslog*
retorno nada que me faz pensar que ou o microcódigo cpu não é atualizado ou algo está errado.
Os pacotes estão atualizados e foram reiniciados desde a última atualização.
sistema operacional: Lubuntu 16.04
CPU: Intel N3700 (Braswell)
repositórios de software ativados: principal, universo
atualizações ativadas: xenial-security
Edit:
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.
No /proc/cpuinfo
hyper-threading aparece como suportado, mas esta página da Intel diz que não é suportado:
https://ark.intel.com/products/87261/Intel-Pentium-Processor-N3700-2M-Cache-up-to-2_40 -GHz
Edit 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, pois havia um microcódigo selecionável na Additional Drivers
guia 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]
Edit 4:
Agora entendo que não há atualização para o microcódigo da CPU, o que significa que o problema original foi resolvido e deixarei como está.
No entanto, dmesg
e journalctl -b
ainda deve 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 1 ou 0 típicos, e há uma mensagem de erro repetida que os torna truncados ( dmesg
não diz nada sobre truncamento, mas journalctl
diz que existem 371635 mensagens de kernel perdidas, veja abaixo) . 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
grep name /proc/cpuinfo | sort -u
e observe "Alguns dos processadores nessas duas listas não são afetados porque não possuem suporte a hyperthreading. Execute o comando abaixo em um shell de linha de comando (por exemplo, xterm) e ele exibirá uma mensagem se houver hiper -threading é suportado / ativado: "grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && echo "Hyper-threading is supported"
sudo update-initramfs -u && sudo reboot
e verificar novamente após a reinicialização./usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
Respostas:
Com base nos resultados de
/usr/sbin/iucode_tool -tb -lS /lib/firmware/intel-ucode/*
nenhum microcódigo está sendo carregado para a sua CPU, porque no momento não há nenhum. Isso não significa que não haverá no futuro. Você pode deixar com segurança o intel-microcode e o iucode-tool instalados, se houver uma atualização que contenha microcódigo para a assinatura da sua CPU, ela será usada.fonte
Bug no Microcódigo Intel de fusão / espectro
Houve um erro no início de 2018, a atualização do Microcode da Intel para solucionar as falhas de segurança do Meltdown / Spectre. 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):
Ao instalar o Intel Microcode Update, você obtém esta versão ou algo semelhante:
Menu Ubuntu 16.04 LTS
Não tenho certeza sobre a estrutura de menus do Lubuntu, mas, para o Ubuntu normal, é assim que você acessa os controles da atualização de microcódigo da Intel:
A opção inferior controla as atualizações de microcódigo da Intel.
Instale o Microcode Intel a partir da CLI
Para ignorar completamente os menus da GUI, você pode instalar a partir da linha de comando:
dmesg
agora mostra a saída corretaDepois de seguir as etapas de instalação,
dmesg
retorna a saída desejada (diferente da sua pergunta, onde ela não mostra nada):fonte
dmesg
saída que tinha originalmente quando comecei a escrever a resposta. Vou acrescentar isso. Basicamente, depois de seguir as etapas de instalação, admesg
saída aparece como deveria.sudo update-initramfs -u && sudo reboot
update-initramfs -u
ser necessário, pois não está listado aqui: askubuntu.com/questions/545925/… . No entanto, nunca dói.O Ubuntu lançou a atualização fixa do kernal contra essa exploração. O novo kernal exigiu alterações.
Referência: SecurityTeam / KnowledgeBase / SpectreAndMeltdown | Ubuntu Wiki
Estou no Ubuntu 16.04, usando o driver de vídeo Nouveau. No meu caso, o microcódigo Intel foi desinstalado após a instalação do novo kernel.
Esta atualização é lançada logo após a Intel ter lançado a correção de bugs devido à vulnerabilidade de segurança de bugs espectros.
Isso deve resolver seu problema.
Se você substituiu o driver da propriedade intel como no meu lugar e ainda deseja o driver da propriedade intel-microcode.
Intel lança microcódigos de CPU Linux para corrigir erros de fusão e espectro | bleepingcomputer.com
Atualmente, os novos drivers não estão incluídos no Ubuntu ppa. Os usuários podem ter que fazer o download manualmente no site da Intel.
Aviso: Isso pode causar conflito ou instabilidade de driver no seu Ubuntu. Você precisa instalá-lo por sua conta e risco.
Baixe o arquivo de dados de 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. Saí da equipe do Ubuntu para decidir o que é melhor para o meu sistema. Estou aguardando atualização da equipe de drivers do Ubuntu.
fonte
intel-microcode
instalei.