Android 14 võib lisada uue beetafunktsiooni, mida nimetatakse "täiustatud mälukaitseks", mis kaitseb ühilduvate seadmete mäluohutusvigade eest.
Mälu ohutus on olnud Google'i jaoks viimasel ajal üks peamisi prioriteete, kuna mäluohutuse vead on tavaliselt tarkvaraarenduse kõige tõsisemad vead. Tegelikult moodustasid enamiku tõsiste Androidi puhul mälu turvaaukud haavatavused kuni 2022. aastani, mil Google kirjutas olulise osa Androidi uuest algsest versioonist koodis Rooste programmeerimiskeel C/C++ asemel. Google on töötanud ka muude vahendite toetamise kallal, et leevendada Androidi mälu turvaauke, millest ühte nimetatakse mälumärgistamiseks. Töötavates toetatud seadmetes Android 14, võib olla uus „täiustatud mälukaitse” säte, mis võib seda funktsiooni sisse lülitada.
Memory Tagging Extension (MTE) on Arm v9 protsessorite kohustuslik riistvarafunktsioon, mis kaitseb mälu eest turvavead (koos väikese käitusaja jõudluskuludega), pakkudes üksikasjalikku teavet mälu kohta rikkumisi. Nagu Google selgitab
Google on juba mitu väljalaset töötanud selle nimel, et toetada MTE-d kogu Androidi tarkvaravirnas. Android 12-s lisas scudo, Androidi kuhjajaotur, ühilduvates seadmetes kolme MTE töörežiimi toe: sünkroonrežiim, asünkroonrežiim ja asümmeetriline režiim. Google võimaldas ka süsteemiprotsesside jaoks MTE-d lubada ehitamise ajal või süsteemi atribuutide ja/või keskkonnamuutujate kaudu. Rakendused saavad MTE-d toetada selle kaudu android: memtagMode atribuut. Kui MTE on Androidis protsesside jaoks lubatud, käivitavad terved mäluohutuse vead, nagu kasutus pärast vaba kasutust ja puhvri ületäitmised, vaikse mälurikke asemel krahhi.
sisse Android 13, Google lisas kasutajaruumile ABI, et edastada alglaadurile nõutud MTE töörežiim. Seda saab kasutada MTE lubamiseks ühilduvates seadmetes, mille puhul see vaikimisi ei ole lubatud, või alternatiivina saab seda kasutada selle keelamiseks ühilduvates seadmetes, millel see on lubatud vaikimisi. Süsteemi atribuudi ro.arm64.memtag.bootctl_supported määramine versioonis Android 13 väärtuseks "true" teatab süsteemile, et alglaadur toetab ABI-d ja käivitab ka nupu, mis ilmub arendaja valikute menüüsse, mis võimaldas kasutajal lubada MTE järgmisel taaskäivitage. See oli suunatud arendajatele, kes soovisid testida oma rakenduste käitumist MTE-ga.
Operatsioonisüsteemis Android 14 võib MTE lubamine ühilduvates seadmetes siiski nõuda enam arendaja valikutesse sukeldumist. Kui seadmel on MTE toega Arm v8.5+ CPU, toetab seadme juurutus ABI-d, et edastada nõutud MTE töörežiim alglaadurile ja uus süsteemi atribuut 'ro.arm64.memtag.bootctl_settings_toggle' on seatud väärtusele Tõene, siis võib jaotises Seaded > Turvalisus ja privaatsus > Rohkem turvalisust ilmuda uus leht „täiustatud mälukaitse“. seaded. Selle lehe saab käivitada ka uue kaudu ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS tahtlik tegevus.
Eelkõige Tensor G2 kiibistik Google Pixel 7 seeria kasutab Arm v8.2 CPU südamikke, seega ei toeta nad MTE-d. Kui tulevane Google Pixel 8 seeria kasutab uusi Arm v9 CPU tuumasid nagu paljud teised Androidi lipulaevad, siis oleks neil MTE-d toetav riistvara. Jääb üle näha, kas see "täiustatud mälukaitse" funktsioon jõuab ka tegelikult stabiilsesse versiooni.
Tänud turvauurijale @flawedworlddev abi eest selles artiklis!