Zatvori oglas

Sigurnost memorije je u posljednje vrijeme glavni prioritet za Google, budući da su greške u memoriji neke od najozbiljnijih u razvoju softvera. Zapravo, ranjivosti u ovom području bile su odgovorne za većinu kritičnih ranjivosti Androidu do prošle godine kada je Google stvorio značajan dio novog izvornog koda Androidu programskom jeziku Rust umjesto C/C++. Softverski div radi na podršci drugim načinima ublažavanja memorijskih ranjivosti u svom sustavu, od kojih se jedan naziva označavanje memorije. Na podržanim uređajima sa sustavom Android 14 možda postoji nova postavka pod nazivom Napredna zaštita memorije koja bi mogla isključiti ovu značajku.

Memory Tagging Extension (MTE) obvezna je hardverska značajka procesora temeljena na Arm v9 arhitekturi koja pruža detaljne informace o oštećenju memorije i štiti od sigurnosnih pogrešaka memorije. Kako 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 čita i sprema."

Google radi na podršci MTE-a u cijelom softverskom paketu Android dugo vremena. Do Androidu 12 je dodao Scudo memorijski alokator i podršku za tri MTE načina rada na kompatibilnim uređajima: sinkroni način, asinkroni način i asimetrični način. Tvrtka je također omogućila MTE za procese sustava 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 kao što su Use-After-Free i preljevi međuspremnika uzrokovat će padove umjesto tihog oštećenja memorije.

Do Androidu 13 Google je dodao binarno sučelje aplikacije korisničkog prostora (ABI) za priopćavanje željenog načina rada MTE bootloaderu. To se može koristiti za omogućavanje MTE-a na kompatibilnim uređajima koji se ne isporučuju s MTE-om omogućenim prema zadanim postavkama ili se može koristiti za njegovo onemogućavanje na kompatibilnim uređajima koji ga imaju prema zadanim postavkama. Postavljanje svojstva sustava ro.arm64.memtag.bootctl_supported na "true" na sustavu Android 13 je rekao sustavu da bootloader podržava ABI i također je aktivirao gumb u izborniku opcija za razvojne programere koji je omogućio korisniku da omogući MTE pri sljedećem ponovnom pokretanju.

V Androidu 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 Tensor G2 čipset koji pokreće Google Pixel 7 seriju koristi Arm v8.2 procesorske jezgre, što znači da ne podržava MTE. Ako će nadolazeća Google Pixel 8 serija koristiti nove Arm v9 jezgre kao i druge vodeće serije androidtelefona, tada bi njihov hardver trebao podržavati MTE. Međutim, ostaje pitanje hoće li značajka "napredne zaštite memorije" doći do stabilne verzije Androidili 14.

Danas najčitaniji

.