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

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*