Preporučeno, 2022

Izbor Urednika

Što je strogo nametnuta provjera potvrde u Android Nougatu?

Ako ste pratili razvoj u Androidu, u posljednjih nekoliko godina morate čuti ime "Verified Boot". Google je predstavio sigurnosnu značajku u Androidu 4.4 (Kitkat), na potpuno neintruzivan način, i polako je povećavao svoju vidljivost u novijim izdanjima svog operativnog sustava Android.

U posljednjih nekoliko dana vidjeli smo vijesti o prisutnosti " strogo provjerenog pokretanja sustava " u Googleovoj najnovijoj verziji najčešće korištenog mobilnog OS-a na svijetu. Android Nougat koristit će višu razinu provjere sigurnosti kada se uređaj pokrene. Dok je na Marshmallowu, ovjerena inicijativa samo korisniku dala upozorenje, u slučaju da otkrije nešto loše u sistemskoj particiji, Android Nougat će to učiniti korak dalje i upotrijebiti ono što Google naziva "Striktno provjereno ovlašteno pokretanje", koje će ne dopustiti da se uređaj uopće pokrene, u slučaju da otkrije anomalije na particiji, promjene napravljene na bootloaderu ili prisutnost "zlonamjernog" koda u uređaju. Ovo postavlja pitanje: "Što to točno znači za korisnike?", Ispada da se odgovor razlikuje za dvije glavne kategorije korisnika Androida (povremeni i napredni korisnici), a mi ćemo pružiti odgovor za oboje,

Potvrđeno podignuto pokretanje

Prvo, malo pozadine na ovjerenom pokretanju: obično, kada Android pokrene test provjere na particijama, to čini dijeljenjem particija na 4KiB blokove i provjerom prema potpisanoj tablici. Ako se sve provjeri, to znači da je sustav potpuno čist. Međutim, ako neki blokovi izađu da budu neovlašteno mijenjani ili oštećeni, Android obavještava korisnika o problemima i prepušta ga korisniku da ga riješi (ili ne).

Sve što će se promijeniti s Android Nougatom i Strictly Enforced Verified Boot. Kada se Provjeri ovjereno pokretanje u Enforced modu, neće tolerirati bilo kakve pogreške u particijama. Ako otkrije bilo kakve probleme, neće dopustiti uređaju da se pokrene, a može dopustiti korisniku da se pokrene u sigurno okruženje, pokušavajući ispraviti probleme. Međutim, Strictly Enforced Verificirano pokretanje nije samo provjera protiv loših blokova podataka. Obično može ispraviti i pogreške u blokovima podataka. To je moguće zbog prisutnosti kodova za ispravljanje pogrešaka prema naprijed, koji se mogu koristiti za ispravljanje pogrešaka u blokovima podataka. Međutim, to ne može uvijek raditi, au slučajevima kada to nije slučaj, u vodi ste gotovo mrtvi.

Striktno provjereno Potvrđeno podizanje: Dobro, Loše i Ružno

1. Dobro

Enforcing Verified Boot na uređajima Android poboljšat će sigurnost uređaja. U slučaju da se uređaj zarazi zlonamjernim softverom, Strictly Enforced Verified Boot će ga otkriti sljedeći put kada pokrenete uređaj, ili ga popravite, ili ćete vrlo vjerojatno zatražiti da nešto poduzmete.

Ova značajka će također provjeriti oštećenje podataka, te će u većini slučajeva moći ispraviti sve greške unesene u podatke, zahvaljujući FEC kodovima. Google koristi FEC kodove koji mogu ispraviti jednu pogrešku nepoznatog bita u 255 bita . Naravno, to izgleda kao prilično mali broj, ali stavimo to u perspektivu, s obzirom na mobilni uređaj:

Napomena: donje vrijednosti preuzete su s posta blogera Google inženjera Sami Tolvanen na razvojnim programerima za Android.

Google je mogao koristiti RS (255, 223) FEC kodove: ovi kodovi bi mogli ispraviti 16 nepoznatih pogrešaka u 255 bita, ali prostorni troškovi zbog 32 bita redundantnih podataka, bili bi gotovo 15%, a to je mnogo, osobito na mobilnim uređajima. Dodajte to činjenici da je Android dominantan OS na proračunskim pametnim telefonima koji se isporučuju s memorijama od 4 do 8 GB, a 15% dodatnog prostora sigurno izgleda kao puno.

