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.
GWP-ASan e KFENCE
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
GWP-ASan e KFENCE sono strumenti di rilevamento probabilistico della memoria per lo spazio utente
e il kernel, rispettivamente. Se questa opzione è attivata, un numero ridotto di allocazioni viene protetto con pagine di memoria aggiuntive che circondano la memoria allocata.
Ciò consente di rilevare gli overflow del buffer e gli errori di uso dopo il rilascio con un sovraccarico delle prestazioni trascurabile. Anche con una frequenza di campionamento ridotta per le allocazioni protette, se implementate su larga scala possono rilevare efficacemente i bug di sicurezza della memoria.
Fin dalla loro introduzione, questi strumenti hanno contribuito a identificare numerosi bug della piattaforma e si sono dimostrati uno strumento prezioso per migliorare la stabilità e la sicurezza.
Invitiamo i fornitori ad attivarli e a monitorare attentamente i bug rilevati sui dispositivi degli utenti finali.
Gli sviluppatori devono verificare la presenza di arresti anomali controllando
/data/tombstones
, logcat
o monitorando la pipeline del fornitore
DropboxManager
per rilevare i bug degli utenti finali.
Per ulteriori informazioni, consulta la nostra documentazione sul debugging del codice nativo Android.
Eseguire il debug del codice della piattaforma Android nativaarrow_forward
GWP-ASan per il rilevamento di bug di sicurezza della memoria nello spazio utente
GWP-ASan è stato introdotto in Android 11 per le allocazioni heap nello spazio utente. Quando GWP-ASan rileva un bug, registra un report sugli arresti anomali con
Cause: [GWP-ASan]:
e termina il processo. I report di bug contengono informazioni aggiuntive su allocazione e deallocazione che semplificano l'identificazione della causa principale.
GWP-ASan viene attivato in modo casuale all'avvio per l'1% dei processi o delle app di sistema e per le applicazioni che impostano android:gwpAsanMode
nel file AndroidManifest.xml
.
GWP-ASanarrow_forward
KFENCE per il rilevamento di bug di sicurezza della memoria del kernel
Android 12 ha introdotto KFENCE per le allocazioni
dell'heap del kernel. Quando KFENCE rileva un bug, registra un report sugli arresti anomali che inizia con BUG: KFENCE,
, disattiva le pagine di guardia e continua l'esecuzione.
Viene attivato un meccanismo di rilevamento dei bug del kernel che influisce minimamente sull'esperienza utente.
Per scoprire di più su KFENCE, consulta la documentazione disponibile all'indirizzo https://www.kernel.org
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,["# GWP-ASan and KFENCE are probabilistic memory detection tools for userspace\nand the kernel, respectively. When enabled, a small number of allocations are\nguarded with additional memory pages that surround the allocated memory.\nThis allows detecting buffer overflows and use-after-frees at a negligible\nperformance overhead. Even with a small sample rate for the guarded allocations,\nwhen deployed at scale they can effectively detect memory safety bugs.\nSince their introduction these tools have helped identify numerous platform\nbugs and have proved to be a valuable tool for improving stability and security.\nWe encourage vendors to enable them and to closely monitor the bugs detected on\nend user devices.\n\n\nDevelopers should check the presence of crashes by checking\n`/data/tombstones`, `logcat` or by monitoring the vendor\n[DropboxManager](https://developer.android.com/reference/android/os/DropBoxManager)\npipeline for end user bugs.\n\n\nFor more information see our docs on debugging Android native\ncode.\n[Debugging Native Android Platform Codearrow_forward](/docs/core/tests/debug)\n\nGWP-ASan for detecting userspace memory safety bugs\n---------------------------------------------------\n\n\nGWP-ASan was introduced in Android 11 for userspace\nheap allocations. When GWP-ASan detects a bug, it records a crash report with\n`Cause: [GWP-ASan]:` and terminates the process. The bug reports\ncontain additional allocation and deallocation information that make it easier\nto identify the root cause.\n\n\nGWP-ASan is randomly enabled, at start-up, for 1% of system processes or\napps and for applications that set the `android:gwpAsanMode` in their\n`AndroidManifest.xml` file.\n[GWP-ASanarrow_forward](https://developer.android.com/ndk/guides/gwp-asan)\n\nKFENCE for detecting kernel memory safety bugs\n----------------------------------------------\n\n\nAndroid 12 introduced KFENCE for kernel heap\nallocations. When KFENCE detects a bug, it records a crash report starting\nwith `BUG: KFENCE,` disables the guard pages and continues execution.\nThis enables a kernel bug detection mechanism that minimally impacts the user\nexperience.\n\n\nTo learn more about KFENCE see the documentation available at [https://www.kernel.org](https://www.kernel.org/doc/html/latest/dev-tools/kfence.html)"]]