A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
I disinfettanti sono un gruppo di strumenti di analisi dinamica che individuano gli errori nei
programmi in fase di esecuzione tramite strumenti aggiuntivi inseriti dal
compiler. Sono inclusi i problemi di sicurezza della memoria. Android supporta
e consiglia vivamente di utilizzare i seguenti sterilizzatori:
AddressSanitizer con l'aiuto dell'hardware (HWASan)
HWASan è lo strumento di sanitizzazione principale per il rilevamento di problemi di sicurezza della memoria. Richiede ARM64 e può rilevare:
Overflow o underflow del buffer dello stack e dell'heap
Utilizzo dell'heap dopo il rilascio
Utilizzo dello stack dopo l'ambito
Utilizzo della pila dopo il reso
Doppio libero o libero selvaggio
Sanitizer degli indirizzi (ASan)
ASan è uno strumento simile a HWASan. Funziona su più piattaforme, ma non è supportato su Android.
KernelAddress sanitizer (KASan)
KASan è la controparte del kernel degli strumenti
nello spazio utente sopra indicati. Condivide la stessa implementazione del compilatore. KASan e ASan/HWASan
sono complementari in quanto uno strumento si applica al kernel e l'altro allo spazio utente.
Ti consigliamo di attivarli entrambi contemporaneamente per ridurre il numero di configurazioni di compilazione e la matrice di test.
Strumento di analisi di UndefinedBehavior (UBSan)
UBSan esegue la misurazione in fase di compilazione per verificare la presenza di vari tipi di comportamenti non definiti (non sicuri per la memoria). Sono inclusi il controllo di overflow di interi con segno e senza segno (IntSan), i controlli dei limiti per gli array con dimensioni statiche (BoundsSan) e molti altri tipi di comportamenti non definiti. IntSan e BoundsSan sono adatti anche per l'attivazione in produzione come misura di mitigazione della sicurezza.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]