Qualcomm também é vulnerável, é possível extrair chaves privadas

full_ecdsa_1

Em posts anteriores fizemos saber que os chips Broadcom eram vulneráveis ​​a ataquesse agora pesquisadores da empresa O Grupo NCC revelou detalhes da vulnerabilidade (CVE-2018-11976 ) em chips Qualcomm, que permite que você determine o conteúdo das chaves privadas de criptografia localizado no enclave isolado Qualcomm QSEE (Qualcomm Secure Execution Environment) baseado na tecnologia ARZ TrustZone.

O problema se manifesta na maioria dos Snapdragon SoCs, em smartphones baseados em Android. Correções para o problema já estão incluídas na atualização de abril do Android e novas versões de firmware para os chips Qualcomm.

A Qualcomm levou mais de um ano para preparar uma solução: Inicialmente, as informações sobre a vulnerabilidade foram enviadas à Qualcomm em 19 de março de 2018.

A tecnologia ARM TrustZone permite que você crie ambientes isolados de hardware protegidos que são completamente separados do sistema principal e executados em um processador virtual separado usando um sistema operacional especializado separado.

O objetivo principal do TrustZone é fornecer execução isolada de manipuladores de chaves de criptografia, autenticação biométrica, dados de faturamento e outras informações confidenciais.

A interação com o sistema operacional principal ocorre indiretamente por meio da interface de despacho.

As chaves de criptografia privadas são colocadas em um armazenamento de chaves isolado por hardware que, se implementado corretamente, evita que elas vazem se o sistema subjacente for comprometido.

Sobre o problema

A vulnerabilidade está associada a uma falha na implementação do algoritmo para processar curvas elípticas, o que levou a um vazamento de informações sobre o processamento dos dados.

Pesquisadores desenvolveram uma técnica de ataque de terceiros que permite, com base em vazamento indireto, rrecuperar o conteúdo das chaves privadass localizados em um Android Keystore isolado por hardware.

Vazamentos são determinados com base em uma análise da atividade das transições do bloco de predição e mudanças no tempo de acesso aos dados na memória.

Durante o experimento, Os pesquisadores demonstraram com sucesso a recuperação de chaves ECDSA de 224 e 256 bits de um armazenamento de chaves isolado no hardware usado no smartphone Nexus 5X.

Para restaurar a chave, foram necessárias cerca de 12 assinaturas digitais para serem geradas, o que levou mais de 14 horas para ser concluído. O kit de ferramentas Cachegrab foi usado para realizar o ataque.

A principal causa do problema é o compartilhamento de cache comum e componentes de hardware para computação em TrustZone e no sistema host: o isolamento é feito no nível de separação lógica, mas usando blocos de computação comuns e definindo traços de cálculo e informações sobre o salto endereços no cache comum do processador.

Usando o método Prime + Probe, com base em uma estimativa da mudança no tempo de acesso às informações em cache, é possível verificar a disponibilidade de certos padrões no cache com uma precisão suficientemente alta de fluxos de dados e sinais de execução de código relacionado à assinatura digital cálculos no TrustZone.

A maior parte do tempo de geração de assinatura digital com chaves ECDSA em chips Qualcomm é gasto na execução de operações de multiplicação em um loop usando o vetor de inicialização inalterado (nonce) para cada assinatura.

Si um invasor pode recuperar pelo menos alguns bits com informações sobre esse vetor, é possível lançar um ataque à recuperação sequencial de toda a chave privada.

No caso da Qualcomm, dois pontos de vazamento dessa informação foram revelados no algoritmo de multiplicação: ao realizar operações de busca na tabela e no código de extração de dados condicional com base no valor do último bit do vetor "nonce".

Embora o código Qualcomm contenha medidas para neutralizar o vazamento de informações em canais de terceiros, o método de ataque desenvolvido permite contornar essas medidas e definir alguns bits do valor "nonce", que é suficiente para recuperar 256 bits de chaves ECDSA.


Um comentário deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   GeekCubeGenericName dito

    28 de abril e ainda estou esperando pelos patches, que no GNU / Linux não acontece