Google Android-Team setzt beim Android OS auf Rust

Das Android-Open-Source-Projekt hat die Programmiersprache Rust für die Entwicklung des neuen Android-Betriebssystems übernommen. [...]

Rust bietet Speichersicherheitsgarantien, indem es Kompilierzeitüberprüfungen nutzt, um Objektlebensdauerprüfungen zu erzwingen, um sicherzustellen, dass Speicherzugriffe gültig sind (c) pixabay.com

Mit dem Ziel, Speicherfehler zu vermeiden, unterstützt das Android Open Source Project nun die Programmiersprache Rust für die Entwicklung des mobilen Android-Betriebssystems selbst und übernimmt damit Entwicklungsaufgaben, die bisher die Domäne von C/C++ waren.

In einem Google-Blog-Beitrag vom 6. April betonten Mitglieder des Android-Teams, dass die Korrektheit des Codes in Android höchste Priorität für Sicherheit, Stabilität und Qualität hat. Fehler in der Speichersicherheit tragen am meisten zu Stabilitätsproblemen bei und machen etwa 70 Prozent der hochgradigen Sicherheitslücken in Android aus; Sicherheitsfehler in C und C++ sind weiterhin am schwierigsten zu beheben. Rust bietet Speichersicherheitsgarantien, indem es Kompilierzeitüberprüfungen nutzt, um Objektlebensdauerprüfungen zu erzwingen, um sicherzustellen, dass Speicherzugriffe gültig sind, sagten Mitglieder des Android-Teams. Außerdem erreicht Rust diese Sicherheit bei einer Leistung, die der von C und C++ entspricht.

Rust reiht sich in eine Liste von speichersicheren Sprachen für die Android OS-Entwicklung ein, die auch Java und Kotlin umfasst. Während das Android-Betriebssystem Java ausgiebig nutzt, um große Teile der Plattform vor Speicherfehlern zu schützen, sind weder Java noch Kotlin eine Option für niedrigere Schichten des Betriebssystems. Diese Schichten erfordern Sprachen wie C, C++ und Rust, die eine vorhersagbare Leistung in ressourcenbeschränkten Umgebungen bieten. Außerdem müssen Entwickler in C und C++ die Speicherlebenszyklen selbst verwalten, was sehr fehleranfällig ist, besonders wenn sie mit komplexen, multithreaded Codebases arbeiten. Rust verwaltet die Speichernutzung automatisch.

C und C++ haben nicht die gleichen Speichersicherheitsgarantien wie Rust und erfordern eine robuste Isolation. Alle Android-Prozesse sind in einer Sandbox untergebracht und die Entwickler des Betriebssystems folgen der „Rule of two“-Richtlinie für Codesicherheit (d. h. wählen Sie nur zwei aus: Code, der nicht vertrauenswürdige Eingaben verarbeitet, Code, der unsichere Implementierungssprachen wie C und C++ verwendet, oder Code, der ohne Sandbox läuft). Während diese Regel den Schweregrad von Sicherheitslücken reduziert, hat sie Grenzen. Sandboxing ist teuer, verbraucht Overhead und erzeugt Latenz, während es Schwachstellen im Code nicht eliminiert.

Speicherschonende Sprachen wie Rust überwinden diese Einschränkungen, verringern die Fehlerdichte im Code, erhöhen die Effektivität der aktuellen Sandbox, verringern die Notwendigkeit einer Sandbox und ermöglichen die Einführung neuer Funktionen, die sicherer und ressourcenschonender sind.

Die Bemühungen des Android-Teams um Speichersicherheit konzentrieren sich auf die Neuentwicklung und nicht auf das Umschreiben von ausgereiftem C/C++-Code. Die meisten Speicherbugs treten in neuem oder kürzlich modifiziertem Code auf. Die Teammitglieder wiesen auch darauf hin, dass das Hinzufügen einer neuen Sprache zur Android-Plattform ein großes Unterfangen ist, mit Toolchains und Abhängigkeiten, die gewartet werden müssen, und einer Testinfrastruktur und -werkzeugen, die aktualisiert werden müssen. Außerdem müssen die Entwickler geschult werden.

Die Unterstützung von Rust wurde dem Android Open Source Project in den letzten 18 Monaten hinzugefügt, wobei einige Early-Adopter-Projekte bald bekannt gegeben werden sollen.

*Paul Krill ist Chefredakteur bei InfoWorld und berichtet schwerpunktmäßig über Anwendungsentwicklung.


Mehr Artikel

News

Bad Bots werden immer menschenähnlicher

Bei Bad Bots handelt es sich um automatisierte Softwareprogramme, die für die Durchführung von Online-Aktivitäten im großen Maßstab entwickelt werden. Bad Bots sind für entsprechend schädliche Online-Aktivitäten konzipiert und können gegen viele verschiedene Ziele eingesetzt werden, darunter Websites, Server, APIs und andere Endpunkte. […]

Frauen berichten vielfach, dass ihre Schmerzen manchmal jahrelang nicht ernst genommen oder belächelt wurden. Künftig sollen Schmerzen gendersensibel in 3D visualisiert werden (c) mit KI generiert/DALL-E
News

Schmerzforschung und Gendermedizin

Im Projekt „Embodied Perceptions“ unter Leitung des AIT Center for Technology Experience wird das Thema Schmerzen ganzheitlich und gendersensibel betrachtet: Das Projektteam forscht zu Möglichkeiten, subjektives Schmerzempfinden über 3D-Avatare zu visualisieren. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*