Por padrão, o Alibaba Cloud Linux ativa mitigações para vulnerabilidades de CPU, o que pode afetar o desempenho do sistema. Este documento explica como desativar essas mitigações caso o impacto no desempenho seja uma preocupação para sua carga de trabalho. O conteúdo aborda vulnerabilidades específicas de CPU, a verificação de status por meio de arquivos de vulnerabilidade e o procedimento para desativar as mitigações.
Informações básicas
Em janeiro de 2018, o Google Project Zero divulgou as vulnerabilidades de segurança Spectre e Meltdown, que afetam processadores modernos. Atacantes podem explorar essas falhas para roubar dados privilegiados, o que representa uma grave ameaça à segurança do sistema. Tais vulnerabilidades atingem a maioria dos processadores modernos, incluindo arquiteturas Intel, AMD e ARM, e têm sido amplamente discutidas desde sua divulgação. Os produtos da Alibaba Cloud também são afetados. Em resposta, sistemas operacionais como o Linux implementaram mitigações via software. Desde a divulgação inicial, novas variantes surgiram, e espera-se que essas vulnerabilidades continuem sendo um problema persistente.
Essas vulnerabilidades exploram recursos de hardware como Execução Especulativa e Execução Fora de Ordem, essenciais para o desempenho de processadores modernos. Consequentemente, mitigar essas vulnerabilidades pode causar degradação de desempenho.
As mitigações de software geralmente apenas reduzem o risco de exploração, mas não corrigem a vulnerabilidade subjacente do hardware.
Vulnerabilidades
Esta seção detalha as vulnerabilidades de segurança no Alibaba Cloud Linux 2 e no Alibaba Cloud Linux 3 e explica como desativar as mitigações de software usando a linha de comando de inicialização.
Alibaba Cloud Linux 3
x86
CVE | Caminho do arquivo de status de mitigação① | Método de tratamento padrão | Método para desativar mitigações |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | Mitigação ativada por padrão | Mitigações forçadamente ativadas; não é possível desativá-las. | |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | Mitigação ativada por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | Mitigação ativada por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass | O kernel ativa automaticamente a mitigação com base nos recursos de hardware. | Adicione um dos seguintes parâmetros:
| |
/sys/devices/system/cpu/vulnerabilities/meltdown | Mitigação ativada por padrão | Adicione um dos seguintes parâmetros:
| |
/sys/devices/system/cpu/vulnerabilities/l1tf | Mitigação ativada por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/mds | Mitigação ativada por padrão | Adicione os seguintes parâmetros:
| |
/sys/devices/system/cpu/vulnerabilities/srbds | Mitigado por microcódigo do processador por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data | Mitigação ativada por padrão | Adicione os seguintes parâmetros:
| |
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort | Mitigação ativada por padrão | Adicione os seguintes parâmetros:
| |
/sys/devices/system/cpu/vulnerabilities/retbleed | Mitigação ativada por padrão | Adicione o parâmetro Nota Suportado apenas na versão do kernel | |
N/A | N/A | N/A | Adicione o parâmetro |
ARM64
CVE | Caminho do arquivo de status de mitigação① | Método de tratamento padrão | Método para desativar mitigações |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | Mitigação ativada por padrão | Mitigações forçadamente ativadas; não é possível desativá-las. | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | Mitigação ativada por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | Mitigação ativada por padrão | Adicione o parâmetro Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass | Mitigação ativada por padrão | Adicione o parâmetro | |
/sys/devices/system/cpu/vulnerabilities/meltdown | Mitigação ativada por padrão | Adicione o parâmetro | |
N/A | N/A | N/A | Adicione o parâmetro |
Alibaba Cloud Linux 2
CVE | Caminho do arquivo de status de mitigação① | Método de tratamento padrão | Método para desativar mitigações |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | Mitigação ativada por padrão | Mitigações forçadamente ativadas; não é possível desativá-las. | |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | Mitigação ativada por padrão | Adicione o parâmetro nospectre_v1=off. Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | Mitigação ativada por padrão (spectre_v2=auto) | Adicione um dos seguintes parâmetros:
Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass | Ativado se o processador suportar (spec_store_bypass_disable=auto) | Adicione um dos seguintes parâmetros:
Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/meltdown | Mitigação ativada por padrão | Adicione um dos seguintes parâmetros:
Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/l1tf | Apenas a mitigação | Adicione o parâmetro l1tf=off. Nota Suportado apenas na versão do kernel | |
/sys/devices/system/cpu/vulnerabilities/mds | Mitigação ativada por padrão | Adicione o parâmetro mds=off. Nota Suportado apenas na versão do kernel | |
N/A | N/A | N/A | Adicione o parâmetro |
① O arquivo de status de vulnerabilidade indica se a CPU da instância é vulnerável e qual mitigação, se houver, está ativa. Os estados possíveis são:
Not affected: A CPU atual não é afetada por esta vulnerabilidade.Vulnerable: A CPU é afetada, mas nenhuma mitigação está ativa.Mitigation: A CPU é afetada e uma mitigação de software está ativa.
Desativar mitigações
O exemplo a seguir mostra como desativar a mitigação spectre_v2 no Alibaba Cloud Linux 3.
-
Adicione o parâmetro
nospectre_v2àboot cmdlinepadrão do kernel para desativar a mitigação de segurança.sudo grubby --update-kernel=`sudo grubby --default-kernel` --args='nospectre_v2' -
Reinicie a instância para aplicar as alterações.
AvisoA reinicialização da instância interrompe seus serviços, o que pode afetar as operações comerciais. Antes de prosseguir, faça backup dos dados críticos e agende a reinicialização para horários de menor movimento.
sudo reboot -
Verifique o arquivo de status de vulnerabilidade e confirme a desativação da mitigação.
cd /sys/devices/system/cpu/vulnerabilities/ for i in `ls`;do echo -n $i": ";cat $i;doneA saída
spectre_v2: Vulnerable, mostrada abaixo, confirma que a mitigaçãospectre_v2está desativada.