L'expert a apprécié les conseils de la NSA pour interdire C et C ++: comment cela affectera la Russie

L'Agence de sécurité nationale américaine (NSA) a demandé aux développeurs du monde entier d'éviter

Les anciens langages de programmation tels que C et C++ sont considérés comme plus sensibles aux attaques de pirates informatiques lors du passage à des langages plus récents et sécurisés en mémoire.

Quel est le problème avec le langage C++ ?

Pour exécuter les instructions dans le code dont vous avez besoinressources du système, en particulier la mémoire. Le problème avec certains langages de programmation plus anciens est qu'ils permettent aux développeurs de le déplacer manuellement. En conséquence, la responsabilité de la gestion de la mémoire incombe au développeur. De simples erreurs des programmeurs conduisent à une « panne » du système et à l'émergence de problèmes de sécurité.

Cette liberté entraîne certains risques.Ces erreurs de sécurité de la mémoire peuvent provenir de simples fautes de frappe et de lignes de code oubliées, ou de structures de mémoire complexes et d'interactions inattendues.

déclaration du Conseil de l'Atlantique à l'Organisation du Traité de l'Atlantique Nord

Dans certains cas, un attaquant peut utiliser ces erreurs pour accéder au système ou exécuter un code malveillant.

Ainsi, des langages largement utilisés telsComme C et C++, non seulement ils offrent une plus grande liberté et flexibilité dans la gestion de la mémoire, mais ils « s'appuient » également sur le programmeur en la matière. La NSA estime que cela donne aux pirates la possibilité d’exploiter les vulnérabilités à leurs propres fins.

Avis des géants de l'informatique

Selon les entreprises technologiques, la partLes anciens langages tels que C et C++ représentent jusqu'à 65 % de toutes les erreurs. Ainsi, Microsoft, Google et d'autres géants de l'informatique constatent des vulnérabilités dans leurs codes dues à des problèmes de sécurité de la mémoire.

Quelles langues sont sûres ?

De nouveaux langages de programmation comme Python,Java* et Rust allouent automatiquement la mémoire. Beaucoup d’entre eux éliminent pratiquement les bogues de sécurité ou les rendent impossibles. Les responsables de la NSA ont ajouté C#, Go et Swift à la « liste sûre ».

Réponse du « père fondateur » du C et C++

Créateur du langage de programmation C++ BjörnStroustrup a répondu à l'appel de la NSA à abandonner l'utilisation des langages de programmation existants, dans lesquels la responsabilité de la gestion de la mémoire incombe au développeur.

Dans sa lettre ouverte publiéeSur open-std.org, Stroustrup a exprimé son désaccord avec la position de l'agence. Il a déclaré que ses représentants avaient « regroupé » C et C++, malgré le fait que les langages se soient développés indépendamment au cours des 30 dernières années. Dans le même temps, il a accusé les développeurs « d’ignorer souvent les changements apportés au langage qui peuvent radicalement améliorer la sécurité du code ».

En fait, selon lui, le C++ n’est en rien inférieur aux langages modernes dits sûrs comme C#, Go, Java, Ruby, Rust et Swift.

Opinion d'expert

Pour savoir dans quelle mesure prendre au sérieux l'avertissement de la NSA, Hi-Tech s'est entretenu avec Andrei Naichenko, le principal architecte de prévente de la plate-forme de production de logiciels Sphere.

Il estime que le danger de cette interdictionpour le marché et les codeurs ne doivent pas être surestimés. "L'époque où les systèmes d'application étaient développés en C++ appartient au passé et la transition vers les langages recommandés (C#, Go, Java, Ruby et Swift) est déjà réalisée par la plupart des développeurs", explique l'expert.

Utilisation actuelle du C++limité à des solutions de niche dans le domaine des systèmes d'exploitation, du développement de jeux et des moteurs de jeux (Unreal Engine, Unity), du calcul GPU (crypto-monnaie, deep learning), du développement d'algorithmes à forte charge et hautes performances. Compte tenu du volume de code développé et du nombre de spécialistes, il est peu probable que la transition vers d'autres langages dans ces domaines se produise dans un avenir proche. Pour le reste (la majeure partie) du marché, cette recommandation de la NSA ne menace rien.

Concernant la validité de cette décisionAndrey Naichenko a soutenu le créateur du langage C++, Bjarne Stroustrup. "Le langage C++ dans les éditions modernes de la norme fournit un ensemble d'outils large et mature qui vous permet de résoudre avec succès les problèmes de sécurité du travail avec la mémoire", a expliqué l'expert.

Comment la décision de la NSA affectera-t-elle la Russie ?

Les problèmes identifiés dans le rapport de la NSA sont plus probablesAu total, ils ont été trouvés dans des solutions mises en œuvre sur les premiers standards linguistiques. En fin de compte, la décision de la NSA n'aura pas d'impact significatif sur les développeurs de logiciels ciblant le marché russe.

Lire la suite:

Les scientifiques ont nommé les 6 meilleures façons de "sauver" la mémoire des personnes âgées

Une mystérieuse empreinte souterraine a surpris les scientifiques. Il a plus de 1000 ans

Une épée que l'on croyait fausse s'avère être un artefact de l'âge du bronze vieux de 3 000 ans

*Malgré le fait que Java soit classé comme un nouveau langage, il s'agit d'un langage de programmation assez ancien (remarque - « High-tech »)