Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Seu sistema pode ser afetados pelas vulnerabilidades que afetaram processadores Intel, AMD e ARM? Veja como verificar e corrigir as falhas Meltdown e Spectre no Linux!

Se seu sistema pode ser afetados pelas vulnerabilidades que afetaram processadores Intel, AMD e ARM, veja como verificar e corrigir as falhas Meltdown e Spectre no Linux.


No início desta semana, uma equipe de pesquisadores do Project Zero da Google descobriu sobre as vulnerabilidades Meltdown e Specter, que afetaram muitos processadores modernos, incluindo certos processadores da Intel, AMD e ARM.
Como verificar e corrigir as falhas Meltdown e Spectre no Linux
Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Embora a AMD tenha afirmado que não há chance de seus processadores serem afetados por essas falhas, os pesquisadores indicaram que a vulnerabilidade Meltdown é exclusiva dos processadores Intel, enquanto a vulnerabilidade Specter pode afetar alguns processadores Intel, AMD e ARM.

De acordo com a Wired:

“Os fabricantes da Intel, da AMD e da ARM estão trabalhando de perto e colaborando com empresas de hardware que enviam seus processadores e empresas de software como Apple, Google, Microsoft e Linux Foundation para liberar patches específicos para essas falhas de segurança. Não podemos garantir que os patches resolverão completamente esses problemas. Mas, pelo menos, ficará melhor do que estava”.

Greg Kroah-Hartman já anunciou o lançamento dos releases estáveis do kernel 4.14.12, 4.9.75 e 4.4.110, que vem com correções para as falhas Meltdown e Specter.

Então, se você está usando o processador Intel ou AMD ou ARM, recomenda-se verificar se o seu sistema Linux é afetado por essas falhas. Se o seu sistema for afetado, você deve corrigir isso, atualizando o kernel Linux imediatamente para a versão mais recente.

Se você Linux distro ainda não possui as atualizações mais recentes do kernel Linux, é altamente recomendável mudar para uma distribuição Linux que disponibiliza a correção para as falhas.

Definição das vulnerabilidades Meltdown e Specter

As vulnerabilidades Meltdown e Specter possuem três números CVE (um padrão que é quase governamental para analisar vulnerabilidades e exposições de segurança de computadores) atribuídos a elas:

Número CVE Descrição
CVE-2017-5715 Branch Target Injection, exploited by Spectre
CVE-2017-5753 Bounds Check Bypass, exploited by Spectre
CVE-2017-5754 Rogue Data Cache Load, exploited by Meltdown

Durante vários anos, as fabricantes de processadores corrigiram falhas na arquitetura do processador através de atualizações de microcódigo, que gravam uma atualização no próprio processador para corrigir um erro.

No entanto, por alguma razão ou razões desconhecidas, as vulnerabilidade Meltdown e Specter não podem ser corrigidas desta forma nos processadores da Intel. Por esse motivo, os fabricantes de sistemas operacionais colaboraram com a Intel para lançarem correções para as vulnerabilidades.

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Para verificar e corrigir as falhas Meltdown e Spectre no Linux, use um dos procedimentos abaixo, conforme for o seu sistema.

Como verificar e corrigir as falhas Meltdown e Spectre no Linux Arch

No Arch Linux e derivados, você pode descobrir se seu sistema está afetado por vulnerabilidades de Meltdown/Spectre, abrindo um terminal usando os dois a seguir.

zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz
dmesg |  grep iso

Se os comandos acima retornarem NOTHING, seu sistema ainda não foi corrigido. Então, você precisa atualizar seu sistema baseado no Arch usando o comando:

sudo pacman -Syu

Depois de atualizar completamente seu sistema Arch, reinicie e execute os comandos acima novamente. Se o seu sistema estiver com a correção para as falhas, você deve ver a seguinte saída para o primeiro comando (zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz):

CONFIG_PAGE_TABLE_ISOLATION=y

E você obterá esta saída para o segundo comando (dmesg | grep iso):

[ 0.000000] Kernel/User page tables isolation: enabled

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Como verificar e corrigir as falhas Meltdown e Spectre no Linux Ubuntu

O procedimento acima pode não funcionar no Ubuntu. Felizmente, alguns bons samaritanos no fórum Askubuntu publicaram uma solução alternativa para verificar se seus sistemas Ubuntu estão com a correção, usando qualquer um dos seguintes comandos.

grep CONFIG_PAGE_TABLE_ISOLATION=y /boot/config-`uname -r` && echo "patched :)" || echo "unpatched :("
grep cpu_insecure /proc/cpuinfo && echo "patched :)" || echo "unpatched :("
dmesg | grep "Kernel/User page tables isolation: enabled" && echo "patched :)" || echo "unpatched :("

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Se o sistema ainda não estiver com a correção, atualize o kernel imediatamente para aplicar os patches. Para isso, use imediatamente os comandos:

sudo apt-get update
sudo apt-get dist-upgrade

Depois de atualizar seu kernel, execute esses três primeiros comandos novamente, e você verá o seu sistema Ubuntu ser corrigido!

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Ou, dê uma olhada nesse outro tutorial:
Patch de processador Intel para Meltdown e Specter – Veja como instalar

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Para outras distribuições do Linux, existe um script chamado “Specter & Meltdown Checker” para verificar as vulnerabilidades Meltdown/Specter. Este script ajudará a descobrir se sua instalação do Linux é vulnerável contra os 3 CVEs de “execução especulativa”.

Para usar esse script, faça o seguinte:
Passo 1. Copie o código do scritp com o comando abaixo;

git clone https://github.com/speed47/spectre-meltdown-checker.git

Passo 2. Isso irá clonar todos os conteúdos em um diretório chamado “specter-meltdown-checker” em seu diretório de trabalho atual. Vá para esse diretório, usando o seguinte comando:

cd spectre-meltdown-checker/

Passo 3. Torne o script executável com esse comando;

chmod +x spectre-meltdown-checker.sh

Passo 4. Finalmente, execute o script para checar as vulnerabilidades;

sudo ./spectre-meltdown-checker.sh

Aqui está o resultado da amostra de um sistema Ubuntu com patches:

Como verificar e corrigir as falhas Meltdown e Spectre no Linux

Mantendo sistemas Linux atualizados para corrigir as falhas Meltdown e Spectre no Linux

Novamente, lembre-se de que esses problemas ainda não foram completamente resolvidos. Você precisa manter seus sistemas Linux atualizados nas próximas semanas, até que tudo seja consertado.

Então, manter o kernel de seu sistema e todo o software atualizado é altamente recomendado, pois isso também trará muitas outras correções de segurança.

Para atualizar o seu Arch Linux ou um derivado dele, execute esse comando:

sudo pacman -Syu

Para atualizar um Debian, Ubuntu ou derivado:

sudo apt-get update
sudo apt-get dist-upgrade

Para atualizar um sistema Fedora ou derivado dele:

sudo dnf update

Para atualizar um sistema RHEL/CentOS ou derivado dele:

sudo yum update

Para atualizar outras distribuições, consulte o site da produtora dela.

Depois de atualizar seu sistema Linux, não se esqueça de reiniciá-lo. Mantenha essa rotina de atualização e dificilmente sua distro será afetada pelas falhas Meltdown e Spectre.

O que está sendo falado no blog nos últimos dias




blog comments powered by Disqus