Tecnologias de Vigilância e Antivigilância

Heartbleed, o bug no OpenSSL que fez o mundo digital sangrar

03/06/2014

Por Lucas Teixeira

O Heartbleed é o nome dado pro bug CVE-2014-0160, que atinge algumas versões recentes do OpenSSL.

Esse bug permite que uma pessoa com habilidades triviais de programação de computadores pudesse ver o conteúdo da memória de um computador, em pequenos pedaços de cada vez, e extrair desde senhas e dados pessoais de usuários até as chaves de criptografia usadas pra comunicação segura.

Segundo Bruce Schneier, pesquisado de segurança e membro da diretoria da Electronic Frontier Foundation, ”’Catastrófico’ é a palavra certa. Numa escala de 1 a 10, isso é um 11.“

Entendendo o problema
screenshot_from_2014-05-23_21_01_26O OpenSSL é um componente vital da segurança de milhares de softwares. Um programador que queira fazer seu software transmitir dados de forma segura pode usar o OpenSSL como umplugin (em termos de programação, uma biblioteca), e de maneira geral não se preocupar em implementar uma boa criptografia (uma tarefa muito difícil).

O alvo mais óbvio e visado da vulnerabilidade são as conexões HTTPS. Elas são tradicionalmente usadas em sites de comércio,internet banking, e outros serviços sensíveis, mas com a crescente onda de notícias sobre vigilância em massa, vem protegendo as comunicações entre mais e mais (EN) sites e seus usuários.

Uma tirinha do XKCD explica muito bem (EN) como a vulnerabilidade funciona.

Após publicar um artigo dizendo ser difícil extrair as chaves privadas de criptografia usando o bug, a CloudFare desafiou a internet a conseguir a chave privada de um servidor intencionalmente afetado pelo Heartbleed.

O desafio foi vencido (EN) por mais de uma pessoa, e ficou demonstrado que, embora não seja tão fácil, é possível extrair as chaves.

Além de servidores web, o Heartbleed também afetou a rede Tor, celulares Android, VPN’s, conexõe de e-mail através de SMTP, POP3 e IMAP, e diversos outros dispositivos e softwares. (Todos EN)

Foi a NSA?
A Bloomberg publicou uma matéria onde duas fontes anônimas dizem que a NSA sabia do Heartbleed “há pelo menos dois anos”, pouco depois de ela ser inserida no software, e que vem explorando desde então pra roubar usuários e senhas de sistemas.

A comunidade de inteligência dos EUA, através do site IC on the Record, negou categoricamente ter conhecimento do Heartbleed. A linguagem usada na declaração, segundo Bruce Schneier, é “livre de jogos de palavras”:

A NSA não sabia da vulnerabilidade recentemente identificada no OpenSSL, a chamada vulnerabilidade Heartbleed, até ela ter sido publicada em um relatório de cibersegurança do setor privado. Afirmações do contrário estão erradas. (tradução nossa)

Baixo Orçamento
Mesmo que a NSA tivesse conhecimento do bug há tanto tempo, no entanto, não quer dizer que ela seja responsável por sua criação.

Embora a NSA, em seu programa BULLRUN, e a britânica GCHQ, com o EDGEHILL, efetivamente sabotem a de segurança de muitos softwares nesse caso há uma explicação mais simples: o OpenSSL é um projeto de software livre, e sendo parte da regra, e não da exceção, de sua origem, é mantido por voluntários.

Mesmo quando é distribuído por uma empresa, como o navegador Firefox pela Mozilla, e o sistema operacional Ubuntu pela Canonical, um software livre – que permite o uso, a cópia, modificação e redistribuição – costuma ser mantido por uma comunidade de pessoas, de entusiastas mas também de profissionais, que usam o programa em seu trabalho, e devolvem suas correções e melhorias, pra que todos possam aproveitá-las.

Muitas empresas que dependem de softwares livres pra funcionar também financiam seus custos de pessoal e de equipamento, conferências e feiras.

Porém, talvez devido à grande complexidade e especialidade que o campo da criptografia apresenta, quanto pelo papel distante e abstrato que o projeto ocupa frente a outros mais “sexys”, o OpenSSL era mantido por quatro voluntários (EN) – somente um deles dedica seu tempo de trabalho integralmente a isso.

Enquanto isso, A NSA mantém equipes inteirasdedicadas a quebrar algoritmos criptográficos e softwares de segurança.

Com a “descoberta” de que um componente tão crítico da segurança de softwares usados em “bancos, firewalls, sistemas de armamento, web sites, smartphones, indústria, governo, em todos os lugares” (EN) tem um financiamento tão baixo, a Linux Foundation |anunciou (PT) uma iniciativa pra ajudar projetos sub-financiados, e o OpenSSL é o primeiro da fila. (em inglês, no Huffington Post)

O fundador do OpenBSD, Theo de Raadt, criou um fork (PT) do OpenSSL, chamado de “LibreSSL”.

Caos
Um aspecto crítico dessa vulnerabilidade é que, na imensa maioria dos casos, os ataques não são registrados em nenhum arquivo de log, tornando impossível saber se um determinado servidor foi explorado ou não, e quais informações foram extraídas.

Por isso, foi recomendado que todos os servidores que já tiveram as versões vulneráveis troquem seus certificados de criptografia.

Isso gerou uma sobrecarga nas autoridades certificadoras (certificate authorities, ou CA), que emitem esses certificados e garantem para um usuário que o site é quem diz ser.

Uma falha como essas nunca foi considerada seriamente pela infraestrutura de segurança da Internet, e o problema que se constatou foi que a tecnologia de revogação de certificados – que permitiria que os navegadores e outros clientes pudessem saber quando um certificado foi comprometido e não deve ser mais usado – não funciona como deveria em quase todas as implementações.

Recomendações pós-Heartbleed
Usuários: troque todas as suas senhas importantes de contas web e de e-mail.O desenvolvedor Filippo Valsorda tem um site pra testar se um site é afetado pelo Heartbleed. A ferramenta SSL Server Test da Qualys testa a presença do Heartbleed, além de diversas outras fraquezas conhecidas. Também há uma extensão pra navegadores feita pela Netcraft.
Administradores de sistema: passe imediatamente a usar uma versão do OpenSSL não afetada pelo bug. Revogue seu certificado SSL e adquira um novo. Passe a usar Perfect Forward Secrecy em conexões HTTPS pra que um futuro novo bug (eles sempre aparecem) não comprometa as comunicações encriptadas passadas que um adversário tenha guardado. Troque todas suas senhas web e de e-mail. Há muito mais instruções nesse guia que aEFF publicou. Leia.

A EFF publicou um guia bem mais completo pra administradores de sistemas. Lei

Outras matérias sobre o Heartbleed

 

Acesse outros conteúdos publicados no “Edição9 do boletim Antivigilância” acessando a tag “boletim9” abaixo.

Tags: , , , , , , , ,