CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre

Mesmo com as mitigações ‘Spectre’ existentes, as CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre.

As últimas gerações de processadores Intel, incluindo chips Xeon, e as microarquiteturas mais antigas da AMD no Linux são vulneráveis ​​a novos ataques de execução especulativa que ignoram as mitigações ‘Spectre‘ existentes.

CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre

CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre
CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre

As vulnerabilidades impactam as 12ª, 13ª e 14ª gerações de chips da Intel para consumidores e a 5ª e 6ª gerações de processadores Xeon para servidores, juntamente com os processadores Zen 1, Zen 1+ e Zen 2 da AMD.

Os ataques prejudicam a Indirect Branch Predictor Barrier (IBPB) em processadores x86, um mecanismo de defesa central contra ataques de execução especulativa.

A execução especulativa é um recurso de otimização de desempenho em CPUs modernas que executa instruções antes de saber se elas são necessárias para tarefas futuras, acelerando assim o processo quando a previsão está correta.

As instruções executadas com base na previsão incorreta são chamadas de transitórias e são esmagadas.

Este mecanismo tem sido uma fonte de riscos de canal lateral, como o Spectre, porque o processo de especulação chama dados sensíveis que podem ser recuperados do cache da CPU.

Novos ataques do tipo Spectre

Os pesquisadores Johannes Wikner e Kaveh Razavi da ETH Zurich explicam que, apesar do esforço de mitigação de vários anos para conter ataques do tipo Spectre, houve inúmeras variantes que ignoram as defesas existentes.

A contribuição deles é um ataque de processo cruzado (na Intel) e um ataque de PB-inception (na AMD) que permite sequestrar alvos de retorno especulativos mesmo após o IBPB ter sido aplicado, ignorando assim as proteções atuais e vazando informações sensíveis.

No primeiro caso, o ataque explora uma falha no microcódigo da Intel, onde o IBPB não invalida totalmente as previsões de retorno após uma troca de contexto.

O invasor manipula a execução especulativa de instruções de retorno, permitindo que previsões obsoletas vazem informações sensíveis, como o hash da senha root, de um processo suid.

Em processadores AMD, o IBPB-on-entry no kernel Linux é aplicado incorretamente, permitindo que o preditor de retorno retenha previsões obsoletas mesmo após o IBPB.

O invasor desvia o preditor de retorno antes que o IBPB seja acionado, sequestrando-o para vazar memória do kernel privilegiada após a barreira.

CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre
CPUs Intel e AMD no Linux são vulneráveis a ataques Spectre

Previsões de retorno na Intel e AMD permanecem vulneráveis ​​após o IBPB Fonte: ETH Zurich
Resposta e mitigações

Os pesquisadores informaram a Intel e a AMD sobre esses problemas em junho de 2024.

A Intel respondeu dizendo que já havia descoberto o problema internamente e atribuído a ele o identificador CVE-2023-38575.

A empresa lançou em março uma correção de microcódigo disponível por meio de uma atualização de firmware, mas os pesquisadores observam que o código não atingiu todos os sistemas operacionais, Ubuntu está entre eles.

A AMD também confirmou a vulnerabilidade e disse que a falha já havia sido documentada e rastreada como CVE-2022-23824. Vale a pena notar que o aviso da AMD inclui produtos Zen 3 como afetados, que não estão listados no artigo da ETH Zurich.

No entanto, a AMD classifica o problema como um bug de software, não uma falha de hardware. As arquiteturas mais antigas afetadas e o fato de a AMD ter descoberto o bug há muito tempo podem explicar a decisão da empresa de não emitir microcódigo corretivo.

Embora os dois fornecedores de CPU soubessem sobre o desvio do Spectre, as empresas os marcaram nos avisos como tendo um impacto potencial.

Com seu trabalho, os pesquisadores da ETH Zurich conseguiram demonstrar que o ataque funciona até mesmo no kernel Linux 6.5, que vem com defesas IBPB-on-entry que são consideradas as mais fortes contra a exploração do Spctre.

A equipe da ETH Zurich está trabalhando com os mantenedores do kernel Linux para desenvolver um patch para processadores AMD, que estará disponível aqui quando estiver pronto.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.