Objavljeno:

GrapheneOS - zaščita pred zasegom podatkov iz telefona

Večina posameznikov na mobilnih telefonih hrani številne zelo osebne podatke, od fotografij, elektronske pošte, do sporočil, ki si jih izmenjujejo s svojimi bližnjimi. Nekateri, npr. preiskovalni novinarji in politični aktivisti, pa imajo na svojih mobilnih telefonih tudi druge občutljive podatke, ki jih ne bi želeli razkriti, saj bi njihovo razkritje lahko ogrozilo njihove vire ali aktivnosti. Enako velja tudi za odločevalce, uslužbence v podjetjih, itd.

Uporabniki zato svoje mobilne telefone zaklepajo, za odklep telefona (in s tem dostop do podatkov) pa so na voljo različne metode: odklep z geslom, s PIN kodo, z vzorcem za odklepanje, s pomočjo prstnega odtisa ali s pomočjo prepoznave obraza.

Slednji dve metodi sta biometrični in za uporabnike zelo priročni, a s stališča varnosti precej problematični. S stališča varnosti je namreč pomembno, da identiteta (“Kdo si?”) in avtentikacija (“Kako lahko to dokažeš?”) ostaneta ločeni vprašanji. Pri uporabi biometrije temu ni tako, saj se biometrični parametri smatrajo kot dokaz identitete. To je še posebej problematično v primeru, da biometrične parametre nekdo ponaredi oz. ukrade, saj jih v takem primeru - za razliko od gesel ali šifrirnih ključev - ni mogoče spremeniti ali preklicati. Poleg tega so biometrični podatki praviloma sami po sebi javni.

Sodobni telefoni za prvi odklep po zagonu (tim. BFU - Before First Unlock) večinoma zahtevajo eno izmed ne-biometričnih metod. Ko pa je telefon po zagonu prvič uspešno uspešno odklenjen, se za odklep zaslona lahko uporablja ena izmed biometričnih metod.

To lahko predstavlja težavo. Znani so namreč primeri, ko je naključni mimoidoči posnel nezakonito ravnanje policije, policist pa je nato posamezniku vzel mobilni telefon, ga prisilno odklenil s pomočjo prepoznave obraza in potem zanj sporne fotografije ali posnetke izbrisal.

Dodaten izziv za zasebnost predstavlja tudi tim. forenzični zaseg podatkov. Gre za skupek tehnik, ki se uporabljajo v digitalni forenziki, s katerimi je mogoče s pomočjo različnih orodij in (hekerskih) tehnik mobilni telefon odkleniti in potem dostopati do datotek na njem. Žal teh tehnik ne uporabljajo samo “uradni” digitalni forenziki in policija v demokratičnih državah, pač pa tudi hekerji, kiberkriminalci in različni avtoritarni režimi.

Večino mobilnih telefonov, tako z operacijskim sistemom Android, kot tudi iOS, je mogoče odkleniti s pomočjo različnih hekerskih tehnik (s tim. vdorom) ali z ugibanjem PIN kode/gesla. Večina telefonov ima sicer omejeno število poskusov za ugibanje gesla, vendar orodja kot na primer GrayKey podjetja Magnet Forensics ali Universal Forensic Extraction Device podjetja Cellebrite te omejitve pri večini telefonov odstranijo in potem z metodo grobe sile gesla ugibajo brez omejitev.

GrapheneOS ima zato implementirane številne tehnike in izboljšave s katerimi otežuje tako vdore v telefon (tim. “hekanje”), kot tudi neomejeno ugibanje PIN kode/gesla. Posledično je v mobilne telefone z nameščenim GrapheneOS izjemno težko vdreti, kar priznavajo tudi vodilni ponudniki opreme za digitalno forenziko mobilnih telefonov. Pobegli dokumenti podjetja Cellebrite (pa tudi dokumenti podjetja Magnet Forensics) razkrivajo, da za forenzični zaseg podatkov iz telefonov z nameščenim GrapheneOS ta podjetja nimajo rešitev (razen v primeru soglasja uporabnika oz. tim. prostovoljnega odklepa telefona s strani uporabnika).

V takih primerih torej napadalcu ne preostane nič drugega kot to, da telefon skuša odkleniti prisilno. Kar je pravzaprav v primeru biometrije relativno enostavno in vsaj v ZDA tudi povsem zakonito.

Prisilno odklepanje mobilnih naprav

Prvi dokumentirani primer prisilnega odklepa telefona s pomočjo biometrije sega v leto 2018, ko je policija 28-letnega Američana Granta Michalskega osumila razširjanja otroške pornografije. Policija mu je telefon zasegla, sodišče pa je v odredbi dovolilo, da telefon (šlo je za iPhone X) tudi prisilno odklenejo s pomočjo Face ID tehnologije.

