Pourquoi la NSA veut que vous changiez de langage de programmation
Listen now
Description
Bonjour à tous et bienvenue dans le ZDTech, le podcast quotidien de la rédaction de ZDNet. Je suis Guillaume Serries et aujourd'hui je vous explique pourquoi la NSA vous demande de changer votre langage de programmation pour améliorer la sécurité de votre code. C'est un message que tient à faire passer la NSA - la principale Agence américaine de renseignement - aux développeurs. Il faut en finir avec les langages C et C++. Et pourquoi donc ? Parce que ces langages sont susceptibles de permettre des attaques informatiques qui utilisent la mémoire informatique. Et se passer de C ou C++ pourrait signifier une réorientation vers C#, Go, Java, Ruby, Rust ou encore Swift. Et ces langages ont par ailleurs déjà fait leur preuve. Un exemple ? Java est le langage le plus utilisé dans les entreprises et pour le développement d'applications Android. Un autre exemple ? Swift figure dans le top 10 des langages de programmation les plus utilisés, notamment bien sûr grâce au développement d'applications sous iOS. L'agence d'espionnage américaine cite des recherches récentes de Google et de Microsoft selon lesquelles 70 % des problèmes de sécurité dans le navigateur Chrome et le système d'exploitation Windows, sont liés à la mauvaise gestion de la mémoire avec les langages de programmation C et C++. Reste la question de savoir pourquoi C et C++ ont des problèmes de mémoire. "Ils offrent beaucoup de liberté et de souplesse dans la gestion de la mémoire tout en s'appuyant fortement sur le programmeur pour effectuer les vérifications nécessaires sur les références mémoire" mentionne la NSA. L'Agence recommande donc d'utiliser un langage à mémoire sécurisée lorsque cela est possible. Et le langage Rust semble être le principal candidat au "remplacement" de C et C++. Le noyau Linux d'ailleurs a récemment introduit Rust comme deuxième langage après le C. Ces projets développés en Rust ne remplaceront pas l'ancien code C ou C++. Oui, ce sont de nouveaux projets qui auront les faveurs de ce nouveau langage. Même son de cloche chez Microsoft. Mark Russinovich, le directeur technique de Microsoft Azure, a récemment appelé tous les développeurs à utiliser Rust plutôt que C et C++ pour tous les nouveaux projets. Il faut cependant bien comprendre que l'utilisation d'un langage sécurisé pour la mémoire n'empêche pas par défaut l'introduction de bugs de mémoire dans les logiciels. De plus, les langages autorisent souvent des bibliothèques qui ne sont pas écrites dans des langages sûrs pour la mémoire. Enfin, La NSA note que certains langages recommandés peuvent avoir un coût en termes de performances. Donc dans ce cas là, les développeurs peuvent prendre des mesures pour renforcer la sécurité les langages non sécurisés en mémoire. L'équipe Chrome de Google par exemple, étudie plusieurs méthodes pour renforcer le langage C++. Et il semble que C++ restera dans la base de code de Chrome dans un avenir prévisible.