Heartbleed-bug

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg
Logo for Heartbleed-bug

Heartbleed-bug er en fejl i open-source krypteringsbiblioteket OpenSSL som gør det muligt for en angriber at læse en servers eller en klients hukommelse, hvilket f.eks. tillader dem at læse en servers eller en klients SSL private keys, private data; PIM-data (fx billeder, kodeord, brugernavne...).[1] Undersøgelser af logfiler lader til at vise at nogle angribere kan have udnyttet fejlen gennem mere end 5 måneder før den blev opdaget og offentliggjort.[2][3][4]

Historie[redigér | redigér wikikode]

Den 7. april 2014, blev det annonceret at OpenSSL 1.0.2-beta samt alle versioner af OpenSSL i 1.0.1 serien, bortset fra 1.0.1g, havde en alvorlig hukommelseshåndteringsfejl i deres implementering af TLS Heartbeat udvidelsen.[5][6] Denne defekt kunne blive brugt til at afsløre op til 64 kilobyte af applikationshukommelsen med hvert eneste heartbeat.[7] Dens CVE nummer er CVE-2014-0160.[8]

Fejlen fremprovokeres ved at sende en fejl-formateret heartbeat forespørgsel til serveren for at vise serverens hukommelse. På grund af manglende bounds checking, kontrollerede de berørte versioner af OpenSSL aldrig om heartbeat forespørgslen var valid, hvilket gjorde det muligt for angribere at frembringe upassende serversvar.

Sårbarheden har eksisteret siden 31. december 2011, og den sårbare kode er blevet meget udbredt med udgivelsen af OpenSSL version 1.0.1 den 14. marts 2012.[9][10][11]

Effekt[redigér | redigér wikikode]

Ved at læse webserverens hukommelse, kunne angribere få adgang til følsomme data samt kompromittere serveren og dens brugeres sikkerhed. Potentialt sårbare sikre data omfatter serverens private master key,[9][11] hvilket gør det muligt for angribere at afkryptere aktuel eller opbevaret trafik gennem passivt man-in-the-middle angreb (hvis perfect forward secrecy ikke bliver brugt af serveren og klienten), eller activt man-in-the-middle hvis perfect forward secrecy bliver brugt. Angriberen kan ikke kontrollere hvilke data der bliver returneret eftersom serveren svarer med en tilfældig del af dens egen hukommelse.

Sårbarheden kan måske afsløre ikke-krypterede dele af andre brugeres følsomme forespørgsler og svar, herunder enhver formulars post data i brugernes forespørgsler, cookies og kodeord, som potientielt kan give angribere lov til at overtage identiten af en anden bruger af tjenesten.[12] Ved afsløringen bleve det vurderet at ca. 17% eller eller en halv million af Internettets sikre webserverere certifieret af certifikatudstedere var følsomme over for angrebet.[13][14][15] The Electronic Frontier Foundation,[16] Ars Technica,[17] og Bruce Schneier[18] kaldte alle Heartbleed-bug "katastrofal."

Berørte versioner af OpenSSL[redigér | redigér wikikode]

Sidst opdateret 9. april 2014. Oplysninger gennem Heartbleed og OpenSSL websider.[6][9]

Berørte[redigér | redigér wikikode]

  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 - OpenSSL 1.0.1f

Ikke berørte[redigér | redigér wikikode]

  • OpenSSL 1.0.2-beta2 (kommende)
  • OpenSSL 1.0.1g
  • OpenSSL 1.0.0 (og 1.0.0 branch releases)
  • OpenSSL 0.9.8 (og 0.9.8 branch releases)

For at rette fejlen anbefales det at server-administratorer bruger enten 1.0.1g eller at de re-compilerer OpenSSL med -DOPENSSL_NO_HEARTBEATS, for på den måde at slå den sårbare funktion fra indtil server-softwaren kan blive opdateret.

Reaktion[redigér | redigér wikikode]

På dagen for annonceringen, udsendte Tor projektet en meddelelse på dets blog og opfordrede alle der søgte "stærk anonymitet eller privatliv på Internettet" at "holde sig helt væk fra Internettet de næste dage indtil ting falder til ro." De anbefalede også at Tor relay-operatører og skjulte tjenesteoperatører trak nøgler tilbage og generede friske nøgler efter at have opdateret OpenSSL, men fremhævede at Tor-relays bruger to sæt nøgler og at Tors multi-hop design minimerer virkningen ved at udnytte et enkelt relay.[19]

Det canadiske skattevæsen (CRA) lukkede sine elektroniske tjenester pga. bekymringer over sikkerheden foranlediget af Heartbleed-bug.[20]

Platform-vedligeholdere som Wikimedia Foundation opfordrede deres brugere til at skifte kodeord.[21]

En analyse over de 1000 mest besøgte websider den 8. april 2014 delt på GitHub afslørede sårbarheder på sider som Yahoo!, Imgur, Stack Overflow, Slate, og DuckDuckGo. Sikre sider omfattede Google, Facebook, Wikipedia, Twitter, og Amazon.[22]