Sicer v večini demokratičnih držav velja privilegij zoper samoobtožbo, v skladu s katerim se nihče ni dolžan izpovedati zoper sebe ali svoje bližnje. To pomeni, da osumljenec preiskovalnim organom ni dolžan povedati svojega gesla. V ZDA je ta pravica opredeljena v tim. Petem amandmaju, v EU v Charter of Fundamental Rights and Freedoms v 37. členu, v Sloveniji pa je opedeljen v četrti alineji 29. člena Ustave Republike Slovenije.

Vendar pa so ameriška (in tudi druga) sodišča že večkrat presodila, da privilegij zoper samoobtožbo ne velja v primeru biometričnih podatkov (in tudi DNK vzorcev), saj v tem primeru ne gre za pričanje (primer United States v. Jeremy Travis Payne).

Drugačna pravila veljajo tudi ob prehodu meje. V ZDA ima recimo US Customs and Border Protection pravico pregledovati potnike brez suma za kakršnokoli kaznivo dejanje. Res je sicer, da je ameriško Vrhovno sodišče leta 2014 presodilo, da sta preiskava mobilnega telefona in zaseg digitalnih podatkov na njem brez sodne odredbe nezakonita (primer Riley v. California, 573 U.S. 373 (2014)), vendar trenutno te odločitve ni še nihče testiral v primeru tim. izjeme pri preiskovanju ob prehodu meje (angl. border search exception).

V praksi se sicer najbolj pogosto dogaja, da mejni organi uporabnika skušajo prepričati, da telefon odklene prostovoljno, to prepričevanje pa lahko vključuje tudi krajše pridržanje, zavajanje, da je uporabnik dolžan odkleniti mobilno napravo (kar ne drži), daljšo (a na trajno) zaplembo telefona, predvsem pa lahko potniku v takem primeru zavrnejo vstop v državo. Prav tako lahko mejni organi sami skušajo forenzično zlomiti tak telefon in tako priti do podatkov, v primeru da je naprava zaklenjena z biometrijo, pa jo lahko tudi prisilno odklenejo. Podobna pravila ob prehodu meje sicer veljajo pri večini držav.

Nekatere države pa so celo sprejele zakonodajo, ki bi od osumljencev zahtevala obveznost posredovanja šifrinih gesel. Tak primer sta npr. britanski Regulation of Investigatory Powers Act ter francoski tim. ““decryption orders”, ki pa so trenutno v presoji na Evropskem sodišču za človekove pravice (primer Minteh v. France)). Vendar pa ostaja dejstvo, da osumljenca ne more nihče prisiliti, da pove geslo, če ga je (npr. zaradi stresa) preprosto pozabil.

Obstaja pa še druga možnost. Na forumih GrapheneOS opisujejo vsaj en primer nekoga na Švedskem, ki je imel na svojem mobilnem telefonu nameščen GrapheneOS. Policija je vedela, da telefona s forenzičnimi orodji ne bodo mogli odkleniti, zato so ga tajno opazovali in počakali, da je telefon odklenil, v tistem trenutku pa so ga zagrabili in mu telefon zasegli.

Zaščita pred odklepanjem telefonov z GrapheneOS

GrapheneOS ima sicer implementiranih kar nekaj zaščitnih mehanizmov, ki otežujejo tovrstne napade.

Kot omenjeno, ima GrapheneOS implementirane številne mehanizme, ki blokirajo forenzična in hekerska orodja. Eden izmed njih (obstajajo pa tudi številni drugi) je možnost, ki onemogoča nove USB povezave ko je telefon zaklenjen. Če torej napadalec zaklenjen telefon preko USB vmesnika poveže z računalnikom (oz. forenzično napravo), taka USB povezava sploh ne bo mogoča in forenzična naprava sploh ne bo zaznala povezave do telefona.

Naslednji zanimiv mehanizem je tim. PIN scrambling oz. “premešanje” PIN številke. Če omogočimo to možnost, bodo številke za vnos PIN kode naključno razporejene. Ugotavljanje PIN-a s pomočjo opazovanja uporabnika (tim. shoulder surfing napad) je torej v tem primeru oteženo, še posebej, če uporabnik uporablja zaščitno polarizacijsko folijo.

PIN scrambling (premešanje PIN številke)

PIN scrambling (premešanje PIN številke).

Še en zanimiv mehanizem je samodejni ponovni zagon telefona (angl. auto reboot feature).

Za kaj gre? Ko se operacijski sistem na telefonu zažene, je telefon v stanju imenovanem BFU (Before First Unlock) - torej “stanje pred prvim odklepom”. V tem stanju je v telefon praktično nemogoče vdreti in iz njega s forenzičnimi ali hekerskimi orodji izvleči podatke. Ko pa uporabnik prvič vnese PIN kodo ali geslo, pa gre telefon v stanje imenovano AFU (After First Unlock) - stanje po prvem odklepu. Ob tem se podatki na notranjem pomnilniku telefona dešifrirajo, šifrirni ključi pa so nato shranjeni v notranjem pomnilniku telefona.

