Tech

Nova vulnerabilidade “GoFetch” em chips da série M da Apple vaza chaves de criptografia secretas

Vulnerabilidade da Apple

Uma nova falha de segurança descoberta nos chips da série M da Apple poderia ser explorada para extrair chaves secretas usadas durante operações criptográficas.

Apelidado GoFetch, a vulnerabilidade está relacionada a um ataque de canal lateral de microarquitetura que aproveita um recurso conhecido como pré-busca dependente de memória de dados (DMP) para atingir implementações criptográficas de tempo constante e capturar dados confidenciais do cache da CPU. A Apple foi informada das descobertas em dezembro de 2023.

Pré-buscadores são uma técnica de otimização de {hardware} que prevê quais endereços de memória um programa em execução acessará em um futuro próximo e recuperará os dados da memória principal para o cache. O objetivo desta abordagem é reduzir a latência de acesso à memória do programa.

DMP é um tipo de pré-busca que leva em consideração o conteúdo da memória com base em padrões de acesso observados anteriormente ao determinar o que pré-buscar. Esse comportamento o torna propício para ataques baseados em cache que enganam o pré-buscador para que revele o conteúdo associado ao processo da vítima que, de outra forma, deveria estar inacessível.

GoFetch também se baseia em outro ataque de microarquitetura chamado Augury, que emprega DMP para vazar dados de forma especulativa.

“O DMP ativa (e tenta desreferenciar) dados carregados da memória que 'parecem' um ponteiro”, disse uma equipe de sete acadêmicos da Universidade de Illinois Urbana-Champaign, Universidade do Texas, Instituto de Tecnologia da Geórgia, Universidade da Califórnia, Berkeley , Universidade de Washington e Universidade Carnegie Mellon disseram.

Cíber segurança

“Isso viola explicitamente um requisito do paradigma de programação em tempo constante, que proíbe misturar dados e padrões de acesso à memória.”

Como outros ataques desse tipo, a configuração exige que a vítima e o invasor tenham dois processos diferentes localizados na mesma máquina e no mesmo cluster de CPU. Especificamente, o agente da ameaça pode induzir um alvo a baixar um aplicativo malicioso que explora o GoFetch.

Além do mais, embora o invasor e a vítima não compartilhem memória, o invasor pode monitorar quaisquer canais secundários da microarquitetura disponíveis, por exemplo, a latência do cache.

GoFetch, em poucas palavras, demonstra que “mesmo que uma vítima separe corretamente os dados dos endereços seguindo o paradigma de tempo constante, o DMP gerará acesso à memória dependente de segredo em nome da vítima”, tornando-a suscetível a ataques de extração de chaves.

Em outras palavras, um invasor pode transformar o pré-buscador em uma arma para influenciar os dados que estão sendo pré-buscados, abrindo assim a porta para o acesso a dados confidenciais. A vulnerabilidade tem sérias implicações, pois anula completamente as proteções de segurança oferecidas pela programação em tempo constante contra ataques de canal lateral cronometrados.

“GoFetch mostra que o DMP é significativamente mais agressivo do que se pensava anteriormente e, portanto, representa um risco de segurança muito maior”, observaram os pesquisadores.

A natureza elementary da falha significa que ela não pode ser corrigida nas CPUs Apple existentes, exigindo que os desenvolvedores de bibliotecas criptográficas tomem medidas para evitar condições que permitam o sucesso do GoFetch, algo que também pode causar um impacto no desempenho. Os usuários, por outro lado, são incentivados a manter seus sistemas atualizados.

Nos chips Apple M3, entretanto, descobriu-se que a ativação do tempo independente de dados (DIT) desativa o DMP. Isso não é possível nos processadores M1 e M2.

“O silício da Apple fornece tempo independente de dados (DIT), no qual o processador completa certas instruções em um período de tempo constante”, observa a Apple em sua documentação. “Com o DIT habilitado, o processador usa o tempo mais longo, no pior caso, para completar a instrução, independentemente dos dados de entrada.”

O fabricante do iPhone também enfatizou que, embora ativar o DIT evite vazamentos baseados em tempo, recomenda-se que os desenvolvedores adiram a “evitar ramificações condicionais e locais de acesso à memória com base no valor dos dados secretos”, a fim de bloquear efetivamente um adversário de inferir segredos por manter o controle sobre o estado da microarquitetura do processador.

Cíber segurança

O desenvolvimento ocorre no momento em que outro grupo de pesquisadores da Universidade de Tecnologia de Graz, na Áustria, e da Universidade de Rennes, na França, demonstra um novo ataque à unidade de processamento gráfico (GPU) que afeta navegadores e placas gráficas populares e que utiliza código JavaScript especialmente criado em um website para inferir. informações confidenciais, como senhas.

A técnica, que não requer interação do usuário, foi descrita como o primeiro ataque de canal lateral ao cache da GPU de dentro do navegador.

“Como a computação GPU também pode oferecer vantagens para cálculos em websites, os fornecedores de navegadores decidiram expor a GPU ao JavaScript por meio de APIs como WebGL e o próximo padrão WebGPU”, disseram os pesquisadores.

“Apesar das restrições inerentes ao ambiente JavaScript e WebGPU, construímos novas primitivas de ataque que permitem ataques de canal lateral de cache com uma eficácia comparável aos ataques tradicionais baseados em CPU.”

Um agente de ameaça poderia transformá-lo em uma arma por meio de um ataque drive-by, permitindo a extração de chaves AES ou a mineração de criptomoedas enquanto os usuários navegam na Web. Afeta todos os sistemas operacionais e navegadores que implementam o padrão WebGPU, bem como uma ampla gama de dispositivos GPU.

Como contramedidas, os pesquisadores propõem tratar o acesso à placa gráfica do sistema host através do navegador como um recurso confidencial, exigindo que os websites solicitem a permissão dos usuários (como no caso da câmera ou do microfone) antes do uso.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button