Quantcast
Channel: Next - Flux Complet
Viewing all articles
Browse latest Browse all 2363

Traduire du code C en Rust « safe » ? Deux chercheurs l’ont fait

$
0
0
« Une pierre de plus à l’édifice »
Traduire du code C en Rust « safe » ? Deux chercheurs l’ont fait

Le langage Rust a largement gagné en visibilité ces dernières années, au point qu’on le retrouve désormais aussi bien dans le noyau de Windows que celui de Linux. Reste une interrogation tenace : est-il possible de convertir l’ancien code C en Rust ? Le sujet occupe jusqu’à la DARPA américaine. Plus récemment, deux chercheurs ont fait une percée et nous avons parlé à l’un d’eux, Aymeric Fromherz.

Pourquoi le langage Rust est-il devenu si désirable ? Essentiellement parce qu’il arrive à marier des performances proches du C (sans toutefois l’égaler) et certaines caractéristiques que l’on rencontre surtout dans les langages managés, comme Java et C#. C’est notamment vrai avec tout ce qui touche à la sécurité en mémoire, dont le typage fort.

Si le sujet a pris tant d’ampleur, c’est notamment parce que certaines grandes entreprises courent après les bugs liés à la mémoire. En 2019, Microsoft avertissait ainsi que 70 % des failles de sécurité détectées dans Windows étaient liées à la sécurité de la mémoire. Ce taux est le même depuis presque 20 ans. L’éditeur évoquait alors pour la première fois son intérêt pour le Rust, que nous avions analysé.

Le score vous parait important ? Il est le même chez Google. « Environ 70 % de nos bugs de sécurité de haute sévérité sont des problèmes d’insécurité de la mémoire (c’est-à-dire des erreurs avec les pointeurs C/C++). La moitié d’entre eux sont des bugs de type « use-after-free » », écrivait ainsi l’éditeur dans un billet de 2020 sur la sécurité de Chromium (projet open source à la base de Chrome et dont la gouvernance vient d’évoluer légèrement). Google indiquait par la même occasion se pencher sur Rust comme possible solution lorsque la solution s’y prêtait, entre autres langages selon le contexte (Java, Kotlin, Swift, etc.).

Du code flambant neuf… et le reste ?

Le Rust s’invite depuis quelques années dans le développement bas niveau et système, permettant l’écriture de nouveaux modules normalement débarrassés de la plupart des problèmes liés à des bugs en mémoire. Par exemple, avec la version 24H2 de Windows 11, le noyau du système embarque pour la première fois du code écrit en Rust. Ce mouvement est nettement accentué par des recommandations officielles. C’est vrai en particulier aux États-Unis, comme à la NSA en 2022 ou à la Maison-Blanche en 2024.


Il reste 79% de l'article à découvrir.
Vous devez être abonné•e pour lire la suite de cet article.
Déjà abonné•e ? Générez une clé RSS dans votre profil.


Viewing all articles
Browse latest Browse all 2363

Trending Articles