Nouvelle initiative logicielle : C++ reçoit une mise à niveau de sécurité via Safe Extensions
La communauté C++ répond aux problèmes de sécurité avec les « Safe C++ Extensions ». Les nouvelles technologies visent à résoudre les problèmes de sécurité de la mémoire et à prendre en charge les codes existants. Apprendre encore plus!
Nouvelle initiative logicielle : C++ reçoit une mise à niveau de sécurité via Safe Extensions
Il y a toujours de nouveaux développements dans le monde de la programmation, notamment en matière de sécurité logicielle. La communauté C++ est actuellement confrontée au défi de plus en plus d’experts vantant les avantages d’autres langages de programmation offrant une plus grande sécurité mémoire. Pour contrer ces critiques, le projet « Safe C++ Extensions » a été lancé.
Ce nouvel effort vise à remédier aux vulnérabilités existantes du C++, notamment dans le domaine de la sécurité de la mémoire. Vinnie Falco, président de la C++ Alliance, a qualifié la proposition de révolutionnaire. Dans un rapport du Register, il a souligné l’importance d’ajouter des fonctionnalités modernes de sécurité de la mémoire au C++, en particulier à une époque où un code sécurisé est plus que jamais nécessaire. Ces dernières années, les demandes ont été fréquentes pour développer de nouvelles solutions logicielles dans des langages de programmation tels que Rust, Go et Java, connus pour leur sécurité.
Critique du C++ et besoin de changement
Dès 2019, des experts comme Alex Gaynor ont souligné les graves failles de sécurité dans les grandes bases de code, qui sont principalement causées par des erreurs de sécurité de la mémoire. Ces problèmes sont de plus en plus discutés lors de conférences techniques. L'année dernière, des voix se sont même élevées dans l'industrie technologique, comme Mark Russinovich de Microsoft, qui a suggéré d'abandonner complètement C et C++ au profit de Rust.
Bien que Bjarne Stroustrup, le créateur du C++, ait assuré que son langage de programmation dans sa forme actuelle peut être fondamentalement sécurisé en mémoire, ces déclarations ne trouvent pas un écho auprès de tout le monde. Les critiques pensent que C++ n'a pas été conçu à l'origine pour être sécurisé en mémoire, ce qui rend beaucoup plus difficile la création de code sécurisé en mémoire dans des applications pratiques.
Le projet « Safe C++ Extensions » s’attaque désormais précisément à ce défi. Il vise à répondre aux recommandations d'agences telles que la NSA et l'Agence américaine de cybersécurité, qui appellent à des niveaux de sécurité plus élevés dans les systèmes logiciels. Malgré les nombreux sceptiques qui doutent que le C++ puisse un jour être aussi sécurisé que des langages comme Rust ou Swift, les développeurs Sean Baxter et Christian Mazakas se montrent confiants dans leur projet. Ils soutiennent que le passage complet à Rust n’est souvent pas réalisable dans la pratique car il existe des différences significatives entre les langages de programmation.
Innovations dans les langages de programmation
Baxter souligne que le projet Safe C++ introduit de nouvelles technologies pour assurer la sécurité de la mémoire. L'une des innovations centrales est le « contrôle d'emprunt », qui permet d'éviter des erreurs telles que le « use-after-free ». Il y aura également des analyses d'initialisation destinées à augmenter la sécurité du type. L’un des principaux avantages de cet effort est que le code C++ existant peut continuer à fonctionner tandis que les développeurs peuvent progressivement intégrer des fonctionnalités plus sécurisées sans avoir à se recycler sur un tout nouveau langage de programmation.
Dans l’ensemble, la création des « Safe C++ Extensions » montre que la communauté C++ est prête à évoluer et à répondre aux préoccupations pressantes en matière de sécurité. Cela ouvre la voie à la combinaison des avantages du C++ avec les exigences d’une sécurité accrue et à rendre le paysage des langages de programmation plus intéressant et plus sûr. Des détails sur les approches innovantes peuvent être trouvés dans un rapport de winfuture.de.