Intelligence de données générative

L'appel de la Maison Blanche à la sécurité de la mémoire entraîne des défis, des changements et des coûts

Date :

COMMENTAIRE

La récente publication «Retour aux éléments de base: A Path Toward Secure and Measurable Software » du Bureau du Directeur national de la cybersécurité (ONCD) de la Maison Blanche fournit des détails supplémentaires et une orientation stratégique à l'appui du Stratégie nationale de cybersécurité publiée en mars 2023. La stratégie vise à transférer une part beaucoup plus grande de responsabilité en matière de cybersécurité aux éditeurs de logiciels, aux fournisseurs de services et à d’autres entités qui développent des applications logicielles. Ce dernier rapport fournit une orientation plus spécifique en mettant l'accent sur un changement agressif vers langages de programmation sécurisés en mémoire avec les pratiques de développement de logiciels.

L’impératif de sécurité de la mémoire

Les langages de programmation traditionnels constituent souvent le maillon faible du développement logiciel, les vulnérabilités de sécurité de la mémoire entraînant des incidents importants. Malgré des révisions approfondies du code et d'autres mesures de sécurité, ces vulnérabilités persistent, représentant jusqu'à 70 % des problèmes de sécurité dans ces langages. Le passage à des langages de programmation sécurisés en mémoire, comme le conseille la feuille de route de la Cybersecurity and Infrastructure Security Agency (CISA), constitue une étape cruciale vers le développement de logiciels sécurisés dès leur conception.

L’un des défis les plus redoutables de ce changement stratégique consiste à s’attaquer aux systèmes existants développés en C et C++. Ces systèmes existants sont non seulement nombreux, mais souvent essentiels aux opérations de nombreuses organisations. La réécriture de ces systèmes dans des langages modernes et sécurisés en termes de mémoire peut s'avérer coûteuse et complexe, entraînant des temps d'arrêt de processus métier critiques.

De plus, les vulnérabilités en matière de sécurité de la mémoire sont principalement observées au niveau du système d'exploitation, affectant des plates-formes importantes comme Microsoft et Linux. Cette catégorisation des problèmes au niveau de l'exécution, plutôt qu'au niveau de l'application, souligne le défi plus large de la cybersécurité : la poursuite de mesures de sécurité avancées doit être mise en balance avec les aspects pratiques et les coûts de mise en œuvre de ces changements, en particulier pour les systèmes établis.

Considérations économiques et techniques

De nombreuses organisations sont confrontées à des coûts considérables associés à la refonte de systèmes plus anciens. Changer les protocoles de codage n’est pas seulement une décision technique mais aussi stratégique pour assurer la sécurité de l’infrastructure numérique du futur. En conséquence, les décideurs qui réfléchissent au moment d’entreprendre la transition doivent évaluer les impacts financiers et opérationnels immédiats par rapport aux avantages à long terme.

Heureusement, des innovations technologiques ont déjà été développées et peuvent réduire les coûts et les perturbations liés à la transition vers un code plus sûr. Par exemple, les outils d'analyse de code peuvent analyser les applications existantes et identifier de manière semi-autonome les instances dans lesquelles le code C ou Python s'exécute sans isolation appropriée. Et grâce aux progrès récents de la technologie des compilateurs, même les pratiques de codage les plus dangereuses peuvent être protégées si elles sont écrites dans un langage plus ancien. Ces développements devraient considérablement réduire les obstacles à l’adoption de pratiques de codage sûres pour les organisations de toute taille.

Un effort de collaboration pour un avenir sûr

Les décideurs politiques et les fournisseurs doivent collaborer étroitement pour trouver un équilibre entre l’amélioration de la sécurité et la maintenance des services logiciels essentiels. L'adoption de langages de programmation sécurisés en mémoire, comme recommandé par l'ONCD, est une étape cruciale dans ce voyage et fait partie intégrante de l'avancement de notre cybersécurité collective. 

Plusieurs leaders de l'industrie ont déjà réalisé des investissements importants dans les langages sécurisés pour la mémoire. Les exemples comprennent: 

  • Le langage de programmation Rust de Mozilla : En mettant l'accent sur la sécurité de la mémoire, Rust offre une alternative solide aux langages de programmation traditionnels qui allient sécurité et performances.

  • L'investissement de Microsoft dans Rust : Conscient des limites des langages plus anciens, Microsoft a adopté Rust et l'a utilisé dans plusieurs nouveaux projets où la sécurité de la mémoire était une préoccupation.

  • Efforts de sécurité de la mémoire de Google : Google a investi des ressources considérables dans la recherche et l'atténuation des vulnérabilités en matière de sécurité de la mémoire et a appelé à l'utilisation de langages sécurisés pour la mémoire dans les nouveaux développements. La semaine dernière, Google a publié un nouveau rapport de recherche, « Secure by Design : Google's Perspective on Memory Safety », plaidant en faveur d'une stratégie de sécurité dès la conception. Le rapport se concentre sur l'adoption de langages dotés de fonctionnalités robustes de sécurité de la mémoire et reconnaît les limites de l'évolution du C++ pour répondre à ces normes.

Aller de l’avant : étapes pratiques pour répondre aux recommandations de l’ONCD

Le chemin tracé dans le dernier rapport de l’ONCD est difficile, mais riche d’opportunités. Cela exige des mesures pratiques de la part de tous les acteurs des écosystèmes de développement logiciel et de cybersécurité, notamment :

  • Éducation et formation: Les organisations doivent s'engager à enseigner à leurs équipes les langages sécurisés en mémoire et les pratiques de développement sécurisées, en veillant à ce que les développeurs puissent apporter les changements nécessaires.

  • Plans de transition progressifs : Les organisations doivent élaborer des plans pour la transition des systèmes existants vers des langages gérables et sécurisés en mémoire. Ils doivent d’abord s’attaquer aux domaines les plus critiques et échelonner le projet lentement afin de minimiser les perturbations opérationnelles.

  • Tirer parti des outils d’automatisation : Les organisations doivent utiliser des outils d'analyse de code et des compilateurs modernes qui détectent et corrigent automatiquement les pratiques de code dangereuses tout en réduisant la charge des processus manuels.

  • Politique et gouvernance : Les organisations doivent développer des constructions de gouvernance explicites qui intègrent la sécurité de la mémoire et des pratiques de développement sécurisées tout au long du cycle de vie du développement logiciel.

  • Communauté et collaboration : Il est important que les organisations s’adressent à l’extérieur de leurs murs et à la communauté technologique au sens large dans le cadre de forums, de partenariats et de projets open source pour partager les connaissances, les défis et les solutions en matière de sécurité de la mémoire qui accompagnent ce voyage.

Tester et améliorer sécurité dans les applications qui animent l’économie numérique est une entreprise noble et complexe mais nécessaire qui nécessite une collaboration continue entre les secteurs public et privé. Le dernier rapport de l'ONCD constitue une prochaine étape solide dans l'élaboration de la stratégie ; cependant, il faudra davantage de volonté pour réaliser cette vision. La transition vers des langages de codage sécurisés en mémoire pour les nouvelles applications et la mise à jour du code existant constituent d’énormes défis. Cependant, des progrès sont réalisés grâce aux récentes avancées dans les technologies d’analyse et de compilation de logiciels et aux engagements démontrés par de nombreux leaders technologiques mondiaux.

spot_img

Dernières informations

spot_img