GWP-ASan und KFENCE

GWP-ASan und KFENCE sind probabilistische Speichererkennungstools für den Userspace bzw. den Kernel. Wenn diese Option aktiviert ist, wird eine kleine Anzahl von Zuweisungen durch zusätzliche Speicherseiten geschützt, die den zugewiesenen Speicher umgeben. Dies ermöglicht die Erkennung von Pufferüberläufen und Use-After-Frees bei vernachlässigbarem Leistungsaufwand. Selbst mit einer geringen Abtastrate für die geschützten Zuweisungen können sie bei skaliertem Einsatz effektiv Sicherheitslücken im Speicher erkennen. Seit ihrer Einführung haben diese Tools dazu beigetragen, zahlreiche Plattformfehler zu identifizieren und sich als wertvolles Tool zur Verbesserung von Stabilität und Sicherheit erwiesen. Wir ermutigen Anbieter, sie zu aktivieren und die auf Endbenutzergeräten erkannten Fehler genau zu überwachen.

Entwickler sollten das Vorhandensein von Abstürzen überprüfen, indem sie /data/tombstones oder logcat überprüfen oder die DropboxManager Pipeline des Anbieters auf Endbenutzerfehler überwachen.

Weitere Informationen finden Sie in unseren Dokumenten zum Debuggen von nativem Android-Code.

Debuggen des nativen Android-Plattformcodes

GWP-ASan zur Erkennung von Sicherheitsfehlern im Userspace-Speicher

GWP-ASan wurde in Android 11 für Userspace-Heap-Zuweisungen eingeführt. Wenn GWP-ASan einen Fehler erkennt, zeichnet es einen Absturzbericht mit Cause: [GWP-ASan]: auf und beendet den Prozess. Die Fehlerberichte enthalten zusätzliche Informationen zur Zuweisung und Freigabe, die es einfacher machen, die Grundursache zu identifizieren.

GWP-ASan wird beim Start zufällig für 1 % der Systemprozesse oder Apps und für Anwendungen aktiviert, die den android:gwpAsanMode in ihrer AndroidManifest.xml Datei festlegen.

GWP-ASan

KFENCE zur Erkennung von Kernel-Speichersicherheitsfehlern

Mit Android 12 wurde KFENCE für Kernel-Heap-Zuweisungen eingeführt. Wenn KFENCE einen Fehler erkennt, zeichnet es einen Absturzbericht auf, der mit BUG: KFENCE, deaktiviert die Schutzseiten und setzt die Ausführung fort. Dies ermöglicht einen Kernel-Fehlererkennungsmechanismus, der die Benutzererfahrung nur minimal beeinträchtigt.

Weitere Informationen zu KFENCE finden Sie in der Dokumentation unter https://www.kernel.org