O funcionário do Google, Daniel Moghimi, descobriu uma vulnerabilidade nos processadores Intel que permite o roubo de chaves de criptografia, senhas, e-mails e mensagens e dados bancários. O problema afeta chips desde Skylake até desktop Alder Lake e servidor Ice Lake, ou seja, até soluções da penúltima geração. A vulnerabilidade Downfall (INTEL-SA-00828) é explorada por meio das instruções AVX2 e AVX-512 por meio de um ataque que a Intel chamou de Gather Data Sampling (GDS).
Fonte da imagem: Christian Wiediger / unsplash.com
A vulnerabilidade está associada às instruções vetoriais AVX2 e AVX-512 e é implementada durante a coleta de dados. Mogimi afirma que seus métodos de ataque Downfall usam a instrução de coleta, que “mescla o conteúdo de um arquivo de registro de vetor interno durante a execução especulativa”. O Gather faz parte das otimizações de memória nos processadores Intel e é usado para acelerar o acesso a dados diferentes na memória. No entanto, como explica Mogimi, “a instrução de coleta parece usar um buffer temporário compartilhado entre threads da CPU e passar dados para instruções dependentes posteriores, com os dados pertencentes a outro processo e execução de coleta em execução no mesmo núcleo”.
Mogimi desenvolveu duas técnicas de ataque Downfall: Gather Data Sampling (GDS) e Gather Value Injection (GVI) – combinando GDS com a técnica Load Value Injection (LVI). Usando a técnica GDS, Mogimi conseguiu roubar chaves criptográficas AES de 128 e 256 bits separadas da máquina virtual que ele controlava, com cada máquina virtual rodando em threads separados do mesmo núcleo do processador. Em menos de 10 segundos, 8 bytes por vez, o pesquisador conseguiu roubar as chaves AES e combiná-las para quebrar a criptografia.
Como você pode ver, a vulnerabilidade é facilmente reproduzida em laboratório, mas não permite que você roube propositalmente determinados dados na memória, limitando-se apenas ao que está no contexto disponível. A queda será parcialmente neutralizada pelo método de software – agora a Intel está coordenando o lançamento do microcódigo com parceiros de firmware e sistema operacional. A vulnerabilidade tem alta prioridade, portanto, por padrão, o fragmento que a corrige estará ativo, mas os administradores do sistema poderão desativá-lo se necessário – esta opção estará disponível no Windows, Linux e VMM. Em infraestruturas de nuvem, o problema terá que ser resolvido por meio do provedor de serviços.
Na maioria das cargas de trabalho, o microcódigo atualizado não afeta o desempenho do processador, mas se estamos falando de cargas associadas às instruções AVX2 e AVX-512 vulneráveis, então pode ser perceptível, reconhecido pela Intel – essas instruções são mais procuradas no campo de computação de alto desempenho (HPC). Notavelmente, a Intel posicionou o conjunto AVX-512 como uma vantagem competitiva crítica, mas agora teve que afirmar que a maioria das cargas de trabalho não usa o recurso intensamente e não espera um impacto significativo no desempenho.
A vulnerabilidade Downfall só é explorada quando outro usuário está no mesmo núcleo do processo de destino, acrescentou a Intel. Assim, os sistemas em nuvem correm um perigo muito maior do que os de desktop. Em teoria, com muitas cargas de trabalho de HPC, os núcleos individuais são alocados para usuários individuais, o que significa que a opção que corrige a vulnerabilidade pode ser desativada para retornar ao desempenho total. Em geral, se você tiver cargas de trabalho AVX2 e AVX-512 significativas, é recomendável realizar medições de desempenho com a opção ativada e desativada, avaliar os riscos associados à vulnerabilidade e tomar uma decisão final.
A Intel listou quais processos foram afetados pela vulnerabilidade Downfall:
- семейство Skylake (Skylake, Cascade Lake, Cooper Lake, Amber Lake, Kaby Lake, Coffee Lake, Whiskey Lake, Comet Lake);
- Família Tiger Lake;
- Família Ice Lake (Ice Lake, Rocket Lake).
Estamos falando de processadores de desktop e servidor. A fabricante destacou que os chips Sapphire Rapids de última geração não foram afetados pela vulnerabilidade. Raptor Lake também parece não ter sido afetado.