Zum Hauptinhalt Zur Navigation

Speichersicherheit: Google will C++ schrittweise ausmustern

Die Zukunft der Software-Entwicklung bei Google soll in Java, Go und Rust stattfinden. Einen Vollersatz für C++ wird es wohl aber nicht geben.
/ Sebastian Grüner
24 Kommentare News folgen (öffnet im neuen Fenster)
Google will mehr Speichersicherheit wagen. (Bild: REUTERS)
Google will mehr Speichersicherheit wagen. Bild: REUTERS

Das Sicherheitsteam von Google hat einen technischen Bericht als eine Art Whitepaper veröffentlicht(öffnet im neuen Fenster) und legt darin dar, wie und warum das Unternehmen künftig auf Sprachen mit integrierter Speichersicherheit wechseln will. Im Zuge dessen kündigt das Unternehmen einen weitreichenden und vor allem für die Größe des Konzerns radikalen Schritt an: "Wir erwägen einen schrittweisen Übergang zu speichersicheren Sprachen wie Java, Go und Rust." Letzteres betrifft vor allem das bisher in der Industrie weit verbreitete und häufig eingesetzte C++.

Neben Java und Go, entwickelte und sammelte Google laut der Ankündigung(öffnet im neuen Fenster) "Hunderte von Millionen Zeilen C++-Code, der aktiv genutzt und weiterentwickelt wird" . Beim Übergang dieser riesigen Codebasis hin zu Sprachen mit Speichersicherheit dürfte es aber große Hürden geben, vermutet der Konzern. Dazu heißt es, dass das Neuschreiben all der Anwendungen mit sicheren Sprachen sehr schwierig zu sein scheine und wahrscheinlich schwer umsetzbar bleibe.

Außerdem sehen die Beteiligten keinen Weg für C++, sich so weiterzuentwickeln, dass es künftig auch sogenannte Temporal Safety bietet. Damit wird das Problem beschrieben, dass C++ bisher nicht garantiert, dass Speicherzugriffe mit den jeweils aktuellen Daten der jeweiligen Datenstruktur erfolgen. Use-After-Free-Lücken sind etwa derartige Speicherlücken. Sicherheit versucht Google hier(öffnet im neuen Fenster) etwa durch ein Zusammenspiel mit bestimmten Hardwarefähigkeiten wie Memory-Tagging zu erreichen, statt auf die Programmiersprache selbst zu setzten.

Sofern es praktisch möglich ist, will Google dennoch künftig auf Sprachen mit Speichersicherheit setzen. Das soll vor allem für neue Projekte gelten. Bestehenden Code mit hohem Sicherheitsrisiko will das Unternehmen darüber hinaus auch ersetzen – soweit es möglich ist. Beispielhaft zählt das Unternehmen seine Arbeiten und Unterstützungen an Rust-Portierungen auf, etwa in Android oder für Linux. Außerdem verwendet Google in einigen Teilen bereits ein speziell gehärtetes C++(öffnet im neuen Fenster) .


Relevante Themen