Advertentie sluiten

Geheugenbeveiliging is de laatste tijd een topprioriteit voor Google, omdat geheugenfouten vaak tot de ernstigste behoren bij de ontwikkeling van software. In feite waren kwetsbaarheden op dit gebied verantwoordelijk voor het merendeel van de kritieke kwetsbaarheden Androidu tot vorig jaar, toen Google een aanzienlijk deel van de nieuwe native code creëerde Androidin de programmeertaal Rust in plaats van C/C++. De softwaregigant werkt aan de ondersteuning van andere manieren om geheugenkwetsbaarheden in zijn systeem te verminderen, waaronder geheugenmarkering. Op ondersteunde apparaten met het systeem Android 14 is er mogelijk een nieuwe instelling genaamd Geavanceerde geheugenbeveiliging die deze functie kan omschakelen.

Memory Tagging Extension (MTE) is een verplichte hardwarefunctie van processors gebaseerd op de Arm v9-architectuur die gedetailleerde informatie biedt informace over geheugencorruptie en beschermt tegen geheugenveiligheidsfouten. Zoals Google uitlegt: “Op een hoog niveau tagt MTE elke geheugentoewijzing/deallocatie met aanvullende metadata. Wijst een markering toe aan een geheugenlocatie, die vervolgens kan worden gekoppeld aan aanwijzers die naar die geheugenlocatie verwijzen. Tijdens runtime controleert de processor elke keer dat deze wordt geladen en opgeslagen of de pointer- en metadatatags overeenkomen.

Google werkt eraan om MTE in het hele softwarepakket te ondersteunen Android voor een lange tijd. Naar Androidu 12 heeft de Scudo-geheugenallocator toegevoegd en ondersteuning voor drie MTE-werkmodi op compatibele apparaten: synchrone modus, asynchrone modus en asymmetrische modus. Het bedrijf maakte het ook mogelijk om MTE voor systeemprocessen mogelijk te maken via systeemeigenschappen en/of omgevingsvariabelen. Applicaties kunnen MTE-ondersteuning toevoegen via een attribuut android:memtagMode. Wanneer MTE is ingeschakeld voor processen in Androidu, hele klassen van geheugenveiligheidsfouten zoals Use-After-Free en bufferoverflows zullen crashes veroorzaken in plaats van stille geheugenbeschadiging.

Do Androidu 13 Google heeft een Userspace Application Binary Interface (ABI) toegevoegd om de gewenste MTE-bedrijfsmodus aan de bootloader te communiceren. Dit kan worden gebruikt om MTE in te schakelen op compatibele apparaten waarop MTE niet standaard is ingeschakeld, of om het uit te schakelen op compatibele apparaten waarop MTE standaard is ingeschakeld. De systeemeigenschap ro.arm64.memtag.bootctl_supported instellen op "true" op het systeem Android 13 vertelde het systeem dat de bootloader de ABI ondersteunde en activeerde ook een knop in het ontwikkelaarsoptiesmenu waarmee de gebruiker MTE kon inschakelen bij de volgende herstart.

V AndroidU 14 Voor het inschakelen van MTE op compatibele apparaten is het echter mogelijk dat u al in het menu met ontwikkelaarsopties moet duiken. Als het apparaat een Arm v8.5+ processor met MTE-ondersteuning gebruikt, ondersteunt de apparaatimplementatie de ABI voor het communiceren van de gewenste MTE-bedrijfsmodus naar de bootloader, en wordt de nieuwe systeemeigenschap ro.arm64.memtag.bootctl_settings_toggle ingesteld op "true" , vervolgens een nieuwe pagina Geavanceerde geheugenbeveiliging v Instellingen → Beveiliging en privacy → Extra beveiligingsinstellingen. Deze pagina kan ook worden gestart via de nieuwe actie ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Interessant is dat de Tensor G2-chipset die de Google Pixel 7-serie aandrijft Arm v8.2-processorkernen gebruikt, wat betekent dat deze geen MTE ondersteunt. Als de komende Google Pixel 8-serie de nieuwe Arm v9-kernen zal gebruiken, net als andere vlaggenschipseries androidtelefoons, dan zou hun hardware MTE moeten kunnen ondersteunen. De vraag blijft echter of de functie "geavanceerde geheugenbescherming" de stabiele versie zal halen Androidin 14

Het meest gelezen van vandaag

.