4. syyskuuta 2024

Haavoittuvuus tekee Passkeystä entistäkin turvattomamman

Kirjoitin aikaisemmin blogissani, että "Passkey on **skaa" ja sitä jo vuosia sitä ennen "WebAuthn korvaa salasanat ***kalla". Tuoreen tietoturvahaavoittuvuuden vuoksi nämä kirjoitukset ovat entistä ajankohtaisempia: Passkey eli Fido2 voidaan näet urkkia esim. Yubikeystä tietämättä PIN-koodia, koska käytetyssä salauskirjastossa on haavoittuvuus. Yubikey on toki vain yksi esimerkki, sama kirjasto on monessa muussakin käytössä ja sen korjaaminen esim. Yubikeystä on mahdotonta (koska tietoturvasyistä niiden ohjelmistoa ei voi päivittää). 

Siinä missä hyvää salasanaasi ei voi urkkia selville muutoin kuin näppäilysi tallentamalla, voi Passkeyn siis urkkia selville, jos saa käsiinsä ko. Yubikeyn (Yubikeyn suojana olevaa PIN-koodia ei siis tarvitse tietää) tai vastaavan laitteen. 

Näin ollen tästä "kätevästä ja turvallisesta tavasta kirjautua" tuleekin nyt sitten tietoturvapainajainen, koska yleensä Passkey mahdollistaa käytännössä aina 2-vaiheisen kirjautumisen ohittamisen - vastoin koko ideaa ja periaatetta 2-vaiheisesta kirjautumisesta (lue kirjoitukseni "Passkey on **skaa")! Hyökkääjä ei tarvitse siis salasanaasi, hän ei tarvitse Yubikeyn (tms.) PIN-koodia, eikä hän tarvitse 2-vaiheisen kirjautumisen tunnisteita (tekstiviesti, TOTP tai U2F). Hänelle riittää vain fyysisen Yubikeyn hallussapito ja kaikki Passkeylläsi "suojatut" tilisi avautuvat hänelle täysin.

Sama haavoittuvuus koskee myös useita fyysisiä kryptolompakoita, esim. Trezorin tiettyjä versioita ja muitakin, joissa on tuo sama turvapiiri käytössä. Ilmeisesti osassa TPM-siruista on myös tämä turvapiiri käytössä ja näin ollen kaikki niitä käyttävät ominaisuudet (Bitlocker, Windows Hello jne.) ovat myös haavoittuvaisia (toki Windows Hello PIN:ssä on muitakin haavoittuvuuksia).

Viimeistään tässä vaiheessa jokaisen ihmisen on syytä luopua käyttämästä Yubikeytä, tai mitään muutakaan Passkeytä missään tarkoituksessa. U2F:ssä ne toki ovat yhä "turvallisia" käyttää, koska tuossa roolissa ne todellakin ovat vain yksi osa kaksivaiheista kirjautumista. Ja ihan turha on selittää, että "no uusissa versioissa se on korjattu", kun on vain ajan kysymys, milloin uusistakin versioista löytyy vastaavanlaisia haavoittuvuuksia.

Olisi kivaa, jos joku taho tekisi oikeasti turvallisia turvasiruja, joissa ei olisi tämmöisiä ongelmia. Kyse ei ole mistään mahdottomasta saavutuksesta, vaan enemmänkin siitä, että halutaan säästää rahaa ja tuotetaan mieluummin 2 euroa maksava jotakuinkin turvallinen turvasiru - kuin että tuotettaisiin 4 euroa maksavat helvetin turvallinen turvasiru.