O que é Heartbleed? Saiba como corrigir o bug.


Afinal, o que é Heartbleed? Quais as providências a serem tomadas? 

_________________________________________________________________________________
Mais antes calma, isso é linguagem para programadores de sites etc, mas não custa depois de você ler a matéria executar alguns procedimentos de segurança como trocar sua senha nos emails e redes sociais que você utiliza, tomar cuidado em compras com cartão de crédito e com seus dados pessoais e se precaver nas transações bancárias on-line. Todo cuidado é pouco
Maiones Sousa
_________________________________________________________________________________


Há umas semanas foi divulgada uma vulnerabilidade muito grave no código do OpenSSL, que é utilizado em uma parcela significativa dos servidores existentes na Internet, e pode gerar problemas aos usuários e empresas. Para piorar, esta vulnerabilidade estava no código do OpenSSL desde 2011, o que pode indicar que venha sendo explorada já há algum tempo. 
O OpenSSL é uma biblioteca open source de criptografia, adotada por aproximadamente 2 em cada 3 servidores de empresas para blindar comunicações. É ela a responsável por colocar o S no HTTPS e o cadeado na barra de endereços dos sites seguros, por exemplo. 
Esta falha, denominada Heartbleed, permite que um atacante capture pedaços de dados carregados em memória em um servidor que rode a versão vulnerável da biblioteca, eventualmente comprometendo informações importantes. 
O problema já foi corrigido e uma nova versão do código já está disponível para atualização. 
Mas ainda há bastante a fazer! 


Tecnicamente falando sobre o bug Heartbleed 
A falha explora um bug na implementação do TLS Heartbeat do OpenSSL, nas versões 1.0.1 até 1.0.1f, que permite que um atacante consiga ler uma área de memória de 64kb do OpenSSL e com isso acessar informações privilegiadas a que o processo tenha acesso, como as chaves privadas utilizadas para criptografar o tráfego HTTPS, logins, senhas, e informações trafegadas através do acesso. 
A estimativa é que a falha tenha atingido cerca de 17.5% dos sites da internet [1], cerca de 500 milhões, mas o número pode ser bem maior, pois a falha também afeta outros serviços que podem utilizar a mesma biblioteca, como SMTP, VPN, IMAP e MySQL. 
A extensão TLS Heartbeat foi criada para manter viva a conexão TLS sem a necessidade de renegociação de chaves e foi implementada em dezembro de 2011. No dia 7 de abril de 2014 foi anunciada a falha. Não se sabe desde quando a falha foi explorada, mas há indícios de explorações ao menos há 5 meses. [2] 
Como o bug Heartbleed funciona 
As mensagens de comunicação SSL/TLS se baseiam na estrutura SSL3_RECORD, onde a variável length define o tamanho total do pacote da mensagem SSL [3]. 
struct ssl3_record_st
{
int type;
unsigned int length; /* How many bytes available */
[...]
unsigned char *data; /* HeartbeatMessage goes here */
[...]
} SSL3_RECORD;
O protocolo Heartbeat por sua vez é bem simples e consiste de dois módulos: de requisição heartbeat_request e resposta heartbeat_response, como um addon ao OpenSSL. Essas mensagens são formatadas de acordo com a estrutura HeartbeatMessage: 
struct
{
HeartbeatMessageType type;
uint16 payload_length;
opaque payload[HeartbeatMessage.payload_length];
opaque padding[padding_length];
} HeartbeatMessage;
Quando o servidor inicia uma requisição ele aloca em memória espaço suficiente para o pacote que ele deseja enviar e assim configura os campos payload_length de HeartbeatMessage e length de SSL3_RECORD: 
buffer = OPENSSL_malloc(1 + 2 + payload + padding);
Um atacante por sua vez ao responder informa um valor de payload_length maior que o necessário, que sendo um inteiro unsigned de 16-bit pode ter o valor máximo de 2^16-1, ou seja, 65535 bytes ou 64kb, incoerente com o valor do length do SSL3_RECORD declarado inicialmente. 
A RFC 6250 [4] que trata da extensão Heartbeat ao TLS e DTLS, explicita que “When a HeartbeatRequest message is received […] the receiver MUST send a corresponding HeartbeatResponse message carrying an exact copy of the payload of the received HeartbeatRequest.”, ou seja, “Quando uma mensagem HeartbeatRequest é recebida […] o recipiente DEVE enviar uma mensagem HeartbeatResponse correspondente carregando uma cópia exata do payload que foi recebido pelo HeartbeatRequest.” 
Como o servidor não verifica o valor de payload_length, ele responde com bytes da própria memória, que não foram alocadas para o Heartbeat, enviando assim informações fora da área de memória da função, contendo dados aleatórios do processo. 
Como o ataque pode ocorrer repetidamente e extrair até 64kb de informação por vez, a falha pode expor informações críticas como senhas e chaves de criptografia privada, que podem levar a ataques do tipo man-in-the-middle. 
Como corrigir o bug Heartbleed
Se você é um administrador de sistema, verifique e atualize os seus servidores. Tenha em mente que as versões do OpenSSL de 1.0.1 até o 1.0.1f (inclusive) são vulneráveis. Versões anteriores à 1.0.1, como a 1.0.0 e 0.9.8, não são vulneráveis. E que a versão 1.0.1g corrige o bug, portanto não é vulnerável. 
Para verificar se seus servidores estão vulneráveis, utilize o comando abaixo: 
$ echo -e “quit\n” | openssl s_client -connect seuhost:443 -tlsextdebug 2>&1| grep ‘TLS server extension “heartbeat” (id=15), len=1′

Também é importante gerar novos certificados para servidores que estiveram vulneráveis. 
No caso dos usuários finais, é importante a troca de todas as senhas em sites ou serviços que possam ter sido comprometidos. Mas antes de trocar, assegure-se que o provedor do serviço já corrigiu o problema. Alguns sites que sabidamente foram afetados e cujas senhas deverão ser trocadas são Facebook, Google e serviços como YouTube e Gmail, Yahoo e serviços como Yahoo! Mail Tumblr. Pinterest, serviços de computação em nuvem Amazon (ex. EC2), Dropbox, SoundCloud e IFTTT. 



Foto-mini-currículo-Felipe-LemosFelipe Lemos
Coordenador de Redes da Módulo Security Solutions, com larga experiência em Administração de Redes e Infraestrutura, com foco em segurança e um forte compromisso com as melhores práticas e processos de melhoria contínua.






Fonte: http://segurancadainformacao.modulo.com.br/


Para verificar se o site que você faz compras ou acessa redes sociais e emails já está livre desse bug, acesse o link abaixo, que é da NORTON especialista em segurança on-line.
Coloque o endereço do site que você quer verificar no espaço e clique em verificar e aguarde o diagnostico

Comentários