L1DES (CacheOut) e VRS – novas vulnerabilidades em estruturas microarquitetônicas de CPUs Intel

Intel descoberto informações sobre duas novas vulnerabilidades em CPUs Intel causadas por vazamento de dados do cache L1D (CVE-2020-0549, L1DES - Amostragem de Despejo L1D) e registros vetoriais (CVE-2020-0548, VRS - Amostragem de Registro Vetorial). Vulnerabilidades pertencem à classe MDS (Microarchitectural Data Sampling) e baseiam-se na aplicação de métodos de análise de canal lateral a dados em estruturas microarquiteturais. AMD, ARM e outros processadores não são afetados por problemas.

O maior perigo é a vulnerabilidade L1DES, que admite acomodação dos blocos de dados armazenados em cache (cache line), despejados do cache de primeiro nível (L1D), no Fill Buffer, que nesta fase deverá estar vazio. Para determinar os dados que foram depositados no buffer de enchimento, podemos usar métodos de análise de canal lateral propostos anteriormente em ataques MDS (Amostragem de Dados Microarquiteturais) e TAA (Aborto Assíncrono Transacional). A essência da proteção anteriormente implementada contra
MDS e TAA liberam buffers de microarquitetura antes da troca de contexto, mas acontece que, sob algumas condições, os dados são descarregados especulativamente em buffers após a operação de liberação, portanto, os métodos MDS e TAA permanecem aplicáveis.

L1DES (CacheOut) e VRS – novas vulnerabilidades em estruturas microarquitetônicas de CPUs Intel

Como resultado, um invasor pode detectar dados removidos do cache de primeiro nível que foram alterados durante a execução de um aplicativo que anteriormente ocupava o núcleo atual da CPU ou de aplicativos executados em paralelo em outros threads lógicos (hiperthread) na mesma CPU. core (desativar o HyperThreading não reduz a eficácia do ataque). Ao contrário do ataque L1TFO L1DES não permite a seleção de endereços físicos específicos para inspeção, mas fornece a capacidade de monitorar passivamente a atividade em outros threads lógicos associados ao carregamento ou armazenamento de valores na memória.

Com base no L1DES, várias equipes de pesquisa desenvolveram diversas variantes de ataque que podem potencialmente extrair informações confidenciais de outros processos, do sistema operacional, de máquinas virtuais e de enclaves SGX protegidos.

  • Equipe VUSec adaptado Método de ataque RIDL para a vulnerabilidade L1DES. Disponível explorar protótipo, que também ignora o método de proteção MDS proposto pela Intel, que é baseado no uso da instrução VERW para limpar o conteúdo dos buffers microarquitetônicos ao retornar do kernel para o espaço do usuário ou ao transferir o controle para o sistema convidado (os pesquisadores inicialmente insistiram que VERW (limpando microarquitetura buffers) para proteção é insuficiente e requer uma limpeza completa do cache L1 em ​​cada troca de contexto).
  • Equipe ZombieLoad atualizei meu método de ataque tendo em conta a vulnerabilidade L1DES.
  • Pesquisadores da Universidade de Michigan desenvolveram seu próprio método de ataque Cache Out (PDF), que permite extrair informações confidenciais do kernel do sistema operacional, máquinas virtuais e enclaves SGX protegidos. O método é baseado em manipulações com um mecanismo de interrupção assíncrona de operações (TAA, TSX Asynchronous Abort) para determinar o conteúdo do buffer de preenchimento após um vazamento de dados do cache L1D.

    L1DES (CacheOut) e VRS – novas vulnerabilidades em estruturas microarquitetônicas de CPUs Intel

Segunda vulnerabilidade VRS (amostragem de registro vetorial) conectado com vazamento no buffer de armazenamento (Store Buffer) dos resultados das operações de leitura de registros vetoriais alterados durante a execução de instruções vetoriais (SSE, AVX, AVX-512) no mesmo núcleo da CPU. O vazamento ocorre sob um conjunto bastante raro de circunstâncias e é causado pelo fato de que uma operação especulativa que resulta na reflexão do estado dos registradores vetoriais no buffer de armazenamento é atrasada e concluída após a limpeza do buffer, e não antes dele. Semelhante à vulnerabilidade L1DES, o conteúdo do buffer de armazenamento pode então ser determinado usando técnicas de ataque MDS e TAA.

Pesquisadores do grupo VUSec подготовили explorar protótipo, que permite determinar os valores dos registros vetoriais obtidos como resultado de cálculos em outro thread lógico do mesmo núcleo da CPU. Empresa Intel estimado A vulnerabilidade VRS foi considerada muito complexa para realizar ataques reais e recebeu um nível mínimo de severidade (2.8 CVSS).

Os problemas foram relatados à Intel em maio de 2019 pela equipe Zombieload da Universidade Técnica de Graz (Áustria) e pela equipe VUSec da Universidade Livre de Amsterdã, e as vulnerabilidades foram posteriormente confirmadas por vários outros pesquisadores após analisar outros vetores de ataque MDS. O primeiro relatório do MDS não incluiu informações sobre os problemas do L1DES e VRS devido à falta de solução. A correção não está disponível agora, mas o período de não divulgação acordado expirou.
Como solução alternativa, é recomendável desabilitar o HyperThreading. Para bloquear a vulnerabilidade no lado do kernel, propõe-se redefinir o cache L1 em ​​cada troca de contexto (bit MSR MSR_IA32_FLUSH_CMD) e desabilitar a extensão TSX (bits MSR MSR_IA32_TSX_CTRL e MSR_TSX_FORCE_ABORT).

Intel promessas lançar uma atualização de microcódigo com a implementação de mecanismos para bloquear problemas em um futuro próximo. A Intel também observa que o uso de métodos de proteção contra ataques propostos em 2018 L1TF (L1 Terminal Fault) permite bloquear a exploração da vulnerabilidade L1DES de ambientes virtuais. Ataque sujeito a Processadores Intel Core a partir da sexta geração (Sky, Kaby, Coffee, Whiskey, Amber Lake, etc.), bem como alguns modelos Intel Xeon e Xeon Scalable.

Além disso, pode-se notar melhoria explorar, permitindo que você use métodos de ataque RIDL para determinar o conteúdo do hash da senha root de /etc/shadow durante tentativas periódicas de autenticação. Se a exploração proposta originalmente determinasse o hash da senha em 24 horas, e após aplicar o vazamento durante a operação do mecanismo de interrupção assíncrona (TAA, TSX Asynchronous Abort) realizou uma operação semelhante em segundo 36, então a nova variante ataca em 4 segundos.

Fonte: opennet.ru

Adicionar um comentário