Najvažnije sigurnosne funkcije na telefonu obično su upravo one koje vlasnik nikada ne vidi. Nemaju ikonicu, ne mogu se pokazati u reklami i ne pomažu prodavaču da zatvori prodaju. One rade tiho, duboko u procesoru i operativnom sistemu, pokušavajući spriječiti da obična programska greška postane ulaz u cijeli uređaj.

ARM Memory Tagging Extension, poznat kao MTE, jedna je od takvih funkcija.

Google ju je uveo u Pixel porodicu sa modelom Pixel 8. Pixel 9 i Pixel 10 nastavili su tim putem. Očekivanje je zato bilo prilično jednostavno: ako je korisna hardverska zaštita već ugrađena i podržana kroz nekoliko generacija, naredni Pixel bi je trebao zadržati ili zamijeniti nečim boljim.

Pixel 11 je, izgleda, uradio suprotno.

Prema informacijama koje je objavio GrapheneOS projekat nakon rada na podršci za novu generaciju, Pixel 11 nema upotrebljivu hardversku podršku za MTE. Problem navodno nije u opciji koja je samo isključena, nedovršenom upravljačkom programu ili postavci koju bi Google mogao naknadno aktivirati. Neophodna podrška nedostaje u softveru i firmveru, a GrapheneOS smatra da je gotovo sigurno nema ni u samom hardveru.

Ako je ta procjena tačna, riječ je o trajnom ograničenju uređaja. Sigurnosna zakrpa može popraviti ranjivost, ali ne može naknadno ugraditi funkciju koja ne postoji u procesoru.

Meni je, međutim, prije donošenja konačnog suda važan još jedan detalj. Tri članka koja su povod za ovu analizu nisu tri nezavisne potvrde iste priče. Sva tri potpisuje David Timothy, objavljena su na različitim platformama i u velikoj mjeri razvijaju isti argument, oslanjajući se prvenstveno na isti izvor: GrapheneOS.

To ne znači da je tvrdnja netačna. GrapheneOS ima ozbiljno tehničko iskustvo sa Pixel uređajima i razlog da vrlo precizno provjerava njihove hardverske mogućnosti. Ali znači da broj članaka ne smijemo zamijeniti brojem nezavisnih dokaza. Tri objave istog autora nisu tri odvojene istrage.

Upravo tu treba početi poštena analiza.

Šta MTE zapravo štiti

Veliki dio Androida, Linux kernela, upravljačkih programa, grafičkih komponenti, multimedijalnih biblioteka i drugog sistemskog softvera i dalje je napisan u jezicima kao što su C i C++. Ti jezici pružaju brzinu i neposrednu kontrolu nad memorijom, ali dozvoljavaju i greške koje sigurniji programski jezici pokušavaju spriječiti samim dizajnom.

Program, na primjer, može nastaviti koristiti dio memorije nakon što ga je već oslobodio. To je poznato kao use-after-free greška. Može pisati izvan granica dodijeljenog prostora, pristupiti pogrešnoj adresi ili oštetiti susjedni objekat u memoriji.

Takva greška ne znači automatski da je telefon hakovan. Napadač je mora pronaći, učiniti dostupnom kroz neki ulaz, kontrolisati okolnosti u kojima se aktivira i zatim je pretvoriti u pouzdanu eksploataciju. Poslije toga često mora pobjeći iz izolovanog procesa, zaobići dodatne zaštite i doći do osjetljivijih dijelova sistema.

MTE mu taj posao otežava.

Pojednostavljeno rečeno, procesor dijelovima memorije dodjeljuje male oznake, a odgovarajuće oznake nosi i pokazivač kojim program pristupa toj memoriji. Kada se podaci čitaju ili upisuju, hardver provjerava podudaraju li se oznake.

Ako program koristi zastarjeli ili oštećeni pokazivač, oznake se mogu razlikovati. Procesor tada može prijaviti grešku ili zaustaviti proces, zavisno od izabranog načina rada.

MTE radi sa memorijskim cjelinama od 16 bajtova i koristi ograničen broj oznaka. Nije nepogrešiv. Ne otkriva svaki pristup izvan granica, posebno ako se greška zadrži unutar iste označene cjeline. Moguće je i pogoditi odgovarajuću oznaku. Zato se ova zaštita opisuje kao vjerovatnosna, a ne apsolutna.

Ali odbaciti je zbog toga bilo bi pogrešno.

Sigurnost telefona nikada ne zavisi od jedne savršene barijere. Ona se gradi od više nesavršenih prepreka: izolacije aplikacija, provjerenog pokretanja sistema, nasumičnog rasporeda memorije, kontrole toka izvršavanja, zaštite pokazivača, sigurnosnih čipova, ograničavanja privilegija i redovnih zakrpa.

Vrijednost MTE-a nije u obećanju da napad više nije moguć. Vrijednost je u tome što eksploatacija može postati manje pouzdana, skuplja i bučnija. Umjesto preuzimanja kontrole, napadač može samo srušiti proces i ostaviti trag u izvještaju o grešci.

Za običnog korisnika to zvuči apstraktno. Za nekoga ko prodaje ili koristi skupe lance ranjivosti, razlika između pouzdanog napada i niza rušenja nije nimalo apstraktna.

Ono što za sada znamo i ono što samo pretpostavljamo

Najjači dio priče nije to što se Pixel 11 ne pojavljuje na nekoj Googleovoj listi podržanih uređaja. Dokumentacija može kasniti, biti nepotpuna ili loše ažurirana.

Mnogo je važnije to što je GrapheneOS, radeći na stvarnoj podršci za uređaj, zaključio da potrebne mogućnosti nema. To je tehnički nalaz projekta koji ne gleda samo može li se Android pokrenuti, nego provjerava čitav niz hardverskih i firmverskih sigurnosnih uslova.

GrapheneOS MTE ne posmatra kao ukras. Koristi ga mnogo šire od standardnog Androida, uključujući osnovne sistemske procese i kompatibilne aplikacije. Zbog toga je gubitak ove funkcije za GrapheneOS ozbiljniji nego za prosječnog korisnika fabričkog Googleovog sistema.

Projekat razmatra čak i mogućnost da u potpunosti preskoči Pixel 11. To je važan signal, ali ni njega ne treba pretvarati u nešto što još nije. Razmatranje nije isto što i konačna odluka.

Još manje je dokazano zašto je Google navodno uklonio MTE.

Jedan od analiziranih tekstova razumno upozorava da ne treba izmišljati motiv. Mogući razlozi uključuju izbor procesorskih jezgri, konfiguraciju čipa, troškove, potrošnju energije, performanse ili složenost implementacije. Drugi tekst ide znatno dalje i prihvata pretpostavku da je funkcija uklonjena radi uštede novca.

Tu postoji bitna razlika u tonu i stepenu sigurnosti, iako oba teksta potpisuje isti autor.

Tvrdnja da je Google štedio zvuči uvjerljivo, posebno kada kompanija ukloni funkciju koju većina kupaca ne razumije i ne provjerava. Ipak, bez tehničkog objašnjenja Googlea ili pouzdane dokumentacije o dizajnu čipa, to ostaje pretpostavka. Možda je tačna, ali još nije činjenica.

Isto važi za formulaciju da je Google funkciju „tiho ukinuo“. Tišina je ovdje stvaran problem jer u analiziranim izvorima nema detaljnog javnog odgovora kompanije. Ali ona sama po sebi ne dokazuje namjeru da se nešto sakrije. Može dokazivati i ono što je za veliku tehnološku kompaniju skoro jednako loše: da ne smatra potrebnim objasniti sigurnosnu regresiju koju većina kupaca ionako neće primijetiti.

Moja kritika zato ne zavisi od nagađanja o motivu. Čak i ako je MTE uklonjen iz nekog legitimnog inženjerskog razloga, Google duguje javnosti konkretno objašnjenje. Koja zaštita ga zamjenjuje? Protiv kojih vrsta grešaka djeluje? Da li je dostupna alternativnim operativnim sistemima? Može li se nezavisno testirati? Koliki su njeni troškovi i ograničenja?

