Tutup iklan

Keamanan memori telah menjadi prioritas utama Google akhir-akhir ini, karena kesalahan memori cenderung menjadi masalah paling serius dalam pengembangan perangkat lunak. Faktanya, kerentanan di area ini bertanggung jawab atas sebagian besar kerentanan kritis Androidsampai tahun lalu ketika Google membuat sejumlah besar kode asli baru Androiddalam bahasa pemrograman Rust, bukan C/C++. Raksasa perangkat lunak ini berupaya mendukung cara lain untuk mengurangi kerentanan memori dalam sistemnya, salah satunya disebut penandaan memori. Pada perangkat yang didukung dengan sistem Android 14 mungkin ada pengaturan baru yang disebut Perlindungan memori tingkat lanjut yang dapat mengaktifkan fitur ini.

Memory Tagging Extension (MTE) adalah fitur perangkat keras wajib prosesor berdasarkan arsitektur Arm v9 yang menyediakan detail informace tentang kerusakan memori dan melindungi terhadap kesalahan keamanan memori. Seperti yang dijelaskan Google: “Pada tingkat tinggi, MTE menandai setiap alokasi/dealokasi memori dengan metadata tambahan. Menetapkan penanda ke lokasi memori, yang kemudian dapat dikaitkan dengan penunjuk yang merujuk ke lokasi memori tersebut. Saat runtime, prosesor memeriksa apakah penunjuk dan tag metadata cocok setiap kali dibaca dan disimpan."

Google berupaya mendukung MTE di seluruh rangkaian perangkat lunak Android untuk waktu yang lama. Ke Androidu 12 menambahkan pengalokasi memori Scudo dan dukungan untuk tiga mode operasi MTE pada perangkat yang kompatibel: mode sinkron, mode asinkron, dan mode asimetris. Perusahaan juga memungkinkan untuk mengaktifkan MTE untuk proses sistem melalui properti sistem dan/atau variabel lingkungan. Aplikasi dapat menambahkan dukungan MTE melalui atribut android:memtagMode. Ketika MTE diaktifkan untuk proses di Androidu, seluruh kelas kesalahan keamanan memori seperti Use-After-Free dan buffer overflows akan menyebabkan crash, bukan kerusakan memori diam.

Do Androidu 13 Google menambahkan Userspace Application Binary Interface (ABI) untuk mengomunikasikan mode operasi MTE yang diinginkan ke bootloader. Ini dapat digunakan untuk mengaktifkan MTE pada perangkat kompatibel yang tidak dikirimkan dengan MTE diaktifkan secara default, atau dapat digunakan untuk menonaktifkannya pada perangkat kompatibel yang mengaktifkannya secara default. Menyetel properti sistem ro.arm64.memtag.bootctl_supported ke "true" pada sistem Android 13 memberi tahu sistem bahwa bootloader mendukung ABI dan juga mengaktifkan tombol di menu opsi pengembang yang memungkinkan pengguna untuk mengaktifkan MTE pada reboot berikutnya.

V Androidu 14 namun, mengaktifkan MTE pada perangkat yang kompatibel mungkin memerlukan penyelaman ke menu opsi pengembang. Jika perangkat menggunakan prosesor Arm v8.5+ dengan dukungan MTE, implementasi perangkat mendukung ABI untuk mengomunikasikan mode operasi MTE yang diinginkan ke bootloader, dan properti sistem ro.arm64.memtag.bootctl_settings_toggle yang baru disetel ke "true" , lalu halaman baru Perlindungan memori tingkat lanjut v Pengaturan→Keamanan dan privasi→Pengaturan keamanan tambahan. Laman ini juga dapat diluncurkan melalui tindakan ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS yang baru.

Menariknya, chipset Tensor G2 yang mentenagai seri Google Pixel 7 menggunakan inti prosesor Arm v8.2 yang artinya tidak mendukung MTE. Jika seri Google Pixel 8 mendatang akan menggunakan core Arm v9 baru seperti seri andalan lainnya androidponsel, maka perangkat kerasnya harus dapat mendukung MTE. Namun, pertanyaannya tetap apakah fitur "perlindungan memori tingkat lanjut" akan mencapai versi stabil Androidpada tahun 14

Yang paling banyak dibaca hari ini

.