Aktualisierte Android-Daten für 2025 zeigen, dass Speicherfehler-Sicherheitslücken erstmals auf weniger als 20 % aller Sicherheitslücken gesunken sind. Dies geschieht parallel zur zunehmenden Verwendung von Rust in neuen und aktiv weiterentwickelten Teilen der Plattform. Einer am 12. November 2025 im Google Security Blog veröffentlichten Analyse zufolge beschränkt sich die Wirkung des Wechsels von C und C++ zu Rust nicht auf die Verringerung von Sicherheitsrisiken, sondern erstreckt sich auch auf eine schnellere Codeprüfung und eine höhere Stabilität von Änderungen.
Die Daten basieren auf Änderungen am Android-Code, sowohl an direkt von Google entwickeltem Code als auch am Open-Source-Code externer Stellen, und umfassen die Sprachen C, C++, Java, Kotlin und Rust. Da die Analyse einige Monate vor dem Ende des Jahres 2025 veröffentlicht wurde, erklärte Google, dass das standardmäßige Korrekturfenster von 90 Tagen die Ergebnisse sehr nahe an die endgültigen Zahlen heranführt; bei Bedarf kann die Korrektur beschleunigt werden.
Höhere Sicherheit und schnellere Auslieferung
Google führte Rust als direkte Alternative zu C und C++ für die Low-Level-Programmierung in Android ein. Dabei sollte ein vergleichbares Maß an Kontrolle und Vorhersagbarkeit erhalten bleiben, während viele der mit der Speichersicherheit verbundenen Risiken verringert werden. Die Analyse weist auf einen starken Anstieg des Umfangs neuen Rust-Codes hin, parallel zu einem langsameren, anhaltenden Rückgang neuen C++-Codes. Dadurch liegt das Volumen neu hinzugefügten Rust-Codes inzwischen nahe am C++-Volumen, was zuverlässigere Vergleiche zwischen den beiden Entwicklungspfaden ermöglicht.
Google nutzte das DORA-Framework zur Messung von Produktivität und Stabilität. Um Schwierigkeiten beim Vergleich zwischen den Sprachen zu verringern, konzentrierte sich das Unternehmen auf Änderungen ähnlicher Größe und auf vergleichbare Entwicklergruppen, die an der Android-Plattform arbeiten. Außerdem verfolgte es die Entwicklungen im Zeitverlauf, während die Nutzung von Rust zunahm.
Rust-Änderungen vergleichbarer Größe benötigen etwa 20 % weniger Prüfungen als ihre C++-Gegenstücke. Außerdem verbringen sie derzeit etwa 25 % weniger Zeit in der Codeprüfung. Google führt die bemerkenswerte Verbesserung zwischen 2023 und 2024 spekulativ, nicht als gesicherte Aussage, auf die zunehmende Erfahrung des Android-Teams mit Rust zurück.
Bei der Stabilität weisen mittlere und große Rust-Änderungen eine etwa viermal niedrigere Rücknahmequote auf als C++-Änderungen. Google betont, dass weniger Rücknahmen nicht nur die Qualität der Änderungen widerspiegeln, sondern auch die Produktivität steigern, da eine Rücknahme zu Nacharbeit, zusätzlichen Prüfungen, erneuten Builds, Berichten nach Vorfällen und zur Beeinträchtigung anderer Teams führen kann.
Rust wird über Systemdienste und Bibliotheken hinaus ausgeweitet
Google zufolge ist die Rust-Unterstützung für den Aufbau von Android-Systemdiensten und -Bibliotheken ausgereift. Daher arbeitet das Unternehmen daran, die Nutzung auf weitere Schichten des Ökosystems auszuweiten:
- Kernel: Der Android-spezifische Linux-6.12-Kernel ist der erste Google-Kernel, in dem Rust-Unterstützung aktiviert ist, und enthält außerdem den ersten produktiven Rust-Treiber. Google arbeitet weiterhin mit Arm und Collabora an einem Treiber für eine Grafikeinheit, der im Kernelmodus läuft.
- Firmware: Google ist der Ansicht, dass die höheren Berechtigungen, Leistungsbeschränkungen und eingeschränkten Schutzmaßnahmen die Firmware besonders risikoreich und schwer abzusichern machen. Das Unternehmen nutzt Rust nach eigenen Angaben seit Jahren in Firmware und hat Schulungen sowie Code für die Community bereitgestellt, mit besonderem Schwerpunkt auf der Zusammenarbeit mit Arm im Rahmen von Rusted Firmware-A.
- Google-Anwendungen: Das Protokoll Nearby Presence, das zur sicheren und privaten Erkennung lokaler Geräte über Bluetooth verwendet wird, läuft innerhalb der Google Play Services in Rust. Außerdem soll das MLS-Protokoll für sichere Nachrichten über RCS in einer künftigen Version in die Google Messages-App integriert werden.
- Chromium: PNG- und JSON-Parser sowie Webfonts wurden durch speichersichere Implementierungen in Rust ersetzt. Dadurch können Chromium-Ingenieure mit aus dem Web stammenden Daten leichter umgehen und dabei die Rule of 2 befolgen.
Eine Sicherheitslücke, die beinahe Nutzer erreicht hätte
Trotz des Schwerpunkts auf den Vorteilen von Rust stellt Google einen Fall vor, in dem die erste auf Rust basierende Speicherfehler-Sicherheitslücke in Android beinahe registriert worden wäre. In CrabbyAVIF wurde ein linearer Pufferüberlauf entdeckt, bevor er eine öffentliche Version erreichte. Die Korrektur erhielt die Kennung CVE-2025-48530, um ihr eine hohe Priorität zu geben und ihre Aufnahme über die Veröffentlichungskanäle hinweg zu verfolgen.
Die Analyse zeigte, dass der Speicherzuweiser Scudo Hardened Allocator die Ausnutzung der Sicherheitslücke deterministisch verhinderte, und zwar dank Schutzseiten rund um sekundäre Zuordnungen. Scudo wandelte den Überlauf außerdem von einer stillen Speicherbeschädigung in einen deutlichen Absturz um, was die Entdeckung des Problems erleichterte. Gleichzeitig offenbarte der Vorfall eine Schwäche im System zur Absturzmeldung, da nicht eindeutig angegeben wurde, dass der Absturz durch einen Überlauf verursacht worden war. Dies verlangsamte die Einstufung und Reaktion. Google zufolge wurde diese Schwäche behoben; das System liefert nun ein klares Signal, wenn Überläufe in Scudo-Schutzseiten auftreten.
Warum Rust trotz unsafe wichtig bleibt
Google hält ein Verbot unsicheren Codes, unabhängig davon, ob er in C, C++ oder Rust geschrieben ist, für keine praktikable Lösung bei der Entwicklung von Betriebssystemen, da der Umgang mit Programmierschnittstellen und Hardware erforderlich ist. Daher entwickelt das Unternehmen im Rahmen der Schulung Comprehensive Rust ein fortgeschrittenes Modul zu unsicherem Code. Darin lernen Entwickler, die Sicherheit dieses Codes und undefiniertes Verhalten zu bewerten, Sicherheitshinweise zu verwenden und unsichere Teile in sicheren Abstraktionen zu kapseln.
Auf Grundlage von etwa fünf Millionen Rust-Codezeilen in der Android-Plattform und eines möglichen Falls, der vor der Veröffentlichung behoben wurde, schätzt Google die Dichte von Speicherfehler-Sicherheitslücken in Rust auf etwa 0,2 Sicherheitslücken pro eine Million Codezeilen. Dem stellt das Unternehmen eine historische Dichte von ungefähr 1.000 Sicherheitslücken pro eine Million Codezeilen in C und C++ gegenüber. Nach seiner Schätzung entspricht dies einem Rückgang um mehr als das 1.000-Fache. Außerdem weist Google darauf hin, dass etwa 4 % des Codes innerhalb von unsafe{}-Blöcken geschrieben sind. Das Unternehmen erklärt jedoch, die Annahme, jede unsichere Codezeile sei denselben Risiken ausgesetzt wie C oder C++, überschätze die Gefahr, da die meisten Rust-Prüfungen weiterhin greifen, unsicherer Code gekapselt werden kann und einer zusätzlichen Prüfung unterliegt.
Google kommt zu dem Schluss, dass die Einführung von Rust die traditionelle Gleichung verändert, nach der eine Verbesserung der Sicherheit mit zusätzlichen Kosten bei Leistung, Prozessen oder der Geschwindigkeit der Bereitstellung von Funktionen verbunden ist. Trotz der weiterhin wichtigen Rolle von C und C++ sowie software- und hardwarebasierter Schutzmechanismen im Rahmen einer mehrschichtigen Verteidigung ist das Unternehmen der Ansicht, dass der Wechsel zu Rust zugleich einen sichereren und effizienteren Weg bietet, anstatt zunächst zu beschleunigen und die Folgen später zu beheben.