Aanbevolen, 2022

Editor'S Choice

Wat is Strictly Enforced Verified Boot in Android Nougat?

Als je de ontwikkelingen in Android hebt gevolgd, moet je de naam 'Verified Boot' de afgelopen jaren best wel eens hebben gehoord. Google introduceerde de beveiligingsfunctie in Android 4.4 (Kitkat) op een volledig niet-indringende manier en heeft langzaamaan zijn zichtbaarheid verhoogd in de nieuwere versies van zijn Android-besturingssysteem.

In de afgelopen dagen hebben we nieuws gezien over de aanwezigheid van een ' Strictly Enforced Verified Boot ' in de nieuwste versie van Google van 's werelds meest gebruikte mobiele besturingssysteem. Android Nougat gebruikt een hoger beveiligingsniveau bij het opstarten van uw apparaat. Terwijl, op Marshmallow, Verified Boot de gebruiker alleen een waarschuwing gaf, in het geval dat het iets niet goed met de systeempartitie detecteerde, zal Android Nougat het een stap verder gaan en gebruiken wat Google een "Strictly Enforced Verified Boot" noemt, wat zal sta het apparaat helemaal niet toe om op te starten, voor het geval afwijkingen in de partitie worden gedetecteerd, wijzigingen die in de bootloader zijn aangebracht of de aanwezigheid van 'kwaadwillende' code in het apparaat. Dit roept de vraag op: "Wat betekent dit precies voor de gebruikers?", Blijkt, het antwoord verschilt voor de twee hoofdcategorieën van Android-gebruikers (toevallige en machtige gebruikers), en we zullen het antwoord voor beide bieden .

Strikt geforceerd gecontroleerd opstarten

Eerst een beetje achtergrondinformatie over Verified Boot: meestal voert Android een verificatietest uit op partities. Dit gebeurt door de partities te verdelen in 4 KBB-blokken en ze te vergelijken met een ondertekende tabel. Als alles uitcheckt, betekent dit dat het systeem helemaal schoon is. Als er echter blokkades optreden bij sommige blokken of deze beschadigd raken, informeert Android de gebruiker over de problemen en laat het de gebruiker over om het op te lossen (of niet).

Alles dat gaat veranderen met Android Nougat en strikt gefilterd opstarten. Wanneer Verified Boot in de Enforced-modus wordt uitgevoerd, tolereert het geen fouten in de partities. Als er problemen worden gedetecteerd, kan het apparaat niet opstarten en kan de gebruiker opstarten in een veilige omgeving, om te proberen de problemen op te lossen. Strictly Enforced Verified Boot is echter niet alleen een controle tegen slechte gegevensblokken. Het kan meestal ook fouten in datablokken corrigeren. Dit wordt mogelijk gemaakt door de aanwezigheid van Forward Error Correcting-codes, die kunnen worden gebruikt om fouten in datablokken te corrigeren. Dit kan echter niet altijd werken, en in gevallen waarin dat niet het geval is, bent u vrijwel dood in het water.

Strictly Enforced Verified Boot: The Good, The Bad and The Ugly

1. Het goede

Het afdwingen van Verified Boot op Android-apparaten zal de beveiliging van de apparaten verbeteren. Als het apparaat wordt geïnfecteerd door malware, detecteert Strictly Enforced Verified Boot het de volgende keer dat u uw apparaat opstart en repareert het, of vraagt ​​u mogelijk om er iets aan te doen.

Met deze functie wordt ook gecontroleerd op beschadiging van gegevens en in de meeste gevallen kan het eventuele fouten in de gegevens corrigeren, dankzij de FEC-codes. Google gebruikt FEC-codes die een onbekende bitfout in 255 bits kunnen corrigeren . Natuurlijk lijkt dat een vrij klein aantal, maar laten we dat in perspectief plaatsen, met betrekking tot een mobiel apparaat:

Opmerking: de onderstaande waarden zijn afkomstig van de blogpost door Google Engineer Sami Tolvanen op Android Developers.

Google had RS (255, 223) FEC-codes kunnen gebruiken: deze codes hadden in 255 bits 16 onbekende bitfouten kunnen corrigeren, maar de ruimte boven de 32 bits redundante gegevens zou bijna 15% zijn geweest, en dat is veel, vooral op mobiele apparaten. Voeg dat toe aan het feit dat Android het overheersende besturingssysteem is op budget-smartphones met 4 tot 8 GB-geheugens, en 15% extra ruimte lijkt me zeker veel.

