ປິດໂຄສະນາ

ຄວາມ​ປອດ​ໄພ​ດ້ານ​ຄວາມ​ຈຳ​ເປັນ​ສິ່ງ​ສຳຄັນ​ອັນ​ດັບ​ໜຶ່ງ​ຂອງ Google ເມື່ອ​ບໍ່​ດົນ​ມາ​ນີ້, ເພາະ​ວ່າ​ຄວາມ​ຜິດ​ພາດ​ຄວາມ​ຈຳ​ມີ​ແນວ​ໂນ້ມ​ເປັນ​ບາງ​ອັນ​ທີ່​ຮ້າຍ​ແຮງ​ທີ່​ສຸດ​ໃນ​ການ​ພັດ​ທະ​ນາ​ຊອບ​ແວ. ໃນຄວາມເປັນຈິງ, ຊ່ອງໂຫວ່ໃນພື້ນທີ່ນີ້ແມ່ນຮັບຜິດຊອບສໍາລັບສ່ວນໃຫຍ່ຂອງຄວາມອ່ອນແອທີ່ສໍາຄັນ Androidu ຈົນກ່ວາປີທີ່ຜ່ານມາເມື່ອ Google ໄດ້ສ້າງລະຫັດພື້ນເມືອງໃຫມ່ທີ່ສໍາຄັນ Androidໃນພາສາການຂຽນໂປລແກລມ Rust ແທນ C/C++. ຊອບແວຍັກໃຫຍ່ກໍາລັງເຮັດວຽກເພື່ອສະຫນັບສະຫນູນວິທີການອື່ນໆເພື່ອຫຼຸດຜ່ອນຄວາມອ່ອນແອຂອງຫນ່ວຍຄວາມຈໍາໃນລະບົບຂອງມັນ, ຫນຶ່ງໃນນັ້ນເອີ້ນວ່າເຄື່ອງຫມາຍຄວາມຈໍາ. ໃນອຸປະກອນທີ່ຮອງຮັບກັບລະບົບ Android 14 ອາດ​ຈະ​ມີ​ການ​ຕັ້ງ​ຄ່າ​ໃຫມ່​ທີ່​ເອີ້ນ​ວ່າ​ການ​ປົກ​ປັກ​ຮັກ​ສາ​ຄວາມ​ຈໍາ​ຂັ້ນ​ສູງ​ທີ່​ສາ​ມາດ​ສະ​ຫຼັບ​ຄຸນ​ສົມ​ບັດ​ນີ້​.

Memory Tagging Extension (MTE) ແມ່ນຄຸນສົມບັດຮາດແວທີ່ບັງຄັບຂອງໂປເຊດເຊີໂດຍອີງໃສ່ສະຖາປັດຕະຍະກໍາ Arm v9 ທີ່ໃຫ້ລາຍລະອຽດ. informace ກ່ຽວກັບການສໍ້ລາດບັງຫຼວງຂອງຄວາມຊົງຈໍາແລະປ້ອງກັນຄວາມຜິດພາດຄວາມປອດໄພຂອງຫນ່ວຍຄວາມຈໍາ. ດັ່ງທີ່ Google ອະທິບາຍວ່າ: "ໃນລະດັບສູງ, MTE tags ແຕ່ລະການຈັດສັນຫນ່ວຍຄວາມຈໍາ / deallocation ກັບ metadata ເພີ່ມເຕີມ. ກຳນົດເຄື່ອງໝາຍໃສ່ບ່ອນຄວາມຈຳ, ເຊິ່ງຫຼັງຈາກນັ້ນສາມາດເຊື່ອມໂຍງກັບຕົວຊີ້ທີ່ອ້າງອີງເຖິງສະຖານທີ່ຄວາມຈຳນັ້ນ. ໃນເວລາແລ່ນ, ໂປເຊດເຊີຈະກວດເບິ່ງວ່າແທັກຊີ້ແລະເມຕາເດຕາກົງກັນໃນແຕ່ລະຄັ້ງທີ່ມັນຖືກອ່ານແລະບັນທຶກ."

Google ກໍາລັງເຮັດວຽກເພື່ອສະຫນັບສະຫນູນ MTE ໃນທົ່ວຊຸດຊອບແວທັງຫມົດ Android ເປັນ​ເວ​ລາ​ດົນ. ເຖິງ Androidu 12 ເພີ່ມຕົວຈັດສັນຄວາມຊົງຈຳ Scudo ແລະຮອງຮັບສາມໂໝດການໃຊ້ງານ MTE ໃນອຸປະກອນທີ່ເຂົ້າກັນໄດ້: ໂໝດ synchronous, asynchronous mode, ແລະ asymmetric mode. ບໍລິສັດຍັງເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະເປີດໃຊ້ MTE ສໍາລັບຂະບວນການລະບົບໂດຍຜ່ານຄຸນສົມບັດຂອງລະບົບແລະ / ຫຼືຕົວແປສະພາບແວດລ້ອມ. ແອັບພລິເຄຊັນສາມາດເພີ່ມການສະຫນັບສະຫນູນ MTE ຜ່ານຄຸນລັກສະນະ android:memtagMode. ເມື່ອ MTE ຖືກເປີດໃຊ້ສໍາລັບຂະບວນການໃນ Androidu, ຄວາມຜິດພາດດ້ານຄວາມປອດໄພຂອງໜ່ວຍຄວາມຈຳທັງໝົດເຊັ່ນ Use-After-Free ແລະ buffer overflows ຈະເຮັດໃຫ້ເກີດການຂັດຂ້ອງ ແທນທີ່ຄວາມຈຳທີ່ງຽບຫາຍໄປ.

