Aizvērt sludinājumu

Atmiņas drošība pēdējā laikā ir bijusi Google galvenā prioritāte, jo atmiņas kļūdas mēdz būt dažas no nopietnākajām programmatūras izstrādē. Faktiski ievainojamības šajā jomā izraisīja lielāko daļu kritisko ievainojamību Androidu līdz pagājušajam gadam, kad Google izveidoja ievērojamu daļu jauna vietējā koda AndroidRust programmēšanas valodā C/C++ vietā. Programmatūras gigants strādā, lai atbalstītu citus līdzekļus atmiņas ievainojamību mazināšanai savā sistēmā, no kurām vienu sauc par atmiņas marķēšanu. Atbalstītās ierīcēs ar sistēmu Android 14 var būt jauns iestatījums, ko sauc par Papildu atmiņas aizsardzību, kas varētu pārslēgt šo funkciju.

Atmiņas atzīmēšanas paplašinājums (MTE) ir obligāts procesoru aparatūras līdzeklis, kura pamatā ir Arm v9 arhitektūra un kas nodrošina detalizētu informāciju. informace par atmiņas bojājumiem un aizsargā pret atmiņas drošības kļūdām. Kā skaidro Google: “Augsta līmenī MTE atzīmē katru atmiņas piešķiršanu/atdalīšanu ar papildu metadatiem. Piešķir atmiņas vietai marķieri, ko pēc tam var saistīt ar rādītājiem, kas attiecas uz šo atmiņas vietu. Izpildes laikā procesors pārbauda, ​​vai rādītāja un metadatu tagi atbilst katru reizi, kad tas tiek lasīts un saglabāts."

Google strādā, lai atbalstītu MTE visā programmatūras komplektā Android ilgu laiku. Uz Androidu 12 pievienoja Scudo atmiņas sadalītāju un atbalstu trim MTE darbības režīmiem saderīgās ierīcēs: sinhronais režīms, asinhronais režīms un asimetrisks režīms. Uzņēmums arī ļāva iespējot MTE sistēmas procesiem, izmantojot sistēmas īpašības un/vai vides mainīgos. Lietojumprogrammas var pievienot MTE atbalstu, izmantojot atribūtu android:memtagMode. Kad MTE ir iespējota procesiem iekšā Androidu, visas atmiņas drošības kļūdu klases, piemēram, Use-After-Free un bufera pārpildes izraisīs avārijas, nevis klusās atmiņas bojājumus.

Do Androidu 13 Google pievienoja Userspace Application Binary Interface (ABI), lai paziņotu par vēlamo MTE darbības režīmu bootloader. To var izmantot, lai iespējotu MTE saderīgās ierīcēs, kas netiek piegādātas ar iespējotu MTE pēc noklusējuma, vai to var izmantot, lai to atspējotu saderīgās ierīcēs, kurām tā ir iespējota pēc noklusējuma. Sistēmas rekvizīta ro.arm64.memtag.bootctl_supported iestatīšana uz "true" sistēmā Android 13 paziņoja sistēmai, ka sāknēšanas ielādētājs atbalsta ABI un arī aktivizēja pogu izstrādātāja opciju izvēlnē, kas ļāva lietotājam iespējot MTE nākamajā atsāknēšanas reizē.

V Androidu 14 tomēr, lai iespējotu MTE saderīgās ierīcēs, jau var būt nepieciešams ienirt izstrādātāja opciju izvēlnē. Ja ierīcē tiek izmantots Arm v8.5+ procesors ar MTE atbalstu, ierīces ieviešana atbalsta ABI vēlamā MTE darbības režīma saziņai ar sāknēšanas ielādētāju, un jaunais sistēmas rekvizīts ro.arm64.memtag.bootctl_settings_toggle ir iestatīts uz "true". , tad jauna lapa Papildu atmiņas aizsardzība v Iestatījumi → Drošība un konfidencialitāte → Papildu drošības iestatījumi. Šo lapu var palaist arī, izmantojot jauno darbību ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Interesanti, ka Tensor G2 mikroshēmojums, kas darbina Google Pixel 7 sēriju, izmanto Arm v8.2 procesora kodolus, kas nozīmē, ka tas neatbalsta MTE. Ja gaidāmā Google Pixel 8 sērija izmantos jaunos Arm v9 kodolus tāpat kā citas vadošās sērijas androidtālruņiem, tad to aparatūrai jāspēj atbalstīt MTE. Tomēr paliek jautājums, vai "uzlabotās atmiņas aizsardzības" funkcija iekļūs stabilā versijā Android14. gadā

Šodien visvairāk lasītais

.