Android 14 fügt möglicherweise eine neue Beta-Funktion namens „Erweiterter Speicherschutz“ hinzu, die vor Speichersicherheitsfehlern auf kompatiblen Geräten schützen kann.
Die Speichersicherheit hat für Google in letzter Zeit höchste Priorität, da Speichersicherheitsfehler zu den schwerwiegendsten Fehlern in der Softwareentwicklung gehören. Tatsächlich waren Sicherheitslücken im Speicher früher für einen Großteil der schwerwiegenden Android-Probleme verantwortlich Schwachstellen bis 2022, als Google einen erheblichen Teil des neuen nativen Android-Programms schrieb Code in der Rust-Programmiersprache anstelle von C/C++. Google hat daran gearbeitet, andere Methoden zur Behebung von Speichersicherheitslücken in Android zu unterstützen, darunter das sogenannte Memory Tagging. Auf unterstützten Geräten läuft Android 14Möglicherweise gibt es eine neue Einstellung für den „erweiterten Speicherschutz“, mit der diese Funktion umgeschaltet werden kann.
Memory Tagging Extension (MTE) ist eine obligatorische Hardwarefunktion von Arm v9-CPUs, die vor Speicher schützt Sicherheitslücken (mit einem leichten Mehraufwand an Laufzeitleistung) durch die Bereitstellung detaillierter Informationen zum Speicher Verstöße.
Wie Google erklärt„Auf einer hohen Ebene markiert MTE jede Speicherzuweisung/-freigabe mit zusätzlichen Metadaten. Es weist einem Speicherort ein Tag zu, das dann mit Zeigern verknüpft werden kann, die auf diesen Speicherort verweisen. Zur Laufzeit prüft die CPU bei jedem Laden und Speichern, ob der Zeiger und die Metadaten-Tags übereinstimmen.“Google arbeitet bereits seit mehreren Versionen daran, MTE im gesamten Android-Software-Stack zu unterstützen. In Android 12 hat scudo, der Heap-Allocator von Android, Unterstützung für drei MTE-Betriebsmodi auf kompatiblen Geräten hinzugefügt: synchroner Modus, asynchroner Modus und asymmetrischer Modus. Google ermöglichte es außerdem, MTE für Systemprozesse zur Build-Zeit oder über Systemeigenschaften und/oder Umgebungsvariablen zu aktivieren. Anwendungen können sich für die Unterstützung von MTE über das anmelden android: memtagMode Attribut. Wenn MTE für Prozesse in Android aktiviert ist, lösen ganze Klassen von Speichersicherheitsfehlern wie Use-After-Free und Pufferüberläufe einen Absturz anstelle einer stillen Speicherbeschädigung aus.
In Android 13Google hat eine ABI für den Userspace hinzugefügt, um dem Bootloader den angeforderten MTE-Betriebsmodus mitzuteilen. Dies könnte verwendet werden, um MTE auf kompatiblen Geräten zu aktivieren, die nicht standardmäßig aktiviert sind. Alternativ könnte es auch zum Deaktivieren auf kompatiblen Geräten verwendet werden, auf denen es aktiviert ist Standard. Wenn Sie in Android 13 die Systemeigenschaft ro.arm64.memtag.bootctl_supported auf „true“ setzen, wird dem System mitgeteilt, dass der Bootloader unterstützt die ABI und löst außerdem das Erscheinen einer Schaltfläche im Menü „Entwickleroptionen“ aus, die es dem Benutzer ermöglicht, MTE beim nächsten Mal zu aktivieren neu starten. Dies richtete sich an Entwickler, die das Verhalten ihrer Apps bei aktiviertem MTE testen wollten.
In Android 14 erfordert die Aktivierung von MTE auf kompatiblen Geräten jedoch möglicherweise länger einen Blick in die Entwickleroptionen. Wenn das Gerät über eine Arm v8.5+-CPU mit MTE-Unterstützung verfügt, unterstützt die Geräteimplementierung das ABI für die Übermittlung des angeforderten MTE-Betriebsmodus an den Bootloader und des neuen Wenn die Systemeigenschaft „ro.arm64.memtag.bootctl_settings_toggle“ auf „true“ gesetzt ist, wird möglicherweise eine neue Seite „Erweiterter Speicherschutz“ unter „Einstellungen > Sicherheit & Datenschutz > Mehr Sicherheit“ angezeigt Einstellungen. Diese Seite kann auch über das neue gestartet werden ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS Absichtshandlung.
Insbesondere der Tensor G2-Chipsatz im Google Pixel 7 Die Serie verwendet Arm v8.2-CPU-Kerne und unterstützt daher kein MTE. Wenn die kommende Google Pixel 8-Serie wie viele andere Flaggschiff-Android-Geräte neue Arm v9-CPU-Kerne verwendet, dann verfügen sie über Hardware, die MTE unterstützen kann. Es bleibt jedoch abzuwarten, ob diese Funktion des „erweiterten Speicherschutzes“ tatsächlich in die stabile Version gelangt.
Danke an den Sicherheitsforscher @flawedworlddev für ihre Unterstützung bei diesem Artikel!