Dans le cas de la récente affaire XZ Utils, les professionnels les plus chevronnés sont restés bouche bée devant la sophistication et les dommages potentiels auxquels le monde entier a échappé. Un incident très révélateur dont il faut savoir tirer les leçons…

Pour ceux qui auraient raté l’incident il y a quelques semaines, un développeur a découvert par hasard qu’une porte dérobée malveillante était présente dans l’utilitaire de compression open-source (très répandu) XZ Utils. La porte dérobée avait été placée intentionnellement dans le but de créer un accès pratiquement illimité à la plupart des serveurs qui alimentent l’infrastructure mondiale.

La réaction rapide de la communauté open source a été tout à fait remarquable. Quelques jours à peine après le rapport initial, l’attaque a été non seulement identifiée, mais aussi entièrement résolue, et ce avant que la version compromise de l’outil n’ait pu se propager à grande échelle. C’est un puissant rappel des avantages de l’open source : s’il s’était agi d’un code fermé, qui sait si la faille aurait été détectée, et encore moins si elle aurait été corrigée aussi rapidement ? Espérons que cet incident majeur incitera l’industrie à développer des approches plus durables en matière de logiciels open source et, peut-être, à faire en sorte que le dessin de xkcd « Dependency » reflète moins l’état actuel du développement de logiciels.

Mais du point de vue de la sécurité, il y a un autre élément clé à retenir : dans le cadre des attaques sur la supply chain logicielle, ne pas inclure GitHub dans la cartographie des risques pourrait rapidement devenir une erreur très coûteuse – et tout particulièrement pour les entreprises qui ne sont pas activement impliquées dans le développement open source.

GitHub : un outil à double tranchant

La popularité fulgurante de GitHub en a fait une cible irrésistible pour les pirates et les cybercriminels. Avec plus de 300 millions de dépôts publics et 100 millions d’utilisateurs, la vaste surface d’attaque de la plateforme offre de nombreuses possibilités d’exploitation aux acteurs malveillants. L’adoption généralisée de GitHub dans tous les secteurs, des géants de la technologie aux agences gouvernementales, signifie qu’une seule vulnérabilité ou un compte compromis peut avoir des conséquences considérables.

GitHub a été le terrain de jeu de Jia Tan, le profil (probablement faux) qui a patiemment construit un historique de crédibilité en préparation du sabotage de XZ Utils. Mais ce n’est là qu’un exemple de la manière dont les acteurs malveillants utilisent la plateforme pour tromper les développeurs : récemment, des attaquants se sont fait passer pour Dependabot (un bot qui vérifie les dépendances obsolètes et suggère des modifications prêtes à être fusionnées) pour exfiltrer des secrets de centaines de dépôts.

Sur un autre plan, une étude a révélé que des millions de dépôts sont potentiellement vulnérables au « RepoJacking », une faille de sécurité qui peut permettre à des acteurs malveillants de prendre le contrôle d’un namespace GitHub (et donc la réputation d’une dépendance fiable) en enregistrant un nom d’utilisateur nouvellement disponible. La nature ouverte de la plateforme et ses caractéristiques collaboratives, bien qu’essentielles pour favoriser l’innovation, en font également un terrain de chasse idéal pour les cybercriminels. Les pirates peuvent facilement créer des comptes, contribuer à des projets et même mettre en place des dépôts malveillants qui se font passer pour des dépôts légitimes.

Ils peuvent également récolter des données sensibles exposées par inadvertance, comme des secrets, dont 12,8 millions ont été retrouvés en 2023. Il est donc urgent que les organisations envisagent sérieusement de surveiller leur empreinte GitHub.

Le problème de la fuite de secrets

La prolifération des dépôts de code sur GitHub amplifie le risque d’exposition d’informations sensibles, à la fois accidentellement et délibérément. 12,8 millions de nouvelles occurrences de secrets ont fuité publiquement sur GitHub en 2023, marquant une augmentation de 28 % par rapport à l’année précédente. Cette tendance est d’autant plus préoccupante que ces incidents ont quadruplé depuis 2021.

