Contents

Violação de segurança expõe chaves criptográficas na mais recente linha de chips da Apple

Contents

Descobriu-se que uma falha de segurança recentemente descoberta no chip M da Apple permite potencialmente que partes não autorizadas acessem chaves de criptografia durante o desempenho de protocolos criptográficos comuns e difundidos em dispositivos Mac.

A questão em questão apresenta um desafio complexo, decorrente diretamente da intrincada microarquitetura dos chips Apple Silicon. Especificamente, essa preocupação diz respeito ao Pré-buscador de Memória Dependente (DMP) – um recurso de hardware especializado projetado para antecipar quais endereços de memória serão acessados ​​em breve pela execução de código. Ao carregar prematuramente esses locais de memória previstos no cache da CPU, o objetivo é minimizar a latência entre a memória principal e o processador. Embora os mecanismos tradicionais de pré-busca tenham sido empregados há muito tempo na arquitetura de CPU, a implementação da pré-busca dependente de memória é exclusiva dos processadores da série M da Apple e de processadores Intel selecionados que utilizam a arquitetura Raptor Lake.

O aproveitamento de mecanismos de pré-busca para fins maliciosos, destinados a extrair informações confidenciais, como chaves de criptografia, por meio de ataques de canal lateral, foi reconhecido como um problema. Para combater esta ameaça, os especialistas em criptografia introduziram técnicas de programação em tempo constante, que garantem que cada operação leva um tempo consistente, independentemente das suas entradas.

/images/M1Chip_720_1.jpg

Nos chips Apple Silicon série M, o comportamento das Políticas de Memória de Dados (DMP) difere um pouco em comparação aos pré-buscadores tradicionais, pois não depende apenas dos endereços dos dados acessados ​​para fins de previsão. Em vez disso, aproveita os valores reais dos dados para fazer essas previsões. Sempre que um determinado valor de dados parece ser um ponteiro, independentemente de ser ou não um ponteiro, ele é tratado como tal e encaminhado ao cache para visibilidade. Isso foi identificado pelos pesquisadores como uma potencial vulnerabilidade de segurança.

Para explorar o DMP, desenvolvemos parâmetros de entrada específicos para cálculos criptográficos, de modo que certos valores semelhantes a endereços de memória sejam revelados apenas quando nossa conjectura sobre alguns componentes da chave secreta for validada através da observação do tempo do cache durante o processamento. Ao testar iterativamente estas suposições, determinamos progressivamente o conjunto subsequente de elementos-chave. Através desta metodologia, apresentamos ataques bem-sucedidos contra esquemas de criptografia clássicos e pós-quânticos amplamente adotados, incluindo Diffie-Hellman Key Exchange da OpenSSL, Go RSA, bem como CRYSTALS-Kyber eCRYSTALS-Dilithium.

Os pesquisadores desenvolveram um método para rastrear chaves criptográficas indiretamente por meio da manipulação de dados intermediários dentro de um algoritmo criptografado. Ao empregar esta técnica, é possível rastrear a chave secreta ao longo do tempo sem acessá-la diretamente. Essa abordagem foi implementada em um ataque de prova de conceito conhecido como GoFetch, que utiliza um aplicativo que não requer credenciais de login além daquelas normalmente necessárias para programas de terceiros que operam no macOS.

Normalmente, os chips da série M são agrupados em clusters de eficiência e desempenho. Quando o aplicativo GoFetch e o software de criptografia de destino estão sendo executados simultaneamente no mesmo cluster de desempenho, mesmo que residam em núcleos diferentes desse cluster, um invasor pode obter com sucesso uma quantidade significativa de dados que pode levar à determinação da chave de descriptografia.

Numa série de experiências, os investigadores demonstraram a eficácia do GoFetch na superação tanto dos métodos criptográficos convencionais como dos mais recentes concebidos para resistir a ataques de computadores quânticos. De acordo com suas descobertas, o GoFetch pode descobrir chaves dentro de prazos específicos para vários algoritmos. Por exemplo, leva menos de uma hora para localizar uma chave RSA de 2.048 bits e aproximadamente duas horas para uma chave Diffie-Hellman de 2.048 bits. Da mesma forma, encontrar uma chave Kyber-512 requer cerca de 54 minutos, enquanto são necessárias cerca de dez horas para obter uma única chave Dilithium-2, juntamente com o tempo de processamento de dados necessário.

Devido à sua natureza exclusivamente baseada em hardware, é inviável corrigir o problema imediatamente e mitigar as consequências prejudiciais associadas a esta falha de segurança. O único meio de conter os potenciais impactos adversos reside na implementação de algoritmos de criptografia especificamente pelos engenheiros de software para os processadores Apple Silicon, o que também pode ter implicações no desempenho geral do sistema.

Uma opção para aumentar a segurança envolve o emprego de uma técnica conhecida como “blackout de texto cifrado”, que envolve a introdução de máscaras com valores significativos antes ou depois dos dados serem processados ​​na memória. Isso randomiza o estado interno do algoritmo criptográfico, tornando-o resistente à manipulação por um adversário e mitigando efetivamente ameaças como o GoFetch. No entanto, esta medida necessita de ser adaptada ao método de encriptação específico utilizado, que frequentemente requer recursos computacionais substanciais e pode duplicar a procura global.

Uma opção viável envolve criptografar processos computacionais em “clusters de eficiência”, que são dedicados à execução de tarefas que exigem menos recursos e, portanto, desprovidos de Distributed Mesh Performance (DMP). Embora seja concebível que futuros avanços arquitetônicos possam potencialmente integrar capacidades DMP dentro desses tipos de núcleos, os tempos de conclusão das operações de processamento seriam inevitavelmente prolongados devido às características inerentes de tais clusters.

/images/AppleSiliconM3Pro_720.jpg

Na verdade, as salvaguardas mencionadas acima são adaptadas especificamente para os microprocessadores M1 e M2, já que os chips M3 de última geração oferecem um recurso inovador que permite aos desenvolvedores desativar a função Dynamic Main Memory Platform (DMP). No entanto, actualmente, permanece incerto como a selecção desta opção pode afectar o desempenho do sistema.

Os investigadores enfatizam que uma solução sustentável envolve melhorar a cooperação entre componentes de hardware e software a longo prazo, de modo que o primeiro demonstre ao último como desativar o recurso de processamento do modo de dispositivo (DMP) ao executar tarefas críticas de segurança.

É importante ter em mente que o impacto no desempenho desses algoritmos será predominantemente perceptível durante operações criptográficas e pode passar despercebido durante o uso típico do aplicativo.

A detecção de uma vulnerabilidade no DMP dos processadores M1 e A14 Bionic da Apple foi disponibilizada publicamente como uma prova de conceito de ataque chamada “Augúrio” em 2022. No entanto, na época, os pesquisadores consideraram a gravidade da falha para ser relativamente baixo devido à falta de capacidade de combinar dados e endereços com sucesso. No entanto, descobertas recentes indicam que tais vulnerabilidades associadas ao DMP podem, na verdade, ser mais graves e representar uma ameaça maior à segurança geral do sistema do que inicialmente reconhecido.

Atualmente, na perspetiva dos utilizadores finais, é necessário confirmar a existência de patches ou atualizações que sejam capazes de mitigar quaisquer potenciais vulnerabilidades em protocolos criptográficos que tenham sido identificados como suscetíveis de exploração pela aplicação GoFetch.

*️⃣ Link da fonte:

os pesquisadores que descobriram a vulnerabilidade , nomeado GoFetch ,