Le créateur de C++ a dénoncé l'imposition de langages de programmation sécurisés.

Bjarne Stroustrup, le créateur du langage C++, a exprimé des objections aux conclusions d'un rapport de la NSA, qui recommandait aux organisations de se détourner des langages de programmation tels que C et C++, qui délèguent la gestion de la mémoire aux développeurs, en faveur de langages comme C#, Go, Java, Ruby, Rust et Swift, qui assurent une gestion automatique de la mémoire ou effectuent des vérifications de sécurité de la mémoire pendant la compilation.

Selon Stroustrup, les langages dits sécurisés mentionnés dans le rapport de la NSA ne surpassent pas réellement C++ dans des applications importantes, selon lui. En particulier, les recommandations fondamentales récentes sur l'utilisation de C++ (C++ Core Guidelines) couvrent les méthodes de programmation sécurisée et prescrivent l'utilisation d'outils garantissant un fonctionnement sécurisé avec les types et les ressources. Les développeurs qui n'ont pas besoin de telles garanties strictes de sécurité peuvent continuer à utiliser d'anciennes méthodes de développement.

Stroustrup estime qu'un bon analyseur statique conforme aux recommandations des C++ Core Guidelines peut fournir les garanties de sécurité nécessaires pour le code C++, en exigeant beaucoup moins d'efforts que le passage à de nouveaux langages de programmation sécurisés. Par exemple, la plupart des recommandations des Core Guidelines sont déjà mises en œuvre dans l'analyseur statique et le profil de sécurité de la mémoire fournis par Microsoft Visual Studio. Certaines recommandations sont également prises en compte dans l'analyseur statique Clang tidy.

Le rapport de la NSA a également été critiqué pour son accent mis uniquement sur les problèmes de gestion de la mémoire, en négligeant de nombreuses autres problématiques des langages de programmation qui influencent la sécurité et la fiabilité. Stroustrup considère la sécurité comme un concept plus large, dont différentes facettes peuvent être atteintes par une combinaison de style de codage, de bibliothèques et d'analyseurs statiques. Pour gérer l'inclusion de règles garantissant la sécurité des types et ressources, il est proposé d'utiliser des annotations dans le code et des options de compilateur.

Dans les applications où la performance prime sur la sécurité, une telle approche permet d'appliquer sélectivement des moyens garantissant la sécurité uniquement là où c'est nécessaire. Les outils d'amélioration de la sécurité peuvent également être appliqués de manière partielle, par exemple en commençant par des règles de vérification des plages et d'initialisation, puis en adaptant progressivement le code à des exigences plus strictes.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster