Ciência e Tecnologia

A exploração do GoFetch não pode ser desativada nos chips M1 e M2 da Apple • Strong The One

.

A vulnerabilidade GoFetch encontrada nas CPUs Apple série M e Intel Raptor Lake foi desvendada pelos pesquisadores que a divulgaram pela primeira vez.

GoFetch é uma exploração de segurança que tira proveito de pré-buscadores dependentes de memória de dados (DMPs), não muito diferente de vulnerabilidades de execução especulativa, como Spectre. Essencialmente, os dados podem vazar do cache de um núcleo quando o DMP está ativado, criando um potencial vetor de ataque para hackers.

Os DMPs estão presentes em todas as CPUs da série M da Apple e nos processadores Raptor Lake da Intel, e o site dedicado do GoFetch agora mostra exatamente como a exploração é realizada. Em poucos minutos (a filmagem é acelerada, por isso é difícil dizer exatamente quantos), 560 bits de dados vazaram de um servidor protegido por RSA.

A exploração do GoFetch não é surpreendente, pois é semelhante ao Spectre, Meltdown e outros vetores que dependem dos recursos de previsão de aumento de desempenho da CPU. Normalmente, existem patches baseados em software para chips que possuem explorações no nível do hardware, e geralmente isso envolve apenas desabilitar o recurso especulativo (e, assim, diminuir o desempenho), mas no caso das CPUs M1 e M2, os pesquisadores dizem que isso não é possível.

Os pesquisadores abordam a questão comum de saber se o DMP pode ser desativado, explicando que sim, mas apenas em alguns processadores. “Observamos que o bit DIT definido nas CPUs M3 desativa efetivamente o DMP. Este não é o caso do M1 e do M2.” Portanto, GoFetch pode ser resolvido com um patch de software para CPUs M3 e Raptor Lake, mas não para chips M1 e M2, já que o DMP será executado de qualquer maneira.

Nunca é bom quando um recurso que aumenta o desempenho precisa ser desativado porque vaza dados potencialmente confidenciais, mas não ser capaz de desativar esse recurso é ainda pior. Uma solução alternativa é cegar o DMP para dados confidenciais sempre que eles estiverem sendo armazenados ou carregados da memória, mas o papel do GoFetch [PDF] diz que isso exigiria amplas reescritas de código e penalidades de desempenho em alguns casos.

No entanto, existe uma solução alternativa que não requer nenhuma reescrita de código. Como muitas CPUs modernas, a série M da Apple tem dois tipos de núcleos: grandes núcleos Firestorm e pequenos núcleos Icestorm. A exploração GoFetch baseada em DMP funciona apenas em núcleos Firestorm, inclusive para CPUs M1 e M2, e o artigo GoFetch sugere que todo o trabalho criptográfico deve ser executado exclusivamente nos núcleos Icestorm por enquanto. Executar qualquer coisa nos núcleos do Icestorm focados na eficiência será mais lento, mas pelo menos deve ser seguro.

Mesmo esta abordagem pode não ser infalível. Se a Apple lançar um futuro processador M com DMP habilitado em seus núcleos de eficiência, então não haverá nenhum lugar onde o código possa ser executado sem expor potencialmente dados confidenciais. Claro, dado que o DMP não é totalmente seguro, esperamos que a Apple o conserte, remova ou encontre um recurso alternativo antes de tornar suas CPUs de próxima geração ainda mais vulneráveis. ®

.

Mostrar mais

Artigos relacionados

Deixe um comentário

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

Botão Voltar ao topo