Etwa 21% des neu kompilierten Codes in Android 13 wurden in Rust geschrieben.

Ingenieure von Google haben erste Ergebnisse zur Unterstützung der Programmiersprache Rust in der Android-Plattform präsentiert. In Android 13 wurde etwa 21 % des hinzugefügten neuen kompilierbaren Codes in Rust geschrieben, während 79 % in C/C++. Im AOSP-Repository (Android Open Source Project), wo die Quelltexte der Android-Plattform entwickelt werden, gibt es rund 1,5 Millionen Zeilen Code in Rust, die mit neuen Komponenten wie dem Keystore2 für kryptografische Schlüssel, dem Stack für UWB-Chips (Ultra-Wideband), der Implementierung des DNS-over-HTTP3-Protokolls, dem Android Virtualization Framework (AVF) sowie experimentellen Stacks für Bluetooth und Wi-Fi verbunden sind.

Etwa 21% des neu kompilierten Codes in Android 13 wurden in Rust geschrieben.

Im Einklang mit der zuvor angenommenen Strategie zur Risikominderung von Verwundbarkeiten, die durch Speicherfehler verursacht werden, wird die Sprache Rust derzeit hauptsächlich für die Entwicklung neuer Codes und zur schrittweisen Verbesserung der Sicherheit von besonders gefährdeten und kritischen Softwarekomponenten eingesetzt. Ein übergeordnetes Ziel, die gesamte Plattform auf Rust umzustellen, wird nicht verfolgt, und der alte Code bleibt in C/C++. Die Fehlerbekämpfung erfolgt durch den Einsatz von Fuzzing-Tests, statischer Analyse und der Anwendung von Entwicklungstechniken wie dem MiraclePtr (eine Wrapper-Implementierung über Raw-Zeigern, die zusätzliche Prüfungen beim Zugriff auf freigegebene Speicherbereiche durchführt), dem Scudo-Speicherverwaltungssystem (eine sichere Alternative zu malloc/free) und Mechanismen zur Fehlererkennung im Speicherbetrieb wie HWAsan (Hardware-assistierter AddressSanitizer), GWP-ASAN und KFENCE.

Die Statistiken zu den Arten von Schwachstellen in der Android-Plattform zeigen, dass mit der Reduzierung von neuem, unsicherem Speicher-Code auch die Anzahl der durch Speicherfehler verursachten Schwachstellen abnimmt. Beispielsweise ist der Anteil der durch Speicherprobleme verursachten Schwachstellen von 76 % im Jahr 2019 auf 35 % im Jahr 2022 gesunken. In absoluten Zahlen wurden im Jahr 2019 223 speicherbezogene Schwachstellen identifiziert, im Jahr 2020 150, im Jahr 2021 100 und im Jahr 2022 85 (alle identifizierten Schwachstellen betreffen C/C++-Code; in Rust-Code wurden bisher keine derartigen Probleme festgestellt). Das Jahr 2022 war das erste Jahr, in dem speicherbezogene Schwachstellen nicht mehr dominierend waren.

Etwa 21% des neu kompilierten Codes in Android 13 wurden in Rust geschrieben.

Da Speichermanagement-spezifische Schwachstellen in der Regel die gefährlichsten sind, zeigt die allgemeine Statistik auch einen Rückgang der kritischen Probleme und derjenigen, die aus der Ferne ausgenutzt werden können. Gleichzeitig bleibt die Dynamik der Entdeckung von Schwachstellen, die nicht mit Speichermanagement zusammenhängen, in den letzten vier Jahren stabil bei etwa 20 Schwachstellen pro Monat. Auch der Anteil gefährlicher Probleme unter den Schwachstellen, die durch Fehler im Speichermanagement verursacht werden, bleibt bestehen (aber da die Zahl solcher Schwachstellen sinkt, verringert sich auch die Anzahl gefährlicher Probleme).

Etwa 21% des neu kompilierten Codes in Android 13 wurden in Rust geschrieben.

Die Statistik zeigt auch eine Korrelation zwischen dem Umfang neuer, unsicher im Umgang mit Speicher arbeitender Codes und der Anzahl der speicherbezogenen Schwachstellen (wie Buffer Overflow, Zugriff auf bereits freigegebenen Speicher usw.). Diese Beobachtung bestärkt die Annahme, dass der Fokus beim Einsatz sicherer Programmiertechniken eher auf neuem Code als auf der Überarbeitung bestehender Codes liegen sollte, da der Großteil der entdeckten Schwachstellen auf neuen Code entfällt.

Etwa 21% des neu kompilierten Codes in Android 13 wurden in Rust geschrieben.


Quelle: opennet.ru
Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster