GWP-ASan dan KFENCE adalah alat deteksi memori probabilistik untuk ruang pengguna dan kernel. Jika diaktifkan, sejumlah kecil alokasi dijaga dengan halaman memori tambahan yang mengelilingi memori yang dialokasikan. Hal ini memungkinkan deteksi overflow buffering dan use-after-free dengan overhead performa yang dapat diabaikan. Meskipun dengan frekuensi sampel yang kecil untuk alokasi yang dilindungi, saat di-deploy dalam skala besar, aplikasi ini dapat mendeteksi bug keamanan memori secara efektif. Sejak diperkenalkan, alat ini telah membantu mengidentifikasi banyak bug platform dan terbukti menjadi alat yang berharga untuk meningkatkan stabilitas dan keamanan. Kami mendorong vendor untuk mengaktifkannya dan memantau dengan cermat bug yang terdeteksi di perangkat pengguna akhir.
Developer harus memeriksa keberadaan error dengan memeriksa
/data/tombstones
, logcat
, atau dengan memantau pipeline
DropboxManager
vendor untuk menemukan bug pengguna akhir.
Untuk informasi selengkapnya, lihat dokumen kami tentang proses debug kode native Android.
Men-debug Kode Platform Android NativeGWP-ASan untuk mendeteksi bug keamanan memori userspace
GWP-ASan diperkenalkan di Android 11 untuk alokasi heap
userspace. Saat mendeteksi bug, GWP-ASan akan mencatat laporan error dengan
Cause: [GWP-ASan]:
dan menghentikan prosesnya. Laporan bug
berisi informasi alokasi dan dealokasi tambahan yang mempermudah
identifikasi akar masalah.
GWP-ASan diaktifkan secara acak, saat memulai, untuk 1% proses sistem atau aplikasi dan untuk aplikasi yang menetapkan android:gwpAsanMode
dalam file AndroidManifest.xml
.
KFENCE untuk mendeteksi bug keamanan memori kernel
Android 12 memperkenalkan KFENCE untuk alokasi heap kernel. Saat mendeteksi bug, KFENCE akan mencatat laporan error yang dimulai
dengan BUG: KFENCE,
yang menonaktifkan halaman penjaga dan melanjutkan eksekusi.
Hal ini memungkinkan mekanisme deteksi bug kernel yang berdampak minimal pada pengalaman
pengguna.
Untuk mempelajari KFENCE lebih lanjut, lihat dokumentasi yang tersedia di https://www.kernel.org