Kryptografia

MD5-tiiviste - rikkinäinen klassikko

Helppo
15 min

Mikä on MD5?

MD5 (Message Digest Algorithm 5) on vuonna 1991 Ronald Rivestin kehittämä kryptografinen tiivistefunktio, joka on vuosikymmenien ajan ollut laajassa käytössä.

MD5 muuntaa minkä tahansa pituisen syötteen kiinteän mittaiseksi, 128-bittiseksi tiivisteeksi. Alun perin sen piti olla kryptografinen työkalu, joka mahdollistaa tiedoston tai viestin muuttumattomuuden tarkistamisen: kaksi eri syötettä ei teoriassa saisi koskaan tuottaa samaa tiivistettä. Tämä teki MD5:stä houkuttelevan ratkaisun muun muassa ohjelmistojen eheyden varmistamiseen ja salasanojen tallennukseen.

MD5:n Haavoittuvuudet

Vaikka MD5:n suunnittelu tavoitteli turvallista tapaa tuottaa datalle yksilöllinen "sormenjälki", ajan saatossa on paljastunut vakavia heikkouksia, jotka ovat opettaneet tietoturva-alalle arvokkaita läksyjä. Vuosituhannen vaihteessa tutkijat alkoivat löytää vakavia heikkouksia MD5-algoritmissa. Erityisesti kaksi keskeistä haavoittuvuutta nousivat esille.

Nopeus

MD5:n laskennallinen tehokkuus, joka alun perin oli etu, kääntyi haavoittuvuudeksi, kun laskentateho kasvoi. Tämän nopeuden ansiosta hyökkääjät voivat suorittaa tehokkaita brute-force hyökkäyksiä, jotka kokeilevat valtavia määriä syötteitä lyhyessä ajassa. Kun hyökkääjät pystyvät kokeilemaan miljardeja tai jopa triljoonia mahdollisia syötteitä sekunneissa, MD5:llä suojattujen tietojen murtaminen muuttuu käytännölliseksi ja helpoksi.

Törmäykset

Törmäyshaavoittuvuus viittaa tilanteeseen, jossa kaksi erilaista syötettä (esim. tiedostoa tai viestiä) tuottavat saman tiivisteen. Tämä on vakava ongelma kryptografisissa sovelluksissa, sillä tiivisteen oletetaan olevan ainutlaatuinen jokaiselle syötteelle. MD5:n tapauksessa matemaattiset puutteet algoritmin suunnittelussa mahdollistavat törmäysten löytämisen suhteellisen pienellä laskentateholla.

Vuonna 2004, kryptografit Xiaoyun Wang ja Hongbo Yu raportoivat löytäneensä käytännöllisen menetelmän MD5-törmäysten tuottamiseen. Heidän menetelmänsä avulla oli mahdollista luoda kaksi erilaista datajoukkoa, jotka tuottavat saman MD5-tiivisteen. Tämä löydös osoitti ensimmäistä kertaa käytännössä, että MD5 ei ole turvallinen.

Törmäykset - Esimerkki

Tässä on kaksi kuvaa, joiden MD5-tiiviste on sama. Voit varmistaa tämän itse lataamalla tiedostot ja tarkastamalla niiden MD5-tiivisteen!

Siirtyminen Turvallisempiin Vaihtoehtoihin

MD5:n heikkouksien myötä on suositeltu siirtymistä turvallisempiin tiivistefunktioihin, kuten SHA-256 ja SHA-3. Nämä algoritmit on suunniteltu kestämään MD5:ssä havaitut haavoittuvuustyypit ja tarjoavat vahvemman turvallisuuden kriittisissä sovelluksissa.

Harjoitus

Olet tekemässä murtotestausta asiakkaan tietojärjestelmään ja onnistut murtautumaan web-sovelluksen tietokantaan. Saat haltuusi admin-käyttäjän käyttäjätunnuksen ja salasanatiivisteen, mutta nyt se pitäisi murtaa.

Salasanatiiviste on: 13c3a117d0013ab22417c8edca354b76

Voit käyttää ilmaista CrackStation -palvelua salasanan murtamiseen.

Mikä on salasana?

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.