O pesquisador do Google Daniel Moghimi diz que os novos ataques Downfall roubam chaves de criptografia e dados confidenciais de CPUs Intel.
Um pesquisador sênior do Google criou novos ataques de CPU para explorar uma vulnerabilidade chamada Downfall, que afeta várias famílias de microprocessadores Intel e permite roubar senhas, chaves de criptografia e dados privados como e-mails, mensagens ou informações bancárias de usuários que compartilham o mesmo computador.
Novos ataques Downfall roubam chaves de criptografia e dados
Rastreada como CVE-2022-40982, a falha é um problema de canal lateral de execução transitória e afeta todos os processadores baseados nas microarquiteturas Intel Skylake até Ice Lake.
Um agente de ameaça que explora o problema de segurança pode extrair informações confidenciais protegidas pelo Software Guard eXtensions (SGX), a criptografia de memória baseada em hardware da Intel que separa o código da memória e os dados do software no sistema.
Atualmente, o SGX é suportado apenas em unidades de processamento central do servidor e oferece um ambiente isolado confiável para software que nem mesmo o sistema operacional pode acessar.
Daniel Moghimi, o pesquisador do Google que descobriu a vulnerabilidade e a relatou de forma responsável à Intel, diz que suas técnicas de ataque Downfall aproveitam a instrução de coleta que “vaza o conteúdo do arquivo de registro de vetor interno durante a execução especulativa”.
O Gather faz parte das otimizações de memória nos processadores Intel, usado para acelerar o acesso a dados dispersos na memória. No entanto, como Moghimi explica em um artigo técnico publicado recentemente:
“A instrução de coleta parece usar um buffer temporal compartilhado entre threads de CPU irmãos e encaminha dados temporariamente para instruções dependentes posteriores, e os dados pertencem a um processo diferente e reúnem a execução em execução no mesmo núcleo.”
Moghimi desenvolveu duas técnicas de ataque Downfall, Gather Data Sampling (GDS) – que também é o nome que a Intel usa para se referir ao problema e Gather Value Injection (GVI) – que combina GDS com a técnica Load Value Injection (LVI) divulgada em 2020.
Usando a técnica GDS, Moghimi conseguiu roubar chaves criptográficas AES de 128 bits e 256 bits em uma máquina virtual (VM) separada da controlada, com cada sistema em threads irmãos do mesmo núcleo de CPU.
Em menos de 10 segundos, oito bytes por vez, o pesquisador conseguiu roubar as chaves redondas do AES e combiná-las para quebrar a criptografia.
“Para 100 chaves diferentes, a primeira execução do ataque foi 100% bem-sucedida para o AES-128. A primeira execução do ataque teve 86% de sucesso para o AES-256.”
O pesquisador observa que as tentativas fracassadas significam que a recuperação da chave inteira exigia a execução do ataque várias vezes porque os dados da chave mestra não apareciam com alta frequência em 10 segundos.
Além das chaves de criptografia, o Moghimi fornece variantes do ataque GDS que podem roubar dados arbitrários em repouso devido a duas condições em que a CPU pré-busca esse tipo de informação nos buffers de registro do SIMD.
Avaliação de ameaças e impacto no desempenho do microcódigo
Os ataques de queda exigem que um invasor esteja no mesmo núcleo do processador físico que a vítima, um contexto fornecido pelo modelo de computação compartilhada de hoje, observa Moghimi.
No entanto, um programa local, como malware, pode explorar a falha para roubar informações confidenciais.
A Intel aprendeu sobre a vulnerabilidade Downfall/GDS em agosto passado e colaborou com Moghimi nas descobertas. Uma atualização de microcódigo agora está disponível para atenuar o problema.
Detalhes sobre a vulnerabilidade permaneceram privados por quase um ano para dar tempo aos fabricantes de equipamentos originais (OEMs) e provedores de serviços de comunicação (CSPs) para testar e validar a solução, bem como preparar as atualizações necessárias para seus clientes.
A Intel disse que o problema não afeta Alder Lake, Raptor Lake e Sapphire Rapids e que o Downfall afeta as três famílias de processadores a seguir:
- Família 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)
Vivek Tiwari, vice-presidente de remediação e engenharia de resposta da Intel, acredita que “tentar explorar isso fora de um ambiente de laboratório controlado seria uma tarefa complexa”.
Em uma declaração para a BleepingComputer, a Intel disse que os clientes podem revisar a orientação de avaliação de risco da empresa e decidir desabilitar a mitigação de microcódigo por meio de mecanismos disponíveis no Windows e Linux, bem como gerenciadores de máquinas virtuais (VMMs).
Tal decisão pode ser motivada por preocupações sobre possíveis problemas de desempenho da mitigação de Downfall/GDS ou porque o problema não representa uma ameaça ao meio ambiente.
A Intel fornece aos clientes informações sobre avaliação de ameaças e análise de desempenho, o que conclui que o impacto do problema em determinados ambientes pode ser mínimo.
Existe um impacto potencial em condições em que as instruções de coleta são frequentemente executadas, que é específico para ambientes de computação de alto desempenho (HPC).
No entanto, o fabricante de chips diz que o problema pode não ser considerado uma ameaça em um contexto de HPC devido às condições do ataque e à configuração típica desses ambientes.
“Por exemplo, um invasor precisaria estar executando no mesmo núcleo físico do alvo e ser capaz de executar código não confiável, entre outras coisas, que não são comuns nesses ambientes” – Intel
Mitigações baseadas em software
Eliminar o risco de ataques Downfall/GDS requer um redesenho de hardware, que tem um custo que o setor ainda não está disposto a pagar.
Existem alternativas baseadas em software, embora venham com ressalvas e sejam soluções temporárias para o problema. Moghimi propõe quatro dessas alternativas, três delas com desvantagens significativas:
- Desativar o multithreading simultâneo (SMT) pode mitigar parcialmente os ataques GDS e GVI, mas cortar o hyperthreading vem com uma perda de 30% no desempenho e ainda ocorrem vazamentos na troca de contexto
- Não permitir instruções afetadas por meio do sistema operacional e do compilador para evitar que eles vazem segredos para serem coletados ; a desvantagem é que alguns aplicativos podem ser interrompidos e o vazamento ainda acontece se algumas instruções forem perdidas
- Desativando a coleta. A desvantagem aqui é que os aplicativos que usam a instrução podem ficar lentos ou até quebrar
- Prevenir o encaminhamento de dados transitórios após a instrução de coleta (adicionando um limite de carga, por exemplo, a instrução lfence ) pode atenuar o Downfall e é a solução que a Intel adotou com a atualização de microcódigo mais recente
Moghimi adverte, porém, que sem eliminar a causa raiz do problema “os testes automatizados podem praticamente encontrar novas vulnerabilidades nas CPUs”.
Tais ferramentas não são fáceis de criar porque precisam cobrir melhor o hardware e as instruções suportadas, uma tarefa desafiadora dada a complexidade do hardware e as barreiras proprietárias.
O pesquisador liberou o código do Downfall aqui para que outros possam revisá-lo e experimentá-lo.
Daniel Moghimi está programado para falar sobre a vulnerabilidade Downfall e técnicas de ataque na conferência de segurança Black Hat USA amanhã.
A Intel lançou um comunicado de segurança para CVE-2022-40982, atualmente com uma classificação de gravidade média de 6,5. Um documento técnico da empresa também está disponível junto com uma entrevista com Moghimi sobre Downfall.