CPUs Intel estão vulneráveis a novo ataque conhecido como Snoop | SempreUpdate
As CPUs da Intel estão vulneráveis a um novo ataque chamado Snoop que pode vazar dados da memória interna da CPU (também conhecida como cache).
O ataque, descrito como Amostragem de dados L1 assistida por Snoop ou apenas Snoop (CVE-2020-0550), foi descoberto por Pawel Wieczorkiewicz, engenheiro de software da Amazon Web Services (AWS).
CPUs Intel estão vulneráveis ao ataque Snoop
Wieczorkiewicz relatou o problema à Intel e, após mais investigações, a empresa concluiu que os patches lançados em agosto de 2018 para a vulnerabilidade Foreshadow (L1TF) também se aplicam a esse novo ataque.
Uma lista de processadores Intel vulneráveis ao ataques Snoop está disponível aqui. A lista inclui as séries Intel, como processadores Core e Xeon.
No nível técnico, o novo ataque Snoop tira proveito dos mecanismos da CPU, como vários níveis de cache, cache coherence e bus snooping. Abaixo está uma explicação simples e não técnica de por que o ataque existe e como ele funciona.
CPUS, níveis de cache, cache coherence e bus snooping
Atualmente, a maioria dos processadores modernos tem vários níveis de memória (cache) à disposição para armazenar dados enquanto estão sendo processados dentro da CPU.
Dependendo das especificações da CPU, pode haver um cache de Nível 1 (L1), Nível 2 (L2) e até mesmo um Nível 3 (L3).
O nível de cache mais usado é o L1, que é dividido em dois. Uma parte é alocada para o processamento de dados do usuário (L1D) e a outra para lidar com o código de instrução da CPU (L1I).
Imagem: Kartik Khare | Medium.
Por causa das arquiteturas com vários núcleos e dos níveis de vários caches, os dados geralmente são armazenados dentro de vários caches de CPU de uma só vez e até dentro da RAM.
O cache coherence é o processo que mantém todos os níveis de cache em sincronia, para que L2, L3 e RAM tenham os mesmos dados que estão no cache L1D, o local onde geralmente é alterado primeiro.
Bus snooping é a operação pela qual a CPU atualiza todos os níveis de cache quando ocorre uma alteração no L1D.
Wieczorkiewicz descobriu que, sob certas condições, código malicioso poderia acessar o bus snooping e acionar erros que vazam dados do processo de cache coherence, ou seja, os dados do cache que estão sendo modificados no cache L1D e vazam os dados da memória interna da CPU.
Difícil de reproduzir o ataque no mundo real
A principal desvantagem desse ataque é que o código malicioso executado no núcleo da CPU pode vazar dados dos outros núcleos. Dessa forma, isso torna-se um problema na computação em nuvem e em ambientes virtualizados.
A boa notícia é que esse ataque é incrivelmente difícil de realizar. Ainda mais, ele não retorna grandes quantidades de dados (ao contrário das vulnerabilidades originais Meltdown e Spectre).
Além disso, a Intel diz que o ataque exige condições difíceis de satisfazer no mundo real.
Devido aos inúmeros requisitos complexos que devem ser atendidos, a Intel não acredita que o Snoop Assisted L1 Data Sampling seja um método prático em ambientes do mundo real em que o sistema operacional é confiável.
Para usuários que executam sistemas de alto risco, o fabricante de chips recomenda aplicar os patches Foreshadow (L1TF), lançados em agosto de 2018.
Além disso, a desativação do recurso Intel TSX (Transactional Synchronization Extensions) também reduz bastante a superfície de ataque e dificulta ainda mais os ataques Snoop.
O ataque Snoop pode ser difícil de realizar, mas ainda é importante porque expõe um novo vetor de ataque em uma área da arquitetura moderna de CPU que nunca foi sondada como uma superfície potencial de ataque.