Pani hoʻolaha

ʻO ka palekana hoʻomanaʻo he mea nui loa ia no Google i kēia mau lā, no ka mea, ʻoi aku ka hewa o ka hoʻomanaʻo i kekahi o nā mea koʻikoʻi loa i ka hoʻomohala polokalamu. ʻO kaʻoiaʻiʻo,ʻo nā nāwaliwali o kēia wahi ke kuleana no ka hapa nui o nā pilikia koʻikoʻi Androidu a hiki i ka makahiki i hala i ka wā i hana ai ʻo Google i kahi ʻāpana koʻikoʻi o nā code ʻōiwi hou Androidma ka ʻōlelo papahana Rust ma kahi o C/C++. Ke hana nei ka polokalamu lako polokalamu e kākoʻo i nā ala ʻē aʻe e hoʻēmi ai i nā nāwaliwali o ka hoʻomanaʻo i kāna ʻōnaehana, kahi i kapa ʻia ʻo ka hoʻomanaʻo ʻana. Ma nā mea i kākoʻo ʻia me ka ʻōnaehana Android 14 aia paha kahi hoʻonohonoho hou i kapa ʻia ʻo Advanced Memory Protection hiki ke hoʻololi i kēia hiʻohiʻona.

ʻO ka Memory Tagging Extension (MTE) kahi hiʻohiʻona pono o nā kaʻina hana e pili ana i ka hoʻolālā Arm v9 e hāʻawi i nā kikoʻī. informace e pili ana i ka palaho hoʻomanaʻo a pale i nā hewa palekana hoʻomanaʻo. E like me ka wehewehe ʻana o Google: "Ma kahi pae kiʻekiʻe, hoʻopaʻa inoa ʻo MTE i kēlā me kēia hoʻokaʻawale hoʻomanaʻo me ka metadata hou. Hāʻawi i kahi māka i kahi wahi hoʻomanaʻo, a laila hiki ke hoʻopili ʻia me nā kuhikuhi e pili ana i kēlā wahi hoʻomanaʻo. I ka wā holo, nānā ka mea hana i ka mea kuhikuhi a me nā hōʻailona metadata i kēlā me kēia manawa i heluhelu ʻia a mālama ʻia."

Ke hana nei ʻo Google e kākoʻo iā MTE ma waena o ka lako polokalamu holoʻokoʻa Android no ka manawa loihi. I ka Androidu 12 ua hoʻohui i ka Scudo memory allocator a me ke kākoʻo no ʻekolu MTE mode o ka hana ma nā mea like: mode synchronous, asynchronous mode, a me asymmetric mode. Ua hiki no i ka hui ke hiki i ka MTE no nā kaʻina ʻōnaehana ma o nā waiwai ʻōnaehana a/a i ʻole nā ​​ʻano hoʻololi kaiapuni. Hiki i nā noi ke hoʻohui i ke kākoʻo MTE ma o kekahi ʻano android:memtagMode. Ke hoʻohana ʻia ka MTE no nā kaʻina hana i loko Androidu, nā papa holoʻokoʻa o nā hewa palekana hoʻomanaʻo e like me Use-After-Free a me ka buffer overflows e hoʻopōʻino ʻia ma kahi o ka palaho hoʻomanaʻo leo.

Do Androidu 13 Hoʻohui ʻo Google i kahi Userspace Application Binary Interface (ABI) e kamaʻilio i ke ʻano hana MTE i makemake ʻia i ka bootloader. Hiki ke hoʻohana ʻia kēia no ka hoʻohana ʻana i ka MTE ma nā polokalamu kūpono ʻaʻole i hoʻouna ʻia me ka MTE i hoʻohana ʻia ma ka paʻamau, a i ʻole hiki ke hoʻohana ʻia e hoʻopau iā ia ma nā polokalamu kūpono i hoʻohana ʻia ma ka paʻamau. Hoʻonohonoho i ka waiwai ʻōnaehana ro.arm64.memtag.bootctl_supported i "ʻoiaʻiʻo" ma ka ʻōnaehana Android Ua haʻi aku ʻo 13 i ka ʻōnaehana ua kākoʻo ka bootloader i ka ABI a ua hoʻāla pū i kahi pihi i ka papa koho koho hoʻomohala e hiki ai i ka mea hoʻohana ke hiki iā MTE i ka reboot aʻe.

V Androidu 14 akā naʻe, ʻo ka ʻae ʻana iā MTE ma nā polokalamu kūpono e pono paha ke luʻu ʻana i ka papa koho koho developer. Inā hoʻohana ka mea hana i ka Arm v8.5+ architecture processor me ke kākoʻo MTE, kākoʻo ka hoʻokō ʻana i ka hāmeʻa i ka ABI no ka kamaʻilio ʻana i ke ʻano hana MTE makemake i ka bootloader, a ua hoʻonohonoho ʻia ka waiwai ʻōnaehana ro.arm64.memtag.bootctl_settings_toggle i "ʻoiaʻiʻo. ", a laila he ʻaoʻao hou ʻO ka pale hoʻomanaʻo kiʻekiʻe v Nā hoʻonohonoho → Ka palekana a me ka pilikino → Nā hoʻonohonoho palekana hou. Hiki ke hoʻokuʻu ʻia kēia ʻaoʻao ma o ka hana hou ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

ʻO ka mea mahalo, ʻo ka Tensor G2 chipset e hoʻohana ana i ka Google Pixel 7 series i hoʻohana i nā core processor Arm v8.2, ʻo ia hoʻi ʻaʻole ia e kākoʻo iā MTE. Inā ʻo ka Google Pixel 8 e hiki mai ana e hoʻohana i nā koina Arm v9 hou e like me nā pūʻulu hae ʻē aʻe androidkelepona, a laila hiki i kā lākou hāmeʻa ke kākoʻo iā MTE. Eia nō naʻe, ke waiho nei ka nīnau inā ʻo ka "pale hoʻomanaʻo hoʻomanaʻo kiʻekiʻe" e hana ia i ka mana paʻa Androidi ka makahiki 14

Heluhelu nui ʻia i kēia lā

.