
Les secrets codés en dur représentent un risque sérieux pour la sécurité car ils sont souvent stockés en texte brut, ce qui permet à un attaquant d’extraire facilement le secret du code source. Il existe également la possibilité d’une divulgation ou d’une exposition accidentelle de secrets codés en dur, par exemple par le biais d’attaques par injection de code ou de fuites de données.
2022 est l’année où “la plupart des secrets ont été divulgués”
Les analyses de GitGuardian de plus d’un milliard de commits GitHub au cours de l’année écoulée montrent que 2022 a été une année particulièrement élevée pour les fuites liées aux secrets. Sur les 13,3 millions d’auteurs individuels qui ont envoyé du code à GitHub en 2022, 1,35 million ont accidentellement exposé des secrets, avec 5,5 commits sur 1 000 exposant au moins un secret.
GitGuardian classe les secrets en deux types : les types spécifiques et les types généraux. Certains détecteurs de secrets correspondent à des secrets facilement identifiables, tels que les clés d’accès AWS ou les informations d’identification de la base de données MongoDB, qui représentaient 33 % de tous les secrets détectés par GitGuardian. Les secrets de type courant, tels que les e-mails et les mots de passe de l’entreprise codés en dur dans des fichiers, représentaient 67 %.
Les types de secrets spécifiques que GitGuardian a le plus capturés étaient google_api_key, private_key_rsa, private_key_generic, googlecloud_keys et postgresql_credentials. Les types de secrets les plus courants étaient les mots de passe, les secrets d’entropie et les noms d’utilisateur/mots de passe. GitGuardian explique comment les secrets sont utilisés à mauvais escient dans des cas récents ▲obtention de secrets par des attaques (Uber, CircleCI) ▲vol de référentiels de code source (Nvidia, Samsung, Microsoft, Octa, Lastpass) ▲exploitation de secrets exposés publiquement (Android, Toyota, Infosys).
Secrets codés en dur et secrets qui menacent la chaîne d’approvisionnement SW
Selon le rapport, les secrets codés en dur et la diffusion imprudente de secrets constituent une menace majeure pour la sécurité de la chaîne d’approvisionnement des logiciels. « Les secrets peuvent être révélés de plusieurs façons. Le code source est un atout qui peut rapidement être perdu au profit des sous-traitants. Le vol de code source est également une voie d’exposition représentative.
Il convient également de noter la discussion et l’activité croissantes autour du partage de secrets d’API sur le dark web. “La discussion sur le vol et la vente de clés API est un phénomène relativement nouveau qui a émergé sur le darknet au cours des dernières années et qui devrait continuer à se développer”, a déclaré GitGuardian. Les acteurs de la menace qui souhaitent diffuser largement des logiciels malveillants en compromettant les chaînes d’approvisionnement discutent également des points pivots et des informations d’identification provenant de référentiels publics.
“Les secrets de codage en dur sont une fonctionnalité hautement souhaitable du point de vue de la sécurité et non de la sécurité, comme les mises à niveau de l’infrastructure, mais il est difficile de changer et d’être exposé à toute personne ayant accès à la source”, a déclaré Fernando Montenegro, analyste principal d’Omdia au CSO. Ainsi, les attaquants utiliseront des secrets pour se faire passer pour quelqu’un ou obtenir des détails sensibles sur votre infrastructure.
“Les conséquences de l’exploitation de secrets codés en dur vont des résultats d’audit négatifs à la compromission pure et simple de l’infrastructure et aux violations massives de données”, a déclaré le Monténégro. Il est maintenant courant que ces secrets entrent dans des systèmes de contrôle de code source comme Git, afin qu’ils puissent être exposés beaucoup plus largement, même au public.”
Les secrets codés en dur sont exposés et fragiles, et peuvent constituer une menace pour les initiés familiers avec le secret. “Les secrets codés en dur dans les produits commerciaux ouvrent la voie à des attaques DDoS à grande échelle”, a déclaré Veracode CISO Soheil Iqbal. “L’augmentation des attaques de la chaîne d’approvisionnement signifie que les pipelines CI/CD confidentiels sont en danger.”
Comment arrêter de “divulguer des secrets”
GitGuardian a souligné la nécessité de comprendre que le code source est un atout précieux qui doit être protégé. “La première étape consiste à examiner clairement la posture de sécurité d’une entreprise en ce qui concerne le secret”, a déclaré l’équipe du rapport. Cela inclut où vos secrets sont utilisés, où ils fuient et comment vous vous préparez au pire. Comme d’autres problèmes de sécurité, une mauvaise hygiène de la confidentialité implique généralement trois éléments : les personnes, les processus et les outils. Pour gérer le secret qui se répand, il faut gérer tous les fronts simultanément.
La détection et l’atténuation des secrets codés en dur peuvent être décalées à différents niveaux pour renforcer la défense en profondeur tout au long du cycle de développement. GitGuardian a introduit la stratégie suivante.
- Surveillez les validations et les demandes de fusion/extraction vers n’importe quel référentiel en temps réel grâce à l’intégration native VCS ou CI.
- Empêchez les secrets de fuir des référentiels centraux en activant la pré-accusé de réception.
- Élaborez des plans à long terme, tels que l’analyse des dossiers historiques pour élaborer des stratégies de réponse aux incidents.
- Mettre en œuvre le programme de champion de la sécurité secrète.
“La priorité devrait être donnée à la conception de l’environnement pour éviter d’utiliser des secrets codés en dur”, a déclaré le Monténégro. Les solutions disponibles incluent des outils de gestion des secrets et des révisions de code source. Surtout, il est important que tout le monde, des développeurs aux ingénieurs en sécurité en passant par chaque chaîne de contrôle, reconnaisse que les secrets codés en dur sont des défauts de conception de sécurité qui “doivent être corrigés”.