Haavoittuvuusesimerkki
Yritysturvallisuus > Kyberturvallisuus
OpenSSL:n Heartbleed-haavoittuvuutta oli mahdollista hyödyntää parin vuoden ajan. Tahaton koodausvirhe uudenvuodenyönä aiheutti OpenSSL-protokollan Heartbleed-haavoittuvuuden.Virhe tapahtui saksalaiselle Robin Seggelmanille vuonna 2011. Seggelman unohti määritellä uuteen heartbeat-ominaisuuteen muuttujan, joka sisältää pituuden.
Heartbleed-haavoittuvuuden havaitsi ensimmäisenä 21.3.2014 OpenSSL-protokollan kirjaston versiosta 1.0.1 Googlen työntekijä Neel Mehta. Oulussa toimivan tietoturvayhtiö Codenomiconin tutkijat löysivät saman haavoittuvuuden myöhemmin 2.4.2014.Codenomicon-tietoturvayhtiön tutkijat Matti Kamunen, Antti Karjalainen ja Riku Hietamäki havaitsivat haavoittuvuuden sattumalta, kun he olivat päivittämässä Codenomiconin omaa työkalua, jota käytetään TSL-protokollan testaukseen. Tutkijoiden mukaan OpenSSL:llä suojatusta verkkopalvelimen muistista pystyi kopioimaan tietoja erityisesti muotoillun heartbeat-viestin avulla.Torstai-iltapäivällä 3.4.2014 tutkijat tulivat siihen tulokseen, että haavoittuvuus oli vakava. Vakavaksi haavoittuvuuden tekivät seuraavat seikat:
- OpenSSL-protokollan kirjaston versiota 1.0.1 käytetään lukuisissa palveluissa (noin 500 000 palvelimessa)
- haavoittuvuutta oli helppo hyödyntää
- haavoittuvuus mahdollisti palvelimien muistin sisällön kopioinnin
- hyökkääjällä oli mahdollisuus saada haltuun mm. palvelinsertifikaatin salausavaimen ja asiakkaiden käyttäjätunnus-salasanapareja.
Codenomicon tutkijat raportoivat haavoittuvuudesta vielä samana päivänä Kyberturvallisuuskeskukselle, joka edelleen raportoi siitä OpenSSL-yhteisölle.Tieto haavoittuvuudesta tuli julkisuuteen maanantaina 7.4.2012. Kyberturvallisuuskeskus julkaisi verkkosivuillaan asiasta varoituksen (varoitus 1/2014) 8.4.2014. Kyberturvallisuuskeskus katsoi, että haavoittuvuus vaikutti laajasti myös suomalaisten yritysten asiakkailleen tarjoamien palveluiden eheyteen ja luottamuksellisuuteen.OpenSSL on avoimen lähdekoodin SSL-, TLS- ja DTLS-protokollatoteutus sekä salauskirjasto. OpenSSL:ää käytetään tyypillisesti asiakkaan ja sähköpostipalvelimen välisen yhteyden salaamiseen (https-yhteydet).OpenSSL-protokolla sai pari vuotta sitten heartbeat-nimisen ominaisuuden, jonka avulla SSL-suojatussa yhteydessä olevat koneet varmistavat lyhyillä viesteillä, että toinen kone on vielä verkossa. Näin ollen Heartbleed-haavoittuvuus on ollut hyödynnettävissä kahden vuoden ajan.Palvelimen ylläpitäjän on ollut mahdotonta havaita kyseistä haavoittuvuutta hyödyntävää hyökkäystä, koska haavoittuvuuden hyväksikäyttö ei jättänyt mitään jälkiä palvelimen lokeille. IDS-järjestelmät kuitenkin raportoivat verkkoskannauksista joissa tutkittiin, oliko palvelimella Heartbleed -haavoittuvuus.Useissa tapauksissa hyökkääjä oli onnistunut saamaan palvelimelta korkeintaan 65 kilotavun kokoisia heartbeat-vastauspaketteja. Vastauspakettien sisältö koostuu palvelimen muistin sisällöstä, joka voi sisältää käyttäjien viestejä, käyttäjätunnus-salasanapareja, evästeitä, istuntokohtaisia avaimia ja tietyn palvelun käyttämiä salaisia avaimia.Protokollapyyntöjä toistamalla hyökkääjillä oli mahdollisuus saada lisää heartbeat-vastauspaketteja. Eräissä tapauksissa oli syytä epäillä heartbeat-vastauspakettien sisältämien tietojen vuotaneen Kiinaan.