En av de mest kända sårbarheterna i mitten av 2010-talet kallades "Heartbleed". Heartbleed var särskilt allvarligt eftersom det var programvaran den påverkade "OpenSSL", det huvudsakliga kryptografiska biblioteket för HTTPS-anslutningar, som används mycket. För att göra saken värre hade sårbarheten funnits i OpenSSL i mer än två år innan den upptäcktes, publicerades och lappades, vilket innebar att många människor använde en sårbar version.
Heartbleed var en sårbarhet för dataläckor i heartbeat-förlängningen som när den utnyttjades läckte data från RAM från servern till klienten. Heartbeat-tillägget används för att upprätthålla en anslutning mellan webbservern och klienten utan att göra en normal sidförfrågan.
I fallet med OpenSSL skickar klienten ett meddelande till servern och informerar servern om hur långt meddelandet är, upp till 64KB. Servern är sedan tänkt att eka samma meddelande tillbaka. Avgörande är dock att servern faktiskt inte kontrollerade att meddelandet var så långt som klienten påstod att det var. Detta innebar att en klient kunde skicka ett 10KB meddelande, hävda att det var 64KB och få ett 64KB svar, med de extra 54KB som bestod av nästa 54KB RAM, oavsett vilken data som lagrades där. Denna process är väl visualiserad av XKCD-serien #1354 .
Bild med tillstånd av xkcd.com .
Genom att göra många små hjärtslagsförfrågningar, och hävda att de var stora, kunde en angripare bygga en bild av det mesta av serverns RAM genom att sammanföra svaren. Data som lagras i RAM som kan läcka inkluderar krypteringsnycklar, HTTPS-certifikat samt okrypterade POST-data som användarnamn och lösenord.
Obs: Det är mindre känt men hjärtslagsprotokollet och utnyttjandet fungerade också åt andra hållet. En skadlig server kan ha konfigurerats för att läsa upp till 64KB användarminne per hjärtslagsbegäran.
Problemet upptäcktes av flera säkerhetsforskare oberoende den första april 2014 och avslöjades privat till OpenSSL så att en patch kunde skapas. Felet publicerades när patchen släpptes den sjunde april 2014. Den bästa lösningen för att lösa problemet var att applicera patchen, men det var också möjligt att åtgärda problemet genom att inaktivera heartbeat-förlängningen om patchningen omedelbart inte var en alternativ.
Tyvärr, trots att utnyttjandet är offentligt och allmänt välkänt, uppdaterade många webbplatser fortfarande inte omedelbart, med sårbarheten som fortfarande hittas ibland även år senare. Detta ledde till att ett antal fall av utnyttjandet användes för att få tillgång till konton eller läcka data.