La nouvelle a récemment éclaté que le ISRG (Internet Security Research Group), qui est le fondateur du projet Let’s Encrypt et promeut le HTTPS et le développement de technologies pour augmenter la sécurité sur Internet, introduit le projet sudo-rs.
sudo-rs se positionne comme un projet de création d’implémentations des utilitaires sudo et su, écrit en langage de programmation Rouiller et qui vous permet d’exécuter des commandes au nom d’autres utilisateurs.
Actuellementles travaux portent sur la mise en œuvre fonctions dans sudo-rs qui permettent de l’utiliser en remplacement transparent de sudo dans les cas d’utilisation typiques (paramètres sudoers par défaut sur Ubuntu, Fedora et Debian).
Sudo a été développé pour la première fois dans les années 1980. Au fil des décennies, il est devenu un outil essentiel pour apporter des modifications et minimiser les risques pour un système d’exploitation. Mais parce qu’il est écrit en C, sudo a connu de nombreuses vulnérabilités liées aux problèmes de sécurité de la mémoire.
À l’avenir, il est prévu de créer une bibliothèque permettant d’intégrer la fonctionnalité sudo dans d’autres programmes. et fournir une autre méthode de configuration qui évite d’analyser la syntaxe du fichier de configuration sudoers. Selon la fonctionnalité sudo implémentée, une variante de l’utilitaire su sera également préparée. De plus, les plans mentionnent la prise en charge de SELinux, AppArmor, LDAP, les outils d’audit, la possibilité de s’authentifier sans utiliser PAM et la mise en œuvre de toutes les options de ligne de commande sudo.
Selon Microsoft et Google, environ 70 % des vulnérabilités sont causées par une gestion non sécurisée de la mémoire.. L’utilisation du langage Rust pour construire su et sudo devrait réduire le risque de vulnérabilités causés par une gestion non sécurisée de la mémoire et éliminer l’apparition d’erreurs telles que l’accès à une zone de mémoire après sa libération et le débordement de la mémoire tampon.
Sudo-rs est développé par des ingénieurs de Ferrous Systems et Tweede Golf avec un financement fourni par des sociétés comme Google, Cisco, Amazon Web Services.
Lorsque nous réfléchissons aux logiciels dans lesquels nous souhaitons investir, nous pensons principalement à quatre critères de risque :
Largement utilisé (presque tous les serveurs et/ou clients)
à une limite critique
Jouer un rôle critique
Écrit dans des langages qui ne sont pas sécurisés en mémoire (par exemple, C, C++, asm)
Sudo correspond parfaitement à ce critère de risque. Il est important que nous protégions nos logiciels les plus critiques, en particulier contre les failles de sécurité de la mémoire. Il est difficile d’imaginer un logiciel beaucoup plus critique que sudo et su.
Une gestion sûre de la mémoire est fournie dans Rust au moment de la compilation par la vérification des références, le suivi de la propriété de l’objet et de la durée de vie de l’objet (portée), ainsi que l’évaluation de l’accès à la mémoire pour l’exactitude lors de l’exécution du code. Rust fournit également une protection contre les débordements d’entiers, nécessite une initialisation obligatoire des valeurs de variables avant utilisation, gère mieux les erreurs dans la bibliothèque standard, applique le concept de références et de variables immuables par défaut, offre un typage statique fort pour minimiser les erreurs logiques.
Il convient de mentionner que sudo-rs est déjà en cours de développement actif. et il ne convient à aucun environnement de production. L’utilisation de sudo-rs n’est recommandée qu’à des fins de développement et de test, il est donc mentionné que pour la production et le développement si sudo-rs est implémenté, c’est presque certainement n’importe quel système qui est facilement cassé et non sécurisé.
sudo-rs est licencié sous les licences Apache 2.0 et MIT, et comme mentionné, une version de prévisualisation de sudo-rs a déjà été publiée, qui n’est pas encore prête pour une utilisation générale. Le projet, dont les travaux ont commencé en décembre 2022, devrait se terminer en septembre 2023.
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.