En février dernier, la Maison Blanche a invité les développeurs à réduire le risque de cyberattaques en utilisant des langages sans risque de vulnérabilités pour la mémoire. En l’occurrence, l’administration ciblait C et C++ et leurs faiblesses de sécurité. Face aux critiques, la communauté C++ a décidé de monter au créneau pour montrer qu’elle fait des efforts pour rendre le langage plus sûr.
L’Alliance C++ vient de publier une proposition nommée Safe C++ Extensions. « Il s’agit d’une proposition qui ajoute des fonctions de sécurité de la mémoire au langage de programmation C++ », explique Vinnie Falco, président de l’association. En dehors des bonnes pratiques, ce projet ajoute des éléments techniques pour empêcher les utilisateurs d’écrire du code douteux. Cela passe notamment par un compilateur capable de vérifier les emprunts pour éviter les bogues de type « use after free » et analyser la sécurité des types.
Un mouvement de migration vers Rust enclenché
Si l’objectif est clairement de renforcer la sécurité du langage, la proposition vise aussi à rassurer sur la pérennité du langage. En effet, après les différentes critiques (la NSA, la CISA et la Maison Blanche), plusieurs entreprises ont entamé une réflexion pour migrer leurs applications vers des langages plus sécurisés pour la mémoire tels que C#, Go, Java, Python et Swift et surtout Rust. En septembre 2022, Mark Russinovitch directeur technique de Microsoft Azure a appelé à l’abandon de C++ et C pour adopter Rust. Plus récemment, la Darpa a dévoilé son projet Tractor basé sur l’IA pour convertir son vieux code C en Rust.
Le mouvement est donc enclenché, mais prendra du temps et de l’argent. La communauté C++ compte sur ce laps de temps pour retrouver les faveurs des développeurs avec des initiatives comme Safe C++. Elles seront soutenues pas Bjarne Stourstrup, le créateur du langage, qui est très tôt monté au créneau pour le défendre. « Dès l’origine, et tout au long de l’évolution du C++, l'amélioration de la sécurité a toujours été au cœur de nos efforts de développement », a-t-il rappelé. Il peut compter par ailleurs sur une forte popularité du langage auprès des développeurs comme l'a récemment montré l'index de Tiobe.