Google verankert seine Memory-Safety-Strategie nun direkt im Mobilfunkmodem: In der Firmware des Pixel 10 kommt erstmals ein DNS-Parser in Rust zum Einsatz. Damit greift der Konzern einen Bereich an, der bislang stark von C und C++ geprägt war und regelmäßig für kritische Speicherfehler verantwortlich ist – das Baseband, also die Modem-Firmware moderner Smartphones.
Warum das Mobilfunkmodem ein attraktives Angriffsziel ist
Der sogenannte Baseband-Stack gehört zu den komplexesten Komponenten eines Smartphones. Er implementiert eine Vielzahl von Funkprotokollen (2G/3G/4G/5G), verarbeitet permanent Daten aus potenziell feindlichen Mobilfunknetzen und läuft weitgehend isoliert von der Android-OS-Sandbox. Genau diese Kombination aus Komplexität, Exponierung und begrenzter Transparenz macht Modems besonders interessant für Angreifer.
Gelungene Baseband-Exploits erlauben in vielen Fällen die Ausführung von Code auf sehr niedriger Ebene. Angreifer können so Schutzmechanismen des Betriebssystems umgehen, Kommunikationsinhalte wie Sprache und SMS abgreifen oder Metadaten zu Verbindungen ausspähen. In den vergangenen Jahren ist in der Praxis zu beobachten, dass sich hochentwickelte Angriffe zunehmend vom Android-Userspace auf tieferliegende Komponenten wie das Modem verlagern.
Rust-DNS-Parser als sicherheitskritischer Baustein im Baseband
Als erstes Modul wurde der DNS-Parser des Modems nach Rust migriert. DNS-Anfragen und -Antworten werden bei nahezu jeder Netzwerkaktion verarbeitet, etwa bei Verbindungsaufbau, Rufumleitungen oder Betreiberdiensten. Fehler in dieser Parsing-Logik sind deshalb sicherheitsrelevant – und zugleich ein klassischer Hotspot für Speicherfehler in C/C++.
Das DNS-Protokoll ist komplex, arbeitet mit verschachtelten Strukturen und Komprimierung von Namen. In unsicheren Sprachen führen hier schnell Out-of-Bounds-Lese- und Schreibzugriffe, Buffer Overflows oder Use-after-free-Bugs zu Angriffsoberflächen. Ein aktuelles Beispiel ist die Schwachstelle CVE-2024-27227, die auf fehlerhafte Verarbeitung von DNS-Daten zurückgeht und zeigt, wie unmittelbar solche Parser-Bugs in Remote-Exploits münden können.
Rust setzt mit seinem Besitz- und Lebensdauermodell sowie strenger Grenzprüfung genau bei diesem Problem an. Viele klassische Speicherfehler lassen sich auf Sprachebene ausschließen. Laut Google-Ingenieur Jiacheng Lu reduziert der neue DNS-Parser in Rust die Angriffsfläche des Pixel-Modems signifikant und schafft die Basis für eine schrittweise Umstellung weiterer Baseband-Komponenten auf memory-safe Code.
Technische Umsetzung: hickory-proto, Embedded-Constraints und cargo-gnaw
Rust im Bare-Metal-Umfeld: Anpassung von hickory-proto
Als Fundament für den neuen Parser nutzt Google den weit verbreiteten Rust-Crate hickory-proto, der ursprünglich für DNS-Clients, -Server und -Resolver in klassischen Betriebssystemumgebungen entwickelt wurde. Modem-Firmware unterscheidet sich davon jedoch deutlich: Sie läuft typischerweise im bare-metal- bzw. Embedded-Umfeld ohne vollständige Standardbibliothek, mit strengen Vorgaben an Codegröße, Laufzeitverhalten und Speicherverbrauch.
Die Google-Entwickler mussten hickory-proto deshalb tiefgreifend anpassen, Abhängigkeiten zur Standardbibliothek minimieren und Speicherzugriffe optimieren. Komplexität brachte insbesondere das Rust-Ökosystem mit sich: Hinter einem Crate steht oft eine Kette von Dutzenden weiterer Bibliotheken. Für den Einsatz im Baseband mussten diese Abhängigkeiten geprüft, reduziert und teilweise neu konfiguriert werden, um deterministisches Verhalten und schlanke Binärdateien sicherzustellen.
cargo-gnaw: Abhängigkeitsmanagement für Rust in Modem-Firmware
Um dieses Problem systematisch zu lösen, entwickelte Google das Werkzeug cargo-gnaw. Das Tool erlaubt es, Rust-Abhängigkeiten für Modem-Firmware gezielt zu verwalten: Nur benötigte Teile eines Crates werden eingebunden, überflüssige Funktionen werden ausgeschlossen, und der resultierende Binärcode lässt sich in Größe und Zusammensetzung kontrollieren. Damit wird der praktische Einsatz von Rust im Baseband möglich, ohne Embedded-Anforderungen zu verletzen.
Googles Memory-Safety-Strategie für Android und Baseband
Die Integration des Rust-DNS-Parsers in das Pixel-10-Modem ist Teil einer umfassenden Sicherheitsstrategie. Google setzt bereits seit einigen Jahren auf memory-safe Programmiersprachen wie Rust, Java und Kotlin, um die hohe Zahl an Speicherfehlern in Android zu reduzieren. Laut dem Bericht „Android Security Year in Review 2022“ entfielen zuvor rund 65–70 % aller kritischen Android-Schwachstellen auf Speicherfehler; mit zunehmendem Anteil memory-sicherer Komponenten sank dieser Anteil auf unter 20 % in aktuellen Versionen.
Parallel dazu kommen im Baseband-Bereich Clang-Sanitizer wie IntSan und BoundSan zum Einsatz, um undefiniertes Verhalten im verbleibenden C/C++-Code aufzudecken. Ergänzend setzt Google auf zusätzliche Schutzmechanismen gegen Angriffe auf 2G-Netze sowie gegen Buffer-Overflow-Exploits in Modem-Firmware. Die nun beginnende Migration sicherheitskritischer Module wie des DNS-Parsers zu Rust schließt eine bislang oft unterschätzte Lücke zwischen Android-Sicherheitsfeatures und der darunterliegenden Funk-Infrastruktur.
Der Schritt zeigt, dass Smartphone-Sicherheit längst über App- und OS-Updates hinausgeht. Hersteller, die Baseband-Firmware weiterhin überwiegend in C/C++ entwickeln, sollten ihre Strategien überdenken und – wo technisch möglich – auf memory-safe Sprachen umstellen. Für Unternehmen und Entwicklerteams bedeutet dies, Sicherheitsanforderungen bereits auf Ebene der Programmiersprachen und Toolchains zu verankern, statt sich allein auf nachgelagerte Tests und Penetrationstests zu verlassen.
Für Anwender lohnt es sich zunehmend, auf transparente Update-Politiken, schnelle Firmware-Patches und den Einsatz moderner, speichersicherer Sprachen wie Rust in Kernkomponenten zu achten. Wer Beschaffungsentscheidungen trifft – ob im Unternehmen oder privat – sollte Kriterien wie Baseband-Sicherheit, Update-Garantie und Memory-Safety-Strategie des Herstellers bewusst einbeziehen. So lassen sich die eigenen Risiken im Mobilfunknetz deutlich reduzieren und gleichzeitig ein Markttrend hin zu nachhaltig sichereren Smartphone-Plattformen unterstützen.