Haavoittuvuusesimerkki - SecMeter

Go to content

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.

Sääntö nro 3
Siltä, jolla on vastuu, puuttuu oikeus jälkiviisauteen.
Sääntö nro 2
Riittävän isolla vasaralla voi rikkoa mitä tahansa.
Sääntö nro 1
Valvontaa ei voi korvata luottamuksella.
Sääntö nro 3
Asiakkaiden luottamus on voitettava joka päivä uudelleen.
Sääntö nro 2
Riittävän isolla vasaralla voi rikkoa mitä tahansa.
Back to content