O melhor pedaço da Maçã.
Gabo_Arts / Shutterstock.com
Traseira de MacBook Pro sobre mesa

Falha em Macs com Apple Silicon deixa chaves de criptografia vulneráveis

Uma nova vulnerabilidade foi descoberta nos processadores Apple Silicon dos Macs — a qual foi batizada de GoFetch. A falha permite que as chaves de criptografia sejam extraídas do sistema, além de ser oriunda de um erro da microarquitetura do próprio chip. Para piorar, uma mitigação da brecha — que não pode ser diretamente corrigida — pode acarretar numa diminuição no desempenho dos computadores.

Publicidade

O ataque pode ocorrer quando operações de criptografia e o aplicativo malicioso estiverem (com permissões convencionais do sistema) rodando em um mesmo cluster do processador. Mais especificamente, como destacado pelo Ars Technica, a ameaça está no prefetch dependente de dados da memória, conhecido como DMP.

O DMP é uma otimização de memória que prevê os caminhos de dados que os códigos usarão no futuro. Ao carregar os conteúdos no processador antes de serem usados, a latência entre a memória e o chip é diminuída, uma dificuldade comum em computadores atuais.

Essa solução é algo relativamente novo, sendo encontrada apenas na microarquitetura dos processadores da linha M, da Apple, e na 13ª geração de chips da Intel, a Raptor Lake. Outras formas de prefetchers, porém, são bastante comuns há alguns anos.

Publicidade

Especialistas já alertavam que esses componentes criavam um canal lateral no qual processos maliciosos poderiam obter materiais secretos de operações criptográficas a partir de mudanças no estado dos padrões de acesso. Em resposta a isso, foi criada a chamada programação de tempo-constante, a qual garante que as operações sejam realizadas usando a mesma quantidade de tempo, mantendo o código livre de acessos de memória dependente de segredos.

O GoFetch

A descoberta da pesquisa sobre o GoFetch é a de perceber um comportamento antes esquecido dos DMPs do Apple Silicon: às vezes, eles confundem o conteúdo da memória com valores de apontadores usados para carregar outros dados. Com isso, o DMP lê as informações e as trata como um caminho para acessar a memória.

Essa “desreferenciação” de apontadores, ao ler os dados e vazá-los em um canal lateral, viola o paradigma do tempo-constante, abrindo caminho para a exploração do componente por crackers. Tais invasores podem — como fizeram os pesquisadores que descobriram a vulnerabilidade — manipular dados intermediários no algoritmo de criptografia para parecer um apontador.

Publicidade

Então, o DMP vê que esse valor de dados “parece” um caminho e leva os dados ao suposto caminho no cache, vazando-o. O fato de os dados intermediários ficarem visíveis em um canal de cache é suficiente para revelar a chave ao longo do tempo.

Ao inserir dados e misturá-los a chaves criptográficas, por exemplo, o estado intermediário resultante pode ser modificado para parecer um apontador. Por meio da “desreferenciação”, um cracker poderia, ainda, inferir informações sobre dados protegidos ao acompanhar o comportamento do DMP, violando as garantias do tempo-constante e, consequentemente, implementações criptográficas.

O ataque usa um app malicioso que não exige acesso raiz (root), usando as mesmas permissões que a maioria dos apps. Desde que o app com o GoFetch esteja no mesmo cluster do processador (divisão de núcleos) que o app visado (ainda que núcleos diferentes), é possível minerar segredos o suficiente para chegar a uma chave.

Publicidade

O GoFetch funciona tanto contra algoritmos mais antigos quanto mais modernos — e fortalecidos pelos computadores quânticos. Em menos de uma hora, o ataque é capaz de extrair uma chave RSA de 2.048 bits; em pouco mais de duas horas, pode extrair uma chave Diffie-Hellman — excluindo o tempo de processamento offline.

Ao se conectar ao app visado e inserir dados que são assinados ou descriptografados, a ferramenta consegue extrair a chave secreta usada para realizar operações de criptografia. Ou seja, sequer é necessário que o app em questão esteja realizando tais operações no momento do ataque.

Vale notar que essa não é a primeira vez que o DMP é explorado. Em 2022, outra vulnerabilidade foi explorada no M1 e no A14 Bionic, com a identificação de um canal de memória lateral que vazava apontadores. Com as práticas de tempo-constante, porém, essa brecha não mais pôde ser usada, o que deu a falsa impressão de que o DMP não representava uma ameaça.

O GoFetch, contudo, provou que o DMP continua podendo ser explorado, sendo inclusive significativamente mais agressivo. Qualquer valor carregado da memória pode ser desreferenciado, o que permite superar várias das limitações da vulnerabilidade anterior e demonstra a existência de ataques de ponta a ponta em códigos de tempo-constante.

Dificuldades de correção

Por decorrer de um problema na microarquitetura do chip, a vulnerabilidade não pode ser corrigida, apenas com a possibilidade de mitigação por meio do código do sistema, que se comunica com o hardware. Além da programação em tempo-constante, é necessário usar outras defesas, quase todas com impactos negativos no desempenho do Mac.

Uma das mais efetivas é cegar e cifrar textos, o que adiciona ou remove máscaras de dados sensíveis aos serem carregados ou armazenados na memória. Com isso, o estado interno de algoritmos criptográficos é randomizado, impedindo que se controle a memória e, assim, neutralizando ataques.

Essa técnica, porém, chega a dobrar a necessidade de recursos de processamento do computador no caso de algumas chaves, potencialmente inviabilizando o seu uso. Também seria possível rodar tarefas criptográficas nos núcleos de eficiência dos chips, que não têm DMP, embora isso também deva significar um aumento no tempo de processamento. Outras defesas também têm pontos negativos consideráveis.

No chip M3, foi adicionada uma ferramenta que permite aos desenvolvedores desativarem o DMP, mas ainda não se sabe o impacto disso no desempenho. No caso dos chips Intel com o DMP, não foram encontrados esses problemas de vazamento de chaves.

Algo importante é que essas diminuições no desempenho ocorrem apenas ao rodar algumas operações de criptografia específicas, e não em outros tipos de apps. Para os pesquisadores, o ideal é que o software ofereça uma opção para desativar o DMP ao usar apps que sejam mais críticos em relação à segurança, incluindo ajustes mais finos nesse âmbito.

A Apple não comentou o GoFetch. Os pesquisadores afirmaram ter comunicado a empresa sobre a vulnerabilidade em dezembro do ano passado, antes de divulgar a brecha publicamente.

via AppleInsider

Ver comentários do post

Compartilhe este artigo
URL compartilhável
Post Ant.

Epic, Spotify e outras elogiam decisão do DoJ de processar a Apple

Próx. Post

Apple e Lionel Messi oferecem 1 mês grátis do MLS Season Pass

Posts Relacionados