A Intel anunciou nesta segunda-feira (27) que vai lançar mais uma atualização para seus processadores, em uma terceira tentativa de mitigar a falha ZombieLoad descoberta em 2018. Ela é semelhante aos ataques Spectre e Meltdown, permitindo acessar dados confidenciais como senhas e histórico da web; e está presente em alguns modelos Xeon e Intel Core de 6ª, 7ª, 8ª e 10ª gerações.
Pesquisadores de várias universidades e empresas de segurança avisaram a Intel sobre a falha ZombieLoad em junho de 2018. Ela só lançou uma correção em maio de 2019, quando a vulnerabilidade foi divulgada ao público, mas o patch ainda estava incompleto e não fechava todas as brechas. Em novembro de 2019, foi publicada outra atualização para mitigar o problema.
E, “nas próximas semanas”, a Intel vai distribuir uma terceira correção: ela acaba com um método chamado L1DES (ou CacheOut) que pode ser usado para obter dados confidenciais do processador em conjunto com o ZombieLoad. Isso afeta os seguintes modelos:
Processadores afetados pela falha L1DES (CacheOut) | Modelo da família | Nível de revisão (stepping) |
1ª e 2ª gerações da família Intel Xeon Scalable baseadas no Skylake/Cascade Lake | 06_55H | <=7 |
6ª geração de processadores Intel Core, Intel Xeon E3-1500m v5 e E3-1200 v5 baseados no Skylake | 06_4EH, 06_5EH | todos |
7ª e 8ª gerações de processadores Intel Core baseados no Kaby Lake/Coffee Lake | 06_8EH | <=A |
7ª e 8ª gerações de processadores Intel Core baseados no Kaby Lake/Coffee Lake | 06_9EH | <=B |
Coffee Lake | 06_9EH | 0xC |
8ª geração de processadores Intel Core baseados no Whiskey Lake (ULT) | 06_8EH | 0xB |
Whiskey Lake (ULT refresh) | 06_8EH | 0xC |
Whiskey Lake (Desktop) | 06_9EH | 0xD |
10ª geração de processadores Intel Core baseados no Amber Lake Y | 06_8EH | C |
Processadores da Intel têm falha L1DES (CacheOut)
A atualização acaba com dois métodos que permitem usar a vulnerabilidade ZombieLoad, também chamada de MDS (amostragem de dados microarquiteturais). Ela está relacionada a um recurso chamado execução especulativa: basicamente, os processadores da Intel tentam adivinhar os comandos de um programa antes de serem solicitados, a fim de aumentar o desempenho.
O problema acontece quando a execução especulativa acessa um local inválido na memória: o processo é interrompido e o processador acessa dados arbitrários do buffer, que transmite conteúdo entre diversos componentes (como processador e cache).
Pesquisadores mostraram que um invasor consegue provocar erros na execução especulativa e acessar os dados do buffer, incluindo senhas, chaves de criptografia e outros dados sensíveis.
Para resolver isso, a Intel mudou o microcódigo dos processadores: eles passam a limpar os dados confidenciais do buffer quando alternam de um processo para outro. No entanto, outra falha permite forçar a gravação de informações no buffer para então acessá-las; ela se chama CacheOut ou L1DES (amostragem por despejo de dados no L1, na sigla em inglês).
O L1DES envolve utilizar o cache L1 presente no processador: é possível enchê-lo a ponto de que alguns dados sejam despejados no buffer. Feito isso, você usa o ZombieLoad para acessar essas informações. Isso não é algo simples e não pode ser feito através de navegadores web (como era o caso do Spectre), mas pode ser utilizado por malware.
A Intel está fechando mais essa brecha, porém não resolveu o problema como um todo. Daniel Genkin, da Universidade do Michigan (EUA), diz à Wired que a empresa é reativa e só corrige algo quando é alertada por pesquisadores, em vez de ir atrás da fonte dessas falhas.
Cristiano Giuffrida, pesquisador da Universidade Livre de Amsterdã (Holanda), tem uma opinião semelhante: “esses problemas não são triviais de corrigir, mas depois de dezoito meses, eles ainda estão esperando que os pesquisadores reúnam provas de conceito de cada pequena variação do ataque para eles?”.
Com informações: Intel, Wired.