Theo de Raadt, grundlægger og leder af OpenBSD og OpenSSH projekterne, har kritiseret OpenSSL udviklerne for eksplicit at omgå OpenBSD C standard bibliotekets foranstaltninger mod misbrug, han udtaler at "OpenSSL ikke er udviklet af en ansvarlig gruppe."[23][24]

Fejlens forfatter, Robin Seggelmann,[25] udtalte at han "overså validering af en variabel der indeholder en længde" og nægtede at der lå en bevidst handling bag frigivelsen af den fejlbehæftede implementering.[26]

Offentliggjorte reaktioner[redigér | redigér wikikode]

De følgende websider har annonceret anbefalinger til deres brugere om at opdatere deres kodeord som resultat af fejlen:

Berørte software-applikationer[redigér | redigér wikikode]

  • IPCop 2.1.4 blev frigjort den 8. april 2014 med en rettelse til "det OpenSSL bibliotek alle taler om".[43]
  • LibreOffice 4.2.3 blev frigjort den 10. april 2014 med en rettelse for CVE-2014-0160[44]
  • LogMeIn påstod at have "opdateret mange produkter og dele af vores tjenester som er afhængige af OpenSSL".[42]

Berørte styresystemer[redigér | redigér wikikode]

  • Bl.a. Android 4.1.1, men også andre versioner kan være Heartbleed-ramt.[45][46]

Rettelsen[redigér | redigér wikikode]

Fejlen er klassificeret som en buffer over-read fejl.[47] En buffer over-read fejl er en situation hvor software tillader flere data at blive læst end det burde være tilladt.[48]

Version 1.0.1g af OpenSSL tilføjer nogle grænsechecks for at forhindre at bufferen bliver over-read. F.eks., er testen

if (1 + 2 + 16 > s->s3->rrec.length) return 0; /* silently discard */

blevet tilføjet foran linjen

hbtype = *p++;

En fuld liste over ændringerne findes på git.openssl.org.[49]

Opdatering er ikke nok for at rette denne fejl. Relaterede tjenester skal også genstartes og/eller serveren genstartes før den opdaterede OpenSSL bliver brugt hvorefter alle private keys og kodeord skal regeneres.[50]

Sårbarhedstest[redigér | redigér wikikode]

Flere tjenester blev gjort tilgængelige for at teste hvorvidt Heartbleed-bug var tilstede på et givet server (fx websted) eller styresystem, herunder:

  • Heartbleed Scanner af den italienske kryptologist Filippo Valsorda[51]
  • Metasploit Heartbleed scanner modul[52]
  • Heartbleed Server Scanner af Rehmann[53]
  • Heartbleed checker af LastPass[54].
  • Android sårbarhedstester.[55]

Kilder[redigér | redigér wikikode]

  1. ^ Chen, Brian X. (2014-04-09). "Q. and A. on Heartbleed: A Flaw Missed by the Masses". New York Times. Hentet 2014-04-10. 
  2. ^ Heartbleed vulnerability may have been exploited months before patch [Updated] | Ars Technica
  3. ^ "No, we weren't scanning for hearbleed before April 7"
  4. ^ "Were Intelligence Agencies Using Heartbleed in November 2013?", 2014-04-10, Peter Eckersley, EFF.org
  5. ^ Seggelmann, R. et al. (Februar 2012). "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension". RFC 6520 (Internet Engineering Task Force (IETF)). Hentet 2014-04-08. 
  6. ^ a b OpenSSL.org (2014-04-07). OpenSSL Security Advisory [07 Apr 2014]. Hentet 2014-04-09. 
  7. ^ OpenSSL (2014-04-07). TSL heartbeat read overrun (CVE-2014-0160). Hentet 2014-04-08. 
  8. ^ CVE - CVE-2014-0160
  9. ^ a b c Codenomicon Ltd (2014-04-08). Heartbleed Bug. Hentet 2014-04-08. 
  10. ^ Goodin, Dan (2014-04-08). "Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping". Ars Technica. Hentet 2014-04-08. 
  11. ^ a b Hagai Bar-El (2014-04-09). "OpenSSL Heartbleed bug: what's at risk on the server and what is not". Hentet 2014-04-09. 
  12. ^ Why Heartbleed is dangerous? Exploiting CVE-2014-0160. IPSec.pl. 2014. 
  13. ^ Mutton, Paul (2014-04-08). Half a million widely trusted websites vulnerable to Heartbleed bug. Netcraft Ltd.. Hentet 2014-04-08. 
  14. ^ Rühne, Frederik Høj (2014-04-10). Hul i OpenSSL: En halv million hjemmesider er sikkerhedsudsat. Version2. Hentet 2014-04-10. 
  15. ^ Møllerhøj, Jakob (2014-04-09). Ekspert om omfattende SSL-sårbarhed: Derfor skal du skifte alle dine kodeord. Version2. Hentet 2014-04-10. 
  16. ^ Why the Web Needs Perfect Forward Secrecy More Than Ever | Electronic Frontier Foundation. Eff.org. 2011-03-18. Hentet 2014-04-10. 
  17. ^ Goodin, Dan. Critical crypto bug exposes Yahoo Mail, other passwords Russian roulette-style. Ars Technica. Hentet 2014-04-10. 
  18. ^ Schneier on Security: Heartbleed. Schneier.com. Hentet 2014-04-10. 
  19. ^ OpenSSL bug CVE-2014-0160. Tor Project. 2014-04-07. Hentet 2014-04-09. 
  20. ^ Security concerns prompts tax agency to shut down website. CTV News. 2014-04-09. Hentet 2014-04-09. 
  21. ^ a b Grossmeier, Greg (2014-04-08). [Wikitech-l Fwd: Security precaution - Resetting all user sessions today]. Wikimedia Foundation. Hentet 9 April 2014. 
  22. ^ heartbleed-masstest/top1000.txt. 2014-04-09. Hentet 2014-04-09. 
  23. ^ Theo De Raadt's Small Rant On OpenSSL - Slashdot
  24. ^ Gmane - Re: FYA: http: heartbleed.com
  25. ^ Who is Robin Seggelmann and did his Heartbleed break the internet?
  26. ^ Man who introduced serious 'Heartbleed' security flaw denies he inserted it deliberately. The Sydney Morning Herald. 2014-04-11. Hentet 2014-04-11. 
  27. ^ Heartbleed FAQ: Akamai Systems Patched. Akamai Technologies. 2014-04-08. Hentet 2014-04-09. 
  28. ^ AWS Services Updated to Address OpenSSL Vulnerability. Amazon Web Services. 2014-04-08. Hentet 2014-04-09. 
  29. ^ Dear readers, please change your Ars account passwords ASAP. Ars Technica. 2014-04-08. Hentet 2014-04-09. 
  30. ^ Security: Heartbleed vulnerability. GitHub. 2014-04-08. Hentet 2014-04-09. 
  31. ^ IFTTT Says It Is 'No Longer Vulnerable' To Heartbleed. LifeHacker. 2014-04-08. Hentet 2014-04-09. 
  32. ^ LastPass and the Heartbleed Bug. LastPass. 2014-04-08. Hentet 2014-04-09. 
  33. ^ LastPass Heartbleed checker. LastPass. Hentet 2014-04-10. 
  34. ^ LastPass Now Checks If Your Sites Are Affected by Heartbleed. LastPass. 2014-04-09. Hentet 2014-04-10. 
  35. ^ Heartbleed, and why you should change your password. Mojang. 2014-04-09. Hentet 2014-04-10. 
  36. ^ The widespread OpenSSL ‘Heartbleed’ bug is patched in PeerJ. PeerJ. 2014-04-09. Hentet 2014-04-09. 
  37. ^ Codey, Brendan (2014-04-09). Security Update: We’re going to sign out everyone today, here’s why. SoundCloud. Hentet 9 April 2014. 
  38. ^ Heartbleed. SparkFun. 2014-04-09. Hentet 9 April 2014. 
  39. ^ Heartbleed. Stripe (company). 2014-04-09. Hentet 2014-04-10. 
  40. ^ Tumblr Staff-Urgent security update. 2014-04-08. Hentet 2014-04-09. 
  41. ^ Wunderlist & the Heartbleed OpenSSL Vulnerability. 2014-04-10. 
  42. ^ a b LogMeIn and OpenSSL. LogMeIn. Hentet 2014-04-10. 
  43. ^ "IPCop 2.1.4 is released", IPCop.
  44. ^ "LibreOffice 4.2.3 is now available for download ", The Document Foundation.
  45. ^ Apr 14, 2014, arstechnica.com: Vicious Heartbleed bug bites millions of Android phones, other devices, backup Citat: "...Handsets running version 4.1.1 of Google's mobile operating system are vulnerable to attacks that might pluck passwords, the contents of personal messages, and other private information out of device memory, a company official warned on Friday...some versions of Android 4.2.2...also been found to be susceptible. Rogers said other releases may contain the critical Heartbleed flaw as well..."
  46. ^ Android Heartbleed-detector
  47. ^ CVE - CVE-2014-0160. Cve.mitre.org. Hentet 2014-04-10. 
  48. ^ CWE - CWE-126: Buffer Over-read (2.6). Cwe.mitre.org. 2014-02-18. Hentet 2014-04-10. 
  49. ^ Git - openssl.git/commitdiff. Git.openssl.org. 2014-04-05. Hentet 2014-04-10. 
  50. ^ Patched Servers Remain Vulnerable to Heartbleed OpenSSL | Hayden James. Haydenjames.io. Hentet 2014-04-10. 
  51. ^ Heartbleed Scanner" by Italian cryptologist Filippo Valsorda
  52. ^ Metasploit module
  53. ^ Heartbleed Server Scanner by Rehmann
  54. ^ Heartbleed checker by LastPass
  55. ^ Android heartbleed-detector

Eksterne henvisninger[redigér | redigér wikikode]