Opšta poruka da Pixel ima „višeslojnu sigurnost“ nije odgovor. To je rečenica za kutiju proizvoda.

Nova zaštita ne poništava staru slabost

Pixel 11, prema dostupnim informacijama, nije telefon bez sigurnosnih poboljšanja. Spominju se postkvantna zaštita provjerenog pokretanja sistema, novi Titan sigurnosni čip i promjene u komunikacijskom softveru koje bi mogle smanjiti količinu vlasničkog koda i povezanu napadnu površinu.

Sve to može biti korisno.

Problem nastaje kada se različite sigurnosne tehnologije predstavljaju kao da su međusobno zamjenjive. Postkvantna kriptografija i MTE ne rješavaju isti problem.

Postkvantni algoritmi pripremaju sisteme za mogućnost da dovoljno moćni kvantni računari jednog dana ugroze današnje kriptografske potpise i razmjenu ključeva. Taj prelazak treba početi ranije jer standardizacija, testiranje i primjena traju godinama. Nema ništa loše u tome da telefon kupljen danas bude spremniji za budućnost.

MTE se, međutim, bavi greškama koje postoje sada. Preglednik, dekoder slike, grafički upravljački program ili sistemska usluga mogu pogrešno rukovati memorijom danas, dok korisnik čita poruku ili otvara internetsku stranicu.

Jaču kriptografiju ne možete koristiti kao zamjenu za slabiju kontrolu memorije. Ako napadač preuzme proces koji već ima pristup dešifrovanim podacima, matematička snaga algoritma kojim su ti podaci prethodno bili zaštićeni ne rješava nastali problem.

To je kao da poboljšate sef, a istovremeno ostavite manje prepreka osobi koja pokušava preuzeti kontrolu nad prostorijom u kojoj se sef redovno otvara.

Sigurnost nije zbir marketinških bodova u kojem jedna nova stavka automatski briše gubitak stare. Moguće je da Pixel 11 istovremeno bude bolji u zaštiti podataka prije prvog otključavanja i slabiji u odbrani od pojedinih napada nakon što je uređaj otključan i aktivno se koristi.

Takva nijansa se slabo prodaje, ali je stvarna.

Google je dijelom sam stvorio ovaj problem

U ovoj priči postoji još jedna neugodna činjenica. Hardverska podrška za MTE nije isto što i njegova široka upotreba.

Google je tu mogućnost imao u Pixel uređajima od generacije Pixel 8, ali je fabrički Android nije uključio svuda i za sve aplikacije. Android nudi programerima mogućnost da uključe označavanje memorije, a MTE se koristi u određenim sigurnosnim režimima i procesima, ali to nije isto što i sveobuhvatna, podrazumijevana zaštita.

GrapheneOS je zauzeo agresivniji pristup. Njegova logika je da zaštitu treba uključiti gdje god je moguće, a izuzetke praviti tamo gdje stvarno postoji problem sa kompatibilnošću.

To otkriva klasičan začarani krug tehnološke industrije. Proizvođač ugradi sposobnost, ali je oprezno koristi. Programeri je rijetko testiraju jer nije podrazumijevana. Korisnici ne znaju da postoji. Nakon nekoliko godina neko može zaključiti da nije dovoljno važna, jer se navodno ne koristi dovoljno.

Funkcija tada nestane prije nego što je ekosistem uopšte dobio ozbiljnu priliku da je prihvati.

Ako se to zaista dogodilo sa MTE-om, problem nije počeo sa Pixelom 11. Počeo je onog trenutka kada je Google korisnu hardversku zaštitu tretirao kao opcionalni dodatak umjesto kao budući standard Androida.

Uklanjanje takve mogućnosti ima posljedice i izvan jednog telefona. Programer koji razmišlja hoće li uložiti vrijeme u testiranje aplikacije sa MTE-om sada ima dobar razlog za sumnju. Zašto prilagođavati softver funkciji koju čak ni Google ne garantuje u narednoj generaciji vlastitog vodećeg uređaja?

Kontinuitet je važan. Sigurnosna arhitektura ne gradi se za jednu sezonu prodaje telefona.

