Google : « Remplacer le C/C++ par Rust dans le firmware, c’est facile »
(theregister.com)- Google a récemment réécrit en langage Rust le firmware des machines virtuelles protégées de l’Android Virtualization Framework, et recommande à toute personne travaillant sur du firmware d’en faire autant
- Dans l’article publié sur le Google Security Blog, "Deploying Rust in Existing Firmware Codebases", les ingénieurs Android explorent les détails techniques du remplacement du code hérité en C et C++ par Rust
- « Vous verrez à quel point il est facile de renforcer la sécurité avec un remplacement Rust en drop-in, et nous montrerons aussi comment la toolchain Rust peut prendre en charge des cibles bare metal spécialisées »
- Pour un langage de programmation souvent décrit comme ayant une « courbe d’apprentissage raide », le mot « facile » n’est pas un terme qu’on emploie couramment
- Il n’est pas non plus simple de faire voir le monde aux développeurs C et C++ à travers le prisme de Rust
- L’un des mainteneurs du projet Rust for Linux a récemment démissionné, en invoquant la résistance des développeurs du noyau Linux
- Un contributeur au noyau Linux a même déclaré plus tôt cette année, lors d’une discussion en direct pendant une conférence, « On ne peut pas nous forcer tous à apprendre Rust »
- Malgré cela, Google continue d’encourager l’usage de Rust
- Le firmware manque de mécanismes de sécurité de haut niveau, notamment parce qu’il est souvent écrit dans des langages non sûrs pour la mémoire comme le C ou le C++
- Rust offre un moyen d’éviter les bugs de sûreté mémoire comme les buffer overflows et les use-after-free, qui représentent une grande partie des vulnérabilités critiques dans les grandes bases de code
- « Rust offre une alternative à sûreté mémoire au C et au C++, avec des performances et une taille de code comparables »
- « Il prend aussi en charge l’interopérabilité avec le C sans surcoût »
- Soutien des gouvernements et des entreprises technologiques
- Récemment, le gouvernement américain, avec le soutien de grandes entreprises technologiques et de l’initiative à but non lucratif memorysafety.org, a souligné la nécessité de réécrire en Rust des projets et composants open source critiques
- La Cybersecurity and Infrastructure Security Agency (CISA) a recommandé l’an dernier aux éditeurs de logiciels de faire de la réduction, puis à terme de l’élimination, des vulnérabilités liées à la sûreté mémoire dans leurs gammes de produits un objectif prioritaire de l’entreprise
- Google était déjà séduit par cette idée et a conclu que les développeurs Rust étaient deux fois plus productifs que les ingénieurs C++
- L’usage de Rust chez Google continue d’augmenter
« Chez Google, nous étendons l’usage de Rust afin de réduire les vulnérabilités liées à la sûreté mémoire dans Android, Chromium et ailleurs.
Nous nous engageons à collaborer avec l’écosystème Rust pour accélérer son adoption et fournir aux développeurs les ressources et formations dont ils ont besoin,
et ce travail visant à introduire Rust dans l’embarqué et le firmware traite une autre partie essentielle de la pile »
1 commentaires
Bonne lecture.