Do Androidu 13 Google ໄດ້ເພີ່ມ Userspace Application Binary Interface (ABI) ເພື່ອສື່ສານຮູບແບບການໃຊ້ງານ MTE ທີ່ຕ້ອງການໃຫ້ກັບ bootloader. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເປີດໃຊ້ MTE ໃນອຸປະກອນທີ່ເຂົ້າກັນໄດ້ທີ່ບໍ່ໄດ້ສົ່ງກັບ MTE ເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ, ຫຼືມັນສາມາດຖືກນໍາໃຊ້ເພື່ອປິດການທໍາງານມັນຢູ່ໃນອຸປະກອນທີ່ເຂົ້າກັນໄດ້ທີ່ມີມັນເປີດໂດຍຄ່າເລີ່ມຕົ້ນ. ການຕັ້ງຄ່າຄຸນສົມບັດລະບົບ ro.arm64.memtag.bootctl_supported ເປັນ "ຄວາມຈິງ" ໃນລະບົບ Android 13 ບອກລະບົບວ່າ bootloader ສະຫນັບສະຫນູນ ABI ແລະຍັງເປີດໃຊ້ປຸ່ມໃນເມນູທາງເລືອກຂອງນັກພັດທະນາທີ່ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດເປີດໃຊ້ MTE ໃນ reboot ຕໍ່ໄປ.

V Androidu 14 ແນວໃດກໍ່ຕາມ, ການເປີດໃຊ້ງານ MTE ໃນອຸປະກອນທີ່ເຂົ້າກັນໄດ້ອາດຈະຕ້ອງການການເຂົ້າໄປໃນເມນູຕົວເລືອກຂອງຜູ້ພັດທະນາແລ້ວ. ຖ້າອຸປະກອນໃຊ້ໂປເຊດເຊີສະຖາປັດຕະຍະກໍາ Arm v8.5+ ທີ່ມີການສະຫນັບສະຫນູນ MTE, ການປະຕິບັດອຸປະກອນສະຫນັບສະຫນູນ ABI ສໍາລັບການສື່ສານຮູບແບບການດໍາເນີນງານ MTE ທີ່ຕ້ອງການກັບ bootloader, ແລະຄຸນສົມບັດລະບົບໃຫມ່ ro.arm64.memtag.bootctl_settings_toggle ຖືກກໍານົດເປັນ "ຄວາມຈິງ. ", ຫຼັງຈາກນັ້ນເປັນຫນ້າໃຫມ່ Advanced memory protection v ການຕັ້ງຄ່າ → ຄວາມປອດໄພ ແລະຄວາມເປັນສ່ວນຕົວ → ການຕັ້ງຄ່າຄວາມປອດໄພເພີ່ມເຕີມ. ໜ້ານີ້ຍັງສາມາດຖືກເປີດໃຊ້ຜ່ານຄຳສັ່ງ ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS ໃໝ່.

ຫນ້າສົນໃຈ, ຊິບເຊັດ Tensor G2 ທີ່ໃຫ້ພະລັງງານໃນຊຸດ Google Pixel 7 ໃຊ້ Arm v8.2 cores processor, ຊຶ່ງຫມາຍຄວາມວ່າມັນບໍ່ສະຫນັບສະຫນູນ MTE. ຖ້າຊຸດ Google Pixel 8 ທີ່ຈະມາເຖິງຈະໃຊ້ Arm v9 cores ຄືກັບຊຸດເຮືອທຸງອື່ນໆ androidໂທລະສັບ, ຫຼັງຈາກນັ້ນຮາດແວຂອງເຂົາເຈົ້າຄວນຈະສາມາດສະຫນັບສະຫນູນ MTE. ຢ່າງໃດກໍຕາມ, ຄໍາຖາມຍັງຄົງຢູ່ວ່າຄຸນສົມບັດ "ການປົກປ້ອງຄວາມຊົງຈໍາແບບພິເສດ" ຈະເຮັດໃຫ້ມັນເປັນສະບັບທີ່ຫມັ້ນຄົງ Androidໃນປີ 14

ອ່ານຫຼາຍທີ່ສຸດໃນມື້ນີ້

.