Foi descoberto um novo hack de canal lateral que afeta várias gerações de processadores Intel. Este método de ataque permite extrair dados confidenciais através do registro EFLAGS e análise do tempo de execução da instrução. Na verdade, este é um desdobramento da vulnerabilidade Meltdown, que foi descoberta em 2018 e afeta muitos microprocessadores baseados em x86 e, posteriormente, várias vulnerabilidades desse tipo foram descobertas.

Fonte da imagem: freepik

De acordo com pesquisadores da Universidade de Tsinghua e da Universidade de Maryland, o novo hack explora uma vulnerabilidade de execução temporal que permite que dados confidenciais sejam extraídos do espaço da memória do usuário por meio de análise temporal.

Os pesquisadores acreditam que o hack é uma falha na alteração do registro EFLAGS na execução transitória que afeta o tempo das instruções JCC (salto no código de condição). O registro EFLAGS é um registro 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 registro EFLAGS. O ataque é realizado em duas etapas: a primeira é lançar uma execução temporária e codificar os dados secretos por meio do registrador EFLAGS, e a segunda é medir o tempo de execução da instrução JCC para decodificar os dados.

Fonte da imagem: arxiv.org

Dados experimentais mostraram que o ataque foi capaz de extrair 100% dos dados no caso dos sistemas Intel Core i7-6700 e Intel Core i7-7700, e teve algum sucesso contra o processador Intel Core i9-10980XE mais recente. O experimento foi conduzido no Ubuntu 22.04 jammy com kernel Linux versão 5.15.0. No entanto, os pesquisadores observam que esse ataque de tempo não é tão robusto quanto os métodos de canal lateral do estado do cache e teria que ser repetido milhares de vezes para obter melhores resultados nos chips mais recentes.

Os pesquisadores reconhecem que as causas do ataque permanecem indefinidas e sugerem que há um buffer na unidade de execução da CPU da Intel que precisa de tempo para retornar se a execução for encerrada e um processo que causa uma interrupção se uma instrução subsequente depender do alvo. do tampão.

No entanto, eles ainda oferecem algumas medidas não triviais, como alterar a implementação da instrução JCC para tornar a medição da execução da corrida impossível em qualquer circunstância ou reescrever EFLAGS após a execução temporária para reduzir seu impacto na instrução JCC.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *