[ 229,037 page views, 81,838 usuários - média últimos 90 dias ] - [ 5.767 assinantes na newsletter, taxa de abertura 27% ]

CPUs Intel vulneráveis a novo tipo de ataque de canal lateral 

Um novo ataque de canal lateral a CPUs Intel foi descoberto por pesquisadores da Universidade de Tsinghua, Universidade de Maryland e de um laboratório de informática ligado a Universidade dos Correios e Telecomunicações de Pequim (Bupt). Diferentemente da maioria dos demais ataques de canal lateral, que dependem do sistema de cache, o novo ataque aproveita uma falha na execução transitória que possibilita a extração de dados da memória do computador por meio da análise de tempo.

O ataque funciona como um canal lateral para o Meltdown, uma falha crítica de segurança descoberta em 2018 que afeta muitos microprocessadores baseados em x86. O Meltdown explora um recurso de otimização de desempenho chamado “execução especulativa” para permitir que invasores ignorem os mecanismos de isolamento de memória para acessar dados armazenados na memória do kernel, como senhas, chaves de criptografia e outros dados privados.

O Meltdown foi amplamente mitigado por meio de patches de software, atualizações de microcódigo e reprojetos de hardware. No entanto, nenhuma solução resolveu o problema 100% e o método de ataque mais recente pode funcionar mesmo em sistemas totalmente corrigidos, dependendo das configurações de hardware, software e patch.

O novo ataque de canal lateral foi apresentado em um artigo técnico publicado no Arxiv.org e descreve uma falha na alteração do registro EFLAGS  em execução transitória, afetando o tempo das instruções JCC (jump on condition code). O EFLAGS é um registrador da CPU que contém vários sinalizadores relacionados ao estado do processador, enquanto a instrução JCC é uma instrução da CPU que permite desvio condicional com base no conteúdo do registrador EFLAGS.

O ataque é realizado em duas fases, sendo a primeira para disparar a execução transiente e codificar dados através do registrador EFLAGS, e a segunda é medir o tempo de execução da instrução JCC para decodificar os dados.

Dados experimentais mostraram que o ataque alcançou 100% de recuperação de dados (vazamento) para o Intel i7-6700 e Intel i7-7700 e teve algum sucesso contra a CPU Intel i9-10980XE mais recente. O experimento foi conduzido no Ubuntu 22.04 jammy com kernel Linux versão 5.15.0.

Veja isso
Bug em CPUs Intel e AMD permite o roubo de chaves criptográficas
Mitigação do Retbleed degrada em até 70% CPUs Intel

No entanto, os pesquisadores observam que esse ataque de tempo não é tão confiável quanto os métodos de canal lateral do estado do cache e, para obter resultados melhores em chips recentes, o ataque teria que ser repetido milhares de vezes. “Em nosso experimento, descobrimos que a influência do registro EFLAGS no tempo de execução da instrução JCC não é tão persistente quanto o estado do cache”, diz o relatório elaborado pelos pesquisadores. 

Os pesquisadores admitem que as causas do ataque permanecem indefinidas e levantam a hipótese de que há um buffer na unidade de execução da CPU Intel, que precisa de tempo para reverter se a execução for interrompida, um processo que causa uma parada se a instrução seguinte depende no alvo do buffer. No entanto, eles ainda propõem algumas mitigações não triviais, como alterar a implementação da instrução JCC para tornar impossível a medição da execução pelo invasor sob qualquer condição ou reescrever o EFLAGS após a execução transitória para reduzir sua influência sobre a instrução JCC. Com agências de notícias internacionais.