Vala isikhangiso

Ukuphepha kwememori kube yinto ehamba phambili ku-Google muva nje, njengoba amaphutha enkumbulo avama ukuba amanye abucayi kakhulu ekuthuthukisweni kwesofthiwe. Eqinisweni, ukukhubazeka kule ndawo bekunesibopho sokulimala okuningi okubalulekile Androidu kuze kube unyaka odlule lapho i-Google idala ingxenye ebalulekile yekhodi yomdabu entsha Androidngolimi lokuhlela lwe-Rust esikhundleni sika-C/C++. Isikhulu sesofthiwe sisebenzela ukusekela ezinye izindlela zokunciphisa ubungozi bememori ohlelweni lwaso, enye yazo ebizwa ngokuthi ukumaka inkumbulo. Kumadivayisi asekelwayo anesistimu Android 14 kungase kube nesilungiselelo esisha esibizwa ngokuthi Ukuvikelwa kwenkumbulo Okuthuthukisiwe okungase kuguqule lesi sici.

I-Memory Tagging Extension (MTE) isici sehadiwe esiyisibopho samaphrosesa esisekelwe ekwakhiweni kwe-Arm v9 enikeza imininingwane enemininingwane. informace mayelana nokonakala kwenkumbulo futhi ivikela kumaphutha okuphepha kwenkumbulo. Njengoba i-Google ichaza: “Ezingeni eliphezulu, i-MTE imaka ukwabiwa/ukunikezwa kwenkumbulo ngayinye ngemethadatha eyengeziwe. Inikeza umaka endaweni yenkumbulo, engahlotshaniswa nezinkomba ezibhekisela kuleyo ndawo yenkumbulo. Ngesikhathi sokusebenza, iphrosesa ihlola ukuthi i-pointer kanye namathegi e-metadata ayafana ngaso sonke isikhathi lapho ifundwa futhi igcinwa."

I-Google isebenzela ukusekela i-MTE kuyo yonke isoftware suite Android isikhathi eside. Kuya Androidu 12 wengeze i-Scudo memory allocator kanye nokusekelwa kwezindlela ezintathu ze-MTE zokusebenza kumadivayisi ahambisanayo: imodi yokuvumelanisa, imodi engavumelaniyo, nemodi ye-asymmetric. Inkampani iphinde yenza kwaba nokwenzeka ukunika amandla i-MTE yezinqubo zesistimu ngokusebenzisa izakhiwo zesistimu kanye/noma okuguquguqukayo kwemvelo. Izinhlelo zokusebenza zingangeza usekelo lwe-MTE ngesibaluli android:memtagMode. Uma i-MTE inikwe amandla ezinqubweni zokungena Androidu, wonke amakilasi amaphutha okuphepha kwenkumbulo afana ne-Use-After-Free kanye nokuchichima kwe-buffer kuzodala ukuphahlazeka esikhundleni sokonakala kwenkumbulo ethule.

Do Androidu 13 I-Google yengeze i-Userspace Application Binary Interface (ABI) ukuze ixhumane nemodi yokusebenza ye-MTE edingekayo kusilayishi. Lokhu kungasetshenziswa ukunika amandla i-MTE kumadivayisi ahambisanayo angathumeli nge-MTE enikwe amandla ngokuzenzakalela, noma kungasetshenziswa ukuyikhubaza kumadivayisi ahambisanayo avuleke ngokuzenzakalelayo. Ukusetha impahla yesistimu ye-ro.arm64.memtag.bootctl_supported ukuba "iqiniso" kusistimu Android 13 itshele isistimu ukuthi i-bootloader isekela i-ABI futhi yenza kwasebenza inkinobho kumenyu yezinketho zonjiniyela evumele umsebenzisi ukuthi anike amandla i-MTE ekuqaliseni kabusha okulandelayo.

V Androidu-14 kodwa-ke, ukunika amandla i-MTE kumadivayisi ahambisanayo kungase kudingeke ukuthi ungene kumenyu yezinketho zonjiniyela. Uma idivayisi isebenzisa iphrosesa yezakhiwo ze-Arm v8.5+ enosekelo lwe-MTE, ukusetshenziswa kwedivayisi kusekela i-ABI yokuxhumana nemodi yokusebenza efiselekayo ye-MTE kusilayishi esiqaliswayo, kanye nempahla yesistimu entsha ye-ro.arm64.memtag.bootctl_settings_toggle isethwe ukuze ithi "iqiniso ", bese kuba ikhasi elisha Ukuvikelwa kwememori okuthuthukile v Izilungiselelo→Ukuvikela nobumfihlo→Izilungiselelo zokuphepha ezengeziwe. Leli khasi lingaqaliswa nangesenzo esisha esithi ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS.

Kuyathakazelisa ukuthi i-chipset ye-Tensor G2 enika amandla uchungechunge lwe-Google Pixel 7 isebenzisa ama-Arm v8.2 processor cores, okusho ukuthi ayisekeli i-MTE. Uma uchungechunge oluzayo lwe-Google Pixel 8 luzosebenzisa ama-Arm v9 cores amasha njengolunye uchungechunge lwe-flagship androidamafoni, khona-ke izingxenyekazi zabo zehadiwe kufanele zikwazi ukusekela i-MTE. Kodwa-ke, umbuzo usasele ukuthi ngabe isici "sokuvikela inkumbulo okuthuthukisiwe" sizosenza sibe yinguqulo ezinzile Androidngo-14

Okufundwa kakhulu namuhla

.