Hvad er Heartbleed-sårbarheden?

En af de mest kendte sårbarheder i midten af ​​2010'erne blev kaldt "Heartbleed". Heartbleed var særligt alvorlig, fordi det var softwaren, det påvirkede "OpenSSL", det vigtigste kryptografiske bibliotek for HTTPS-forbindelser, som er meget udbredt. For at gøre ondt værre havde sårbarheden været til stede i OpenSSL i mere end to år før det blev opdaget, offentliggjort og lappet, hvilket betød, at mange mennesker brugte en sårbar version.

Heartbleed var en datalækage-sårbarhed i heartbeat-udvidelsen, der, når den blev udnyttet, lækkede data fra RAM fra serveren til klienten. Heartbeat-udvidelsen bruges til at opretholde en forbindelse mellem webserveren og klienten uden at lave en normal sideanmodning.

I tilfælde af OpenSSL sender klienten en besked til serveren og informerer serveren om, hvor lang beskeden er, op til 64KB. Serveren formodes derefter at ekko den samme besked tilbage. Det er dog afgørende, at serveren faktisk ikke tjekkede, at meddelelsen var så lang, som klienten hævdede, den var. Dette betød, at en klient kunne sende en 10KB besked, hævde, at den var 64KB og få et 64KB svar, hvor de ekstra 54KB bestod af de næste 54KB RAM, uanset hvilke data der blev gemt der. Denne proces er godt visualiseret af

XKCD tegneserie #1354.

Billede udlånt af xkcd.com.

Ved at lave en masse små hjerteslagsanmodninger og hævde, at de var store, kunne en angriber bygge et billede af det meste af serverens RAM ved at samle svarene sammen. Data, der er gemt i RAM, som kan blive lækket, omfatter krypteringsnøgler, HTTPS-certifikater samt ukrypterede POST-data såsom brugernavne og adgangskoder.

Bemærk: Det er mindre kendt, men hjerteslagsprotokollen og udnyttelsen virkede også i den anden retning. En ondsindet server kunne være blevet konfigureret til at læse op til 64 KB brugerhukommelse pr. hjerteslagsanmodning.

Problemet blev opdaget af flere sikkerhedsforskere uafhængigt den første april 2014 og blev offentliggjort privat til OpenSSL, så en patch kunne oprettes. Fejlen blev offentliggjort, da patchen blev udgivet den syvende april 2014. Den bedste løsning til at løse problemet var at anvende plasteret, men det var også muligt at afhjælpe problemet ved at deaktivere hjerteslagsforlængelsen, hvis patchning med det samme ikke var en mulighed.

Desværre, på trods af at udnyttelsen er offentlig og generelt velkendt, opdaterede mange websteder stadig ikke med det samme, og sårbarheden blev stadig lejlighedsvis fundet selv år senere. Dette førte til, at en række tilfælde af udnyttelsen blev brugt til at få adgang til konti eller lække data.