O último microcódigo da Intel falha em instalar no Debian Stretch

3

Estou tentando consertar o Specter variant 2 no meu computador que está executando o Debian Stretch. Eu instalei o pacote intel-microcode de strech-backports

link

que inclui as atualizações de microcódigo 2018-03-12 da Intel. Depois de uma reinicialização eu corro sudo dmesg | grep 'microcode' e obtenho

[    1.180101] microcode: sig=0x30678, pf=0x8, revision=0x831
[    1.180418] microcode: Microcode Update Driver: v2.01 
<[email protected]>, Peter Oruba

que, até onde eu sei, não é a versão mais recente do meu processador. Meu processador é um Intel Celeron N2840 e está na família Bay Trail. De acordo com

link

todo o Bay Trail deve ter recebido uma atualização do microcódigo, mas nenhuma revisão é igual à revisão que eu tenho. Além disso, o script spectre-meltdown-checker.sh diz

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigated according to the /sys interface:  YES  (Mitigation: Full 
generic retpoline - vulnerable module loaded)
* Mitigation 1
  * Kernel is compiled with IBRS support:  NO 
    * IBRS enabled and active:  UNKNOWN 
  * Kernel is compiled with IBPB support:  YES 
    * IBPB enabled and active:  NO 
* Mitigation 2
  * Kernel has branch predictor hardening (arm):  NO 
  * Kernel compiled with retpoline option:  YES 
    * Kernel compiled with a retpoline-aware compiler:  YES  (kernel 
reports full retpoline compilation)
> STATUS:  VULNERABLE  (IBRS+IBPB or retpoline+IBPB is needed to mitigate 
the vulnerability)

Como posso ter certeza de que a atualização do microcódigo está instalada corretamente e é usada?

Edite algumas horas depois

Eu executei o procedimento que descrevi acima em um computador com um processador Intel Core i5-5200U (Broadwell), também no Debian Stretch. Nesse computador, os scripts dizem "não vulnerável" e eu tenho microcódigo que mitiga o espectro v2. dmesg | grep 'microcode' também mostra que tenho a revisão mencionada no documento da Intel vinculado acima.

Eu também realizei o procedimento em um computador com um antigo processador Intel Core 2 Duo Penryn, que a Intel não fornecerá microcódigo para mitigar o espectro v2. Este é o resultado do script nesse computador

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigated according to the /sys interface:  YES  (Mitigation: Full generic retpoline)
* Mitigation 1
  * Kernel is compiled with IBRS support:  NO 
    * IBRS enabled and active:  UNKNOWN 
  * Kernel is compiled with IBPB support:  YES 
    * IBPB enabled and active:  NO 
* Mitigation 2
  * Kernel has branch predictor hardening (arm):  NO 
  * Kernel compiled with retpoline option:  YES 
    * Kernel compiled with a retpoline-aware compiler:  YES  (kernel reports full retpoline compilation)
> STATUS:  NOT VULNERABLE  (Full retpoline is mitigating the vulnerability)
IBPB is considered as a good addition to retpoline for Variant 2 mitigation, but your CPU microcode doesn't support it

que eu interpreto como a reptolina mitiga o specter v2 (apenas ataca o kernel, certo?) mas que uma atualização de microcódigo é recomendada para o IBPB.

O meu primeiro computador (aquele com um processador Intel Celeron N2840) não deve ter pelo menos a mesma mitigação de reptolim do meu último computador? Não deveria também ter a mitigação de microcódigo como o computador do meio?

    
por arcus_mannen 20.04.2018 / 21:46

1 resposta

1

Para o Skylake e os processadores mais recentes, a retpolina não será suficiente para mitigar completamente o Spectre V2. Estou confuso sobre como o Bay Trail se compara às gerações de processadores de estação de trabalho, mas pode estar usando uma lógica preditiva semelhante à do Skylake.

Além disso, embora o PDF de orientação de microcódigo diga que os microcódigos da série Celeron Nxxxx foram para "produção", eles não parecem estar incluídos no último arquivo de microcódigo Linux publicado. Alguém mais é salgado com isso também: link

    
por 21.04.2018 / 17:36