Uma nova variante do ataque Zombieload aos processadores Intel foi identificada

Pesquisadores da Universidade Técnica de Graz (Áustria) descoberto informações sobre um novo método de ataque através de canais de terceiros Carga Zumbi 2.0 (CVE-2019-11135), que permite extrair informações confidenciais de outros processos, do sistema operacional, de máquinas virtuais e de enclaves protegidos (TEE, Trusted Execution Environment). O problema afeta apenas os processadores Intel. Componentes para bloquear o problema proposto Em ontem atualização de microcódigo.

O problema pertence à classe MDS (Microarchitectural Data Sampling) e é uma versão modernizada Publicados em maio ataques ZombieLoad. O ZombieLoad 2.0, como outros ataques MDS, depende da aplicação de técnicas de análise de canal lateral a dados em estruturas microarquiteturais (por exemplo, Line Fill Buffer e Store Buffer), que armazenam temporariamente os dados usados ​​no processo de execução de operações Load e Store). .

Nova variante de ataque Zombieload é baseado sobre o vazamento que ocorre durante a operação do mecanismo de interrupção assíncrona de operações (TAA, TSX Asynchronous Abort), implementado na extensão TSX (Transactional Synchronization Extensions), que fornece ferramentas para trabalhar com memória transacional, o que permite aumentar o desempenho de aplicativos multithread, eliminando dinamicamente operações de sincronização desnecessárias (transações atômicas suportadas que podem ser aceitas ou abortadas). Se interrompidas, as operações executadas na região da memória transacional serão revertidas.

A interrupção da transação ocorre de forma assíncrona e durante esse tempo outras threads podem acessar o cache, que também é usado na região de memória transacional descartada. Durante o tempo desde o início até a conclusão real de uma interrupção de transação assíncrona, é possível que surjam situações em que o processador, durante a execução especulativa de uma operação, possa ler dados de buffers microarquiteturais internos e transferi-los para a operação especulativa. O conflito será então detectado e a operação especulativa descartada, mas os dados permanecerão no cache e poderão ser recuperados usando técnicas de recuperação de cache de canal lateral.

O ataque se resume a abrir transações TSX e criar condições para sua interrupção assíncrona, durante as quais surgem condições para vazamento do conteúdo de buffers internos preenchidos especulativamente com dados de operações de leitura de memória realizadas no mesmo núcleo da CPU. O vazamento é limitado ao núcleo físico atual da CPU (no qual o código do invasor está sendo executado), mas como os buffers da microarquitetura são compartilhados entre diferentes threads no modo Hyper-Threading, é possível vazar operações de memória executadas em outros threads da CPU.

Ataque sujeito a alguns modelos da oitava, nona e décima gerações de processadores Intel Core, bem como Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W e a segunda geração Intel Xeon Scalable. Os novos processadores Intel baseados na microarquitetura Cascade Lake introduzidos em abril, que inicialmente não eram suscetíveis a ataques RIDL e Fallout, também são suscetíveis a ataques. Além do Zombieload 2.0, os pesquisadores também identificaram a possibilidade de contornar métodos de proteção propostos anteriormente contra ataques MDS, baseados no uso da instrução VERW para limpar o conteúdo dos buffers da microarquitetura ao retornar do kernel para o espaço do usuário ou ao transferir o controle para o sistema convidado.

O relatório da Intel afirma que em sistemas com carga heterogênea, a capacidade de realizar um ataque é difícil, uma vez que um vazamento de estruturas microarquitetônicas cobre toda a atividade do sistema e o invasor não pode influenciar a fonte dos dados extraídos, ou seja, só pode acumular informações que surgem como resultado de um vazamento e tentar identificar informações úteis entre esses dados, sem a capacidade de interceptar propositalmente dados associados a endereços de memória específicos. No entanto, pesquisadores publicaram explorar protótipo, rodando em Linux e Windows, e demonstrou a capacidade de usar um ataque para determinar o hash da senha do usuário root.
Talvez realizar um ataque de um sistema convidado para acumular dados que aparecem nas operações de outros sistemas convidados, do ambiente host, do hipervisor e dos enclaves Intel SGX.

Correções para bloquear a vulnerabilidade incluído na base de código do kernel Linux e incluído nas versões 5.3.11, 4.19.84, 4.14.154, 4.9.201 e 4.4.201. Atualizações de kernel e microcódigo também já foram lançadas para as principais distribuições (Debian, SUSE / openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). O problema foi identificado em abril e uma correção foi coordenada entre a Intel e os desenvolvedores do sistema operacional.

O método mais simples de bloquear o Zombieload 2.0 é desabilitar o suporte TSX na CPU. A correção proposta para o kernel Linux inclui várias opções de proteção. A primeira opção oferece o parâmetro “tsx=on/off/auto” para controlar se a extensão TSX está habilitada na CPU (o valor auto desabilita o TSX apenas para CPUs vulneráveis). A segunda opção de proteção é habilitada pelo parâmetro “tsx_async_abort=off/full/full,nosmt” e é baseada na limpeza de buffers de microarquitetura durante a troca de contexto (o sinalizador nosmt desabilita adicionalmente SMT/Hyper-Threads). Para verificar se um sistema é suscetível a vulnerabilidades, sysfs fornece o parâmetro “/sys/devices/system/cpu/vulnerabilities/tsx_async_abort”.

Além disso, o atualização microcódigo eliminado mais um vulnerabilidade (CVE-2018-12207) em processadores Intel, que também está bloqueado nas últimas atualização Núcleos Linux. Vulnerabilidade permite um invasor sem privilégios inicie uma negação de serviço, fazendo com que o sistema trave no estado “Erro de verificação de máquina”.
Ataque incluindo pode ser cometido do sistema convidado.

Fonte: opennet.ru

Adicionar um comentário