Google: Rust soll Android-Systemsprache werden

Android goes Rust. (Foto: Asif Islam / shutterstock)
Viele wichtige Bestandteile des Android-Betriebssystems könnten schon bald in der als sicher geltenden Programmiersprache Rust erstellt werden. Das kündigt Android-Hersteller Google in seinem Security-Blog an. Dort heißt es: „Die Korrektheit des Codes der Android-Plattform hat für die Sicherheit, Stabilität und Qualität jeder Android-Version höchste Priorität.“ Um das zu erreichen, soll nun also auch Rust genutzt werden.
Grund für den Wechsel hin zu Rust als Alternative zu C und C++ sind laut Google die vielen verschiedenen Speicherfehler, die mit den letztgenannten auftreten können. Bei Rust hingegen werden sie prinzipbedingt größtenteils vermieden. Zwar investiere Google bereits sehr viel, um Speicherfehler zu finden und zu beheben, diese Fehlerklasse sorge aber dennoch weiter regelmäßig für Stabilitätsprobleme in Android und sei auch Ursache für die Mehrheit der schwerwiegenden Sicherheitslücken in Android.
Rust einfacher und besser als C und C++
Um das in C und C++ zu vermeiden, setzt Google unter anderem auf das sogenannte Memory-Tagging oder auch eine automatische Speicherinitialisierung. Sprache mit eingebauter sogenannter Memory-Safety zu nutzen, sei aber effizienter. Für Apps setzt Android deshalb schon jetzt auf Java und Kotlin, was jedoch nur die App-Ebene betrifft. Künftig hinzukommen soll also die Möglichkeit, das grundlegende Betriebssystem in Rust zu programmieren.
In dem Blogpost zählt das zuständige Team von Google eine Reihe von Vorteilen auf, die Rust im Gegensatz zu C und C++ bietet. Neben der Vermeidung von Speicherfehlern gehören dazu eine bessere Fehlerverwaltung, ein aussagekräftigeres Typensystem oder auch die besondere „angstfreie Nebenläufigkeit“ (Fearless Concurrency), die Rust als Slogan nutzt.
3 Gründe, warum du 2021 Rust lernen solltest – und vielleicht sogar Spaß daran haben wirst
Die Nutzung von Rust in Android beschreibt Google als großes Unterfangen. So müssten Werkzeuge erstellt, Abhängigkeiten und deren Pflege geklärt werden. Es müssten Tests erstellt und nicht zuletzt die Entwickler in der neuen Sprache angelernt werden. All das sei im Laufe der vergangenen 18 Monate in Android bereits geschehen und es gebe inzwischen einige wenige erste Projekte, die bereits Rust nutzen.
Google will sie künftig einzeln vorstellen. Bekannt ist derzeit aber etwa bereits, dass der Bluetooth-Stack neu in Rust geschrieben wird. Darüber hinaus finden sich im Android-Sourcecode bereits zahlreiche Rust-Pakete, sogenannte Crates, die als Abhängigkeit wiederum in Android verwendet werden.
Autor des Artikels ist Tobias Költzsch.