Agence web » Actualités du digital » Codecov piraté! Que faire maintenant si vous utilisez Codecov –

Codecov piraté! Que faire maintenant si vous utilisez Codecov –

Codecov a été piraté d’une manière qui affecte tous ses clients. Des milliers d’entreprises commerciales et de projets open source sont concernés. Voici ce que vous devez faire si vous en faites partie.

Qu’est-ce que Codecov?

Si vous n’êtes pas impliqué dans l’intégration continue et le déploiement / livraison continus (CI / CD) ou toute autre automatisation du développement logiciel, vous ne connaissez peut-être pas le nom Codecov.

Codecov fournit un service hébergé qui indique aux développeurs dans quelle mesure leur code source a été vérifié par les tests automatisés qui font partie de leur processus de création de logiciels. C’est une métrique appelée couverture de code. Les projets logiciels compliqués peuvent avoir des milliers de fichiers de code source. Connaître la couverture du code vous indique à quel point vos tests sont efficaces, car du code non testé peut contenir des bogues.

Il existe de nombreux chemins d’exécution possibles dans du code non trivial. Ecrire des tests qui vérifient tous les chemins est difficile. Fondamentalement, vous écrivez du code pour trouver des failles dans d’autres codes. Mais si votre code de test n’est pas conçu et écrit correctement, il ne couvrira pas tous les chemins d’exécution possibles. Cela signifie qu’il y aura des trous dans votre couverture de code.

Codecov lit la sortie générée par votre processus de construction et produit des rapports qui montrent exactement les chemins d’exécution que votre code de test a manqués. Vous pouvez ajouter des tests pour couvrir ces régions ou modifier la logique des tests existants pour qu’ils exercent à fond la routine qu’ils sont censés tester.

La couverture du code est vitale pour produire un logiciel stable, en particulier avec de grandes équipes de développeurs. Vous pouvez voir à quel point cela est pris au sérieux en examinant certains des 29 000 clients de Codecov. Des organisations comme Kubernetes, Mozilla, HashiCorp et Atlassian s’appuient toutes sur Codecov pour leurs rapports de couverture de code. Et comme Codecov est gratuit pour les projets open-source, il existe également des milliers de projets open-source utilisant Codecov.

C’est pourquoi c’est une si bonne cible pour les cybercriminels.

Attaques de la chaîne d’approvisionnement

Une attaque de la chaîne d’approvisionnement compromet un fournisseur ou un prestataire de services afin de compromettre les véritables cibles – tous leurs clients et utilisateurs. Si vous voulez empoisonner une ville entière, vous n’allez pas de maison en maison. Vous empoisonnerez la station d’épuration et attendrez.

C’est ce qui s’est passé lors de la récente attaque SolarWinds. SolarWinds n’était pas la cible, c’était juste un moyen efficace pour les acteurs de la menace d’atteindre tous les clients de SolarWinds. Et comme les clients de Solarwinds étaient pour la plupart des fournisseurs de services gérés et des organisations de support informatique externalisées, tous leur les clients étaient également exposés à des risques.

L’attaque Codecov

Le 15 avril 2021, Codecov a révélé publiquement qu’un script Bash utilisé pour télécharger des fichiers sur ses serveurs avait été modifié par des acteurs menaçants. On pense que le compromis initial chez Codecov s’est produit fin janvier 2021. Le script compromis a collecté des informations sensibles à partir des environnements d’intégration continue des clients et a téléchargé ces informations sur le serveur de l’attaquant. Les informations d’identification d’accès telles que les jetons d’identification et les clés API, ainsi que tout ce qui est stocké dans les variables d’environnement ont été collectées par le script modifié.

C’était une attaque classique de la chaîne d’approvisionnement. En injectant une seule ligne de code dans le script de téléchargement Bash de Codecov, les acteurs de la menace avaient les moyens d’accéder aux environnements d’intégration continue de tous les clients qui utilisaient le script. Et comme ce script est utilisé dans trois des routines de téléchargement de Codecov – Codecov-actions, CircleCl Orb et Bitrise Step -, très peu de clients Codecov ne seraient pas exposés à ce risque.