Žrtvovanjem mogućnosti ispravljanja pogrešaka, u korist uštede prostora, Google je odlučio koristiti RS (255, 253) FEC kodove. Ovi kodovi mogu ispraviti samo jednu nepoznatu pogrešku u 255 bita, ali prostorni troškovi su samo 0, 8%.

Napomena: RS (255, N) je prikaz Reed-Solomonovih kodova, koji su vrsta kodova za ispravljanje pogrešaka.

2. Loše

Jeste li ikada čuli za “Postoje dvije strane novčića”? Naravno da jesi. Iako su namjere tvrtke Google sa strogo provjerenim pokretanjem bile bez sumnje čiste kao bebe jednorog, one dolaze s vlastitim skupom problema.

Kada Strictly Enforced Verified Boot provjeri zlonamjerni softver, također provjerava ilegalne izmjene kernela, bootloadera i drugih stvari s kojima vam neću dosaditi, ali to znači da će se Android Nougat vjerojatno susresti s mnogo problema s ukorjenjivanjem i trepće Custom ROM-ovi, jer Verified Boot ne može razlikovati neželjeni zlonamjerni kôd i kôd koji je otključao vaš bootloader. Što znači da ako je vaš uređaj isporučen s zaključanim bootloader-om, a vaš OEM ne dopušta otključavanje bootloadera, to ne možete učiniti. Nadajmo se da će netko shvatiti kako će to iskoristiti.

Srećom, većina ljudi koji root svoje uređaje, i flash Custom ROM-ova za dodano značajke i funkcionalnost, ići s developer prijateljski telefonima, kao što su Nexus. U vezi s ovom temom mnogo toga treba razmotriti, a to definitivno nije kraj Custom ROM-ova, barem ne na uređajima koji dolaze s otključanim bootloader-om ili koji omogućuju otključavanje bootloadera. Međutim, uređaji kao što su Samsungovi telefoni službeno ne dopuštaju otključavanje bootloadera, a na tim uređajima otključavanje vašeg bootloadera svakako će se smatrati "problemom" od strane Verified Boot-a, čime se sprječava pokretanje uređaja.

Još jedan problem koji će se pojaviti kod Strictly Enforced Verified Boot, je onaj koji će utjecati čak i na korisnike koji zapravo ne mare za dobivanje root prava ili instaliranje Custom ROM-ova. Tijekom vremena, dok koristite svoj uređaj, u memoriji se mora pojaviti prirodna oštećenja podataka; ne zbog prisutnosti zlonamjernog softvera, već jednostavno zato što se to događa. To obično nije problem, ili barem ne toliko ozbiljan problem u koji će ga Provjeriti pokretanje pretvoriti. Ako imate oštećene podatke koje Strictly Enforced Verified Boot ne može popraviti prilikom pokretanja sustava, neće dopustiti da se uređaj pokrene. Po mom mišljenju, to je veći, vidljiviji problem od nekih korumpiranih podataka na korisničkoj particiji.

3. Ružno

U svim prednostima provođenja Verificiranog pokretanja i svih potencijalnih problema, najzabrinjavajuća je, vjerojatno, činjenica da proizvođači originalne opreme mogu početi zloupotrebljavati to kako bi zaključali svoje uređaje tako da ljudi ne mogu koristiti Android za ono što je bilo namijenjeno biti: otvoren, developer-friendly, i potpuno prilagodljiv. Potvrđeno pokretanje će biti stavljeno u ruke OEM-a, koji će osigurati da ljudi ne mogu otključati bootloadere na svojim uređajima i time im zabraniti instaliranje Custom ROM-ova i alate za poboljšanje značajki kao što su Xposed Moduli.

Android Nougat: radikalna promjena načina na koji Android radi?

Iako smo sigurni da je Google namjeravao jednostavno izbjeći potencijalne probleme povremenim korisnicima Androida, koji ne bi znali što učiniti u slučaju da je njihov uređaj pogođen zlonamjernim softverom ili ako je njihova memorija imala oštećene blokove podataka, možda je OEM-ovima predao i proizvođač je savršen alat za zaključavanje korisnika u život s onim što im je ponuđeno i ništa više.

Naravno, netko će smisliti iskorak ili zaobilazno rješenje za ovu situaciju, i nadamo se da će to učiniti, u pravom duhu Androida. Međutim, sve dok netko ne pronađe rješenje, sve što mi, kao korisnici mogu učiniti, osiguravamo da kupimo naše uređaje od proizvođača pogodnih za razvojne programere.

Izdvojena slika Ljubaznošću: Flickr

Top