Ataque DROWN (CVE-2016-0800)
O que é Ataque DROWN (CVE-2016-0800)?
Ataque DROWN (CVE-2016-0800)Ataque cross-protocol de 2016 que usa um servidor com SSLv2 que partilha chaves com TLS para decifrar sessões TLS modernas, comprometendo a segurança de HTTPS, SMTPS e IMAPS.
O DROWN (Decrypting RSA with Obsolete and Weakened eNcryption), CVE-2016-0800, foi divulgado a 1 de março de 2016 por Aviram, Schinzel, Somorovsky et al. Trata-se de um ataque cross-protocol: o SSLv2 ainda negoceia suites de cifra RSA de exportação de 40 bits, e o seu handshake revela se um texto cifrado tem um preenchimento PKCS#1 v1.5 correto. Isso transforma um servidor SSLv2 num oráculo de preenchimento de Bleichenbacher. O ponto crucial é que o serviço SSLv2 vulnerável não precisa de ser o alvo — se qualquer serviço partilhar a mesma chave privada/certificado RSA (por exemplo, um servidor SMTP ou IMAP antigo que reutiliza a chave do servidor web), o atacante pode gravar passivamente handshakes TLS modernos e decifrar as chaves de sessão offline.
O ataque geral exigia cerca de 1.000 ligações TLS gravadas e aproximadamente 2^50 operações de trabalho — viável por menos de 440 USD de computação na nuvem na altura. Uma variante muito pior, "special DROWN", explorava uma falha do OpenSSL (CVE-2016-0703) que permitia a um atacante ativo decifrar uma única sessão TLS em minutos num portátil. Os investigadores estimaram que cerca de 33 % de todos os servidores HTTPS eram vulneráveis. Mitigações: desativar o SSLv2 em todos os serviços, atualizar o OpenSSL para 1.0.2g/1.0.1s e nunca reutilizar uma chave privada ou certificado entre endpoints com SSLv2 e endpoints modernos.
flowchart TD A[Cliente] -->|Handshake TLS moderno| B[Servidor TLS seguro] C[Atacante] -->|Grava passivamente<br/>handshakes cifrados com RSA| B C -->|Envia textos cifrados forjados| D[Servidor SSLv2<br/>mesma chave/cert RSA] D -->|Respostas do oráculo de preenchimento<br/>cifra de exportação| C C --> E[Recupera a chave de sessão TLS<br/>Bleichenbacher / DROWN] E --> F[Decifra a sessão capturada<br/>HTTPS / SMTPS / IMAPS]
● Exemplos
- 01
Atacante a decifrar um handshake HTTPS capturado usando um servidor SMTP com SSLv2 que partilha o certificado.
- 02
Desativação rápida do SSLv2 em correio, FTP e gateways legados após a publicação do DROWN.
● Perguntas frequentes
O que é Ataque DROWN (CVE-2016-0800)?
Ataque cross-protocol de 2016 que usa um servidor com SSLv2 que partilha chaves com TLS para decifrar sessões TLS modernas, comprometendo a segurança de HTTPS, SMTPS e IMAPS. Pertence à categoria Vulnerabilidades da cibersegurança.
O que significa Ataque DROWN (CVE-2016-0800)?
Ataque cross-protocol de 2016 que usa um servidor com SSLv2 que partilha chaves com TLS para decifrar sessões TLS modernas, comprometendo a segurança de HTTPS, SMTPS e IMAPS.
Como se defender contra Ataque DROWN (CVE-2016-0800)?
As defesas contra Ataque DROWN (CVE-2016-0800) costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Ataque DROWN (CVE-2016-0800)?
Nomes alternativos comuns: CVE-2016-0800, Ataque cross-protocol com SSLv2.