Uma nova vulnerabilidade, apelidada de "Branch Privilege Injection" e identificada como CVE-2024-45332, foi descoberta em todos os processadores Intel modernos. Esta falha permite que atacantes consigam aceder e extrair dados sensíveis de regiões de memória que deveriam estar protegidas e alocadas a software privilegiado, como o kernel do sistema operativo.
Estas áreas de memória são críticas, pois frequentemente contêm informações como palavras-passe, chaves criptográficas, dados de outros processos e estruturas internas do kernel. A sua proteção é, por isso, fundamental para a segurança de qualquer sistema.
Investigadores da ETH Zurich, nomeadamente Sandro Rüegge, Johannes Wikner e Kaveh Razavi, revelaram que, embora as mitigações para a conhecida falha Spectre v2 tenham resistido durante seis anos, a sua mais recente técnica de exploração, denominada "Branch Predictor Race Conditions", consegue contorná-las eficazmente.
Como funciona a "Branch Privilege Injection"?
A falha CVE-2024-45332 reside numa condição de corrida no subsistema dos preditores de ramificação (branch predictors) utilizados nos CPUs Intel. Componentes de hardware especializados, como o Branch Target Buffer (BTB) e o Indirect Branch Predictor (IBP), tentam adivinhar o resultado de uma instrução de ramificação antes que esta seja efetivamente resolvida. O objetivo é manter o pipeline do processador sempre ocupado, otimizando o desempenho.
Estas previsões são de natureza especulativa, o que significa que são revertidas caso se revelem incorretas. No entanto, se estiverem certas, o desempenho do CPU aumenta. Os investigadores descobriram que as atualizações do preditor de ramificação da Intel não estão sincronizadas com a execução das instruções, o que pode levar a que estas atualizações atravessem fronteiras de privilégio.
Quando ocorre uma mudança de privilégio, por exemplo, do modo de utilizador para o modo de kernel, existe uma pequena janela de oportunidade durante a qual a atualização do preditor é associada ao nível de privilégio errado. Consequentemente, o isolamento entre o utilizador e o kernel é quebrado, permitindo que um utilizador não privilegiado consiga extrair dados de processos com privilégios elevados.
Demonstração e eficácia do ataque
A equipa da ETH Zurich desenvolveu uma exploração que treina o CPU para prever um alvo de ramificação específico. De seguida, realiza uma chamada de sistema para mover a execução para o kernel do sistema operativo. Isto leva a uma execução especulativa utilizando o alvo ("gadget") controlado pelo atacante.
Este código malicioso acede a dados secretos que são carregados para a cache do processador. Utilizando um método de canal lateral, o conteúdo desses dados é então extraído e enviado para o atacante. Os investigadores demonstraram com sucesso o seu ataque num sistema com Ubuntu 24.04, com as mitigações padrão ativas, conseguindo ler o conteúdo do ficheiro /etc/shadow/
, que armazena as palavras-passe "hasheadas" das contas de utilizador. A exploração atingiu taxas de fuga de dados de até 5,6 KB/segundo com uma precisão de 99,8%.
Processadores Intel afetados e impacto
A vulnerabilidade CVE-2024-45332 afeta todos os processadores Intel desde a nona geração, o que inclui as famílias Coffee Lake, Comet Lake, Rocket Lake, Alder Lake e Raptor Lake. "Todos os processadores Intel desde a 9ª geração (Coffee Lake Refresh) são afetados pela Branch Privilege Injection," explicaram os investigadores. "No entanto, observámos previsões a contornar a Indirect Branch Prediction Barrier (IBPB) em processadores tão antigos como os da 7ª geração (Kaby Lake)."
A equipa da ETH Zurich não testou gerações mais antigas de processadores Intel, mas como estes não suportam a tecnologia Enhanced Indirect Branch Restricted Speculation (eIBRS), são menos relevantes para esta exploração específica e, provavelmente, mais suscetíveis a ataques do tipo Spectre v2 mais antigos.
Foram também examinados processadores Arm Cortex-X1, Cortex-A76 e AMD Zen 4 e Zen 5, mas estes não apresentaram o mesmo comportamento assíncrono no preditor de ramificação, não sendo, por isso, vulneráveis à CVE-2024-45332.
Disponibilidade de correções e recomendações
Embora a demonstração do ataque tenha sido realizada em Linux, a falha reside ao nível do hardware, o que significa que é teoricamente explorável também em sistemas Windows.
Os investigadores reportaram as suas descobertas à Intel em setembro de 2024. A gigante tecnológica já lançou atualizações de microcódigo que mitigam a CVE-2024-45332 nos modelos afetados. As mitigações ao nível do firmware introduzem um impacto no desempenho de cerca de 2,7%, enquanto as mitigações baseadas em software podem ter um impacto entre 1,6% e 8,3%, dependendo do CPU.
Para os utilizadores comuns, o risco é considerado baixo, e os ataques requerem múltiplos pré-requisitos complexos para se tornarem cenários de exploração realistas. Ainda assim, é fortemente recomendado aplicar as atualizações mais recentes de BIOS/UEFI e do sistema operativo.
A ETH Zurich irá apresentar todos os detalhes técnicos da sua exploração num artigo científico no próximo evento USENIX Security 2025.
Nenhum comentário
Seja o primeiro!