L'ISRG réécrit sudo et su en Rust

Par:
fredericmazue

ven, 05/05/2023 - 08:00

Dans le cadre de son projet Prossimo, l'ISRG (Internet Security Research Group) va réécrire les commandes sudo et su des systèmes de type UNIX en Rust. Le premier objectif du projet Prossimo est de déplacer l'infrastructure logicielle sensible à la sécurité d'Internet vers du code sûr au niveau de la gestion de la mémoire. L'ISRG estime que la plupart des vulnérabilités logicielles les plus critiques sont des problèmes de sécurité de la mémoire dans le code C et C++. Et s'il existe des moyens de réduire le risque, y compris le fuzzing et l'analyse statique, de telles mesures d'atténuation n'éliminent pas le risque. L'utilisation de langages sécurisés pour la mémoire élimine toute la classe de problèmes pour l'ISRG qui opte pour le langage Rust.

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 effectuer des opérations d'adminstration système tout en minimisant 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.

Le projet Prossimo établit quatre critères de risque pour un logiciel :

  1. Très largement utilisé (presque tous les serveurs et/ou clients)
  2. Sur une frontière critique
  3. Exercer une fonction critique
  4. Écrit dans des langages qui ne sont pas sécurisés en mémoire (par exemple C, C++, asm)

Pour le projet Prossimo, sudo remplit ces quatre critères de risque. Il est difficile d'imaginer un logiciel beaucoup plus critique de l'avis des responsables du projet qui vont donc réécrire sudo et su dans la foulée en Rust.

Le travail a déjà commencé pour sudo et le code source de ce qui devient sudo-rs est disponible sur GitHub sous licence Apache et MIT.

sudo-rs étant en cours de développement, le projet Prossimo précise qu'il n'est adapté à aucun environnement de production. Bref, pour le moment sudo-rs n'est pas du tout sûr ;-) :-)