Indirector — um novo ataque de microarquitetura que afeta CPUs Intel Raptor Lake e Alder Lake

Pesquisadores da Universidade da Califórnia em San Diego apresentaram um novo método de ataque a estruturas microarquitetônicas de processadores Intel, aplicável entre outros a CPUs baseados nas microarquiteturas Raptor Lake e Alder Lake. O ataque, que recebeu o codinome Indirector, permite modificar o fluxo de execução especulativa de instruções em outros processos e em outros níveis de privilégio (por exemplo, no núcleo ou em outra máquina virtual), executados em um único thread de CPU com o código do atacante. Como demonstração do funcionamento do método, foi preparado um protótipo de exploit que permite determinar a disposição de endereços de memória para contornar o mecanismo de proteção ASLR (Address Space Layout Randomization). Além disso, sob licença MIT, foi publicado um conjunto de ferramentas desenvolvido para análise e engenharia reversa da lógica microarquitetônica da CPU.

Foram propostos dois métodos para organizar o ataque. O primeiro método baseia-se na distorção do conteúdo do buffer de previsão de saltos indiretos IBP (Indirect Branch Predictor), utilizado para prever saltos indiretos em condições onde o endereço ou deslocamento para o salto ainda não são conhecidos e são calculados nas instruções que antecedem a instrução de salto. O segundo método envolve o buffer de previsão de saltos BTB (Branch Target Buffer), que contém informações sobre saltos recentes.

Indirector - um novo ataque de microarquitetura que afeta CPUs Intel Raptor Lake e Alder Lake

Indirector - um novo ataque de microarquitetura que afeta CPUs Intel Raptor Lake e Alder Lake

As vulnerabilidades identificadas permitem que o atacante determine o conteúdo das entradas nos buffers IBP e BTB, que contêm endereços de saltos utilizados em processos externos, além de realizar a substituição de um endereço de salto arbitrário nas tabelas de dados dos buffers. Como resultado, o atacante pode redirecionar o fluxo de execução de um processo externo para um endereço desejado na memória durante a execução especulativa das instruções. Após a determinação de uma previsão incorreta, o resultado da execução especulativa será descartado, mas os endereços e dados lidos da memória durante o processo de execução especulativa ficarão armazenados no cache e poderão ser extraídos utilizando um dos métodos para determinar o conteúdo do cache com base na análise da variação do tempo de acesso a dados em cache e não em cache. A determinação de endereços exatos de saltos indiretos pode ser utilizada, na prática, para contornar o mecanismo de proteção ASLR.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster