Marvin Attack, um ataque de cracking RSA baseado no tempo

Ataque Marvin

Marvin é o retorno de uma vulnerabilidade de 25 anos que permite operações de assinatura e descriptografia RSA

Durante ESORICS 2023 (Simpósio Europeu sobre Pesquisa em Segurança de Computadores) que aconteceu de 25 a 29 de setembro na Holanda, um pesquisador de segurança que trabalha para a Red Hat, apresentou "Ataque Marvin", uma técnica de ataque que permite que os dados originais sejam determinados medindo atrasos durante as operações descriptografia baseada no algoritmo RSA.

Ataque Marvin, É uma variação do método Bleichenbacher, proposto em 1998, e continua o desenvolvimento dos ataques ROBOT e New CAT publicados em 2017 e 2019.

O ataque Marvin é o retorno de uma vulnerabilidade de 25 anos que permite que operações de assinatura e descriptografia RSA sejam realizadas como um invasor com a capacidade de observar apenas o horário da operação de descriptografia realizada com a chave privada.

Em 1998, Daniel Bleichenbacher descobriu que mensagens de erro fornecidas por servidores SSL para erros no preenchimento PKCS #1 v1.5 permitiam um ataque de texto cifrado escolhido de forma adaptativa; Este ataque quebra completamente a confidencialidade do TLS quando usado com criptografia RSA. Em 2018, Hanno Böck, Juraj Somorovsky e Craig Young demonstraram 19 anos depois que muitos servidores da Internet ainda eram vulneráveis ​​a pequenas variações do ataque original.

Basicamente é mencionado que a essência do método é que um invasor, com base em diferentes reações do servidor e diferentes tempos de execução, pode separar blocos oracle corretos e incorretos Adicionado com o padrão PKCS #1 v1.5 para alinhar dados criptografados ao longo do limite do bloco. Ao manipular informações sobre a exatidão dos blocos de preenchimento, um invasor pode usar força bruta para recriar um texto cifrado adequado.

Neste caso, o ataque não recupera diretamente a chave privada, mas apenas descriptografa o texto. criptografia ou gerar uma mensagem assinada falsa. Para realizar um ataque bem-sucedido é necessário enviar um volume muito grande de mensagens de teste para serem descriptografadas.

Usando um ataque contra servidores TLS usando criptografia baseado em chaves RSA permite que o invasor armazene passivamente o tráfego interceptado e depois descriptografe-o. Para servidores que suportam PFS, realizar um ataque torna-se muito mais difícil e o sucesso depende da rapidez com que o ataque é executado.

Além disso, o método permite gerar uma assinatura digital fictícia que verifica o conteúdo das mensagens TLS 1.2 ServerKeyExchange ou mensagens TLS 1.3 CertificateVerify transmitidas no estágio de troca de chaves, que podem ser usadas para realizar ataques MITM para interceptar a conexão TLS entre o cliente e o servidor.

É mencionado que a diferença entre o método Marvin é reduzido a um Tecnologia aprimorada para separar dados incrementais corretos e incorretos, filtre falsos positivos, determine atrasos de cálculo com mais precisão e use canais adicionais de terceiros durante a medição.

Na prática, o método proposto permite descriptografar o tráfego ou gerar assinaturas digitais sem conhecer a chave RSA privada. Para testar a aplicabilidade do ataque, foram publicados um script especial para verificação de servidores TLS e ferramentas para identificação de problemas em bibliotecas.

O problema afeta diversas implementações de protocolo que usam RSA e PKCS. Embora as bibliotecas criptográficas modernas contenham alguma proteção contra ataques baseados no método Bleichenbacher, estudo revelou que bibliotecas têm canais de vazamento abertos e não fornecem um tempo de processamento constante para pacotes preenchidos correta e incorretamente. Por exemplo, a implementação do ataque GnuTLS por Marvin não está vinculada ao código que executa diretamente cálculos relacionados ao RSA, mas em vez disso usa diferentes tempos de execução para o código que decide se deve exibir uma mensagem de erro específica.

O autor do estudo também acredita que a classe de vulnerabilidades considerada não se limita ao RSA e pode afetar muitos outros algoritmos criptográficos que dependem de bibliotecas padrão para cálculos inteiros.

Para confirmar a possibilidade de realização do ataque Marvin na prática, o pesquisador demonstrou a aplicabilidade do método a aplicações baseadas nas bibliotecas M2Crypto e pyca/cryptography, nas quais poucas horas foram suficientes para comprometer a criptografia por meio da realização de um experimento em um laptop médio.

Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir