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...). 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.

Historie 
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. Denne defekt kunne blive brugt til at afsløre op til 64 kilobyte af applikationshukommelsen med hvert eneste heartbeat. Dens CVE nummer er CVE-2014-0160.

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.

Effekt 
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, 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. 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. The Electronic Frontier Foundation, Ars Technica, og Bruce Schneier kaldte alle Heartbleed-bug "katastrofal."

Berørte versioner af OpenSSL 
Sidst opdateret 9. april 2014. Oplysninger gennem Heartbleed og OpenSSL websider.

Berørte 
 OpenSSL 1.0.2-beta
 OpenSSL 1.0.1 - OpenSSL 1.0.1f

Ikke berørte 
 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 
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.

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

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

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.

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."

Fejlens forfatter, Robin Seggelmann, 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.

Offentliggjorte reaktioner 

De følgende websider har annonceret anbefalinger til deres brugere om at opdatere deres kodeord som resultat af fejlen:
 Akamai Technologies
 Amazon Web Services
 Ars Technica
 GitHub
 IFTTT
 LastPass Password Manager — Selvom LastPass i sig selv ikke var sårbar, anbefalede LastPass at dets brugere ændrede de kodeord LastPass gemte for sårbare websider, især "alle" med en GitHub, OkCupid, eller Yahoo konto. LastPass stillede en side, på hvilken offentligheden kan kontrollere om en webside er sårbar, til rådighed. Den 9. april 2014 begyndte LastPass at oplyse sine brugere om hvorvidt det var kendt om Heartbleed påvirkede websiden for hver eneste gemte kodeord.
 Mojang — Pga. fejlen stoppede Mojang støtten for Minecraft Legacy launcher.
 PeerJ
 SoundCloud
 SparkFun
 Stripe (company)
 Tumblr
 Wikimedia
 Wunderlist
 LogMeIn påstod at have "opdateret mange produkter og dele af vores tjenester som er afhængige af OpenSSL".

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

Berørte styresystemer 
 Bl.a. Android 4.1.1, men også andre versioner kan være Heartbleed-ramt.

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

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.

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.

Sårbarhedstest 
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
 Metasploit Heartbleed scanner modul
 Heartbleed Server Scanner af Rehmann
 Heartbleed tjekker af LastPass.
 Android sårbarhedstester.

Kilder

Eksterne henvisninger 
 "Managing risk from cyber attacks", en artikel på Wikiversity, også om Heartbleed-bug
 Summary and Q&A about the bug,   – by Codenomicon Ltd
 Video (08:40) - Explanation of the Heartbleed bug
 PCMAG - Change Your Passwords
 'Heartbleed' Bug: The Most Serious Bug in Recent Years  

Udnyttelse af it-sikkerhedssårbarheder