Heartbleed: O seu OpenSSL esta sangrando.




No dia 07 deste mês foi divulgada uma vulnerabilidade na biblioteca openssl, uma biblioteca open-source que permite a criptografia do tráfego entre o cliente e o site visitado. Esta vulnerabilidade esta chamando tanto a atenção pelo fato de afetar uma imensa quantidade de sites na Internet. 

A OpenSSL é uma das bibliotecas mais utilizadas para garantir a segurança no tráfego. Basicamente a OpenSSL garante que o tráfego de nome de usuário, senhas e outras informações trafeguem pela Internet sem que seja possível a outra pessoa visualizar estas informações e esta vulnerabilidade esta desencadeando uma enorme avalanche de mudanças e atualizações em todos os sites e serviços que a usam.

Provedores de serviços como Amazon, Trello, IFTTT, Yahoo e muitos outros estão enviando mensagens para seus clientes explicando o que é a vulnerabilidade e quais os procedimentos que estão adotando para solucionar este problema, o que basicamente é atualização da biblioteca.

Esta vulnerabilidade permite que o "atacante" visualize o conteúdo da memória dos servidores, cerca de 64kb, permitindo acesso a uma série de informações que a princípio deveriam ser mantidas criptografadas. Este acesso é permitido pelo comprometimento da chave "key" criptográfica trocada entre o usuário e o servidor, e a parte mais assustadora da vulnerabilidade é que ela não deixa que o servidor/serviço saiba que foi comprometido ou que já tenham sido comprometido no passado, não há vestígios deste compromentimento. Inclusive se especula que o vazamento recente de senhas do Yahoo[1][2][3][4] tenha acontecido pela exploração desta vulnerabilidade.

Caso você queira saber se o serviço que você usa é um dos afetados pela vulnerabilidade, existe uma lista de sites testados do GitHub[5], ou ainda, pode usar o site filipo.io[6] para fazer o teste diretamente. Fiz um teste com o Google e tudo tranqüilo. Mas mesmo assim seria uma boa idéia a troca das senhas, seguindo os conselhos de não usar senhas simples, não repetir senhas em vários locais, usar os caracteres maiúsculos e minúsculos, ainda usar os caracteres especiais(*&^#$@) na sua senha, sempre maior que 8 caracteres. Para os que tem dificuldades em lembrar e criar senhas, podem usar a solução da LastPass, que ajudar a armazenar suas senhas e a criar senhas para diferentes site e serviços, desta forma você teria que ter somente uma única senha forte e boa, o restante poderia ser criado pelo ferramenta.


Para aqueles que gerenciam algum tipo de serviço utilizando o OpenSSL, claro as dicas são para atualização da biblioteca, geração de novos certificados e a solicitação de novos certificados para aqueles que recebem certificados de serviços de terceiros.

Para quem busca um pouco mais de informações, e estas um pouco mais especializadas, a vulnerabilidade foi nomeada como CVE-2014-0160 e pode ser encontrada nos sites de registro de vulnerabilidades como o NVD[7] ou então o CVE[8]. Al vulnerabilidade afetou a biblioteca OpenSSL nas versões que vão da OpenSSL 1.0.1a até a OpenSSL 1.0.1f, desta forma é aconselhável a atualização para a versão OpenSSL 1.0.1g ou superior.

Para os usuários do NESSUS, há um bom artigo[9] mostrando como podem identificar esta vulnerabilidade usando a ferramenta, e que cm certeza já devem ter soluções semelhantes para outras ferramentas como por exemplo o metasploit, que a uns dois 2 dias já tem atualização de exploits para a vulnerabilidade.



Alguns especialistas[10] estão escrevendo algumas regras para o SNORT, ainda não testei, mas que já podem ser testadas. Seguem abaixo alguns exemplos das regras.

alert tcp any [!80,!445] -> any [!80,!445] (msg:"FOX-SRT - Suspicious - SSLv3 Large Heartbeat Response"; flow:established,to_client; content:"|18 03 00|"; depth: 3; byte_test:2, >, 200, 3, big; byte_test:2, <, 16385, 3, big; threshold:type limit, track by_src, count 1, seconds 600; reference:cve,2014-0160; classtype:bad-unknown; sid: 1000000; rev:4;)
alert tcp any [!80,!445] -> any [!80,!445] (msg:"FOX-SRT - Suspicious - TLSv1 Large Heartbeat Response"; flow:established,to_client; content:"|18 03 01|"; depth: 3; byte_test:2, >, 200, 3, big; byte_test:2, <, 16385, 3, big; threshold:type limit, track by_src, count 1, seconds 600; reference:cve,2014-0160; classtype:bad-unknown; sid: 1000001; rev:4;)
alert tcp any [!80,!445] -> any [!80,!445] (msg:"FOX-SRT - Suspicious - TLSv1.1 Large Heartbeat Response"; flow:established,to_client; content:"|18 03 02|"; depth: 3; byte_test:2, >, 200, 3, big; byte_test:2, <, 16385, 3, big; threshold:type limit, track by_src, count 1, seconds 600; reference:cve,2014-0160; classtype:bad-unknown; sid: 1000002; rev:4;)
alert tcp any [!80,!445] -> any [!80,!445] (msg:"FOX-SRT - Suspicious - TLSv1.2 Large Heartbeat Response"; flow:established,to_client; content:"|18 03 03|"; depth: 3; byte_test:2, >, 200, 3, big; byte_test:2, <, 16385, 3, big; threshold:type limit, track by_src, count 1, seconds 600; reference:cve,2014-0160; classtype:bad-unknown; sid: 1000003; rev:4;)
Ainda tem muito mais informações na Internet, mas vamos ficando por aqui.

Referencias:
[1] http://goo.gl/WOVpiH
[2] http://goo.gl/jTZP8Z
[3] http://goo.gl/9r4g1P
[4] http://goo.gl/nUazs0
[5] http://goo.gl/HMuXba
[6] http://goo.gl/nEpUFR
[7] http://goo.gl/USR9nc
[8] http://goo.gl/vWkho8
[9] http://goo.gl/fwquYZ
[10] http://goo.gl/N1Lpgf


Nenhum comentário :

Postar um comentário

Gostaria de saber a sua opinião.