Ataque da TSA vaza informações de estruturas microarquitetônicas de CPUs AMD

A AMD divulgou uma nova classe de ataques microarquitetônicos em seus processadores, chamada TSA (Transient Scheduler Attack). O ataque permite que um invasor contorne os mecanismos de isolamento da CPU e determine dados processados ​​em outros contextos, como do espaço do usuário para determinar informações processadas no nível do kernel, ou de um convidado para aprender dados usados ​​em outro convidado.

As vulnerabilidades foram descobertas durante o desenvolvimento de um kit de ferramentas criado por pesquisadores da Microsoft e da ETH Zurich para testar o isolamento da microarquitetura entre diferentes zonas de segurança, como o kernel, máquinas virtuais e processos.

O método de ataque baseia-se na dependência do tempo de execução de algumas instruções em relação ao estado das estruturas microarquitetônicas. Quando o processador espera uma conclusão rápida da instrução para ler dados da memória (por exemplo, assumindo que os dados estão no cache L1), mas não consegue obtê-los com sucesso, ocorre um estado de "conclusão falsa" da instrução. Nesse caso, mesmo antes de determinar esse estado, o processador pode agendar a execução especulativa de outras operações que dependem do resultado da execução da instrução para carregar da memória.

Como o carregamento não foi concluído, os dados associados a ele são invalidados pelo processador e a operação de carregamento é repetida posteriormente. As operações dependentes também são reexecutadas quando os dados corretos estão prontos. No entanto, a limpeza do pipeline não é realizada após a execução da instrução para a qual a condição de "conclusão falsa" foi corrigida, e os dados incorretos podem ser redirecionados para operações dependentes.

A execução dessas operações não altera o estado do cache e do TLB (Translation Lookaside Buffer), ou seja, os dados não podem ser restaurados usando métodos tradicionais de determinação do estado do cache. No entanto, esses dados afetam o tempo de execução de outras instruções. A análise do tempo de execução pode ser usada como fonte de vazamento de informações de estruturas microarquitetônicas remanescentes após a execução especulativa de outras operações.

Dependendo da fonte de extração de dados residuais, duas vulnerabilidades são identificadas:

  • CVE-2024-36350 (TSA-SQ — TSA Store Queue) — um vazamento do buffer de armazenamento temporário de operações de gravação (Store Queue), permitindo determinar o resultado da gravação de instruções na memória.
  • CVE-2024-36357 (TSA-L1 — TSA L1 Data Cache) — vazamento através do cache L1D.

As vulnerabilidades aparecem na família de processadores AMD (Fam19h) com base nas microarquiteturas Zen 3 e Zen 4. Por exemplo, o problema está presente nas séries de CPU AMD Ryzen 5000/6000/7000/8000, AMD EPYC Milan/Milan-X/Genoa/Genoa-X/Bergamo/Siena, AMD Instinct MI300A, AMD Ryzen Threadripper PRO 7000 WX, AMD EPYC Embedded 7003/8004/9004/97X4 e AMD Ryzen Embedded 5000/7000/V3000.

As alterações necessárias para bloquear a vulnerabilidade foram incluídas na atualização de microcódigo de dezembro e no firmware de Inicialização da Plataforma (PI) disponibilizado aos fabricantes de equipamentos originais (OEMs). Correções para proteger contra a vulnerabilidade foram submetidas para inclusão no kernel. Linux (A opção de linha de comando do kernel "tsa=off" é fornecida para desativar a proteção que afeta negativamente o desempenho.) Uma correção também foi adicionada ao hipervisor Xen. O bloqueio da vulnerabilidade requer uma atualização do microcódigo e a ativação do modo de proteção no nível do kernel ou do hipervisor.

Fonte: opennet.ru

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