Il n'y a pas que les hackathons et autres concours de failles dans la vie. Pour vérifier la sécurité du langage de programmation Rust, sa fondation a lancé un concours original en collaboration avec son partenaire AWS. "Aujourd'hui, la bibliothèque standard de Rust comprend environ 35 000 fonctions, dont environ 7 500 fonctions non sûres et 3 000 abstractions sûres. La bibliothèque coeur comporte 21 000 fonctions, dont 7 000 fonctions non sûres et 1 700 abstractions sûres", explique AWS. "Au cours des trois dernières années, 57 problèmes d'intégrité ont été signalés dans la bibliothèque standard Rust et 20 CVE ont été rapportés. Parmi ces problèmes de solidité, 28% ont été découverts en 2024, ce qui nous indique que le rythme de changement des bibliothèques standard est de plus en plus rapide et de moins en moins sain."
De son côté la fondation Rust précise que son initiative comprendra une série de défis variés. "Les participants peuvent contribuer en spécifiant des contrats, en vérifiant des composants de la bibliothèque ou en développant de nouveaux outils de vérification", explique la fondation Rust. Parmi les 13 challenges à relever : vérifier les méthodes de transmutation du noyau, la sécurité de la mémoire des éléments intrinsèques du noyau utilisant des pointeurs bruts, les opérations arithmétiques sur pointeur brut, la sécurité de la mémoire du module btree::node de BTreeMap, les fonctions itérant sur un type de données inductif : linked_list...
20 étudiants, universitaires et chercheurs déjà sur le coup
Les défis à relever répondent à trois enjeux : contribuer au mécanisme central de vérification de la bibliothèque standard rust, créer de nouvelles techniques pour effectuer une vérification évolutive, et appliquer des techniques pour vérifier des parties non vérifiées de la bibliothèque standard. Selon AWS plus de 20 étudiants, universitaires et chercheurs sont déjà sur les rangs. Vérifier des bibliothèques Rust est difficile (absence de spécification ou de mécanisme de vérification existant dans l'écosystème Rust, périmètres des vérifications à effectuer...). Une récompense financière est prévue pour la réalisation de ces challenges mais son montant n'a pas été spécifié publiquement.
Commentaire