0 Compartilhamentos 700 Views 1 Comments

Heartbleed: a origem

O Heartbleed sangrou toda a Internet. Se você esteve escondido em uma caverna sem nenhum acesso durante a semana passada, basta eu dizer que, agora que você saiu, é recomendado que você troque suas senhas da web. Quais senhas? Todas, por via das dúvidas. Isso é o Heartbleed.

A falha no módulo de encriptação OpenSSL permite que um hacker engenhoso recupere dados que estejam na memória do servidor. Isso inclui certificados digitais, senhas, números de cartão crédito, números de documentos oficiais, tudo, sem qualquer encriptação. Nesse momento, 900 canadenses estão lamentando o dia em que a falha foi descoberta, para ficar em apenas um exemplo. E esse número de vítimas vai crescer.

Mas de onde veio essa falha? Quem é o culpado? Por que algumas empresas foram afetadas e outras não? A origem do Heartbleed pode dizer muito sobre como funcionam os bastidores da indústria da tecnologia de informação.

Mea Culpa

Robin Seggelmann. Esse é o nome do responsável pelo Heartbleed. O engenheiro de software alemão assumiu sozinho a culpa por ter introduzido a vulnerabilidade. E isso aconteceu em 2012!

Robin Seggelmann

Robin Seggelmann: foi ele!

Seggelmann trabalhava em uma maneira de melhorar o OpenSSL. Como parte do espírito do código-aberto do protocolo, Seggelmann estava corrigindo bugs e acrescentando algumas novas funcionalidades ao protocolo, algo que já havia feito muitas vezes antes e faria muitas vezes depois. Apenas que daquela vez foi diferente: “em uma das novas funcionalidades, infelizmente, eu me esqueci de validar uma variável contendo um comprimento”, declarou o engenheiro de software. Um erro trivial.

O código foi submetido para revisão e o revisor “aparentemente também não percebeu a validação faltando”. O resultado é que o erro passou do código de desenvolvimento para o código de produção. Uma investigação no log identifica um certo Dr Stephen Henson como o revisor responsável. Henson, por enquanto, ainda não foi localizado.

Apesar do encadeamento de erros, Seggelmann segue defendendo o modelo open-source: “o benefício é que qualquer um pode revisar o código para começo de conversa. E quanto mais pessoas olhando, melhor, principalmente com um programa como o OpenSSL”.

Dois Anos de Silêncio e Duas Semanas de Correria

Se o Heartbleed já estava no código do OpenSSL desde a versão 1.01.1 de Março de 2012, o que aconteceu durante esses 2 anos? Ninguém sabe com certeza. Há quem diga que hackers e agências de espionagem governamentais vem explorando a falha de longa data, mas não há qualquer prova nesse sentido até agora, mesmo após tantos vazamentos produzidos pelo Wikileaks ou por Edward Snowden.

A menos que entremos no pantanoso território das teorias de conspiração, vamos supor que o Heartbleed permaneceu escondido por todo esse tempo.

Até 21 de Março de 2014.

Nesta data,  Neel Mehta, do Google Security descobriu a falha de segurança que mais tarde seria classificada como “11 de 10” na escala de perigo.

Quando você descobre um bug que pode afetar dois em cada três servidores do mundo e transformar em poeira a proteção do https, qual é a sua prioridade? Mehta escolheu o sigilo e, de acordo com os analistas, ele fez certo. Uma publicação apressada em um site de segurança ou uma declaração pública poderia levar a existência do problema diretamente para o submundo da Internet, onde os hackers de chapéu preto descobririam formas de explorar a vulnerabilidade muito mais rápido do que seria possível corrigi-la.

Naquele 21 de Março, uma sexta-feira, ninguém foi pra casa cedo no Google Security. Bodo Moeller e Adam Langley conseguiram criar uma correção para o Heartbleed no mesmo dia. Durante todo o final de semana e os dias seguintes, a correção foi aplicada em todos os servidores do Google vulneráveis.

A questão do sigilo ia crescendo como uma bola de neve. Quanto mais pessoas envolvidas no processo, maiores as chances de um vazamento.

secrecy

Por dez dias, o conhecimento do Heartbleed ficou restrito aos corredores do Google. E, como era de se esperar, alguém vazou a informação. Através de uma conexão encriptada com uma chave privada, um informante anônimo revelou a existência da falha para um engenheiro de segurança da Cloudfare. A empresa desenvolveu sua própria correção, mas se comprometeu a não revelar nenhum dado publicamente.

