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?