GrapheneOS ima sicer implementirane številne mehanizme, ki forenzičnim in hekerskim orodjem onemogočajo, da bi uspešno izvlekla šifrirne ključe iz notranjega pomnilnika. Vendar pa je - vsaj v teoriji - uspešen napad na telefon v AFU stanju bolj verjeten, kot če je telefon v tim. BFU stanju.

GrapheneOS ima nastavitev, ki omogoča, da se telefon, ki je v AFU stanju, a po določenem času ni bil odklenjen - samodejno ponovno zažene. S tem se telefon vrne v BFU stanje, in ekstrakcija podatkov iz njega je praktično nemogoča.

Privzeto je ta čas 18 ur (če zaslon telefona v tem času ne bo odklenjen, se bo telefon samodejno ponovno zagnal), vendar pa je ta interval mogoče poljubno spremeniti - celo na samo 10 minut.

Praviloma namreč traja nekaj časa, da preiskovalci začnejo forenzično preiskavo naprav, ki so jih zasegli. Tipično je to lahko nekaj dni. Če bo torej od samega zasega (ali pa kraje oz. izgube) telefona, pa do začetka postopka forenzičnega zasega preteklo dovolj časa, se bo telefon samodejno ponovno zagnal, se s tem vrnil v BFU način, zaseg podatkov iz njega pa bo praktično nemogoč.

Še en zanimiv varnostni mehanizem pa so pri GrapheneOs uvedli pred kratkim. Gre za tim. “prisilna gesla/PIN šteilke” (angl. duress password/PIN).

Prisilno geslo oz PIN koda je posebno geslo (oz. PIN koda), ki si ga nastavimo v nastavitvah. S tem geslom oz. PIN kodo pa se telefona ne odklene, pač pa se ob vnosu nepovratno pobriše (vključno z eSIM karticami).

Prisilna gesla lahko pridejo zelo prav v primeru, ko napadalec mobilni telefon uporabniku nasilno (nezakonito) vzame in od njega zahteva, da ga odklene. V primeru, da mobilni telefon zaseže policija z odredbo, pa bi vnos prisilnega gesla lahko predstavljal tim. uničevanje dokazov (angl. tampering with evidence) oz. tim. oviranje pravice (angl. obstruction of justice).

Vendar pa kot rečeno, osumljencu gesla za odklep ni potrebno povedati. Lahko pa ima uporabnik prisilno geslo oz. PIN kodo zapisano na kakšnem listku, zataknjenem za ovitek telefona. In če bo napadalec listek našel in PIN kodo vnesel sam, bo s tem tudi sam pobrisal telefon.

Zaščita v primeru uporabe biometrije

Kot smo torej videli, v primeru, da za zaklep telefona uporabljamo PIN kodo ali geslo, obstaja kar nekaj zaščit, ki otežijo uspešen zaseg podatkov iz telefona. Težava pa je, če za odklep zaslona uporabljamo biometrijo - torej prstni odtis.

Vendar obstaja rešitev tudi za to. Najdemo jo v obliki posebne aplikacije Private Lock (dostopna je na tržnici F-Droid).

Aplikacija PrivateLock

Aplikacija PrivateLock.

Aplikacija zahteva res minimalno dovoljenj (ne zahteva niti dostopa do omrežja), deluje pa tako, da ko telefon zaklene takoj, ko ga dovolj močno stresemo. Stopnjo občutljivosti tresenja lahko nastavimo med nastavitvami. Telefona, ki je zaklenjen na ta načina, pa naslednjič ni več mogoče odkleniti z biometrijo (prstnim odtisom) oz. vzorcem za odklepanje (vlečenjem), pač pa je potrebno vnesti geslo. (Po uspešnem vnosu gesla je biometrično odklepanje oz. vzorec za odklepanje spet normalno aktiven.)

Nastavitve PrivateLock

Nastavitve PrivateLock.

Aplikacija torej omogoča naslednji scenarij uporabe: če skuša napadalec uporabniku telefon na silo vzeti iz rok, ali pa nanj na silo pritisniti prst, uporabnik telefon samo dovolj močno zatrese (ali ga spusti na tla) - in telefon se bo samodejno zaklenil.

Odklep sedaj ne bo več mogoč z biometrijo, pač pa samo s PIN kodo ali geslom. Tega pa uporabniku ni treba povedati, oziroma lahko vpiše prisilno geslo ali zavede napadalca, da prisilno geslo vnese sam - in telefon se bo pobrisal.

In če odklep ne bo izveden v času do naslednjega samodejnega zagona, se bo telefon samodejno vrnil v tim. BFU način, zaseg podatkov s forenzičnimi in hekerskimi orodji iz njega pa bo praktično nemogoč.

Vse opisani mehanizmi seveda ne nudijo absolutne zaščite pred dostopom do podatkov na mobilnem telefonu. Vseeno pa v kombinaciji pokrijejo številne scenarije napadov in s tem precej izboljšajo zaščito zasebnosti uporabnika mobilnega telefona.

Kategorije: Digitalna forenzika, Odprta koda
Ključne besede: kriptografija, mobilna telefonija, GrapheneOS