Prolifération des secrets sur GitHub : quel impact pour les MSP ?

Dans son dernier rapport, GitGuardian révèle que plus de 6 millions de secrets ont été exposés en 2021 sur GitHub. Voici pourquoi les MSP devraient s'en inquiéter en premier lieu.

Les secrets sont des moyens d'authentification numérique (clés d'API, certificats, jetons, etc.) utilisés par des applications, des services ou des infrastructures. Les développeurs qui travaillent avec du code conservent souvent les clés et les mots de passe de diverses ressources dans un endroit non sécurisé afin de faciliter la modification du code, mais ce faisant, il arrive que les informations soient publiées par erreur.

Dans son dernier rapport 2022 The State of Secrets Sprawl, GitGuardian révèle que plus de 6 millions de secrets ont été exposés en 2021 seulement sur la plateforme numéro une de partage de code : GitHub. Ce chiffre a doublé entre 2020 et 2021. Parmi tous les secrets détectés, un nombre conséquent correspond à de précieuses informations d'identification d'entreprise qui représentent une grave cybermenace.

Cet article se concentre sur un type d'entreprise qui est particulièrement à risque : les fournisseurs de services informatiques. Ces dernières années, le recours aux MSP est devenu très populaire auprès des entreprises désireuses d'accélérer la numérisation de leurs activités. Avec ce regain de popularité, les MSP élargissent leur éventail de responsabilités et sont désormais confrontés à la question suivante : comment s'assurer que nous pouvons assumer nos responsabilités en matière de cybersécurité

L'état de la prolifération des secrets sur GitHub

Les secrets sont partout dans le cycle de vie du développement moderne : ils sont utilisés en production mais aussi sur les serveurs de build et les machines personnelles des développeurs. Ces dernières années, le nombre d'éléments constitutifs d'une application (y compris les outils de build) a massivement augmenté. Il n'est pas rare aujourd'hui de constater qu'un serveur web nécessite une base de données gérée, des applications SaaS, des composants open source, des microservices backend et une infrastructure cloud pour être prêt pour la production.

Si l'on tient compte du fait que GitHub, la plateforme de partage de code la plus populaire, se développe à grande vitesse (+25 % de dépôts créés en 2021), il n'est pas surprenant de constater que le nombre de secrets divulgués par erreur monte en flèche : en moyenne, 3 commits sur 1 000 ont exposé au moins un secret en 2021, soit une augmentation de 50% par rapport à 2020.

Une idée répandue est que les fuites se produisent parce que les développeurs ne sont pas assez prudents. Le rapport apporte un autre éclairage à ce sujet en montrant comment les fuites sont proportionnelles à l'adoption par les utilisateurs d'un service donné, ce qui signifie que la prolifération des secrets doit être considérée comme un phénomène organique. En clair, l'erreur est humaine, et la question n'est pas tant de savoir si un jour un oubli aura lieu mais plutôt combien de fois cela s'est déjà produit et comment éviter que cela se reproduise. D'autant plus que les secrets sont un type de vulnérabilité plus persistantes que d'autres car ils peuvent être enfouis dans une ancienne version du code source qui n'a jamais été déployée et rester valides. C'est ce qui les rend encore plus difficiles à trouver et à corriger.

Qu'est-ce que cela signifie pour les MSP?

Les fournisseurs de services emploient souvent des centaines, voire des milliers de développeurs. Plus de développeurs signifie plus de services, plus d'équipes DevOps, plus de secrets, et, mécaniquement, plus de secrets oubliés dans le code source.

Voici l'idée essentielle : même si votre organisation ne fait pas d'open source, cela ne veut pas dire que développeurs n'en font pas ! Une organisation n'a pas besoin d'avoir une présence officielle sur GitHub pour être vulnérable.

En théorie, les MSP connaissent bien la sécurité car ils fournissent des services et une assistance informatiques à leurs clients et sont donc chargés de veiller à la mise en œuvre de la sécurité informatique. Mais la réalité est tout autre : une récente enquête de LogicMonitor, The next-gen managed service provider, a révélé que 80% des clients d'MSP avaient déjà subi des cyberattaques, et que les MSP admettaient ne pas être "très confiantes" dans leur capacité à faire face à une attaque de ce genre.