Le rapport « State of Secrets Sprawl » a identifié plus d’un million d’occurrences valides de fuites de secrets d’API Google, 250 000 secrets de Google Cloud et 140 000 secrets d’AWS. La plupart de ces fuites concernent des informations d’identification appartenant à des entreprises, le secteur des technologies de l’information représentant près de 66 % de l’ensemble des fuites détectées. Toutefois, le problème concerne plusieurs secteurs, notamment l’éducation, la science et la technologie, la vente au détail, la fabrication, la finance et l’assurance, ce qui met en évidence l’exposition de nombreux secteurs à la plateforme de partage de code.

L’une des conclusions les plus alarmantes du rapport est que nombre de ces informations d’identification restent valables pendant longtemps, même si le code qui les héberge disparaît de la circulation publique. 90 % des secrets valides restent actifs pendant au moins cinq jours après que l’auteur en a été informé, ce qui expose les organisations au risque d’être vulnérables à ce que le rapport appelle des « fuites zombies ». Il s’agit d’informations d’identification persistantes qui ont été effacées mais non invalidées. Parce qu’elles sont toujours valides et exploitables, elles représentent une vulnérabilité invisible mais à fort impact qui pourrait fournir aux attaquants un moyen furtif d’infiltrer les systèmes.

Cette grave lacune en matière de sécurité souligne l’urgence pour les organisations de mettre en œuvre de solides pratiques de gestion des secrets et d’automatiser le processus de remédiation afin de minimiser l’impact des fuites de secrets.

Leçons tirées de l’incident XZ Utils

Cette histoire souligne une vérité essentielle : la sécurité des logiciels open source n’est pas seulement une préoccupation des départements informatiques ou des entreprises technologiques, c’est un impératif pour tous. Aujourd’hui, chaque organisation, quelle que soit son activité dans le domaine open source, devrait donner la priorité à la sécurité de ces bases de code partagées et considérer les plateformes comme GitHub comme faisant partie intégrante de leur surface d’attaque.

La mise en œuvre d’une stratégie complète de surveillance et d’audit peut aider les organisations à réduire le risque de voir une clé exploitée par un acteur malveillant. Pour cela, elles doivent être en mesure d’identifier les fuites en dehors des dépôts sur lesquels l’organisation a le contrôle, tels que les dépôts personnels ou open-source. Pour ce faire, il convient d’analyser régulièrement les dépôts à la recherche de secrets exposés, tels que les clés d’API, les identifiants de base de données et les jetons d’accès, qui peuvent servir de points d’entrée aux attaques.

Investir dans des outils de surveillance et d’audit automatisés peut considérablement rationaliser le processus et réduire la charge de travail des équipes de sécurité. Ces outils peuvent analyser en permanence les dépôts, fournir des alertes en temps réel et générer des rapports complets, ce qui permet aux entreprises de maintenir un niveau de sécurité élevé sur GitHub.

En outre, l’audit des dépôts GitHub peut permettre de découvrir des menaces cachées, telles que des injections de codes malveillants, des portes dérobées et des attaques de la supply chain logicielle. En examinant minutieusement les modifications de code, l’historique des livraisons et les activités des contributeurs, les entreprises peuvent détecter des schémas suspects et prendre rapidement des mesures pour atténuer les risques.

Toutefois, il est essentiel de noter que le contrôle et l’audit ne suffisent pas à eux seuls. Les organisations doivent également établir des politiques et des procédures claires pour répondre aux risques et aux vulnérabilités identifiés. Il s’agit notamment de mettre en œuvre des plans de réponse aux incidents efficaces, d’organiser régulièrement des formations à la sécurité pour les développeurs et d’encourager une culture de sensibilisation à la sécurité dans l’ensemble de l’organisation.

En donnant la priorité à la surveillance et à l’audit proactifs des dépôts GitHub, les entreprises peuvent réduire efficacement leur surface d’attaque, protéger leurs actifs précieux et garantir l’intégrité de leur chaîne d’approvisionnement en logiciels. À une époque où les attaques contre la supply chain sont de plus en plus sophistiquées et répandues, négliger la sécurité de GitHub est un risque qu’aucune organisation ne peut se permettre de prendre.
_____________________________

Par Thomas Segura, spécialiste cybersécurité chez GitGuardian

 

À lire également :

Backdoor XZ Utils sous Linux : l’open source en question ?

Protéger les clés d’accès – Leçons tirées du hack des clés Azure…

Cybersécurité 2024 : Qu’entend-on par sécurité de la supply chain logicielle ?

Les fuites de données d’identification restent un problème majeur

Développeurs, savez-vous garder un secret ?