La Maison Blanche vient de mettre en garde contre l’utilisation de ces langages de programmation populaires
Selon la Maison Blanche, certains des langages de programmation préférés des développeurs présentent le plus grand risque de sécurité pour les systèmes qui nécessitent la plus grande sécurité.
Le Bureau du directeur national de la cybersécurité (ONCD), sanctionné par le gouvernement, a récemment publié un rapport précisant qu'il recommande aux développeurs d'utiliser divers « langages de programmation sécurisés en mémoire ». Cette liste exclut les langages populaires, tels que C et C++, qui ont été considérés comme présentant des failles dans la sécurité de leur mémoire qui en font des risques pour la sécurité.
Comme le souligne Tom's Hardware , la sécurité de la mémoire est la protection ancrée dans l'accès à la mémoire qui maintient les bogues et les vulnérabilités à distance. De tels exemples incluent les contrôles de détection des erreurs d'exécution en Java, qui est considéré comme un langage sécurisé pour la mémoire. Cependant, C et C++ n'ont aucun contrôle de sécurité et permettent un accès direct à la mémoire.
Plusieurs entreprises, dont Microsoft et Google, ont associé les vulnérabilités de sécurité aux problèmes de sécurité de la mémoire de leurs systèmes. En 2019, Microsoft a découvert qu'environ 70 % des failles de sécurité étaient causées par des problèmes de sécurité de la mémoire. Google a rapporté le même chiffre en 2020 concernant des bugs dans son navigateur Chromium. Notamment, Microsoft n’a étendu que récemment la compatibilité de son propre App Store pour inclure l’utilisation par les développeurs de langages tels que C++.
Le C et le C++ faisant partie des langages de programmation qui ne disposent pas de contrôles de sécurité intégrés, l'ONCD recommande de ne pas les utiliser au sein des grandes organisations, des entreprises technologiques et des entités gouvernementales. Ce conseil coïncide avec la stratégie de cybersécurité du président Joe Biden visant à « sécuriser les éléments constitutifs du cyberespace ».
Malgré cela, l'ONCD ne dispose pas d'une liste approuvée de langages de programmation et a simplement demandé aux entreprises de faire preuve de discernement avec leurs logiciels, tout en optant pour du matériel sécurisé en mémoire afin de minimiser les problèmes de sécurité. La liste la plus proche d'une liste sanctionnée est celle élaborée par la National Security Agency (NSA) en 2022. Les langages sécurisés en mémoire comprennent :
- Rouiller
- Aller
- C#
- Java
- Rapide
- Javascript
- Rubis
Tom's Hardware a noté que même si ces langages peuvent passer les tests de sécurité, beaucoup d'entre eux ne sont pas les favoris des développeurs. La publication ajoute que ces langages figurent dans le top 20, mais que seuls quatre d'entre eux, C#, Java, Python et JavaScript, sont toujours populaires auprès des développeurs.
Ce rapport est une recommandation et non une règle. Il sera intéressant de voir comment les entreprises et les développeurs l'utiliseront au fil du temps.