Heartbleed, que já vem sendo considerada uma das maiores falhas de segurança da Web atualmente, é causada pela vulnerabilidade na popular biblioteca de criptografia OpenSSL.
Esta vulnerabilidade permite roubar as informações criptografadas, em condições normais, pelo protocolo SSL/TLS usada para proteção no tráfego de dados da Internet. Esse protocolo de criptografia é utilizado em aplicações tais como: web, e-mail, mensagens instantâneas (IM) e em algumas redes privadas virtuais (VPNs).
Estimasse que a falha pode ter afetado mais de 500.000 servidores.
Quais as versões do OpenSSL foram afetadas?
- OpenSSL 1.0.1 até 1.0.1f
A falha foi criada em dezembro de 2011 e permaneceu até 1.0.1 lançada em 14 de março de 2012. A versão 1.0.1g, liberada em 7 de abril de 2014, corrige o erro.
As versões abaixo não foram afetadas:
- OpenSSL 1.0.1g
- OpenSSL 1.0.0 branch
- OpenSSL 0.9.8 branch
E quando aos sistemas operacionais afetados?
Alguns dos sistemas operacionais que foram distribuídos com a versão vulnerável do OpenSSL, foram:
- Debian Wheezy, OpenSSL 1.0.1e-2+deb7u4
- Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
- CentOS 6.5, OpenSSL 1.0.1e-15
- Fedora 18, OpenSSL 1.0.1e-4
- OpenBSD 5.3, OpenSSL 1.0.1c 10 May 2012 and 5.4, OpenSSL 1.0.1c 10 May 2012
- FreeBSD 10.0 – OpenSSL 1.0.1e 11 Feb 2013
- NetBSD 5.0.2, OpenSSL 1.0.1e
- OpenSUSE 12.2, OpenSSL 1.0.1c
Como verificar se meu servidor foi afetado?
O especialista em criptografia Filippo Valsorda publicou uma ferramenta que permite conferir se um determinado website está suscetível à falha Heartbleed em https://filippo.io/Heartbleed/.
Através do site criado por Filippo ainda é possível retirar dúvidas sobre seu teste através da área de FAQ. Ou entrar em contato através de seu Twitter.
O código utilizado para fazer a verificação está disponível no GitHub.
Como corrigir a falha no OpenSSL?
Para corrigir a falha de segurança a versão 1.0.1g ou uma versão ainda mais recente a esta deverá ser instalada. Caso isso não seja possível, o desenvolvedor poderá recompilar o OpenSSL retirando do código o handshake DOPENSSL_NO_HEARTBEATS através das opções para complilação.