Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
GWP-ASan und KFENCE
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
GWP-ASan und KFENCE sind probabilistische Tools zur Arbeitsspeichererkennung für den Nutzerbereich bzw. den Kernel. Wenn diese Option aktiviert ist, werden eine kleine Anzahl von Zuweisungen durch zusätzliche Speicherseiten geschützt, die den zugewiesenen Speicher umgeben.
So lassen sich Pufferüberläufe und „Use-after-Free“-Fehler mit einem vernachlässigbaren Leistungsoverhead erkennen. Selbst bei einer geringen Stichprobenrate für die geschützten Zuweisungen können sie bei einer großen Anzahl von Bereitstellungen effektiv Speichersicherheitsfehler erkennen.
Seit ihrer Einführung haben diese Tools dazu beigetragen, zahlreiche Plattformfehler zu identifizieren, und sich als wertvolles Tool zur Verbesserung der Stabilität und Sicherheit erwiesen.
Wir empfehlen Anbietern, diese zu aktivieren und die auf den Geräten der Endnutzer erkannten Fehler genau im Blick zu behalten.
Entwickler sollten nach Abstürzen suchen, indem sie /data/tombstones
, logcat
prüfen oder die DropboxManager
-Pipeline des Anbieters auf Endnutzerfehler überwachen.
Weitere Informationen finden Sie in unserer Dokumentation zum Entwickeln von nativem Android-Code.
Nativen Android-Plattformcode debuggenarrow_forward
GWP-ASan zum Erkennen von Sicherheitslücken im Userspace-Speicher
GWP-ASan wurde in Android 11 für Nutzerbereich-Heap-Zuweisungen eingeführt. Wenn GWP-ASan einen Fehler erkennt, wird ein Absturzbericht mit Cause: [GWP-ASan]:
protokolliert und der Prozess beendet. Die Fehlerberichte enthalten zusätzliche Informationen zur Zuweisung und Deaktivierung, die die Ermittlung der Ursache erleichtern.
GWP-ASan wird beim Starten für 1% der Systemprozesse oder Apps und für Anwendungen aktiviert, die die android:gwpAsanMode
in ihrer AndroidManifest.xml
-Datei festlegen.
GWP-ASanarrow_forward
KFENCE zum Erkennen von Kernel-Speichersicherheitsfehlern
Mit Android 12 wurde KFENCE für Kernel-Heap-Zuweisungen eingeführt. Wenn KFENCE einen Fehler erkennt, wird ein Absturzbericht mit BUG: KFENCE,
protokolliert, die Guard-Seiten werden deaktiviert und die Ausführung fortgesetzt.
Dadurch wird ein Mechanismus zur Erkennung von Kernel-Fehlern ermöglicht, der sich nur minimal auf die Nutzerfreundlichkeit auswirkt.
Weitere Informationen zu KFENCE finden Sie in der Dokumentation unter https://www.kernel.org.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)"]]