Environ 21 % du nouveau code compilable dans Android 13 est écrit en Rust

Les ingénieurs de Google ont fait un premier bilan de l'intégration du support du langage Rust dans la plateforme Android. Dans Android 13, environ 21 % du nouveau code compilable ajouté est écrit en Rust, tandis que 79 % est en C/C++. Dans le dépôt AOSP (Android Open Source Project), qui héberge le code source de la plateforme Android, on compte environ 1,5 million de lignes de code en Rust, liées à de nouveaux composants tels que le stockage de clés cryptographiques Keystore2, la pile pour les puces UWB (Ultra-Wideband), la mise en œuvre du protocole DNS-over-HTTP3, le framework de virtualisation AVF (Android Virtualization Framework) et des stacks expérimentaux pour le Bluetooth et le Wi-Fi.

Environ 21 % du nouveau code compilable dans Android 13 est écrit en Rust

Conformément à la stratégie précédemment adoptée pour réduire les risques d'apparition de vulnérabilités causées par des erreurs de gestion de la mémoire, le langage Rust est principalement utilisé pour le développement de nouveau code et pour renforcer progressivement la sécurité des composants logiciels les plus vulnérables et critiques. L'objectif de transférer l'ensemble de la plateforme vers Rust n'est pas envisagé et l'ancien code reste en C/C++, tandis que la lutte contre les erreurs dans celui-ci se fait par le biais de tests de fuzzing, d'analyses statiques et de techniques de développement similaires à celles utilisant MiraclePtr (une couche au-dessus des pointeurs bruts, effectuant des vérifications supplémentaires sur les accès aux zones de mémoire libérées), le système de gestion de la mémoire Scudo (remplaçant sécurisé de malloc/free) et les mécanismes de détection d'erreurs en mémoire comme HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN et KFENCE.

Concernant les statistiques sur la nature des vulnérabilités dans la plateforme Android, on constate qu'avec la réduction du nouveau code, fonctionnant de manière non sécurisée avec la mémoire, le nombre de vulnérabilités causées par des erreurs de gestion de la mémoire diminue également. Par exemple, la part des vulnérabilités causées par des problèmes de mémoire est passée de 76 % en 2019 à 35 % en 2022. En termes absolus, en 2019, 223 vulnérabilités liées à la gestion de la mémoire ont été identifiées, 150 en 2020, 100 en 2021 et 85 en 2022 (toutes les vulnérabilités signalées étaient dans le code C/C++, et aucun problème similaire n'a été trouvé dans le code Rust). L'année 2022 a été la première où les vulnérabilités liées à la mémoire ont cessé de dominer.

Environ 21 % du nouveau code compilable dans Android 13 est écrit en Rust

Étant donné que les vulnérabilités liées à la gestion de la mémoire sont généralement les plus dangereuses, les statistiques générales montrent également une réduction du nombre de problèmes critiques et de problèmes pouvant être exploités à distance. En même temps, la dynamique de détection des vulnérabilités non liées à la gestion de la mémoire reste à peu près stable depuis quatre ans, avec environ 20 vulnérabilités par mois. La proportion de problèmes dangereux parmi les vulnérabilités causées par des erreurs de gestion de la mémoire demeure également, mais puisque le nombre de telles vulnérabilités diminue, le nombre de problèmes dangereux diminue aussi.

Environ 21 % du nouveau code compilable dans Android 13 est écrit en Rust

Les statistiques montrent également une corrélation entre le volume de nouveau code fonctionnant de manière non sécurisée avec la mémoire et le nombre de vulnérabilités liées à la mémoire (débordement de tampon, accès à de la mémoire déjà libérée, etc.). Cette observation confirme l'hypothèse selon laquelle l'accent dans l'implémentation des techniques de programmation sécurisée devrait être mis sur le nouveau code plutôt que sur la réécriture de l'existant, car la majorité des vulnérabilités détectées concerne le nouveau code.

Environ 21 % du nouveau code compilable dans Android 13 est écrit en Rust


Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster