Vulnerabilidade no kernel do Linux 6.2 que pode ignorar a proteção contra ataques Spectre v2

Foi identificada uma vulnerabilidade no kernel Linux 6.2 (CVE-2023-1998) que desabilita a proteção contra ataques Spectre v2 que permitem acesso à memória de outros processos rodando em diferentes threads SMT ou Hyper Threading, mas no mesmo núcleo físico do processador. A vulnerabilidade, entre outras coisas, pode ser usada para organizar o vazamento de dados entre máquinas virtuais em sistemas em nuvem. O problema afeta apenas o kernel do Linux 6.2 e é causado por uma implementação incorreta de otimizações projetadas para reduzir a sobrecarga significativa ao aplicar proteção contra o Spectre v2. A vulnerabilidade foi corrigida no ramo experimental do kernel Linux 6.3.

No espaço do usuário, para proteger contra ataques Spectre, os processos podem desabilitar seletivamente a execução de instruções especulativas com prctl PR_SET_SPECULATION_CTRL ou usar a filtragem de chamada do sistema baseada em seccomp. De acordo com os pesquisadores que identificaram o problema, a otimização incorreta no kernel 6.2 deixou as máquinas virtuais de pelo menos um grande provedor de nuvem sem proteção adequada, apesar da inclusão do modo de bloqueio de ataque Spectre-BTI via prctl. A vulnerabilidade também se manifesta em servidores regulares com o kernel 6.2, que são inicializados usando a configuração “spectre_v2=ibrs”.

A essência da vulnerabilidade é que, ao escolher os modos de proteção IBRS ou eIBRS, as otimizações feitas desabilitaram o uso do mecanismo STIBP (Single Thread Indirect Branch Predictors), necessário para bloquear vazamentos ao usar a tecnologia multithreading simultânea (SMT ou Hyper-Threading). Ao mesmo tempo, apenas o modo eIBRS fornece proteção contra vazamento entre threads, mas não o modo IBRS, pois com ele o bit IBRS, que fornece proteção contra vazamentos entre núcleos lógicos, é limpo por questões de desempenho quando o controle retorna ao espaço do usuário, o que torna os threads do espaço do usuário não protegidos contra ataques da classe Spectre v2.

Fonte: opennet.ru

Adicionar um comentário