Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleApplications & Développement

Bisbilles autour des propositions pour sécuriser C++

Le comité de normalisation de C++ a rejeté une proposition de créer un sous-ensemble sécurisé du langage. Les membres préfèrent se focaliser sur le framework Profiles poussé par le créateur de C++ Bjarne Stroustrup.

La rédaction

Régulièrement taclé pour son manque de sécurité, le langage C++ essaye de trouver un moyen de protéger l’accès mémoire et éviter d’être remplacé par des solutions plus sûres comme Rust. Plusieurs propositions ont été faites dont une par Sean Baxter, qui vise à la création d’un sous-ensemble de C++ plus sécurisé. Mais son initiative a été retoquée par le WG21 qui est le comité de normalisation du langage, rapporte The Register. Les membres ont préféré cibler leurs efforts sur le framework Profiles promu par Bjarne Stroustrup, le créateur de C++.

Face aux attaques répétées contre la faible sécurité du langage, le fondateur a proposé un ensemble de lignes directrices, des profils pour moderniser C+= comme l’interdiction e variables non initialisées, de plage, de fuites de ressources, de violation de type, d’invalidation, … Mais ce cadre a été accueilli avec scepticisme. Robin Rowe à l'origine de TrapC (une initiative pour répondre à la sécurité mémoire des langages C et C++) estime que Profiles n’est pas la solution miracle. « Si vous marquez votre code pour appliquer un Profile, certaines fonctionnalités du langage C/C++ cesseront de fonctionner », glisse-t-il. Petit hic également, ces orientations n’ont pas été intégrées dans la version 26 de C++, mais simplement dans un livre blanc.

Circle, Rust ou Carbon de Google

De son côté, Sean Baxter a proposé une solution où les développeurs de C++ pourrait bénéficier de la mémoire sécurisée de Rust sans être obligés d’en apprendre un autre. Au coeur de son projet, il y a le Safe C++, un sous-ensemble du langage pour lequel il a développé un compilateur nommé Circle. Ce dernier intègre plusieurs fonctionnalités comme la vérification des emprunts pour éviter les bugs d’utilisation de mémoire une fois libérée et l’analyse d’initialisation pour la sécurité des types. L’avantage de cette solution est qu’il ne touche que le code qui vise à être sécurisé, la partie non-sécurisée fonctionne toujours. Pas de problème d’interopérabilité donc.

La controverse autour de la sécurisation de C++ ouvre la porte à une autre solution avec le recours à un autre langage. Le premier prôné par plusieurs autorités américaines est Rust, mais il existe aussi le projet expérimental Carbon de Google. Dévoilé en 2022, il vise lui aussi à moderniser C++.

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

Bisbilles autour des propositions pour sécuriser C++