Heartbleed

Logotip per representar l'error Heartbleed. El logo i el nom Heartbleed («hemorràgia al cor» en anglès) han contribuït a la sensibilització pública del problema.[1][2]

Heartbleed és un error de programari a la biblioteca de criptografia d'OpenSSL de codi obert, el que permet a un atacant llegir la memòria de l'ordinador host (per exemple, un servidor Web), el que els permet recuperar dades potencialment sensibles a la privacitat.[3][4][5][6]

Sobre la base dels exàmens dels registres d'auditoria dels investigadors, s'ha informat que alguns atacants podrien haver explotat el defecte durant almenys cinc mesos abans del descobriment i anunci.[7][8][9] S'han rebut informes no confirmats que l'Agència de Seguretat Nacional dels Estats Units era conscient de la falla des de poc després de la seva introducció, però va decidir mantenir-lo en secret, en lloc d'informar que, per tal d'explotar-per als seus propis interessos.[10]

Història

[modifica]

A l'abril de 2014, Neel Mehta, d'equip de seguretat de Google informar d'un error en totes les versions d'OpenSSL de la sèrie 1.0.1 llançat des del 14 de març de 2012. La decisió va suposar un error de maneig de memòria severa en l'aplicació de la capa de transport (TLS) extensió Heartbeat.[11][12] Aquest defecte podria ser utilitzat per a revelar fins a 64 kilobytes de memòria de l'aplicació amb cada Heartbeat.[13] L'error s'ha registrat a les vulnerabilitats comuns i sistema d'exposicions com CVE-2014-0160.[14]

L'error s'exerceix mitjançant l'enviament d'una sol·licitud del Heartbeat mal format al servidor per tal d'obtenir la resposta del servidor, que normalment consisteix en el mateix buffer de dades que es va rebre. A causa de la manca de comprovació dels límits, les versions afectades d'OpenSSL no verifiquen la validesa de la mida de la petició batec del cor, el que permet als atacants llegir una mida arbitrari de memòria del servidor.[15]

La vulnerabilitat ha existit des del 31 de desembre de 2011 i el codi vulnerable ha estat d'ús generalitzat des del llançament de la versió 1.0.1 en OpenSSL 14 març 2012.[16][17][18] Va ser presentat per un doctorat alemany estudiant de la University of Duisburg-Essen.[19]

L'error va ser nomenat per un enginyer de la Codenomicon, una companyia de seguretat cibernètica de Finlàndia, que també va crear el logotip de Heartbleed, i va posar en marxa el domini Heartbleed.com per explicar l'error al públic.[20] D'acord amb Codenomicon, Neel Mehta, de l'equip de seguretat de Google registrar per primera vegada l'error d'OpenSSL, però Google i Codenomicon el van descobrir de forma independent.[21]

Comportament

[modifica]

Mitjançant la lectura d'un bloc arbitrari de la memòria del servidor web, els atacants podrien rebre dades sensibles, el que compromet la seguretat del servidor i els seus usuaris. Dades vulnerables inclouen clau mestra privada del servidor,[16][18] el que permetria als atacants desxifrar el trànsit actual o emmagatzemada a través d'atacs passius man-in-the-middle (si Perfect forward secrecy no és utilitzat pel servidor i el client), o actius man-in-the-middle, si s'utilitza Perfect forward secrecy. L'atacant no pot controlar quines dades es retornen, ja que el servidor respon amb un tros aleatori de la seva pròpia memòria.

L'error també pot revelar parts no xifrades de les peticions i les respostes, incloent les dades d'enviament de formulari en els usuaris dels usuaris peticions, les galetes de sessió i contrasenyes, el que podria permetre a atacants segrestar la identitat d'un altre usuari del servei.[22] En la seva divulgació, aproximadament el 17% o la meitat d'un milió de servidors web segurs d'Internet certificats per entitats de confiança es creu que han estat vulnerables a un atac.[23] The Electronic Frontier Foundation,[24] Ars Technica,[25] and Bruce Schneier[26] tots considerin la vulnerabilitat Heartbleed "catastròfica". Forbes columnista de la ciberseguretat, Joseph Steinberg, descriu l'error com potencialment "el pitjor punt vulnerable detectat (almenys en termes del seu potencial impacte), ja que el trànsit comercial va començar a fluir a través d'Internet".[27]

Pegat

