Închide anunțul

Securitatea memoriei a fost o prioritate de top pentru Google în ultima vreme, deoarece erorile de memorie tind să fie unele dintre cele mai grave în dezvoltarea de software. De fapt, vulnerabilitățile din această zonă au fost responsabile pentru majoritatea vulnerabilităților critice Androidu până anul trecut, când Google a creat o bucată semnificativă de cod nativ nou Androidîn limbajul de programare Rust în loc de C/C++. Gigantul software lucrează pentru a sprijini alte mijloace de atenuare a vulnerabilităților de memorie din sistemul său, dintre care unul se numește marcarea memoriei. Pe dispozitivele acceptate cu sistemul Android 14 poate exista o nouă setare numită Protecție avansată a memoriei care ar putea comuta această funcție.

Memory Tagging Extension (MTE) este o caracteristică hardware obligatorie a procesoarelor bazată pe arhitectura Arm v9, care oferă detalii detaliate. informace despre coruperea memoriei și protejează împotriva erorilor de siguranță ale memoriei. După cum explică Google: „La un nivel înalt, MTE etichetează fiecare alocare/dealocare de memorie cu metadate suplimentare. Atribuie un marcator unei locații de memorie, care poate fi apoi asociat cu pointeri care se referă la acea locație de memorie. În timpul rulării, procesorul verifică dacă pointerul și etichetele de metadate se potrivesc de fiecare dată când sunt citite și salvate."

Google lucrează pentru a sprijini MTE în întreaga suită de software Android pentru o lungă perioadă de timp. La Androidu 12 a adăugat alocatorul de memorie Scudo și suport pentru trei moduri de operare MTE pe dispozitive compatibile: modul sincron, modul asincron și modul asimetric. De asemenea, compania a făcut posibilă activarea MTE pentru procesele de sistem prin proprietățile sistemului și/sau variabilele de mediu. Aplicațiile pot adăuga suport MTE prin intermediul unui atribut android:memtagMode. Când MTE este activat pentru procese în Androidu, clase întregi de erori de siguranță ale memoriei, cum ar fi Use-After-Free și depășirile de buffer, vor provoca blocări în loc de coruperea tacută a memoriei.

Do Androidu 13 Google a adăugat o interfață binară a aplicației pentru spațiul de utilizare (ABI) pentru a comunica modul de operare MTE dorit la bootloader. Aceasta poate fi folosită pentru a activa MTE pe dispozitivele compatibile care nu sunt livrate cu MTE activat în mod implicit sau poate fi folosit pentru a-l dezactiva pe dispozitivele compatibile care îl au activat în mod implicit. Setarea proprietății de sistem ro.arm64.memtag.bootctl_supported la „true” pe sistem Android 13 a spus sistemului că bootloader-ul acceptă ABI și, de asemenea, a activat un buton în meniul de opțiuni pentru dezvoltatori care a permis utilizatorului să activeze MTE la următoarea repornire.

V Androidla 14 cu toate acestea, activarea MTE pe dispozitive compatibile poate necesita deja accesul în meniul de opțiuni pentru dezvoltatori. Dacă dispozitivul folosește un procesor Arm v8.5+ cu suport MTE, implementarea dispozitivului acceptă ABI pentru comunicarea modului de operare MTE dorit către bootloader, iar noua proprietate de sistem ro.arm64.memtag.bootctl_settings_toggle este setată la „true” , apoi o nouă pagină Protecție avansată a memoriei v Setări→Securitate și confidențialitate→Setări suplimentare de securitate. Această pagină poate fi lansată și prin noua acțiune ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Interesant este că chipsetul Tensor G2 care alimentează seria Google Pixel 7 folosește nuclee de procesor Arm v8.2, ceea ce înseamnă că nu acceptă MTE. Dacă viitoarea serie Google Pixel 8 va folosi noile nuclee Arm v9 ca alte serii emblematice androidtelefoane, atunci hardware-ul lor ar trebui să fie capabil să accepte MTE. Cu toate acestea, rămâne întrebarea dacă funcția de „protecție avansată a memoriei” va ajunge la versiunea stabilă Androidîn 14

Cel mai citit de azi

.