Ataques do KyberSlash colocam projetos de criptografia quântica em risco
8 de Janeiro de 2024

Múltiplas implementações do mecanismo de encapsulamento de chave Kyber para criptografia segura para quântica estão vulneráveis a um conjunto de falhas, coletivamente referidas como KyberSlash, que poderiam permitir a recuperação de chaves secretas.

CRYSTALS-Kyber é a implementação oficial do mecanismo de encapsulamento de chave Kyber (KEM) para algoritmo seguro para quântica (QSA) e faz parte da CRYSTALS (Suíte Criptográfica para Redes Algébricas) suíte de algoritmos.

É projetado para criptografia geral e faz parte da seleção de algoritmos do Instituto Nacional de Padrões e Tecnologia (NIST) projetados para resistir a ataques de computadores quânticos.

Alguns projetos populares que usam implementações do Kyber são Mullvad VPN e Signal messenger.

Este último anunciou no ano passado que adotou o CRYSTALS-Kyber KEM como uma camada adicional que os atacantes devem quebrar para calcular as chaves que protegem as comunicações dos usuários.

As falhas do KyberSlash são ataques baseados em tempo decorrentes de como o Kyber realiza certas operações de divisão no processo de desencapsulamento, permitindo que os atacantes analisem o tempo de execução e derivem segredos que poderiam comprometer a criptografia.

Se um serviço que implementa o Kyber permite várias solicitações de operação para o mesmo par de chaves, um invasor pode medir as diferenças de tempo e calcular gradualmente a chave secreta.

As partes problemáticas do código que causam as vulnerabilidades do KyberSlash (KyberSplash1 e KyberSplash2) foram descobertas por Goutam Tamvada, Karthikeyan Bhargavan e Franziskus Kiefer - pesquisadores da Cryspen, fornecedor de ferramentas de verificação e software comprovadamente matemático.

Em uma demonstração de KyberSlash1 em um sistema Raspberry Pi, os pesquisadores recuperaram a chave secreta do Kyber dos tempos de descriptografia em duas de três tentativas.

Os analistas da Cryspen descobriram o KyberSlash1 no final de novembro do ano passado e o relataram aos desenvolvedores do Kyber, que lançaram uma correção para o KyberSlash1 em 1º de dezembro de 2023.

No entanto, a correção não foi rotulada como um problema de segurança e não foi até 15 de dezembro que a Cryspen adotou uma abordagem mais pública e começou a informar aos projetos impactados que eles precisavam atualizar suas implementações do Kyber.

Em 30 de dezembro, o KyberSlash2 foi corrigido após sua descoberta e relatório responsável por Prasanna Ravi e Matthias Kannwischer.

Em 2 de janeiro de 2024, a lista de projetos abaixo foram identificados como impactados pelo problema e tiveram os seguintes status de correção:

pq-crystals/kyber/ref - totalmente corrigido
symbolicsoft/kyber-k2so - totalmente corrigido
aws/aws-lc/crypto/kyber, branch principal - totalmente corrigido
zig/lib/std/crypto/kyber_d00.zig - totalmente corrigido
liboqs/src/kem/kyber - corrigido apenas para KyberSlash1
aws/aws-lc/crypto/kyber, branch fips-2022-11-02 - corrigido apenas para KyberSlash1
randombit/botan - corrigido apenas para KyberSlash1
mupq/pqm4/crypto_kem/kyber - corrigido apenas para KyberSlash1
antontutoveanu/crystals-kyber-javascript - sem correção
Argyle-Software/kyber - sem correção
debian/src/liboqs/unstable/src/kem/kyber - sem correção
kudelskisecurity/crystals-go - sem correção
PQClean/PQClean/crypto_kem/kyber/aarch64 - sem correção
PQClean/PQClean/crypto_kem/kyber/limpo - sem correção
rustpq/pqcrypto/pqcrypto-kyber (usado no Signal) - sem correção

Além disso, as seguintes bibliotecas foram marcadas como não impactadas porque não possuem divisões com entradas secretas:

boringssl/crypto/kyber
filippo.io/mlkem768
formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/avx2
formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref
pq-crystals/kyber/avx2
pqclean/crypto_kem/kyber/avx2

O pior cenário é o vazamento da chave secreta, mas isso não significa que todos os projetos que usam o Kyber são vulneráveis a vazamentos de chave.

As repercussões do KyberSlash dependem da implementação do Kyber e podem variar dependendo dos casos de uso prático e medidas de segurança adicionais.

Por exemplo, o Mullvad diz que o KyberSlash não impacta seu produto VPN porque eles estão usando pares de chaves únicos para cada nova conexão de túnel, tornando impossível executar uma série de ataques de tempo contra o mesmo par.

O BleepingComputer contatou o Signal para saber sobre o impacto real do KyberSlash em sua criptografia e nas comunicações dos usuários, bem como os planos de remediação do projeto, mas um comentário não estava imediatamente disponível.

Publicidade

Pentest do Zero ao Profissional

O mais completo curso de Pentest e Hacking existente no Brasil, ministrado por instrutores de referência no mercado. Oferece embasamento sólido em computação, redes, Linux e programação. Passe por todas as fases de um Pentest utilizando ambientes realísticos. Se prepare para o mercado através da certificação SYCP. Saiba mais...