[modifica]

L'error és classificat com un buffer sobre-lectura,[28] una situació en la qual el programari permet que més dades poden llegir el que hauria de ser permès.[29]

Versió 1.0.1g d'OpenSSL afegeix alguns ounds checks per evitar que l'excés de memòria intermèdia de lectura. Per exemple, la prova

if (1 + 2 + payload + 16 > s->s3->rrec.length) return 0; /* silently discard per {{RFC|6520}} sec. 4 */

s'ha afegit en el principi de la línia

pl = p;

Una llista completa de canvis està disponible a git.openssl.org Arxivat 2014-04-13 a Wayback Machine..[30]

Amb els pegats de programari (la biblioteca OpenSSL i tots els binaris enllaçats estàticament) corregeix l'error, executeu el programari seguirà utilitzant el seu codi d'OpenSSL en memòria amb el cuquet fins que cada aplicació es tanqui i es torna a arrencar, de manera que es pot carregar el codi pedaç. A més, per tal de recuperar la privadesa i el secret, han de ser substituïdes totes les dades privades o secretes, ja que no és possible saber si estaven compromeses, mentre que el codi vulnerable estava en ús: [31]

  • els parells de claus privades clau-pública, possiblement compromeses han de ser regenerades,
  • tots els certificats relacionats amb aquests parells de claus compromesos possiblement necessiten ser derogats i substituïts, i
  • totes les contrasenyes en els servidors possiblement compromesos necessiten ser canviades..

Proves de vulnerabilitat de serveis

[modifica]

Diversos serveis es van posar a disposició per provar si l'error Heartbleed estava present en un lloc determinat, per exemple :

Altres eines de seguretat han afegit suport per a la recerca d'aquest error. Per exemple, Sourcefire ha publicat les regles de Snort per detectar atacs al tràfic Heartbleed i possible tràfic de resposta Heartbleed.[40] Tenable Network Security escriure un plugin per al seu escàner de vulnerabilitats Nessus va escriure un plugin per al seu escàner de vulnerabilitats Nessus que pot escanejar per aquest error.[41][42]

Serveis afectats

[modifica]

Les següents versions d'OpenSSL estava determinat a ser vulnerables: :

  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 – OpenSSL 1.0.1f
    • LLevat que una revisió del sistema operatiu per CVE-2014-0160 s'hagi instal·lat això no canvia la versió de la biblioteca, que és el cas de Debian (incloent derivats com Ubuntu i Linux Mint), FreeBSD i Red Hat Enterprise Linux, incloent-hi els derivats d'aquestes com CentOS i Amazon Linux.

Les següents versions d'OpenSSL inclouen pegats per arreglar el bug Heartbleed:

  • OpenSSL 1.0.2-beta2 (propera)
  • OpenSSL 1.0.1g
  • OpenSSL 1.0.0 (i 1.0.0 següents actualitzacions)
  • OpenSSL 0.9.8 (i 0.9.8 següents actualitzacions)

Pàgines web i serveis web

[modifica]

Els següents llocs tenen serveis afectats o han fet anuncis que es recomana que els usuaris actualitzin les contrasenyes en resposta a l'error:

LastPass Password Manager no era vulnerable, causa del seu ús de confidencialitat directa, però es recomana que els usuaris canviïn les contrasenyes que emmagatzema LastPass per als llocs web vulnerables.[43]

LogMeIn va afirmar haver "molts productes i parts dels nostres serveis que es basen en OpenSSL actualitzat".[44]

Aplicacions de programari

[modifica]
  • IPCop 2.1.4 va ser llançat el 8 d'abril 2014, amb una solució de "the OpenSSL library everybody is talking about".[45]
  • LibreOffice va ser llançat el 10 d'abril 2014, amb un arranjament per CVE-2014-0160[46]
  • LogMeIn va afirmar haver "molts productes i parts dels nostres serveis que es basen en OpenSSL actualitzat".[44]

Reacció

[modifica]

En el dia de la convocatòria 7 abril 2014, el Projecte Tor publicar un anunci al seu bloc i va advertir que qualsevol persona que busqui "l'anonimat fort o la privacitat a Internet" hauria "d'estar lluny d'Internet completament en els pròxims dies, mentre les coses es normalitzin. " També van recomanar que els operadors de repetidors Tor i operadors de serveis ocults revocar i generar noves claus després de posar pegats OpenSSL, però van assenyalar que els repetidors Tor utilitzen dos jocs de claus i que el disseny multi-hop de Tor minimitza l'impacte de l'explotació d'un sol repetidor.[47]