Door het opofferen van foutencorrectiemogelijkheden, in het voordeel van het besparen van ruimte, besloot Google om RS (255.253) FEC-codes te gebruiken. Deze codes kunnen slechts één onbekende fout in 255 bits corrigeren, maar de overhead in de ruimte is slechts 0, 8%.

Opmerking: RS (255, N) is een weergave van Reed-Solomon-codes, die een type foutcorrectiecodes zijn.

2. Het slechte

Ooit gehoord van "Er zijn twee kanten aan een munt"? Natuurlijk heb je dat. Hoewel de bedoelingen van Google met Strictly Enforced Verified Boot ongetwijfeld puur waren als een babyeenhoorn, komen ze met hun eigen problemen.

Als Strictly Enforced Verified Boot controleert op malware, controleert het ook op illegale wijzigingen aan de kernel, de bootloader en andere dingen waar ik je niet mee zal vervelen, maar dit betekent dat Android Nougat waarschijnlijk veel problemen met rooting zal tegenkomen, en Aangepaste ROM's laten knipperen, omdat Verified Boot geen onderscheid kan maken tussen ongewenste malwarecode en de code die uw bootloader heeft ontgrendeld. Dit betekent dat als je apparaat wordt geleverd met een vergrendelde bootloader, en je OEM het ontgrendelen van de bootloader niet toestaat, je het vrijwel niet kunt doen. Hopelijk zal iemand hiervoor een exploit bedenken.

Gelukkig gaan de meeste mensen die hun apparaten rooten en aangepaste ROM's flashen voor de toegevoegde functies en functionaliteit, met ontwikkelaarvriendelijke telefoons, zoals de Nexus. Over dit onderwerp valt veel te overwegen, en het is zeker niet het einde van aangepaste ROM's, althans niet op apparaten die worden geleverd met een niet-vergrendelde bootloader, of waarmee de bootloader kan worden ontgrendeld. Apparaten zoals Samsung-telefoons laten echter officieel niet toe om de bootloader te ontgrendelen, en op deze apparaten wordt ontgrendeling van uw bootloader hoogstwaarschijnlijk als een 'probleem' door Verified Boot gezien, waardoor het apparaat niet kan opstarten.

Een ander probleem dat zich zal voordoen met Strictly Enforced Verified Boot, is er een die zelfs van invloed zal zijn op gebruikers die er niet echt belang aan hechten aan het verkrijgen van rootprivileges, of het installeren van Custom ROMs. Na verloop van tijd, terwijl u uw apparaat gebruikt, is er natuurlijk sprake van natuurlijke datacorruptie in het geheugen; niet vanwege de aanwezigheid van malware, maar gewoon omdat het gebeurt. Dit is meestal geen probleem, of op zijn minst niet zo'n ernstig probleem als Verified Boot het zal veranderen. Als je corrupte data hebt die Strictly Enforced Verified Boot niet kunnen repareren tijdens het booten, kan je apparaat niet opstarten. Naar mijn mening is dat een groter, meer zichtbaar probleem dan sommige corrupte gegevens op de gebruikerspartitie.

3. De lelijke

In alle voordelen van het afdwingen van Verified Boot, en alle potentiële problemen, is het meest verontrustende, waarschijnlijk, dat OEM's misbruik kunnen gaan maken om hun apparaten te vergrendelen, zodat mensen Android niet kunnen gebruiken voor wat het bedoeld was zijn: open, ontwikkelaarvriendelijk en volledig aanpasbaar. Strictly Enforced Verified Boot zal OEM's in handen geven, om ervoor te zorgen dat mensen de bootloaders niet kunnen ontgrendelen op hun apparaten, waardoor ze geen aangepaste ROM's en feature-verbeteringstools zoals Xposed Modules kunnen installeren.

Android Nougat: een radicale verandering in de manier waarop Android werkt?

Hoewel we er zeker van zijn dat de bedoelingen van Google eenvoudig waren om potentiële problemen te voorkomen voor toevallige Android-gebruikers, die niet wisten wat te doen in het geval hun apparaat werd getroffen door malware of dat hun geheugen datadeblokken had beschadigd, is het mogelijk dat OEM's zijn ingeleverd en de fabrikant is de perfecte tool om gebruikers te laten leven met wat ze zijn aangeboden, en niets meer.

Natuurlijk zal iemand een exploit of een oplossing vinden voor deze situatie, en we hopen eigenlijk dat ze dat doen, in de ware geest van Android. Totdat iemand echter een oplossing bedenkt, is het enige dat wij, als gebruikers, kunnen doen om ervoor te zorgen dat we onze apparaten van ontwikkelaarvriendelijke fabrikanten kopen.

Hoofdafbeelding Courtesy: Flickr

Top