5. lokakuuta 2021

Apple FaceID tietoturvaongelma?

Leikin tässä aikani kuluksi Applen laitteilla ja huomasin niiden yleisesti käyttämästä FaceID-tunnistussysteemistä mielenkiintoisen seikan, johon ilmeisesti ei ole kukaan kiinnittänyt huomiota. Sinällään FaceID on varsin turvallinen ja kätevä, huomattavasti esim. androidin kasvojentunnistusta luotettavampi ja Applen tuotteissa tietoturva on yleensä kohdallaan, joten löytöni yllätti minut melkoisesti.

Ongelma juontaa juurensa siihen, että tietoturva-ajatteluun ei sovi ajatus automaatiosta, tai tarkemmin sanottuna interaktion puutteesta. Esimerkiksi auton "avaimet", joita ei tarvitse laittaa auton lukkoon tai edes painaa nappia, eivät tosiasiassa anna suojaa autovarkauksia vastaan. Raskaskin ovi ei anna suojaa, jos se aukenee itsestään kenelle tahansa sen eteen tulevalle ja niin edelleen. FaceID systeemissä ainoa, mitä vaaditaan, on se, että oikean henkilön kasvot ovat lähistöllä. Se ei ole interaktio. Kuitenkin se riittää tunnistautumiseen ja jonkin asian hyväksymiseen Applen tuotteissa.

Muutamia käytännön esimerkkejä:

  • Joku varastaa ipuhelimesi taskustasi ja suuntaa sen naamaasi kohden yllättäen, jolloin se aukeaa.
  • Joku ottaa väkisin sinun ipuhelimesi ja suuntaa sen naamasi kohden väkisin, jolloin se aukeaa.
  • Olet ahdistavassa tilanteessa, sinua ehkä uhkaillaan jne. ja haluaisit vaikkapa pyyhkiä puhelimen jonkin sovelluksen tiedot tai edes lukita sen, mutta sen tehdäksesi sinun pitää avata ko. sovellus FaceID:lläsi ja jos tuon jälkeen puhelin napataan sinulta ennen kuin ehdit sovellusta pyyhkiä...
  • Sinun pitää hyväksyä jokin toiminto puhelimellasi, mutta et voi tietää, mikä se on, ilman, että katsot puhelimeesi ja kun katsot puhelimeesi, FaceID huomaa kasvosi ja kirjaa hyväksyntäsi ko. toimintoon, vaikka et ehtinyt edes katsoa, mikä se asia on, joka hyväksyntääsi kaipaa, etkä edes voinut hylätä ko. hyväksyntää, koska kaikki tapahtui niin äkkiä.

Itse törmäsin tuohon "et tiedä mitä olet hyväksymässä" ja "hupsista kun se jo hyväksyi sen" ongelmaan, kun käytin pankkisovellusta ja maksoin laskua. En ehtinyt lukea ruudulta, mikä kumman lasku se oli, joka hyväksytyksi tuli, koska hyväksyntä tapahtui FaceID:llä joka laukesi heti kun laskun tiedot tulivat hyväksyttäväksi pankin tunnistautumissovellukseen, eli käytännössä samantien. Onneksi kyseessä ei ollut huijarin lasku, sillä läpi olisi mennyt!

Miten asian tulisi sitten toimia, jotta tämän tyyppisiltä ongelmilta vältyttäisiin?

  • Puhelimen aukaisuun ja muihin kriittisiin toimiin (miksei samantien vaikka kaikkiinkin optiona) pitäisi vaatia SEKÄ tunnuslukua ETTÄ FaceID:tä samalla kertaa toimiakseen. Nykyisellään mitään turvajuttua ei voi Applen tuotteissa laittaa siten, että sen avaamiseen vaaditaan SEKÄ tunnusluku että sen jälkeen tai sitä ennen myös FaceID tunnistus! Miksi ihmeessä ei?!? FaceID alkuun estäisi turhia näpyttelyitä ja pin-koodi sen jälkeen kun käyttäjä on tunnistettu, varmistaisi, että kukaan ei pääse edes ilkeyttään kokeilemaan pin-koodeja, koska ei omista naamaasi.
  • Tunnusluvun lisäksi pitäisi olla "brickme" tunnusluku, jonka näpyttelemällä puhelimen sisältö tuhoutuu pysyvästi tai puhelin käynnistyy erilaiseen (feikki) tilaan. Tällöin tunnusluvun saanti uhkailemalla tms. ei toimisi kovinkaan hyvin.
  • Ei-kriittisissä sovelluksissa pelkkä FaceID riittäisi, mutta sitä ei saisi milloinkaan käyttää minkään asian automaattiseen "varmistamiseen", vaan pelkästään hyväksyntäni siihen, että henkilöllä on oikeus tehdä ko. asia. Miksei esimerkiksi laskun maksussa voisi ruudulle tulla hyväksyttävä lasku ja käyttäjän olisi nappia painamalla hyväksyttävä lasku, jolloin (vasta) tehtäisiin FaceID-tunnistus?
  • FaceID-tunnistuksessa voitaisiin hyödyntää eleiden tulkintaa...miksei vaikkapa alaspäin vilkaisu tarkoita kilteistä päätöstä ja ylöspäin vilkaisu myönteistä...tai silmien räpyttely kolme kertaa olisi "brickme"-komento puhelimelle?
  • Ehdoton minimi olisi, että FaceID-tunnistautuminen käynnistäisi edes ajastimen ja haluttu toiminto tapahtuisi sitten vaikkapa 5s kuluttua tuosta, mikäli käyttäjä ei painaisi isoa punaista nappia ruudulla tms. tyylistä varmistelua "automaattitunnistautumisen ja etenemisen tielle".

Hyvä tunnistautuminen edellyttää kolmea eri asiaa: Jotain, jonka sinä omistat, jotain, jonka sinä tiedät ja jotain, jota sinä olet. Kun Applen tuotteissa kaikki nämä kolme voidaan kytkeä yhteen FaceID:n taakse, se tarkoittaa, että tosiasiassa tunnistautumisen komponentteja on nyt vain yksi. Ei kolmea. Yksi. Se on suuri sääli, koska eväät erittäin turvalliseen tunnistautumiseen ja käyttöön olisi mahdollista saavuttaa pienellä vaivalla tästä eteenpäin.