La Canada Revenue Agency (CRA) va tancar la seva pàgina web els serveis electrònics a causa de les preocupacions de seguretat per l'error Heartbleed.[48]

Mantenidors de la plataforma, com la Fundació Wikimedia aconsellar als seus usuaris canviar contrasenyes.[49]

Una anàlisi publicat en GitHubdels 1000 llocs web més visitats a partir del 8 abr 2014 va revelar vulnerabilitats en llocs Yahoo!, Imgur, Stack Overflow, Slate, i DuckDuckGo.[50][51]

Theo de Raadt, fundador i líder dels projectes OpenBSD i OpenSSH, ha criticat els desenvolupadors d'OpenSSL per eludir explícitament OpenBSD C biblioteca estàndard explotar contramesures, dient " OpenSSL no és desenvolupat per un equip responsable"[52][53]

L'autor de l'error, Robin Seggelmann,[54] va declarar que "es va perdre la validació d'una variable que conté una longitud" i va negar qualsevol intenció de presentar una aplicació incorrecta.[55]

Bloomberg News va informar que l'Agència de Seguretat Nacional dels Estats Units explotat regularment l'insecte per reunir intel·ligència, i ha estat conscient de l'error durant almenys dos anys.[10][56][57]

Referències

[modifica]
  1. McKenzie, Patrick. «What Heartbleed Can Teach The OSS Community About Marketing» (en anglès), 09-04-2014. Arxivat de l'original el 2 de juny 2023. [Consulta: 10 abril 2014].
  2. Biggs, John. «Heartbleed, The First Security Bug With A Cool Logo» (en anglès). TechCrunch, 09-04-2014. Arxivat de l'original el 24 de febrer 2023. [Consulta: 10 abril 2014].
  3. ; Hardy, Quentin «Heartbleed Flaw Could Reach to Digital Devices, Experts Say». New York Times, 11-04-2014 [Consulta: 11 abril 2014]. Arxivat 11 April 2014[Date mismatch] a Wayback Machine.
  4. Chen, Brian X. «Q. and A. on Heartbleed: A Flaw Missed by the Masses». New York Times, 09-04-2014 [Consulta: 10 abril 2014]. Arxivat 12 April 2014[Date mismatch] a Wayback Machine.
  5. Wood, Molly «Flaw Calls for Altering Passwords, Experts Say». New York Times, 10-04-2014 [Consulta: 10 abril 2014]. Arxivat 10 April 2014[Date mismatch] a Wayback Machine.
  6. Manjoo, Farhad «Users' Stark Reminder: As Web Grows, It Grows Less Secure». New York Times, 10-04-2014 [Consulta: 10 abril 2014]. Arxivat 11 April 2023[Date mismatch] a Wayback Machine.
  7. Gallagher, Sean. «Heartbleed vulnerability may have been exploited months before patch». Ars Technica, 09-04-2014. Arxivat de l'original el 11 d’abril 2014. [Consulta: 10 abril 2014].
  8. «"No, we weren't scanning for hearbleed before April 7"». Arxivat de l'original el 2017-10-16. [Consulta: 12 abril 2014].
  9. "Were Intelligence Agencies Using Heartbleed in November 2013?" Arxivat 2014-12-05 a Wayback Machine., April 10, 2014, Peter Eckersley, EFF.org
  10. 10,0 10,1 Riley, Michael. «NSA Said to Exploit Heartbleed Bug for Intelligence for Years». Bloomberg. Arxivat de l'original el 2014-04-11. [Consulta: 11 abril 2014].
  11. Seggelmann, R. et al. «Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension». RFC 6520. Internet Engineering Task Force (IETF), 01-02-2012. Arxivat de l'original el 16 d’abril 2014. [Consulta: 8 abril 2014].
  12. OpenSSL.org. «OpenSSL Security Advisory [07 Apr 2014]», 07-04-2014. Arxivat de l'original el 8 d’abril 2014. [Consulta: 9 abril 2014].
  13. OpenSSL. «TSL heartbeat read overrun (CVE-2014-0160)», 07-04-2014. Arxivat de l'original el 8 d’abril 2014. [Consulta: 8 abril 2014].
  14. «CVE - CVE-2014-0160». Cve.mitre.org. Arxivat de l'original el 24 de gener 2018. [Consulta: 10 abril 2014].
  15. Troy Hunt. «Everything you need to know about the Heartbleed SSL bug», 09-04-2014. Arxivat de l'original el 11 d’abril 2014. [Consulta: 10 abril 2014].
  16. 16,0 16,1 Codenomicon Ltd. «Heartbleed Bug», 08-04-2014. Arxivat de l'original el 2014-04-07. [Consulta: 8 abril 2014].
  17. Goodin, Dan. «Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping». Ars Technica, 08-04-2014. Arxivat de l'original el 10 d’abril 2014. [Consulta: 8 abril 2014].
  18. 18,0 18,1 Hagai Bar-El. «"OpenSSL Heartbleed bug: what's at risk on the server and what is not"», 09-04-2014. Arxivat de l'original el 13 d’abril 2014. [Consulta: 9 abril 2014].
  19. «Meet the man who created the bug that almost broke the Internet». Globe and Mail, 11-04-2014.
  20. «"Why is it called the ‘Heartbleed Bug’?"». Arxivat de l'original el 2014-04-12. [Consulta: 12 abril 2014].
  21. Mehta, Neel. «Don't forget to patch DTLS». Twitter. Arxivat de l'original el 2014-04-14. [Consulta: 11 abril 2014].
  22. «Why Heartbleed is dangerous? Exploiting CVE-2014-0160». IPSec.pl, 2014. Arxivat de l'original el 2014-04-08. [Consulta: 12 abril 2014].
  23. Mutton, Paul. «Half a million widely trusted websites vulnerable to Heartbleed bug». Netcraft Ltd., 08-04-2014. Arxivat de l'original el 19 de novembre 2014. [Consulta: 8 abril 2014].
  24. «Why the Web Needs Perfect Forward Secrecy More Than Ever | Electronic Frontier Foundation». Eff.org, 18-03-2011. Arxivat de l'original el 20 de desembre 2017. [Consulta: 10 abril 2014].
  25. Goodin, Dan. «Critical crypto bug exposes Yahoo Mail, other passwords Russian roulette-style». Ars Technica. Arxivat de l'original el 11 d’abril 2014. [Consulta: 10 abril 2014].
  26. «Schneier on Security: Heartbleed». Schneier.com. Arxivat de l'original el 23 de desembre 2017. [Consulta: 10 abril 2014].
  27. Steinberg, Joseph. «Massive Internet Security Vulnerability -- Here's What You Need To Do». Forbes. Arxivat de l'original el 11 d’abril 2014. [Consulta: 10 abril 2014].
  28. «CVE - CVE-2014-0160». Cve.mitre.org. Arxivat de l'original el 18 de juliol 2014. [Consulta: 10 abril 2014].
  29. «CWE - CWE-126: Buffer Over-read (2.6)». Cwe.mitre.org, 18-02-2014. Arxivat de l'original el 8 de febrer 2018. [Consulta: 10 abril 2014].
  30. «Git - openssl.git/commitdiff». Git.openssl.org, 05-04-2014. Arxivat de l'original el 13 d’abril 2014. [Consulta: 10 abril 2014].
  31. «Patched Servers Remain Vulnerable to Heartbleed OpenSSL | Hayden James». Haydenjames.io. Arxivat de l'original el 13 d’abril 2014. [Consulta: 10 abril 2014].
  32. «Heartbleed OpenSSL extension testing tool, CVE-2014-0160». Possible.lv. Arxivat de l'original el 2014-04-11. [Consulta: 11 abril 2014].
  33. Heartbleed Scanner Arxivat 2014-04-10 a Wayback Machine." by Italian cryptologist Filippo Valsorda
  34. Metasploit module Arxivat 2015-06-28 a Wayback Machine.
  35. Heartbleed Server Scanner Arxivat 2014-12-24 a Wayback Machine. by Rehmann
  36. «Heartbleed Detector: Check If Your Android OS Is Vulnerable with Our App». Lookout Mobile Security blog, 09-04-2014. Arxivat de l'original el 13 d’abril 2014. [Consulta: 10 abril 2014].
  37. «Heartbleed checker». LastPass. Arxivat de l'original el 2014-04-10. [Consulta: 11 abril 2014].
  38. «OpenSSL Heartbleed vulnerability scanner :: Online Penetration Testing Tools | Ethical Hacking Tools». Pentest-tools.com. Arxivat de l'original el 2014-04-13. [Consulta: 11 abril 2014].
  39. «Secure Sockets Layer (SSL)», 10-05-2016. Arxivat de l'original el 23 de gener 2014. [Consulta: 10 maig 2016].
  40. «VRT: Heartbleed Memory Disclosure - Upgrade OpenSSL Now!», 08-04-2014. Arxivat de l'original el 11 d’abril 2014. [Consulta: 11 abril 2014].
  41. Mann, Jeffrey. «Tenable Facilitates Detection of OpenSSL Vulnerability Using Nessus and Nessus Perimeter Service». Tenable Network Security, 09-04-2014. Arxivat de l'original el 13 d’abril 2014. [Consulta: 11 abril 2014].
  42. Malik, Keshav. «A Complete Guide on VAPT - ASTRA» (en anglès americà), 25-10-2021. Arxivat de l'original el 2021-12-26. [Consulta: 28 maig 2022].
  43. «LastPass and the Heartbleed Bug». LastPass, 08-04-2014 [Consulta: 10 abril 2014]. Arxivat 18 de desembre 2017 a Wayback Machine. «Còpia arxivada». Arxivat de l'original el 2017-12-18. [Consulta: 7 novembre 2022].
  44. 44,0 44,1 «LogMeIn and OpenSSL». LogMeIn [Consulta: 10 abril 2014]. Arxivat 13 April 2014[Date mismatch] a Wayback Machine. «Còpia arxivada». Arxivat de l'original el 2014-04-13. [Consulta: 12 abril 2014].
  45. IPCop. «IPCop 2.1.4 is released». SourceForge electronic mailing lists, 08-04-2014. Arxivat de l'original el 16 de maig 2020. [Consulta: 11 abril 2014].
  46. italovignoli. «LibreOffice 4.2.3 is now available for download», 10-04-2014. Arxivat de l'original el 12 d’abril 2014. [Consulta: 11 abril 2014].
  47. «OpenSSL bug CVE-2014-0160». Tor Project, 07-04-2014 [Consulta: 9 abril 2014]. Arxivat 10 de juliol 2017 a Wayback Machine.
  48. «Security concerns prompts tax agency to shut down website». CTV News, 09-04-2014 [Consulta: 9 abril 2014]. Arxivat 18 de gener 2021 a Wayback Machine.
  49. Grossmeier, Greg. «[Wikitech-l Fwd: Security precaution - Resetting all user sessions today]». Wikimedia Foundation, 08-04-2014. Arxivat de l'original el 18 de juny 2014. [Consulta: 9 abril 2014].
  50. «heartbleed-masstest/top1000.txt», 08-04-2014. Arxivat de l'original el 10 d’abril 2014. [Consulta: 9 abril 2014].
  51. Cipriani, Jason. «Which sites have patched the Heartbleed bug?», 10-04-2014. Arxivat de l'original el 29 de desembre 2017. [Consulta: 10 abril 2014].
  52. «Theo De Raadt's Small Rant On OpenSSL - Slashdot». It-beta.slashdot.org. Arxivat de l'original el 2014-04-12. [Consulta: 11 abril 2014].
  53. «Re: FYA: http: heartbleed.com». Gmane. Arxivat de l'original el 2014-04-11. [Consulta: 11 abril 2014].
  54. Lia Timson. «Who is Robin Seggelmann and did his Heartbleed break the internet?». Smh.com.au. Arxivat de l'original el 2014-04-11. [Consulta: 11 abril 2014].
  55. «Man who introduced serious 'Heartbleed' security flaw denies he inserted it deliberately». The Sydney Morning Herald, 11-04-2014 [Consulta: 11 abril 2014]. Arxivat 12 April 2014[Date mismatch] a Wayback Machine.
  56. «Report: NSA exploited Heartbleed for years». Usatoday.com. Arxivat de l'original el 2014-04-11. [Consulta: 11 abril 2014].
  57. «NSA exploited Heartbleed bug for two years to gather intelligence, sources say | Financial Post». Business.financialpost.com. Arxivat de l'original el 2014-04-13. [Consulta: 11 abril 2014].

Enllaços externs

[modifica]