On peut difficilement les blâmer : le cycle de vie du développement logiciel a évolué vers une chaîne d'approvisionnement très complexe impliquant un grand nombre de tiers. La sécurité doit être appliquée en prenant en compte une surface d'attaque beaucoup plus grande qu'auparavant. En fait, les chaînes d'approvisionnement logicielles sont rapidement devenues la principale priorité en matière de sécurité pour les entreprises produisant d'une manière ou d'une autre du logiciel (c'est-à-dire pour à peu près toute entreprise).

L'incapacité à évaluer les menaces existantes sur Internet et à gérer leur exposition pourrait représenter un risque existentiel pour les MSP. Du point de vue de la réputation, une fuite d'informations d'identification sur GitHub donnant accès aux données clients (y compris le code source), à des services internes ou à tout type d'infrastructure pourrait constituer l'un des pires scénarios pour celles-ci.

Même si ce n'est pas pour obtenir un accès initial, l'identification de secrets dans l'historique du code source fait partie de la technique de base de la plupart des pirates. Les secrets peuvent également être utilisés pour altérer les logiciels des MSP et les transformer en un vecteur d'attaque pour affecter des centaines de clients à la fois, comme l'ont montré les attaques de la chaîne d'approvisionnement de Kaseya et SolarWinds en 2021. Ces risques devraient à eux seuls suffire à alerter sur la nécessité de prendre des mesures préventives dès maintenant.

Garder une longueur d'avance

Comme le dit le dicton, mieux vaut prévenir que guérir. Les MSP commencent à élaborer des plans de cyber-résilience pour faire face aux problèmes de cybersécurité, mais pour être efficace, la première étape consiste à cartographier leur surface d'attaque.

Cela inclut la mise en place d'un périmètre dynamique incluant chaque développeur et la surveillance de toutes leurs activités publiques, même sur les dépôts GitHub personnels. N'oubliez pas que GitHub est assez unique dans le sens où les développeurs peuvent (et la plupart le font) utiliser le même compte pour leur travail personnel et professionnel.

Mais GitHub n'est pas la seule plateforme concernée. Dans son rapport, GitGuardian a également mené une enquête sur les images Docker, montrant que près de 5% de toutes les images publiques exposent au moins un secret, et que plus votre image comporte de couches, plus il est probable qu'il y ait un secret. Cela signifie que pour sécuriser de manière exhaustive le cycle de vie du développement logiciel, le problème doit être abordé à plusieurs niveaux.

La mise en place d'une défense en couches tout au long du cycle de développement, avec des capacités de détection et de remédiation, dépasse le cadre de cet article. Mais comme les MSP devront s'adapter à des clients de plus en plus soucieux de leur cyber-résilience, ce sujet deviendra inévitablement stratégique pour le déploiement de services sécurisés à l'avenir.

De plus, les cadres de conformité en matière de cybersécurité tels que le NIST SSDF ou le SLSA de Google sont en cours de consolidation et exigeront dans les années à venir que la sécurité soit intégrée dès le départ dans les produits informatiques. Le NIST, dans le cadre de l'Executive Order (EO) 14028, a déjà lancé une initiative visant à définir des normes de test minimales pour les vendeurs ou les développeurs de logiciels, dans lesquelles figure la réalisation d'une analyse statique pour trouver les secrets codés en dur.

Conclusion

Les MSP auront un rôle important à jouer dans la sécurisation des opérations informatiques dans les années à venir. C'est pourquoi ils doivent être conscients que plus ils gèrent de développeurs, plus leur empreinte sur GitHub est importante. Et que loin d'être inoffensifs, les secrets exposés sur les plateformes de partage de code sont activement recherchés et exploités par des attaquants, comme l'ont démontré diverses brèches récentes. Les fuites de secrets peuvent avoir un impact non seulement sur une organisation, mais aussi sur les utilisateurs et les clients, ce qui explique pourquoi les MSP devraient les considérer comme une priorité absolue. Les enjeux sont élevés, et il est temps d'agir. Investir dans des produits de surveillance, d'évangélisation et de formation en matière de sécurité et de protection est le meilleur moyen de se prémunir contre les cybermenaces.