Le plan ambitieux de la DARPA pour transformer les logiciels C « hérités » en code Rust sécurisé en mémoire grâce à l'IA

Publié le 06 août 2024 par Zaebos @MetatroneFR

Il s'agit sans aucun doute d'un problème d'ingénierie de type « DARPA-hard », avertissent les experts

Nous avons confiance en Rust : Les langages de programmation modernes conçus pour renforcer la sécurité de la mémoire gagnent en popularité. Rust, un langage initié par le développeur de logiciels Graydon Hoare alors qu'il travaillait chez Mozilla, est désormais le choix officiel pour un projet de conversion complexe annoncé par l'agence de recherche du Pentagone.

La DARPA lance le programme TRACTOR (Translating All C to Rust), une initiative axée sur l'IA visant à automatiser « de manière substantielle » la conversion du code C en Rust. La communauté des programmeurs est aux prises avec des problèmes de sécurité de la mémoire en C et C++ depuis plus de deux décennies, a noté la DARPA, et il existe désormais un consensus sur le fait que les outils natifs de recherche de bugs ne sont pas suffisants pour résoudre ce problème architectural critique.

Les problèmes de sécurité de la mémoire sont le type de vulnérabilité de sécurité le plus courant révélé par les éditeurs de logiciels et les chercheurs. Le langage C, créé dans les années 1970 et utilisé aujourd'hui dans de nombreux systèmes, des smartphones aux véhicules spatiaux en passant par les protocoles Internet, permet aux programmeurs de manipuler directement l'allocation de mémoire.

Les erreurs de programmation ou les comportements inattendus dans les routines C peuvent corrompre la mémoire ou fournir aux pirates des exploits capables de compromettre des réseaux entiers. En revanche, Rust a été conçu comme un langage de bas niveau à usage général qui impose des pratiques de sécurité de la mémoire, garantissant que toutes les références pointent vers des adresses mémoire valides.

Rust a le potentiel d’éliminer des catégories entières de vulnérabilités de sécurité et est rapidement adopté par les grandes entreprises technologiques pour leurs projets logiciels. Microsoft prévoit de réécrire certaines parties essentielles des applications Windows et Microsoft 365 en Rust. De même, Rust est intégré au noyau Linux, au moteur de mise en page Chromium et à d’autres bases de code critiques utilisées par des millions de personnes dans le monde.

L’initiative TRACTOR est issue de deux changements culturels récents : l’adoption généralisée du langage de programmation Rust et le développement de techniques avancées d’apprentissage automatique. Les grands modèles de langage utilisés par les chatbots et autres services d’IA intéressent particulièrement la DARPA, car ils pourraient offrir de nouvelles solutions au problème de sécurité de la mémoire.

Selon Dan Wallach, responsable du programme TRACTOR, les chatbots IA peuvent déjà convertir rapidement « du code C » en code Rust idiomatique sûr. Cependant, le code obtenu n'est pas entièrement exempt d'erreurs (ou d'hallucinations). TRACTOR vise à « améliorer considérablement » la capacité des LLM à traduire automatiquement le code C en Rust.

Le secteur public héberge une part importante de projets logiciels développés avec des langages hérités, et la DARPA est bien consciente de ce problème. Selon Peter Morales, PDG de Code Metal, TRACTOR est un programme prometteur qui pourrait avoir un impact significatif sur le marché de la cybersécurité. La conversion automatique de code est « définitivement un problème difficile pour la DARPA » et il n’existe pas de solutions d’IA magiques faciles et facilement disponibles, a déclaré Morales.