Pixel 11 nije automatski nesiguran telefon

Ovdje treba izbjeći suprotnu vrstu pretjerivanja.

Izostanak MTE-a ne znači da se Pixel 11 može lako hakovati niti da je odjednom manje siguran od svakog konkurentskog uređaja. Pixel i dalje može imati snažnu izolaciju aplikacija, provjereno pokretanje sistema, zaštitu od vraćanja na ranjive verzije softvera, hardversko čuvanje ključeva, dug period ažuriranja i druge važne odbrane.

Korisnik koji pređe sa loše održavanog telefona bez redovnih zakrpa na Pixel 11 može u ukupnom zbiru dobiti sigurniji uređaj.

Ali „siguran u cjelini“ i „slabiji od prethodnika u važnoj oblasti“ nisu suprotne tvrdnje. Obje mogu biti tačne.

Za prosječnog kupca na fabričkom Androidu gubitak MTE-a možda neće biti razlog da odmah odustane od uređaja. Takva odluka zavisi od kompletnog proizvoda, konkurencije, kvaliteta ažuriranja i konačnih tehničkih detalja.

Za korisnika koji kupuje telefon radi GrapheneOS-a situacija je mnogo jednostavnija. Pixel 11 ne treba kupovati uz pretpostavku da će podrška sigurno stići. Razumno je sačekati službenu odluku projekta. Otključiv bootloader i mogućnost instaliranja drugog sistema ne znače da taj sistem ispunjava vlastite sigurnosne standarde na datom hardveru.

Stariji Pixel sa MTE podrškom i dovoljno preostalog perioda ažuriranja može biti smisleniji izbor od novijeg, skupljeg modela. Zvuči paradoksalno, ali brojevi u nazivu uređaja nikada nisu bili sigurnosni standard.

Veći problem je odsustvo odgovornosti

Mene u ovoj priči najviše ne nervira jedna tehnička odluka čiji razlog još ne znamo. Više me nervira model u kojem kompanija može godinama graditi reputaciju sigurnosno orijentisanog proizvođača, ukloniti ozbiljnu hardversku mogućnost i računati da će skoro svi gledati kameru, bateriju i rezultate testova performansi.

Korisnik ne može sam procijeniti kvalitet procesorske zaštite u prodavnici. Mora vjerovati dokumentaciji, stručnjacima i obećanju proizvođača da nova generacija nije krišom izgubila ono što je prethodna već imala.

Zato je reakcija GrapheneOS-a važna čak i ljudima koji taj sistem nikada neće instalirati. Ne zato što je projekat nepogrešiv, nego zato što postavlja pitanje koje bi inače vjerovatno ostalo izvan većine recenzija: šta je novi telefon izgubio dok smo gledali šta je dobio?

Istovremeno, tu reakciju treba prenositi precizno. Trenutno imamo ozbiljan tehnički nalaz jednog stručnog projekta, ne tri nezavisne potvrde. Imamo vjerovatnu hardversku regresiju, ali nemamo dokazani motiv. Imamo mogućnost da GrapheneOS preskoči Pixel 11, ali ne nužno konačnu odluku. Imamo argument da su postojeća poboljšanja vrijedna, ali ne predstavljaju zamjenu za MTE.

Ta ograničenja ne slabe kritiku. Naprotiv, čine je poštenijom.

Google sada treba uraditi nešto vrlo jednostavno: potvrditi postoji li MTE na svim modelima Pixel 11, objasniti zašto je nestao ako ga nema i tehnički predstaviti eventualnu zamjenu. Ako zamjene nema, onda bi funkciju trebalo vratiti u narednoj reviziji hardvera.

Do tada ću Pixel 11 posmatrati kao sigurnosni korak unazad u oblasti koja je dovoljno važna da ne bude prepuštena pretpostavkama. Ne zato što je telefon ostao bez svake zaštite, nego zato što se napredak ne mjeri samo onim što je dodano.

Ponekad je važnije pogledati šta je nestalo, ko je to primijetio i zašto proizvođač misli da nam ne duguje objašnjenje.

IZVORI: