Zephyrnet Logo

O ataque de execução especulativa 'GhostRace' afeta todos os fornecedores de CPU e sistema operacional

Data:

Pesquisadores da IBM e da VU Amsterdam desenvolveram um novo ataque que explora mecanismos de execução especulativos em processadores de computadores modernos para contornar verificações em sistemas operacionais contra o que é conhecido como condições de corrida.

O ataque aproveita uma vulnerabilidade (CVE-2024-2193) que os pesquisadores descobriram que afeta os processadores Intel, AMD, ARM e IBM. Ele funciona em qualquer sistema operacional, hipervisor e software que implemente primitivas de sincronização — ou controles integrados contra condições de corrida. Os pesquisadores apelidaram seu ataque de “GhostRace” e o descreveram em um artigo técnico divulgado esta semana.

“Nossa principal descoberta é que todas as primitivas de sincronização comuns podem ser contornadas microarquitetonicamente em caminhos especulativos, transformando todas as regiões críticas arquitetonicamente livres de corrida em condições de corrida especulativas (SRCs)”, disse o pesquisador. pesquisadores disseram.

Bugs de execução especulativa persistem apesar do escrutínio

Uma condição de corrida, como explicam os pesquisadores em seu artigo, pode surgir quando dois ou mais processos, ou threads, tentam acessar um recurso de computação compartilhado – como locais de memória ou arquivos – ao mesmo tempo. É uma causa relativamente comum de corrupção de dados e vulnerabilidades que levam a vazamentos de informações de memória, acesso não autorizado, negação de serviço e desvio de segurança.

Para mitigar o problema, os fornecedores de sistemas operacionais implementaram o que é conhecido como primitivos especulativos em seu software que controlam e sincronizam o acesso a recursos compartilhados. As primitivas, conhecidas por nomes como “mutex” e “spinlock”, funcionam para garantir que apenas um thread possa acessar ou modificar um recurso compartilhado por vez.

O que os pesquisadores da IBM e da VU Amsterdam descobriram foi uma maneira de contornar esses mecanismos, visando a execução especulativa ou o recurso de processamento fora de ordem nos processadores modernos. A execução especulativa envolve basicamente um processador que prevê o resultado de certas instruções e as executa antecipadamente, em vez de executá-las na ordem recebida. O objetivo é acelerar o tempo de processamento fazendo com que o processador trabalhe nas instruções subsequentes, mesmo enquanto aguarda o resultado das instruções anteriores.

A execução especulativa ganhou destaque em 2017, quando pesquisadores descobriram uma maneira de explorar a técnica para acessar informações confidenciais na memória do sistema — como senhas, chaves de criptografia e e-mails — e usar esses dados para novos ataques. As chamadas vulnerabilidades Spectre e Meltdown afetaram praticamente todos os microprocessadores modernos e provocaram uma revisão da arquitetura do microprocessador que, em muitos aspectos, ainda está em andamento.

Como parte de um esforço para ajudar os projetistas de microprocessadores e outras partes interessadas a proteger melhor os processadores contra vulnerabilidades como Spectre e Meltdown, o MITRE lançou em fevereiro de 2024 quatro novos enumeradores de fraquezas comuns (CWE) que descrever e documentar diferentes pontos fracos do microprocessador.

Uma nova versão de uma exploração conhecida

O ataque desenvolvido pelos pesquisadores da IBM e da VU Amsterdam depende de especulação de ramo condicional semelhante a um tipo de ataque Spectre. “Nossa principal descoberta é que todas as primitivas comuns (do lado da gravação) (i) carecem de serialização explícita e (ii) protegem a região crítica com uma ramificação condicional”, disseram os pesquisadores. Em outras palavras, eles descobriram que quando as primitivas de sincronização usam uma instrução “if” condicional para controlar o acesso a recursos compartilhados, elas ficam vulneráveis ​​a um ataque de execução especulativa.

“Em um ambiente de execução especulativo adversário, ou seja, com um invasor Spectre treinando incorretamente o ramo condicional, esses primitivos se comportam essencialmente como um ambiente autônomo”, observaram. “As implicações de segurança são significativas, pois um invasor pode executar especulativamente todas as regiões críticas do software vítima sem sincronização.”

Em uma postagem no blog, os pesquisadores observaram que informaram todos os principais fornecedores de hardware sobre sua descoberta, e os fornecedores, por sua vez, notificaram todos os fornecedores de sistemas operacionais e hipervisores afetados. Todos os fornecedores reconheceram o problema, disseram os pesquisadores.

Em uma assessoria, AMD recomendado que os desenvolvedores de software sigam seus orientação publicada anteriormente sobre como se proteger contra ataques do tipo Spectre.

local_img

Inteligência mais recente

local_img