Lukk annonse

Minnesikkerhet har vært en toppprioritet for Google i det siste, ettersom minnefeil har en tendens til å være noe av det mest alvorlige innen programvareutvikling. Faktisk var sårbarheter i dette området ansvarlige for flertallet av kritiske sårbarheter Androidu inntil i fjor da Google laget en betydelig del av ny innfødt kode Androidi Rust-programmeringsspråket i stedet for C/C++. Programvaregiganten jobber med å støtte andre måter å redusere minnesårbarheter i systemet sitt på, hvorav en kalles minnemerking. På støttede enheter med systemet Android 14 kan det være en ny innstilling kalt Avansert minnebeskyttelse som kan veksle denne funksjonen.

Memory Tagging Extension (MTE) er en obligatorisk maskinvarefunksjon for prosessorer basert på Arm v9-arkitekturen som gir detaljert informace om minnekorrupsjon og beskytter mot minnesikkerhetsfeil. Som Google forklarer: «På et høyt nivå merker MTE hver minneallokering/deallokering med ekstra metadata. Tilordner en markør til en minneplassering, som deretter kan assosieres med pekere som refererer til den minneplasseringen. Ved kjøring sjekker prosessoren at pekeren og metadatakodene stemmer overens hver gang de leses og lagres."

Google jobber med å støtte MTE i hele programvarepakken Android i lang tid. Til Androidu 12 la til Scudo-minneallokatoren og støtte for tre MTE-driftsmoduser på kompatible enheter: synkron modus, asynkron modus og asymmetrisk modus. Selskapet gjorde det også mulig å aktivere MTE for systemprosesser gjennom systemegenskaper og/eller miljøvariabler. Applikasjoner kan legge til MTE-støtte via et attributt android:memtagMode. Når MTE er aktivert for prosesser i Androidu, vil hele klasser av minnesikkerhetsfeil som Use-After-Free og bufferoverløp forårsake krasjer i stedet for stille minnekorrupsjon.

Do Androidu 13 Google la til et Userspace Application Binary Interface (ABI) for å kommunisere ønsket MTE-driftsmodus til oppstartslasteren. Dette kan brukes til å aktivere MTE på kompatible enheter som ikke leveres med MTE aktivert som standard, eller det kan brukes til å deaktivere det på kompatible enheter som har det aktivert som standard. Setter ro.arm64.memtag.bootctl_supported systemegenskapen til "true" på systemet Android 13 fortalte systemet at oppstartslasteren støttet ABI og også aktiverte en knapp i utvikleralternativmenyen som tillot brukeren å aktivere MTE ved neste omstart.

V Androiddu 14 Imidlertid kan aktivering av MTE på kompatible enheter allerede kreve å dykke inn i utvikleralternativmenyen. Hvis enheten bruker en Arm v8.5+-prosessor med MTE-støtte, støtter enhetsimplementeringen ABI for å kommunisere ønsket MTE-driftsmodus til oppstartslasteren, og den nye ro.arm64.memtag.bootctl_settings_toggle systemegenskapen er satt til "true" , deretter en ny side Avansert minnebeskyttelse v Innstillinger→ Sikkerhet og personvern→ Ytterligere sikkerhetsinnstillinger. Denne siden kan også startes via den nye ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS-handlingen.

Interessant nok bruker Tensor G2-brikkesettet som driver Google Pixel 7-serien Arm v8.2 prosessorkjerner, noe som betyr at det ikke støtter MTE. Hvis den kommende Google Pixel 8-serien vil bruke de nye Arm v9-kjernene som andre flaggskipserier androidtelefoner, så skal maskinvaren deres kunne støtte MTE. Spørsmålet gjenstår imidlertid om funksjonen "avansert minnebeskyttelse" vil gjøre det til den stabile versjonen Androidi 14

Dagens mest leste

.