Na voljo je izdajanje zaščitene mobilne platforme GrapheneOS 2024011300, ki predstavlja odvod od izvorne kode Android (AOSP, Android Open Source Project), razširjeno in spremenjeno za povečanje varnosti in zagotavljanje zasebnosti. Projekt se je prej razvijal pod imenom AndroidHardening, pred tem pa se je odcepil od projekta CopperheadOS po sporu njegovih ustanoviteljev. V GrapheneOS uradno podpiramo večino aktualnih naprav Google Pixel (Pixel 4/5/6/7/8, Pixel Fold, Pixel Tablet). Razvojne zamisli projekta se širijo pod licenco MIT.
GrapheneOS vključuje številne eksperimentalne tehnologije, povezane s povečanjem izolacije aplikacij, podrobnim upravljanjem dostopa, blokiranjem pojavnosti tipičnih ranljivosti in oteževanjem delovanja izkoriščanja. Na primer, platforma uporablja lastno implementacijo malloc in spremenjeno različico libc z zaščito pred poškodbami pomnilnika, pa tudi strožjo ločitev naslovnega prostora procesov. Namesto JIT se v Android Runtime uporablja le predhodna (AOT, ahead-of-time) kompajlacija. V jedru Linux so vključeni številni dodatni mehanizmi zaščite, na primer v slub so dodane kanarčne oznake za preprečevanje prenosa pomnilnika. Za povečanje izolacije aplikacij so vključeni SELinux in seccomp-bpf.
Obstaja možnost dodeljevanja dostopa do omrežnih operacij, senzorjev, imenika in zunanjih naprav (USB, kamera) le izbranim aplikacijam. Branje iz odložišča je dovoljeno le aplikacijam, v katerih je trenutno aktiven fokus vnosa. Privzeto je prepovedano prejemanje informacij o IMEI, MAC naslovu, serijski številki SIM kartice in drugih strojno-belih identifikatorjih. Zasnovane so bile dodatne zaščitne ukrepe za izolacijo procesov, povezanih z Wi-Fi in Bluetooth, ter preprečevanje uhajanja informacij zaradi brezžične aktivnosti. Številni mehanizmi za povečanje varnosti, razviti v okviru projekta, so bili preneseni v glavno izvorno kodo Android.
V GrapheneOS se uporablja kriptografska overitev nalaganih komponent in napredno šifriranje podatkov na ravni datotečnih sistemov ext4 in f2fs (podatki so šifrirani z AES-256-XTS, imena datotek pa z AES-256-CTS z uporabo HKDF-SHA512 za generiranje posebnega ključa za vsako datoteko), ne pa na bloku naprave. Podatki v sistemskih particijah in v vsakem uporabniškem profilu so šifrirani z različnimi ključi. Izkoristijo se razpoložljive strojne zmogljivosti za pospeševanje operacij šifriranja. Na zaklenjenem zaslonu je prikazana gumb za zaključek seje, po katerem se ključi za dešifriranje ponastavijo in shranjevanje preide v neaktivirano stanje. Obstaja nastavitev za prepoved namestitve dodatnih aplikacij za izbrane uporabniške profile. Za zaščito pred napadi s poskusom gesla je vključen sistem zamud, ki temelji na številu neuspešnih poskusov (od 30 sekund do 1 dneva).
Sestava GrapheneOS načeloma ne vključuje aplikacij in storitev Google, prav tako ne alternativnih izvedb storitev Google, kot je microG. Kljub temu pa je možna namestitev storitev Google Play v ločenem izoliranem okolju, ki nima posebnih privilegijev. Projekt razvija tudi več lastnih aplikacij, usmerjenih v zaščito informacij in zasebnost. Na voljo so na primer spletni brskalnik Vanadium, ki temelji na Chromiumu, in modificirana različica pogona WebView, zaščiten PDF-pregledovalnik, požarni zid, aplikacija Auditor za overitev naprav in odkrivanje vdorov, aplikacija za delo s kamero, namenjena zagotavljanju zasebnosti, ter sistem za ustvarjanje šifriranih varnostnih kopij Seedvault.
Među promenama u novoj verziji:
- Popolnoma je bila predelana implementacija mehanizma samodejnega ponovnega zagona, ki je prešla na uporabo časovnika v procesu init, namesto v procesu system_server, kar je povečalo varnost in preprečilo ponovni zagon še nikoli odklepanega naprave. Čas za samodejni ponovni zagon je bil zmanjšan s 72 na 18 ur. Glavna ideja samodejnega ponovnega zagona je ponastaviti aktivirane (dešifrirane) particije s uporabniškimi podatki v izvirno ne dešifrirano stanje po določenem času neaktivnosti.
Podatki o uporabniškem profilu po ponovnem zagonu naprave so shranjeni v šifrirani obliki in se razšifrirajo šele po vnosu gesla za prijavo s strani uporabnika. Če uporabnik ne odkleni aktivirane seje več kot 18 ur, se naprava samodejno ponastavi (timeout lahko spremenite v nastavitvah Settings > Security > Auto reboot) za preprečevanje analize ključev, ki ostajajo v spominu, v primeru, da naprava pade v druge roke.
Kot dokaz o potrebi po uporabi funkcije samodejnega ponovnega zagona so razvijalci GrapheneOS omenili nedavno odkrivene ranljivosti na pametnih telefonih Google Pixel in Samsung Galaxy, ki omogočajo podjetjem, specializiranim za forenzično analizo, vohunjenje za uporabniki in pridobivanje podatkov, ko je naprava v aktivnem stanju (ko je seja aktivna in so podatki razšifrirani).
- Dodano je bilo orodje za ogled dnevnikov (Settings > System > View logs), ki omogoča oceno nastalih težav in poenostavi pripravo poročil o napakah.
- Prenovljen je bil vmesnik za pošiljanje poročil o napakah.
- V adevtool je dodana podpora za Pixel Camera Service, ki omogoča uporabo nočnega načina v aplikacijah na pametnih telefonih Pixel 6+.
- V adevtool je prenehana podpora za naprave, ki niso združljive z Android 14.
- Dodano je bilo obveščanje o aktiviranju detektorja škode v pomnilniku v malloc.
- V jedru Linux je bila onemogočena podpora za sysrq.
- Jedro Linuxa je bilo posodobljeno na najnovejšo različico GKI (Generic Kernel Image) 5.10.206 za naprave Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, ter na različico 5.15.145 za naprave Pixel 8 in Pixel 8 Pro. Dodatno so pripravljene zbirke s jedrom 6.1.69.
- Brskalnik Vanadium je bil posodobljen na kodo Chromium 120.0.6099.210.0.
Izvor: opennet.ru
