Règles de programmation pour le développement d'applications sécurisées en Rust

Rust est un langage multiparadigmes dont un des objectifs principaux est de concilier une ergonomie de haut-niveau avec une gestion fine de la mémoire. Parmi la richesse de constructions et de fonctionnalités qu'il propose, certaines peuvent toutefois favoriser l'introduction d'erreurs de programmation. Dans le contexte de développements avec de fortes exigences de sécurité, il est nécessaire de définir des restrictions et des bonnes pratiques d'utilisation du langage et des outils de son écosystème, afin de bénéficier au mieux des garanties de sûreté que Rust a à offrir.

Publié le 09 Juin 2020 Mis à jour le 09 Juin 2020
anssi-guide-regles_de_programmation_pour_le_développement_d'applications_sécurisées_en_Rust-couv

L'objet de ce guide est de rassembler règles, recommandations et bonnes pratiques quant à la mise en oeuvre de programmes avec le langage Rust, permettant de profiter de la variété de possibilités que ce langage peut offrir, tout en restant autant que possible dans une zone sûre pour le développement d'applications sécurisées. Ce guide vise plusieurs objectifs :

  • renforcer la sécurité, la qualité et la fiabilité du code source produit, en identifiant les mauvaises pratiques ou les pratiques dangereuses de programmation ainsi
    que les bonnes pratiques dans l'utilisation des outils que l'écosystème Rust propose ;
  • améliorer la lisibilité du code pour l'analyse de code source lors d'une relecture par un pair ;
  • établir un niveau de confiance dans la sécurité, la fiabilité et la robustesse d'un développement ;
  • favoriser la maintenabilité d'un logiciel, mais également l'ajout de fonctionnalités./li>