Há um tempo nos acostumamos a pensar que, se estamos em um site com HTTPS (Protocolo HTTP encriptado por SSL/TLS) estamos seguros, assim como nossos dados. A criptografia SSL/TLS baseada em certificados supostamente previne qualquer tipo de interceptação de dados entre você e o servidor. Isso até aparecer o Heartbleed.
O Heartbleed é uma vulnerabilidade séria que afeta a biblioteca e os softwares de criptografia contidos no OpenSSL. Esta falha permite que informações protegidas sejam roubadas (mesmo em circunstâncias normais de uso) em diversos serviços como web, email, instant messaging (IM) e algumas VPNs (virtual private networks).
Como Funciona
O Heartbleed bug (erro em código) permite que qualquer um na Internet a ler a memória de sistemas protegidos pela versão falha do software OpenSSL. A falha compromete: a secret key utilizada para identificar os provedores de serviço e para encriptar o tráfego, os nomes e senhas de usuários e o próprio conteúdo do site. Permitindo assim o ataque do tipo eavesdrop (interceptação de comunicações) roubo de dados diretamente do serviço e a impersonificacão do provedor do serviço e do usuário.
Quem é Afetado
A falha existe na OpenSSL versões 1.0.1 até 1.0.1f (inclusive) e são afetados sistemas distribuídos com estas versões da biblioteca ou com certificados gerados por essas versões da biblioteca. É importante ressaltar que os certificados para SSH não são afetados. Abaixo um lista de distribuições GNU/Linux que são afetadas:
- Debian Wheezy (stable), 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).
Encontrei orientações de correções para as seguintes distribuições:
- Ubuntu: USN-2165-1;
- Fedora: CVE-2014-0160;
- RedHat: RHSA-2014-0376;
- CentOS: CESA-2014-0376.
Esta vulnerabilidade foi introduzida em Dezembro de 2011 e ficou disponível ao públlico na release 1.0.1 em 14 de Março de 2012. A versão OpenSSL 1.0.1g, liberada em 7 de Abril de 2014 corrige o defeito. Abaixo um detalhamento das versões que possuem a falha:
- OpenSSL 1.0.1 até 1.0.1f (inclusive) são vulneráveis;
- OpenSSL 1.0.1g não está vulnerável;
- OpenSSL 1.0.0 branch não está vulnerável;
- OpenSSL 0.9.8 branch não está vulnerável.
Dada a amplitude da falhar centenas de sites que não são atualizados pode estar vulneráveis. Alguém já se encarregou de fazer uma varredura nos Top 100 sites da internet, a lista está disponível aqui. Segue alguns destaques:
- yahoo.com;
- imgur.com;
- stackoverflow.com;
- flickr.com;
- addthis.com;
- stackexchange.com;
- xda-developers.com;
- steamcommunity.com;
- duckduckgo.com;
- elegantthemes.com.
Eu Sou Afetado?
Claro que seu próprio site (ou outro site que você se utiliza) não está na lista, então existem algumas formas de se testar. A primeira delas é via Web utilizando este site. Outras formas, via linha de comado, é utilizando este script python, da seguinte forma:
$ python ssltest.py meusite.com 443
Connecting...
Sending Client Hello...
Waiting for Server Hello...
... received message: type = 22, ver = 0302, length = 61
... received message: type = 22, ver = 0302, length = 3804
... received message: type = 22, ver = 0302, length = 331
... received message: type = 22, ver = 0302, length = 4
Sending heartbeat request...
Unexpected EOF receiving record header - server closed connection
No heartbeat response received, server likely not vulnerable
Comments
comments powered by Disqus