Este artigo é uma tradução/adaptação de: Vulnerability Note VU#720951
Visão geral
OpenSSL 1.0.1 contém uma vulnerabilidade que pode revelar informações privadas para um atacante.
Descrição
OpenSSL, versões de 1.0.1 até 1.0.1f, contém uma falha em sua implementação da funcionalidade heartbeat TLS/DTLS (RFC6520). Esta falha permite que um atacante obtenha pedaços de 64k da memória privada de uma aplicação que utilize a biblioteca libssl do OpenSSL vulnerável. Observe que o atacante pode utilizar a vulnerabilidade repetidamente para obter tantos pedaços de 64k quanto forem necessários para obter informações sensíveis como:
– Chaves privadas;
– Nomes de usuário e senhas usadas por serviços vulneráveis;
– Dados sensíveis utilizados por serviços vulneráveis;
– Endereços de memória e de conteúdo que podem ser aproveitados para contornar mitigações de exploits.
Para mais detalhes, consulte o site Heartbleed. Códigos de exploit para esta vulnerabilidade estão disponíveis publicamente. Qualquer serviço que suporte STARTLS (imap, smtp, http, pop) pode ser afetado.
Impacto
Atacando um serviço que utilize uma versão vulnerável do OpenSSL, um atacante remoto não autenticado pode obter informações sensíveis, como chaves privadas. Aproveitando dessas informações, o atacante pode descriptografar, falsificar ou executar um ataque “man-in-the-middle” em uma rede onde o tráfego é protegido por OpenSSL.
Solução
Atualize
Este problema foi tratado no OpenSSL 1.0.1g. Verifique junto aos fabricantes a disponibilidade de atualizações. Vale lembrar que qualquer sistema exposto esta vulnerabilidade deve regerar qualquer informação sensível (chaves secretas, senhas, etc).
Uma tabela com os principais fabricantes e o status de tratamento desta vulnerabilidade pode ser verificada em:
http://www.kb.cert.org/vuls/byvendor?searchview&Query=FIELD+Reference=720951&SearchOrder=4
Desabilite o suporte ao OpenSSL Heartbeat
Este problema pode ser tratado recompilando o OpenSSL com a flag -DOPENSSL_NO_HEARTBEATS.
Aplicativos que utilizam o OpenSSL, como o Apache ou Nginx deverão ser reiniciados para que as mudanças sejam efetivadas.
Utilize Perfect Forward Secrecy (PFS)
PFS pode ajudar a minimizar os danos em caso de vazamento de uma chave secreta fazendo que seja mais difícil descriptografar tráfego de rede já capturado.
Referências
http://heartbleed.com/
http://seclists.org/oss-sec/2014/q2/22
http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=96db902
https://tools.ietf.org/html/rfc6520
http://www.openssl.org/news/openssl-1.0.1-notes.html
https://access.redhat.com/security/cve/CVE-2014-0160
http://www.ubuntu.com/usn/usn-2165-1/
http://www.freshports.org/security/openssl/
https://blog.torproject.org/blog/openssl-bug-cve-2014-0160