Les agences exhortent l’industrie du logiciel à éliminer les vulnérabilités grâce à des langages de programmation sécurisés et de meilleures pratiques de développement
La Cybersecurity and Infrastructure Security Agency (CISA) des États-Unis et le Federal Bureau of Investigation (FBI) ont émis une alerte conjointe dans le cadre de l’initiative Secure by Design, soulignant la gravité des failles de débordement de tampon, l’une des vulnérabilités de sécurité les plus exploitées par des acteurs malveillants.
Les vulnérabilités de débordement de tampon, classées sous le code CWE-119, permettent aux attaquants d’accéder ou d’écrire des informations dans des zones mémoire non autorisées d’un système. Ces erreurs peuvent entraîner corruption de données, exposition d’informations sensibles, et même exécution de code malveillant ou contrôle total du système.
Malgré l’existence de méthodologies efficaces pour prévenir ces vulnérabilités, de nombreux fabricants continuent d’adopter des pratiques de développement non sécurisées, ce qui représente un risque significatif pour la sécurité nationale et économique. C’est pourquoi la CISA et le FBI exhortent l’industrie du logiciel à mettre en œuvre des mesures concrètes pour éliminer ces défauts dès la phase de conception.
Principaux risques liés aux débordements de tampon
Il existe deux types principaux de débordements de tampon :
- Débordements basés sur la pile (CWE-121) : Ils se produisent lorsque des données sont écrites dans la pile au-delà de sa capacité, écrasant des informations critiques.
- Débordements basés sur le tas (CWE-122) : Ils surviennent lorsqu’on écrit dans des zones de mémoire dynamiquement allouées, compromettant ainsi la stabilité du système.
Ces failles ont été récemment exploitées par des acteurs malveillants pour accéder initialement à des réseaux d’entreprise et étendre leur portée.
Recommandations pour prévenir les débordements de tampon
La CISA et le FBI recommandent une série de mesures clés pour atténuer et éliminer ces vulnérabilités :
-
Utilisation de langages de programmation sécurisés
- Opter pour des langages à gestion sécurisée de la mémoire, comme Rust, Go ou Swift, plutôt que des langages traditionnellement non sécurisés tels que C ou C++.
- Éviter de désactiver les garanties de sécurité des langages sécurisés.
-
Mise en œuvre de protections dans les compilateurs
- Activer des indicateurs de sécurité dans les compilateurs, tels que Stack Canaries et Address Space Layout Randomization (ASLR), pour atténuer l’exploitation de failles.
-
Utilisation d’outils d’analyse et de test de sécurité
- Exécuter des outils comme AddressSanitizer et MemorySanitizer pour détecter des problèmes en temps réel.
- Appliquer des techniques telles que fuzzing et analyse statique de code pour identifier les vulnérabilités avant le déploiement.
-
Développement d’une feuille de route vers la sécurité de la mémoire
- Établir un plan progressif pour réécrire les segments critiques du code dans des langages sécurisés.
- Documenter les cas antérieurs de débordements de tampon et appliquer des analyses de cause profonde pour éliminer des défaillances similaires à l’avenir.
- Transparence et responsabilité en matière de sécurité
- Publier des rapports de sécurité détaillés indiquant comment les fabricants abordent ces problèmes.
- Adopter des pratiques de divulgation responsable des vulnérabilités, assurant ainsi que les utilisateurs soient informés des risques possibles.
Éliminer les vulnérabilités : un objectif réalisable
Le CISA et le FBI insistent sur le fait que l’industrie du logiciel doit progresser vers l’élimination complète des vulnérabilités de débordement de tampon, plutôt que de s’appuyer uniquement sur des solutions temporaires. Adopter des approches sécurisées dès la conception réduira la charge sur les utilisateurs et minimisera le risque d’attaques.
Le message des agences est clair : les fabricants de logiciels doivent assumer la responsabilité de la sécurité de leurs produits et s’assurer qu’ils sont sûrs dès leur développement. Parallèlement, ils encouragent les consommateurs à exiger des solutions sécurisées et à vérifier que les entreprises respectent ces normes avant d’acheter des logiciels.
Engagement pour la sécurité par conception
Les agences rappellent que l’approche Secure by Design a été soutenue par 17 agences de cybersécurité dans le monde, y compris la Maison Blanche, la National Security Agency (NSA) et des entreprises technologiques telles que Google, Microsoft et Amazon.
Enfin, la CISA et le FBI réitèrent que la sécurité des logiciels ne peut pas reposer sur des solutions réactives, mais doit être intégrée comme un principe essentiel dans l’ingénierie des produits.
Source : Cisa.gov