Mis on Heartbleedi haavatavus?

Üks 2010. aastate keskpaiga tuntumaid haavatavusi kandis nime "Heartbleed". Heartbleed oli eriti tõsine, kuna see mõjutas tarkvara OpenSSL-i, peamist krüptograafilist raamatukogu HTTPS-ühenduste jaoks, mida kasutatakse väga laialdaselt. Asja teeb hullemaks see, et haavatavus oli OpenSSL-is olemas olnud rohkem kui kaks aastat varem see avastati, avalikustati ja paigati, mis tähendas, et paljud inimesed kasutasid haavatavat versioon.

Heartbleed oli andmelekke haavatavus südamelöögilaiendis, mille ärakasutamisel lekkis andmed RAM-ist serverist kliendile. Südamelöögi laiendust kasutatakse veebiserveri ja kliendi vahelise ühenduse säilitamiseks ilma tavalist lehepäringut tegemata.

OpenSSL-i puhul saadab klient serverile sõnumi ja annab serverile teada sõnumi pikkusest kuni 64KB. Seejärel peaks server sama sõnumit tagasi saatma. Oluline on aga see, et server ei kontrollinud, kas sõnum oli nii pikk, kui klient seda väitis. See tähendas, et klient võis saata 10 KB suuruse sõnumi, väita, et see on 64 KB, ja saada 64 KB suuruse vastuse, kusjuures 54 KB koosneb järgmisest 54 KB RAM-ist, olenemata sellest, milliseid andmeid sinna salvestati. See protsess on hästi visualiseeritud

XKCD koomiks nr 1354.

Pilt viisakalt xkcd.com.

Tehes palju väikeseid südamelöögipäringuid ja väites, et need on suured, saab ründaja vastused kokku liites luua pildi enamikust serveri RAM-ist. RAM-i salvestatud andmed, mis võivad lekkida, hõlmavad krüpteerimisvõtmeid, HTTPS-sertifikaate ja ka krüptimata POST-andmeid, nagu kasutajanimed ja paroolid.

Märkus. See on vähem tuntud, kuid südamelöögiprotokoll ja ärakasutamine töötasid ka teises suunas. Pahatahtlik server oleks võinud olla konfigureeritud lugema kuni 64 KB kasutaja mälu ühe südamelöögipäringu kohta.

Probleemi avastasid mitmed turvauurijad iseseisvalt 2014. aasta esimesel aprillil ja see avalikustati privaatselt OpenSSL-ile, et saaks luua paiga. Vea avalikustati, kui plaaster 2014. aasta seitsmendal aprillil välja anti. Parim lahendus probleemi lahendamiseks oli plaastri rakendamine, kuid probleemi oli võimalik lahendada ka südamelöögilaienduse keelamisega, kui kohene paikamine ei olnud võimalik.

Kahjuks, hoolimata sellest, et ärakasutamine on avalik ja üldiselt hästi tuntud, ei värskendatud paljusid veebisaite ikka veel kohe ja haavatavust leitakse aeg-ajalt isegi aastaid hiljem. See tõi kaasa mitmeid juhtumeid, kus ärakasutamist kasutati kontodele juurdepääsu saamiseks või andmete lekkimiseks.