Rétroéquiper la sécurité spati... Note

Rétroéquiper la sécurité spatiale à des centaines de millions de lignes de code C++

Les vulnérabilités de sécurité de la mémoire spatiale, qui se produisent lorsque le code accède à la mémoire en dehors de ses limites prévues, constituent un risque majeur pour la sécurité et ont été exploitées par les attaquants pour compromettre les systèmes et les données sensibles. Selon le projet Zero de Google, ces vulnérabilités représentent 40 % des exploits de sécurité de la mémoire dans la nature au cours de la dernière décennie. Pour remédier à cela, Google adopte une approche globale de la sécurité de la mémoire, notamment en utilisant des langages de programmation sûrs pour la mémoire dans les nouveaux codes et en rétrofittant des principes de conception sécurisés dans les bases de code C++ existantes. L'une des stratégies clés consiste à mettre en œuvre des vérifications de limites pour les structures de données courantes, en commençant par le durcissement de la bibliothèque standard C++ (libc++). Le libc++ durci introduit des vérifications de sécurité pour détecter les vulnérabilités telles que les accès hors limites en production. Google a rendu le libc++ durci par défaut sur ses systèmes de production côté serveur, améliorant ainsi la sécurité de la mémoire spatiale sur l'ensemble de ses services. L'impact sur les performances de ces changements a été étonnamment faible, avec un impact moyen de 0,30 % sur les services. L'activation du libc++ durci a déjà empêché les exploits, réduit les plantages et amélioré la correction du code, avec plus de 1 000 bogues découverts et une réduction de 30 % des fautes de segmentation. Google s'engage à étendre les vérifications de limites à d'autres bibliothèques et à migrer son code vers des tampons sûrs, nécessitant que tous les accès soient vérifiés. L'entreprise encourage les autres organisations utilisant C++ à activer le mode durci de leur bibliothèque standard de manière universelle par défaut.