Como corrigir as vulnerabilidades de segurança Meltdown e Spectre nos chips do processador Intel?
Sintoma
Em 3 de janeiro de 2018 (horário de Pequim), as graves vulnerabilidades de segurança Meltdown e Spectre foram encontradas nos chips de processadores Intel. Os detalhes são os seguintes:
Nome da vulnerabilidade: vulnerabilidades graves em nível de chip em chips de processador Intel
IDs da vulnerabilidade: CVE-2017-5753, CVE-2017-5715 e CVE-2017-5754
Gravidade: alto risco
Descrição da vulnerabilidade: vulnerabilidades de kernel de CPU de alto risco Meltdown (CVE-2017-5754) e Spectre (CVE-2017-5715 e CVE-2017-5753) expostas. Os invasores podem usar essas vulnerabilidades para contornar o mecanismo de isolamento de segurança de memória e acessar os dados principais do SO e outros programas sem autorização, levando à divulgação de informações confidenciais.
Impacto
Essas vulnerabilidades não causarão ataques entre ECSs, mas podem introduzir ataques entre:
- Aplicações em um ECS
- Contas para efetuar logon em um ECS
Se seus ECSs forem criados usando uma imagem pública, a plataforma de nuvem corrigirá automaticamente as vulnerabilidades, o que não afetará seus serviços.
Se seus ECSs forem criados usando uma imagem privada, determine se deve instalar um patch descrito nesta seção na imagem privada com base no impacto das vulnerabilidades.
Conhecimento de fundo
Para obter detalhes sobre o lançamento oficial de patches dos SOs afetados, consulte Avisos de segurança da HUAWEI CLOUD.
Pré-requisitos
Os testes foram totalmente verificados e os dados do ECS foram armazenados em backup.
Instalação de um patch em ECSs do Windows
- Efetue logon no ECS.
- Use um dos seguintes métodos para instalar o patch:
- Método 1: use Windows Update para instalar o patch.
- Abra Windows Update e clique em Check for Updates.
- Baixe e instale o patch necessário.
- Método 2: baixe e instale manualmente o patch.
Baixe o patch oficial e instale-o. Para mais detalhes, consulte Conhecimento de fundo.
- Método 1: use Windows Update para instalar o patch.
- Reinicie o ECS para que o patch entre em vigor.
- Verifique se o patch foi instalado.
- Verifique se o ECS está funcionando corretamente.
- Verifique se os requisitos especificados na coluna Verification do Conhecimento de fundo foram atendidos.
Instalação de um patch em ECSs do Linux
- Efetue logon no ECS.
- Verifique se Tools foram instalados no ECS de Linux, usando o SUSE Linux Enterprise Server 11 SP1 como exemplo.
- Execute o seguinte comando em qualquer diretório para exibir o driver do ECS:
Figura 1 Visualização do driver do ECS
- Execute o seguinte comando para exibir o caminho do driver, tomando um driver de disco como exemplo:
Figura 2 Visualização do caminho do driver
- Verifique se pvdriver está contido no caminho do driver.
- Execute o seguinte comando em qualquer diretório para exibir o driver do ECS:
- Desinstale Tools.
- Instale o patch para atualizar o kernel. Para mais detalhes, consulte Conhecimento de fundo.
Após atualizar o kernel, execute o comando reboot para reiniciar o ECS.
- Verifique se o patch foi instalado.
- Verifique se o ECS está funcionando corretamente.
- Verifique se os requisitos especificados na coluna Verification do Conhecimento de fundo foram atendidos.
Depois que o patch é instalado, o ECS usa o driver fornecido com o SO. Nesse caso, o uso de memória e o uso de disco dos ECSs de Linux não serão monitorados. As outras características e funções não são afetadas. Se o uso da memória e o uso do disco precisarem ser monitorados, entre em contato com o atendimento ao cliente.
Verificar se as vulnerabilidades de segurança foram corrigidas no Linux
- Clique em spectre-meltdown-checker para obter spectre-meltdown-checker.sh.
- Carregue o script no ECS.
- Execute os seguintes comandos no ECS e verifique se a vulnerabilidade Meltdown ou Spectre foi corrigida com base no prompt de script:
chmod +x spectre-meltdown-checker.sh
sudo bash spectre-meltdown-checker.sh
Figura 3 mostra a saída do comando.
OK indica que a vulnerabilidade foi corrigida e KO indica que a vulnerabilidade não foi corrigida. As informações mostradas em Figura 3 indicam que as vulnerabilidades CVE-2017-5753, CVE-2017-5715 e CVE-2017-5754 foram corrigidas.
Ativação ou desativação do patch de vulnerabilidade de segurança no Linux
A execução especulativa da CPU otimiza o desempenho. Portanto, corrigir a vulnerabilidade Meltdown ou Spectre pode deteriorar o desempenho em cargas de trabalho específicas.
Se o impacto no desempenho do sistema for inaceitável ou se estiver disponível uma solução de proteção melhor, pode desativar determinadas ou todas as políticas de proteção de segurança.
Determine a política de segurança ideal com base em cenários de aplicações:
- Vulnerabilidade Meltdown
Page Table Isolation (PTI) entra em vigor no kernel. Esta função é adequada para CVE-2017-5754.
- Vulnerabilidade Spectre
Indirect Branch Restricted Speculation (IBRS) entra em vigor em registradores especificados (MSR) no modelo SPEC_CTRL. Trabalhando com o retpoline, IBRS controla Indirect Branch Prediction Barriers (IBPBs) em registradores especificados (MSR) no modelo PRED_CMD. Esta função é adequada para CVE-2017-5715.
A vulnerabilidade CVE-2017-5753 é corrigida por um patch do kernel e não pode ser desabilitada. Nenhum impacto óbvio foi detectado para o patch nos testes de desempenho de Red Hat.
- Desativação do patch de vulnerabilidade Meltdown
Para evitar que a ativação de PTI deteriore o desempenho do sistema ou que uma solução de proteção melhor esteja disponível, execute as seguintes operações para desativar o patch:
- Modifique os parâmetros do kernel com base nos SOs:
- CentOS, EulerOS, Ubuntu, Fedora e Red Hat: adicione o parâmetro do kernel nopti.
- Debian e OpenSUSE: adicione o parâmetro do kernel pti=off.
- Reinicie o ECS.
- Modifique os parâmetros do kernel com base nos SOs:
- Desativação do patch de vulnerabilidade Spectre
Para evitar que a correção da vulnerabilidade Spectre deteriore o desempenho do sistema ou que uma solução de proteção melhor esteja disponível, execute as seguintes operações para desativar o patch:
- Modifique os parâmetros do kernel com base nos SOs:
- CentOS, EulerOS, Fedora, Debian, Red Hat e OpenSUSE: adicione o parâmetro do kernel spectre_v2=off.
- Ubuntu: adicione o parâmetro do kernel nospectre_v2=off.
- Reinicie o ECS.
- Modifique os parâmetros do kernel com base nos SOs:
Se você estiver usando um dos seguintes SOs, visite o site oficial para obter mais detalhes.
Red Hat: https://access.redhat.com/articles/3311301?spm=a2c4g.11186623.2.20.42b49d4aJuKYx2
SUSE: https://www.suse.com/support/kb/doc/?spm=a2c4g.11186623.2.21.42b49d4avOXw7d&id=7022512
Ubuntu: https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown