Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Sanitizer adalah sekelompok alat analisis dinamis yang menemukan kesalahan dalam
program saat runtime melalui instrumentasi tambahan yang disisipkan oleh
compiler. Hal ini mencakup mendeteksi
masalah keamanan memori. Android mendukung
dan sangat merekomendasikan penggunaan sanitizer berikut:
AddressSanitizer yang dibantu hardware (HWASan)
HWASan adalah sanitizer utama untuk memberikan deteksi
masalah keamanan memori. Alat ini memerlukan ARM64 dan dapat mendeteksi:
Stack dan luapan atau underflow buffer heap
Penggunaan heap setelah tersedia
Penggunaan stack setelah cakupan
Penggunaan stack setelah ditampilkan
Double free atau wild free
Address sanitizer (ASan)
ASan adalah alat yang mirip dengan HWASan. Fitur ini berfungsi di lebih banyak
platform, tetapi tidak didukung di Android.
KernelAddress sanitizer (KASan)
KASan adalah kebalikan kernel dari alat
ruang pengguna di atas. Keduanya memiliki implementasi compiler yang sama. KASan dan ASan/HWASan
komplementer karena satu alat berlaku untuk kernel dan alat lainnya untuk ruang pengguna.
Sebaiknya aktifkan keduanya secara bersamaan untuk mengurangi jumlah konfigurasi
build dan mengurangi matriks pengujian.
UndefinedBehavior sanitizer (UBSan)
UBSan melakukan instrumentasi waktu kompilasi untuk
memeriksa berbagai jenis perilaku yang tidak ditentukan (non-keamanan memori). Hal ini mencakup
pemeriksaan overflow bilangan bulat bertanda dan tidak bertanda (IntSan), pemeriksaan batas untuk
array berukuran statis (BoundsSan), dan banyak jenis perilaku
yang tidak ditentukan lainnya. IntSan dan BoundsSan juga cocok untuk diaktifkan dalam produksi sebagai
mitigasi keamanan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Sanitizers\n\n| **Note:** This page talks about sanitizers for Android platform development. For sanitizers for app development, refer to the [NDK documentation](https://developer.android.com/ndk/guides/memory-debug).\n\nThe sanitizers are a group of dynamic analysis tools that find mistakes in\nprograms at runtime through additional instrumentation that was inserted by the\ncompiler. This includes detecting\n[memory safety](/docs/security/test/memory-safety) issues. Android supports\nand strongly recommends usage of the following sanitizers:\n\nHardware-assisted AddressSanitizer (HWASan)\n-------------------------------------------\n\n[HWASan](/docs/security/test/hwasan) is the main sanitizer to provide detection\nfor memory safety problems. It requires ARM64 and can detect:\n\n- Stack and heap buffer overflow or underflow\n- Heap use after free\n- Stack use after scope\n- Stack use after return\n- Double free or wild free\n\nAddress sanitizer (ASan)\n------------------------\n\n[ASan](/docs/security/test/asan) is a tool similar to HWASan. It works on more\nplatforms, but is unsupported on Android.\n\nKernelAddress sanitizer (KASan)\n-------------------------------\n\n[KASan](/docs/security/test/kasan) is the kernel counterpart of the userspace\ntools above. It shares the same compiler implementation. KASan and ASan/HWASan\nare complementary as one tool applies to the kernel and another to userspace.\nWe recommend enabling both at the same time to reduce the number of build\nconfigurations and to reduce the testing matrix.\n\nUndefinedBehavior sanitizer (UBSan)\n-----------------------------------\n\n[UBSan](/docs/security/test/ubsan) performs compile-time instrumentation to\ncheck for various types of (non memory-safety) undefined behavior. This includes\nsigned and unsigned integer overflow checking (IntSan), bounds checks for\nstatically-sized arrays (BoundsSan), and lots of other types of undefined\nbehavior. IntSan and BoundsSan are also suitable for enabling in production as a\nsecurity mitigation."]]