Foi encontrada recentemente uma falha de segurança no OpenSSL que causou um grande tumulto, já que a mesma deixou exposta informação sensível em vários sites. Neste post, vamos esclarecer todos os detalhes sobre o Heartbleed.

O que acontece, exatamente?

Uma falha em algumas versões do software grátis OpenSSL, utilizado por muitos sites para criptografar e transmitir informação de forma segura, permitia que a segurança dos mesmos ficassem vulneráveis. Essa vulnerabilidade (CVE-2014-0160), conhecida como Heartbleed, foi descoberta por engenheiros da empresa de segurança Codenomicon em conjunto com um investigador do Google. Ela afeta uma função do OpenSSL conhecida como Heartbeat, daí o nome Heartbleed.

Qual é a falha?

A vulnerabilidade mencionada permite que um atacante possa, à distância, ler 64 KB de informação na memória do serviço vulnerável, o que permite o acesso a qualquer informação encontrada no mesmo, como por exemplo dados de acesso do sistema, tokens, certificados, etc.

Por outro lado, se um usuário acessa um site vulnerável, e um atacante estiver na mesma rede, o atacante poderia efetuar um ataque conhecido como Man In The Middle (MITM). Assim o criminoso poderia ler informações confidenciais como credenciais ou Cookies de sessão que permitiriam que o mesmo tomasse o lugar da vítima no site mencionado.

Quem foi afetado?

Alguns serviços bem conhecidos como o e-mail da Yahoo, o banco de imagens Flickr, Imgur, Eventvrite e o aplicativo para relacionamentos OkCupid foram mencionados. Outro serviço afetado foi o gerenciador de senhas LastPass, embora o mesmo afirme que suas várias camadas de criptografia mantiveram os seus usuários a salvo.

Existe ainda uma lista completa de domínios conhecidos que ficaram desprotegidos em algum momento. Alguns deles já estão fora de risco, mas é muito difícil determinar até onde vai o vazamento de informação sofrido por esses sites.

Por que tanto dano?

Principalmente porque são os programas de códigos abertos mais utilizados para montar servidores de internet, como o Apache ou o Nginx, utilizam OpenSSL, portanto, o alcance da falha poderia ser tão extenso quanto o alcance dos servidores mencionados (desde que os mesmos utilizem versões vulneráveis do OpenSSL).

Uma pesquisa feita pela Netcraft esse mês indica que a fatia do mercado dos dois programas combinados (Apache e Nginx) é de aproximadamente 66% dos sites ativos na Internet.

O que se pode fazer agora?

A recomendação é que os usuários dos sites atingidos pelo Heartbleed verifiquem se o problema já foi solucionado nos mesmos, e então que mudem seus dados de acesso, para prevenir inconvenientes.

Existe também um site no qual é possível verificar se uma página web ainda é vulnerável ao ataque descrito. Mesmo não apresentando um resultado 100% correto (existem falsos positivos e falsos negativos), é possível  fazer um teste rápido e simples.

No caso de administrar um site que utiliza o OpenSSL para criptografar comunicações, é recomendado verificar se a versão é vulnerável:

  • OpenSSL 1.0.1 a 1.0.1f (inclusive) são vulneráveis
  • OpenSSL 1.0.1g NÃO É vulnerável (a última versão é estável)
  • OpenSSL 1.0.0 NÃO É vulnerável
  • OpenSSL 0.9.8 NÃO É vulnerável

Se estiver utilizando uma versão vulnerável, é necessário atualizar a mesma, preferentemente a versão 1.0.1g, e trocar as senhas e certificados do site. É recomendado também informar aos usuários e clientes que os mesmos deveriam trocar suas senhas inclusive como prevenção.