Zatvori oglas

Sigurnost memorije u posljednje vrijeme glavni je prioritet za Google, jer su greške u njoj među najozbiljnijima u razvoju softvera. Zapravo, ranjivosti u ovom području bile su odgovorne za većinu ozbiljnih ranjivosti Androida do prošle godine, kada je Google značajan dio novog izvornog Android koda napisao u programskom jeziku Rust umjesto u C/C++. Softverski div radi na podršci dodatnih načina ublažavanja ranjivosti memorije u svom sustavu, od kojih se jedna naziva označavanje memorije. Na podržanim uređajima s Androidom 14 mogla bi postojati nova postavka pod nazivom Napredna zaštita memorije koja bi mogla uključiti/isključiti ovu značajku.

Proširenje označavanja memorije (MTE) obvezna je hardverska značajka procesora temeljena na arhitekturi Arm v9 koja pruža detaljne informacije o povredama memorije i štiti od sigurnosnih grešaka u memoriji. Kao što Google objašnjava: “Na visokoj razini, MTE označava svaku dodjelu/dealokaciju memorije dodatnim metapodacima. Dodjeljuje oznaku memorijskoj lokaciji, koja se zatim može povezati s pokazivačima koji se odnose na tu memorijsku lokaciju. Tijekom izvođenja, procesor provjerava odgovaraju li oznake pokazivača i metapodataka svaki put kada se učitava i sprema."

Google već neko vrijeme radi na podršci za MTE u Android softverskom paketu. U Androidu 12 dodao je Scudo alokator memorije i podršku za tri MTE načina rada na kompatibilnim uređajima: sinkroni način rada, asinkroni način rada i asimetrični način rada. Tvrtka je također omogućila omogućavanje MTE-a za sistemske procese putem svojstava sustava i/ili varijabli okruženja. Aplikacije mogu dodati MTE podršku putem atributa android:memtagMode. Kada je MTE omogućen za procese u Androidu, cijele klase sigurnosnih pogrešaka memorije, poput Use-After-Free i prelijevanja međuspremnika, srušit će se umjesto da tiho oštete memoriju.

U Androidu 13, Google je dodao binarno sučelje aplikacije u korisničkom prostoru (ABI) kako bi bootloaderu prenio željeni način rada MTE-a. To se može koristiti za omogućavanje MTE-a na kompatibilnim uređajima koji se isporučuju s MTE-om omogućenim prema zadanim postavkama ili se može koristiti za njegovo onemogućavanje na kompatibilnim uređajima na kojima je omogućen prema zadanim postavkama. Postavljanje sistemskog svojstva ro.arm64.memtag.bootctl_supported na "true" u Androidu 13 reklo je sustavu da bootloader podržava ABI, a također je omogućilo gumb u izborniku opcija za razvojne programere koji je korisniku omogućio MTE pri sljedećem ponovnom pokretanju.

V Android 14 međutim, omogućavanje MTE-a na kompatibilnim uređajima već može zahtijevati ulazak u izbornik opcija za razvojne programere. Ako uređaj koristi procesor Arm v8.5+ s MTE podrškom, implementacija uređaja podržava ABI za priopćavanje željenog MTE načina rada bootloaderu, a novo svojstvo sustava ro.arm64.memtag.bootctl_settings_toggle postavljeno je na "true" , zatim nova stranica Napredna zaštita memorije v Postavke→Sigurnost i privatnost→Dodatne sigurnosne postavke. Ova se stranica također može pokrenuti putem nove radnje ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Zanimljivo je da je Tensor G2 čipset koji pokreće seriju Google Pixel 7, koristi Arm v8.2 procesorske jezgre, što znači da ne podržava MTE. Ako nadolazeća serija Google Pixel 8 će koristiti nove Arm v9 jezgre kao i mnogi drugi vodeći Android telefoni, tada bi njegov hardver trebao moći podržavati MTE. Međutim, ostaje pitanje hoće li značajka "napredne zaštite memorije" stići do stabilne verzije Androida 14.

Danas najčitaniji

.