Uždaryti skelbimą

Atminties saugumas pastaruoju metu buvo pagrindinis „Google“ prioritetas, nes atminties klaidos dažniausiai yra vienos rimčiausių programinės įrangos kūrimo metu. Tiesą sakant, šios srities pažeidžiamumas lėmė daugumą kritinių spragų Androidu iki praėjusių metų, kai „Google“ sukūrė didelę naujojo savojo kodo dalį AndroidRust programavimo kalba, o ne C/C++. Programinės įrangos milžinas stengiasi palaikyti kitas atminties pažeidžiamumo mažinimo priemones savo sistemoje, vienas iš jų vadinamas atminties žymėjimu. Palaikomuose įrenginiuose su sistema Android 14 gali būti naujas nustatymas, vadinamas Išplėstinė atminties apsauga, kuris gali perjungti šią funkciją.

Atminties žymėjimo plėtinys (MTE) yra privaloma procesorių aparatinės įrangos funkcija, pagrįsta Arm v9 architektūra, kuri suteikia išsamią informaciją. informace apie atminties sugadinimą ir apsaugo nuo atminties saugos klaidų. „Google“ paaiškina: „Aukštu lygiu MTE kiekvieną atminties paskirstymą / paskirstymą pažymi papildomais metaduomenimis. Atminties vietai priskiriamas žymeklis, kuris vėliau gali būti susietas su rodyklėmis, kurios nurodo tą atminties vietą. Vykdymo metu procesorius patikrina, ar rodyklė ir metaduomenų žymos sutampa kiekvieną kartą, kai jos nuskaitomos ir išsaugomos.

„Google“ stengiasi palaikyti MTE visame programinės įrangos pakete Android ilgam laikui. Į Androidu 12 pridėtas Scudo atminties skirstytuvas ir trijų MTE režimų palaikymas suderinamuose įrenginiuose: sinchroninis režimas, asinchroninis režimas ir asimetrinis režimas. Bendrovė taip pat leido įgalinti MTE sistemos procesams per sistemos savybes ir (arba) aplinkos kintamuosius. Programos gali pridėti MTE palaikymą per atributą android:memtagMode. Kai MTE įjungtas procesams Androidu, ištisos klasės atminties saugos klaidų, pvz., „Use-After-Free“ ir buferio perpildymo, sukels strigtis, o ne tylią atmintį.

Do Androidu 13 „Google“ pridėjo „Userspace Application Binary Interface“ (ABI), kad praneštų apie norimą MTE veikimo režimą įkrovos įkrovikliui. Tai gali būti naudojama norint įgalinti MTE suderinamuose įrenginiuose, kurie nėra pristatomi su MTE pagal numatytuosius nustatymus, arba jį galima naudoti norint išjungti suderinamuose įrenginiuose, kuriuose ji įjungta pagal numatytuosius nustatymus. Sistemos ypatybės ro.arm64.memtag.bootctl_supported nustatymas į „true“ sistemoje Android 13 pranešė sistemai, kad įkrovos įkroviklis palaiko ABI ir kūrėjo parinkčių meniu taip pat suaktyvino mygtuką, leidžiantį vartotojui įjungti MTE kitą kartą paleidžiant iš naujo.

V Androidu 14 tačiau įgalinant MTE suderinamuose įrenginiuose jau gali reikėti pasinerti į kūrėjo parinkčių meniu. Jei įrenginyje naudojamas „Arm v8.5+“ procesorius su MTE palaikymu, įrenginio diegimas palaiko ABI norimą MTE veikimo režimą perduoti įkrovos įkrovikliui, o naujoji sistemos ypatybė ro.arm64.memtag.bootctl_settings_toggle nustatoma į „true“. , tada naujas puslapis Išplėstinė atminties apsauga v Nustatymai → Sauga ir privatumas → Papildomi saugos nustatymai. Šį puslapį taip pat galima paleisti naudojant naują veiksmą ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Įdomu tai, kad „Tensor G2“ mikroschemų rinkinys, maitinantis „Google Pixel 7“ seriją, naudoja Arm v8.2 procesoriaus branduolius, o tai reiškia, kad jis nepalaiko MTE. Jei būsimoje „Google Pixel 8“ serijoje bus naudojami nauji Arm v9 branduoliai, kaip ir kitos pavyzdinės serijos androidtelefonų, tada jų aparatinė įranga turėtų palaikyti MTE. Tačiau lieka klausimas, ar „pažangios atminties apsaugos“ funkcija pateks į stabilią versiją Android14 metais

Šios dienos skaitomiausia

.