De nombreux organismes internationaux tels que l’agence de défense américaine, CISA, ou encore le NIST soulignent en effet l’urgence de se pencher sur la manière dont nous recensons et gérons les logiciels et les services dont nous dépendons.
Les organismes de réglementation au niveau mondial, y compris l’Union européenne par le biais du règlement sur la cybersécurité européen, s’efforcent également activement d’atténuer les problèmes liés à la supplychain qui favorisent des incidents tels que ceux précédemment cités.
En matière de chaine d’approvisionnement logicielle, un élément majeur est souvent oublié par les responsables sécurité et devrait faire l’objet d’une plus grande attention. Il s’agit de la cryptographie.
La gestion de la cryptographie est très largement délaissée et même si son utilisation est de plus en plus normée, il y a urgence à agir. Explications.
Le problème : une gestion inadéquate de la cryptographie
Les logiciels modernes s’appuient sur de nombreuses bibliothèques tierces, des composants open-source et une multitude de dépendances. Cette interconnexion peut occulter des vulnérabilités et créer des angles morts en matière de sécurité, ce qui est également le cas pour la cryptographie de ces composants.Selon le dernier rapport DBIR de Verizon, les fuites d’identifiants, souvent synonymes de fuites de clés cryptographiques, figurent parmi les vecteurs d’attaque les plus courants. Si ces clés liées à des machines ou des charges de travail sont compromises en raison de pratiques inadéquates de gestion des clés, elles peuvent permettre aux pirates d’accéder sans autorisation à des systèmes et à des données sensibles.
En l’absence d’outil automatisé permettant de gérer efficacement les innombrables composants logiciels, les entreprises ne sont souvent pas conscientes des risques de sécurité importants liés à leurs dépendances logicielles. Des bibliothèques obsolètes ou non sécurisées, telles que celles utilisant des algorithmes cryptographiques défectueux ou des versions de protocole obsolètes, peuvent être intégrées dans des systèmes critiques.
Pour atténuer ces risques, il est essentiel de s’assurer que les fournisseurs tiers adhèrent aux pratiques modernes de gestion de la cryptographie. Le bug Heartbleed de OpenSSL, utilisé par de nombreux fournisseurs tiers, a exposé des millions de systèmes à des fuites de données. De même, le bug Debian OpenSSL, dont un changement dans le code a conduit à des clés prévisibles affectant des millions de clés SSL/TLS, a souligné l’importance de garantir des implémentations rigoureuses et sécurisées.
Atténuer les menaces cachées
De nombreuses vulnérabilités affectent particulièrement la cryptographie, qu’il s’agisse de bibliothèques et d’implémentations cryptographiques non sécurisées, d’une surveillance inadéquate ou de versions de protocoles cryptographiques obsolètes.- La première ligne de défense consiste à veiller au respect des bonnes pratiques de gestion cryptographique, à une gestion des clés rigoureuse et à l’établissement de rapports détaillés. Des audits réguliers, intégrés dans les processus d’acquisition, permettent de maintenir des pratiques cryptographiques à jour et efficaces. L’analyse continue et les flux de renseignements sur les menaces permettent aux entreprises de garder une longueur d’avance sur les menaces émergentes. Les organisations doivent également se tenir informées des évolutions des normes du secteur et ajuster leurs pratiques en conséquence afin d’assurer une conformité permanente.
- La continuité opérationnelle est un autre aspect essentiel de la sécurisation de la supplychain logicielle. Les perturbations causées par des certificats obsolètes, des problèmes de migration cryptographique ou des attaques ont un impact considérable sur les activités des entreprises. Ainsi, la panne de Microsoft Teams en 2020, causée par un certificat obsolète, témoigne de la manière dont des défaillances dans la gestion des certificats peuvent mettre hors service des services essentiels à l’activité des entreprises.
Une gestion des clés rigoureuse
La mise en œuvre de processus automatisés de permutation et de révocation des clés est essentielle pour réduire le risque de compromission des clés. Cependant, il est tout aussi important de se concentrer sur la gestion des clés en bout de chaîne. Cela implique de sécuriser la distribution et l’utilisation des clés au niveau du point de terminaison, là où les informations d’identification et les clés sont souvent les plus vulnérables.De nombreuses entreprises ne parviennent pas à atteindre leurs objectifs en se concentrant uniquement sur la « prolifération des secrets » (secret sprawl), c’est-à-dire en centralisant les clés et les informations d’identification, puis en les distribuant à travers les déploiements sans contrôle adéquat. Cette approche ciblée conduit à une « pulvérisation de secrets » (secret spray), ce qui accroît le risque de fuite de clés et d’accès non autorisé.
Un exemple frappant des conséquences d’une gestion inadéquate des clés en bout de chaine est l’incident Storm-0558, qui a permis à des pirates chinois de falsifier des jetons d’authentification en exploitant des clés cryptographiques mal gérées. Cette compromission a révélé comment des défaillances dans la gestion des clés des points de terminaison peuvent conduire à des incidents de sécurité considérables, soulignant la nécessité d’une gestion des clés rigoureuse en bout de chaine afin de boucler la boucle de la sécurité de bout en bout.
En outre, il est essentiel d’utiliser des outils qui permettent de surveiller et d’alerter en temps réel les erreurs cryptographiques et les compromissions des politiques. De même, le fait d’exiger des fournisseurs qu’ils conservent et mettent régulièrement à jour les nomenclatures des logiciels (SBOM) contribue à garantir la transparence de tous les composants. Les SBOM fournissent un inventaire détaillé de l’ensemble des composants logiciels.
Cependant, ils ne rendent pas compte de la cryptographie qu’ils utilisent, ce qui rend difficiles l’identification et la résolution des vulnérabilités cryptographiques lorsqu’elles sont connues. Les outils de découverte entrent alors en jeu. Ils aident à tenir les fournisseurs responsables de leurs promesses en matière de sécurité, à découvrir leurs méthodes d’utilisation de la cryptographie et la manière dont sont utilisées les capacités cryptographiques de leurs produits.
La solution : une gestion unifiée de la cryptographie
Pour faire face à ces enjeux, il est essentiel d’intégrer une gestion cryptographique rigoureuse dans les processus de base du développement et de l’exploitation des logiciels. Une plateforme de gestion unifiée de la cryptographie garantit que tous les composants logiciels respectent des normes cryptographiques strictes. Cette plateforme devrait automatiser la gestion des clés, surveiller les activités cryptographiques et garantir la conformité avec les normes du secteur et les organismes de réglementation.La sécurisation de la supplychain logicielle exige une approche proactive de la gestion cryptographique. Les organisations doivent adhérer à des normes approfondies et mettre en œuvre des pratiques de gestion des clés rigoureuses. Il est également essentiel de tenir des inventaires détaillés de l’utilisation, d’assurer une surveillance continue et d’établir des rapports détaillés.
Par Marc Manzano, directeur général cybersécurité chez Sandbox AQ