Pesquisadores universitários encontraram uma falha de segurança incorrigível em Apple Silicon Macs, que permitiria a um invasor quebrar a criptografia e obter acesso a chaves criptográficas.
A falha está presente nos chips M1, M2 e M3, e como a falha faz parte da arquitetura dos chips, não há como a Apple consertar nos aparelhos atuais…
A falha está em um processo conhecido como DMP
Antes de explicarmos a falha, precisamos entender um processo usado nos chips mais avançados da atualidade, conhecido como Pré-buscadores Dependentes de Memória de Dados (DMP). Veja como ArsTechnica explica o conceito:
A ameaça reside no pré-buscador dependente de memória de dados dos chips, uma otimização de hardware que prevê os endereços de memória dos dados que o código em execução provavelmente acessará em um futuro próximo. Ao carregar o conteúdo no cache da CPU antes que seja realmente necessário, o DMP, como o recurso é abreviado, reduz a latência entre a memória principal e a CPU, um gargalo comum na computação moderna. DMPs são um fenômeno relativamente novo encontrado apenas em chips da série M e na microarquitetura Raptor Lake de 13ª geração da Intel, embora formas mais antigas de pré-buscadores sejam comuns há anos.
O problema surge de um bug no DMP.
A falha de segurança incorrigível
Sete pesquisadores de seis universidades diferentes trabalharam juntos para identificar a vulnerabilidade e criar um aplicativo capaz de explorá-la com sucesso: GoFetch.
Os detalhes são bastante técnicos, mas a versão resumida é que os dados armazenados no chip às vezes são confundidos com um endereço de memória e armazenados em cache. Se um aplicativo malicioso forçar a ocorrência desse erro repetidamente, com o tempo ele poderá descriptografar a chave.
Veja como os pesquisadores descrevem isso com mais detalhes:
Os pré-buscadores geralmente olham os endereços dos dados acessados (ignorando os valores dos dados acessados) e tentam adivinhar endereços futuros que possam ser úteis. O DMP é diferente nesse sentido, pois além dos endereços ele também utiliza os valores dos dados para fazer previsões (prever endereços para onde ir e pré-buscar). Em particular, se um valor de dados “se parece” com um ponteiro, ele será tratado como um “endereço” (onde na verdade não é!) e os dados deste “endereço” serão trazidos para o cache. A chegada deste endereço ao cache é visível, vazando pelos canais laterais do cache.
Nosso ataque explora esse fato. Não podemos vazar chaves de criptografia diretamente, mas o que podemos fazer é manipular dados intermediários dentro do algoritmo de criptografia para parecerem um ponteiro por meio de um ataque de entrada escolhido. O DMP então vê que o valor dos dados “se parece” com um endereço e traz os dados desse “endereço” para o cache, que vaza o “endereço”. Não nos importamos com o valor dos dados sendo pré-buscados, mas o fato de os dados intermediários parecerem um endereço ser visível através de um canal de cache e ser suficiente para revelar a chave secreta ao longo do tempo.
Não é a primeira vez que uma vulnerabilidade DMP foi encontrada no Apple Silicon. Em 2022, uma equipe de pesquisa diferente encontrou um que chamou de Augury.
Uma solução alternativa é possível, mas afetaria o desempenho
Os pesquisadores dizem que, como o problema não pode ser corrigido, o melhor que a Apple poderia fazer seria implementar soluções alternativas – mas isso prejudicaria gravemente o desempenho.
Uma das mitigações mais eficazes, conhecida como ocultação do texto cifrado, é um bom exemplo. A ocultação funciona adicionando/removendo máscaras para valores sensíveis antes/depois de serem armazenados/carregados da memória. Isso efetivamente randomiza o estado interno do algoritmo criptográfico, evitando que o invasor o controle e, assim, neutralizando os ataques GoFetch. Infelizmente, disseram os pesquisadores, essa defesa é específica do algoritmo e muitas vezes cara, podendo até duplicar os recursos computacionais necessários em alguns casos, como nas trocas de chaves Diffie-Hellman.
Uma outra defesa é executar processos criptográficos nos núcleos de eficiência mencionados anteriormente, também conhecidos como núcleos Icestorm, que não possuem DMP. Uma abordagem é executar todo o código criptográfico nesses núcleos. Esta defesa também não é ideal. Não só é possível que mudanças não anunciadas adicionem funcionalidade DMP aos núcleos de eficiência, como a execução de processos criptográficos aqui provavelmente também aumentará o tempo necessário para concluir as operações por uma margem não trivial.
Mas os riscos do mundo real são baixos
Para explorar a vulnerabilidade, um invasor teria que enganar o usuário para que instalasse um aplicativo malicioso, e os aplicativos Mac não assinados seriam bloqueados por padrão.
Além disso, o tempo necessário para realizar um ataque é bastante significativo, variando de 54 minutos a 10 horas em testes realizados por pesquisadores, portanto o app precisaria ficar em execução por um tempo considerável.
Até agora, a Apple optou por não implementar proteção contra a exploração do Augury DMP, provavelmente porque o impacto no desempenho não seria justificado pelo valor real muito baixo de um ataque no mundo real. Os pesquisadores aqui compartilharam suas descobertas com a Apple em dezembro, e até agora nenhuma solução alternativa foi implementada, sem dúvida pelo mesmo motivo. A empresa não comentou publicamente.
A solução de longo prazo será a Apple resolver a vulnerabilidade na implementação do DMP no design de futuros chips.
foto por Ali Mahmoudi sobre Remover respingo