Cela ne signifie pas que tous les clients ont été violés, mais simplement qu’ils ont été exposés à la menace d’un accès non autorisé. HashiCorp est un client connu pour avoir été compromis, tandis que d’autres comme Atlassian et Hewlett Packard Enterprises n’ont découvert aucune preuve de compromis.

Les acteurs de la menace ont eu accès à l’infrastructure Codecov via un conteneur Docker mal configuré. Ils ont ajouté une ligne au script de téléchargement Bash à la ligne 525 du fichier. Nous pouvons isoler la nouvelle ligne en utilisant le colordiff commander. le diff la commande fonctionnerait tout aussi bien, mais la colordiff la sortie est un peu plus facile à lire, étant codée par couleur. Il est disponible dans tous les référentiels de distribution Linux.

diff current.sh compromised.sh

L’adresse IP du serveur de l’attaquant était 104.248.94.23, qui est un serveur virtuel hébergé par Digital Ocean.

Inutile de dire que les cybercriminels n’utiliseront pas d’adresse IP qui pointe vers eux-mêmes.

Dès que Codecov a découvert le compromis, ils ont pris des mesures pour fermer l’accès non autorisé, communiquer avec leurs clients et enquêter sur l’incident. Codecov a:

  • Collaboration avec Digital Ocean pour arrêter le serveur de l’acteur de la menace.
  • Régénéré et mis à jour toutes les informations d’identification Codecov affectées ou potentiellement affectées et fermé l’accès non autorisé qui permettait de modifier le script de téléchargement.
  • Vérifié leurs journaux d’infrastructure pour déterminer comment l’accès non autorisé était possible et quelle clé d’authentification a été utilisée.
  • Amélioration ou mise en œuvre d’outils de surveillance et d’audit du réseau à des points clés de leur infrastructure pour détecter et prévenir la récurrence de ce type d’attaque.

Affecté? Ce que vous devez faire maintenant

Codecov a envoyé un e-mail à tous les clients qui, selon lui, sont à risque. Que vous ayez entendu parler d’eux ou non, si votre organisation est cliente de Codecov, vous devez supposer que vous courez un risque de compromis.

Étant donné que les informations d’identification, les clés de connexion et d’autres informations sensibles et confidentielles sont transmises d’une étape à l’autre du processus CI / CD, les acteurs de la menace peuvent avoir récolté ces détails. Ils ont peut-être été en mesure de rassembler et de récupérer:

  • Toutes les informations d’identification, jetons ou clés d’authentification ou de privilège qui étaient accessibles au script pendant l’exécution des processus CI / CD du client.
  • Tous les services, données ou code source tiers auxquels les processus CI / Cd pourraient accéder.
  • Les détails du dépôt distant git.

Vous pouvez facilement vérifier ce qu’il y a dans les variables d’environnement de votre environnement CI / CD en utilisant le env commande et le canalisant dans less pour le rendre plus gérable:

env | less
  • Examinez la sortie et s’il y a quelque chose qui est sensible ou autorise tout type d’accès, modifiez les informations d’identification sur ce compte, cette plate-forme ou ce service.
  • Si vous utilisez une copie locale du script de téléchargement Bash, il est peu probable que vous ayez été affecté, mais vous êtes toujours encouragé à remplacer ce script local par la dernière version.
  • Vérifiez votre système pour les tentatives d’utilisation par les informations d’identification et les clés invalides. Si des tentatives sont détectées, cela signifie que les acteurs de la menace essaient d’utiliser les informations qu’ils ont exfiltrées de votre plate-forme CI / CD pour entrer.

Agissez de manière défensive. En cas de suspicion ou de possibilité de compromission, régénérez immédiatement les informations d’identification et les clés pertinentes.

★★★★★