.
Uma vulnerabilidade de canal lateral foi encontrada na arquitetura dos processadores Apple Silicon que dá a aplicativos maliciosos a capacidade de extrair chaves criptográficas da memória que deveriam estar fora dos limites.
Apelidado de GoFetch pela equipe que o descobriu, o problema decorre de como os processadores equipados com pré-buscadores dependentes de memória de dados (DMPs) – por exemplo, chips Apple Silicon compatíveis com Arm e arquiteturas Intel de 13ª geração e mais recentes – podem acabar revelando informações confidenciais para malware em execução em um dispositivo.
Durante décadas, muitos processadores normalmente usaram algum tipo de pré-busca para aumentar seu desempenho: geralmente funcionam prevendo quais dados o programa em execução precisará em seguida, digamos, da memória do sistema e trazendo automaticamente essas informações para um cache dentro do processador a partir de DRAM para que esteja pronto para uso quase imediato. A localização dos dados para pré-busca pode ser prevista observando-se que um núcleo da CPU está acessando informações em um determinado padrão e seguindo esse padrão antes da execução.
Os DMPs tentam ser um pouco mais inteligentes ao prever o que será obtido a seguir do conteúdo da memória. Por exemplo, se parece que o processador está se preparando para buscar alguns dados de um local com base no que parece ser um endereço de memória em outro local – pense em listas vinculadas e similares em que um bloco de dados tem um ponteiro para outro – o DMP pode começar a trazer para o cache os próximos dados.
Mas isso tem seus problemas: um DMP vulnerável pode ser manipulado para preencher um cache preventivamente de uma forma que divulgue o conteúdo de outra memória. Malware ou outros observadores desonestos em uma máquina podem explorar isso para extrair chaves secretas e outras coisas confidenciais da DRAM que, de outra forma, deveriam estar inacessíveis.
“Fizemos engenharia reversa de DMPs em CPUs da série M da Apple e descobrimos que o DMP ativa (e tenta desreferenciar) dados carregados da memória que ‘parecem’ um ponteiro”, como a equipe – um grupo vindo da Universidade de Illinois Urbana -Champaign; a Universidade do Texas em Austin; o Instituto de Tecnologia da Geórgia; a Universidade da Califórnia, Berkeley; a Universidade de Washington; e a Carnegie Mellon University, todas nos EUA – disse.
E aqui está a mágica: “Para explorar o DMP, criamos entradas escolhidas para operações criptográficas, de uma forma em que valores semelhantes a ponteiros só aparecem se tivermos adivinhado corretamente alguns bits da chave secreta.
“Verificamos essas suposições monitorando se o DMP realiza uma desreferência por meio da análise de tempo de cache. Depois de fazermos uma suposição correta, prosseguimos para adivinhar o próximo lote de bits-chave.
“Usando esta abordagem, mostramos ataques de extração de chave ponta a ponta em implementações populares de tempo constante de criptografia clássica (OpenSSL Diffie-Hellman Key Exchange, descriptografia Go RSA) e pós-quântica (CRYSTALS-Kyber e CRYSTALS-Dilithium). “
Assim, o código malicioso em um dispositivo Apple Silicon vulnerável que espera obter uma chave secreta da memória pode tentar operações criptográficas envolvendo essa chave secreta e, em seguida, juntar essa chave pouco a pouco, observando as atividades do DMP. O DMP entra em ação durante essas operações para acelerar o funcionamento do processador.
Qualquer aplicativo malicioso executado no mesmo cluster de CPU que a operação criptográfica alvo, e com nada além de privilégios de usuário, pode realizar esse tipo de exploração, conforme nos disseram. Observe que isso levará algum tempo e é mais útil contra chaves que não são efêmeras – pense em chaves privadas de longo prazo do lado do servidor.
Vulnerabilidades semelhantes foram relatadas em chips Apple Silicon há alguns anos sob o nome de Augury, mas a equipe do GoFetch observou que a análise de DMP de Augury foi “excessivamente restritiva” e “perdeu vários cenários de ativação de DMP”.
“Descobrimos que o DMP é ativado em nome de qualquer programa e tenta desreferenciar quaisquer dados trazidos para o cache que se assemelhe a um ponteiro”, diz a equipe do GoFetch.
Resumindo, “a ameaça à segurança dos DMPs é significativamente pior do que se pensava anteriormente”, escreveu a equipe em um artigo [PDF]. Todos os detalhes técnicos estão nesse documento.
Quais chips são afetados e como isso pode ser corrigido?
Os pesquisadores conseguiram montar ataques de recuperação de chave em hardware da Apple contendo processadores M1 e descobriram que os modelos básicos de CPUs Apple Silicon M2 e M3 exibem comportamento explorável semelhante. Outras variantes do Apple Silicon não foram testadas.
Os processadores Intel também correm risco, mas nem tanto, observa a equipe. “A microarquitetura Raptor Lake de 13ª geração da Intel também apresenta um DMP. No entanto, seus critérios de ativação são mais restritivos, tornando-a robusta aos nossos ataques.”
O DMP pode ser desativado em CPUs M3, mas não nos chips M1 e M2, observam os pesquisadores, acrescentando que a desativação do DMP provavelmente degradará seriamente o desempenho. A única alternativa para consertar o GoFetch sem reengenharia de chips (parece familiar?) É contar com programas criptográficos de terceiros para melhorar suas implementações e evitar o sucesso de ataques. Correções semelhantes estão disponíveis para chips Intel.
O que a Apple planeja fazer não está imediatamente claro, sendo mínima a resposta às nossas perguntas.
“Queremos agradecer aos investigadores pela sua colaboração à medida que esta investigação avança a nossa compreensão destes tipos de ameaças”, disse um porta-voz da Apple. Strong The One. A Apple também nos indicou a documentação do desenvolvedor sobre como implementar as mitigações destacadas pelos pesquisadores, que a Apple admite que irão degradar o desempenho da CPU. ®
.







