La mise en place de la culture DevSecOps a permis d'éviter la génération d'une faille de sécurité. Voici un exemple qui va convaincre de l'importance d'unclure la cybersécurité dans le Devops.
Le contexte
Numanix* est un organisme de formation présent dans 5 pays européens. Les entreprises clientes disposent d'un espace de suivi des formations et de facturation.
Un jour, plusieurs clients se plaignent de ne plus avoir accès à leur espace. Un développeur enquête et pense que le problème vient du token d'authentification.
Il écrit donc un log qui affiche les données du token. Et effectivement, le bug vient bien d'un problème d'information mal interprété.
Le développeur corrige le bug, lance les tests, commit et crée sa Pull Request.
Son manager, en fin de journée, fatigué après une journée entière de réunions, la valide.
L'alerte
L'une de ces procédures consiste à vérifier qu'aucune donnée sensible n'est loguée. Celle-ci s'enclenche et refuse de valider le merge sur la branche principale.
La raison est très rapidement découverte : le développeur a laissé son log !
Il s'agit d'une erreur humaine, qui arrive au meilleur d'entre nous. Le DevOps avertit sur Slack le développeur qui modifie sa PR en conséquence.
Le gain de la prévention
Sans les procédures mises en place, le log des informations du token aurait été envoyé en production.
Il y aurait donc eu l'exposition de données sensibles hors d'un cadre contrôlé.
Dans le cas où un attaquant parvient à récupérer les données de monitoring et de log des serveurs, celui-ci aurait eu accès à l'authentification des clients.
Les conséquences auraient été une fuite massive de données clients et une perte d'image et de revenu considérable pour l'entreprise.
La leçon apprise
Il y a ici deux leçons à retenir :
- La sensibilisation des développeurs à la cybersécurité est fondamentale pour une bonne hygiène de développement. Nous proposons une introduction au
DevSecOps pour les développeurs.
- L'erreur humaine n'est jamais à exclure. La mise en place de procédures de cybersécurité dans le processus de DevOps, qui devient donc DevSecOps, est le dernier rempart contre l'exposition accidentelle de données sensibles.
Celles-ci figurent, selon le référentiel OWASP, dans le top 10 des failles de sécurité.
* Nom modifié