No dia seguinte, em pleno Primeiro de Abril, o Dia da Mentira, o Google repassou a batata quente para o time do OpenSSL. Tiveram a delicadeza de enviar a correção junto com as más notícias. A OpenSSL comunicou a falha para a Red Hat, responsável pelo sistema operacional com mais usuários do protocolo comprometido.

Em algum ponto desta cadeia, o Facebook também foi notificado e tratou de corrigir a falha em seus servidores. O mesmo aconteceu com a Akamai e outras empresas. A esta altura do campeonato, rumores começaram a surgir dentro da comunidade open source, mas a verdadeira natureza do Heartbleed continuava blindada. Sites como Yahoo, OKCupid, Amazon e milhares de outros permaneceram na ignorância.

Por uma destas coincidências que ninguém explica, em 2 de Abril, a empresa de segurança finlandesa Codenomicon identificou a mesma falha que Neel Mehta havia encontrado. Um buraco no protocolo OpenSSL que havia permanecido oculto por dois anos havia sido encontrado em dois lugares diferentes do planeta com um intervalo de pouco mais de dez dias. Se a Codenomicon não foi a primeira, pelo menos teve a honra dúbia de batizar o problema: “Heartbleed”, com direito a compra de domínio próprio logo depois.

heartbleed-vitrine

Mas a falha era tão grave que a Codenomicon também optou pelo sigilo e não comunicou primeiro aos seus clientes, mas sim para o órgão público National Cyber Security Centre Finland (NCSC-FI). O NCSC-FI demorou alguns dias antes de emitir um relatório ao CERT Coordination Centre, solicitando um alerta sobre um “problema grave no OpenSSL”.

E foi esse relatório que acelerou o processo de revelação pública da existência da vulnerabilidade: não era mais possível mantê-la escondida, os hackers logo saberiam por seus meios e o quadro seria muito pior.

Em 7 de Abril, a OpenSSL emitiu um boletim público para assinantes, a Cloufare publicou um artigo em seu blog e Neel Mehta tuitou sobre o problema, quase todos juntos.

No dia seguinte, a notícia explodiu na mídia. E a web nunca mais será a mesma.

Carregando...

Você pode se interessar

Enumerando e analisando mais de 40 implementações de JavaScript (que não são V8)
Artigos
158 visualizações
Artigos
158 visualizações

Enumerando e analisando mais de 40 implementações de JavaScript (que não são V8)

Carlos L. A. da Silva - 6 de outubro de 2021

V8 é o interpretador JavaScript, também chamado de máquina virtual Javascript, desenvolvido pela Google e utilizado em seu navegador Google Chrome. Com o peso de seus criadores e a quase onipresença do navegador, foi apenas uma questão de tempo para essa implementação do JavaScritp se tornar dominante no mercado. Entretanto, um bom desenvolvedor sabe que […]

Sir Clive Sinclair, o homem adiantado no tempo
Artigos
342 visualizações
Artigos
342 visualizações

Sir Clive Sinclair, o homem adiantado no tempo

Carlos L. A. da Silva - 18 de setembro de 2021

O inglês Clive Marles Sinclair nasceu de uma família de engenheiros. Seu avô foi engenheiro, assim como o seu pai. Com um talento natural pela Matemática e um forte interesse em eletrônica, ele se tornaria uma página importante da popularização da computação em diversas partes do mundo, construindo um legado que se perpetuará por anos […]

A cibersegurança por trás das vacinas
Artigos
445 visualizações
Artigos
445 visualizações

A cibersegurança por trás das vacinas

Carlos L. A. da Silva - 7 de setembro de 2021

Vacinas contra o coronavírus contam com aparato sofisticado de cibersegurança que bateu de frente com tentativa de ação de hackers.

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

Top 25 comandos do Git
Artigos
583 visualizações
583 visualizações

Top 25 comandos do Git

Carlos L. A. da Silva - 28 de agosto de 2021
Dez anos de Kotlin: origens e futuro
Artigos
629 visualizações
629 visualizações

Dez anos de Kotlin: origens e futuro

Carlos L. A. da Silva - 20 de agosto de 2021
10 jogos que todo programador deveria conhecer
Artigos
997 visualizações
997 visualizações

10 jogos que todo programador deveria conhecer

Carlos L. A. da Silva - 1 de agosto de 2021