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
Dans le processus de déploiement de la PR, le DevOps, formé au DevSecOps grâce à notre formation finançable à 100 %, a écrit des procédures de cybersécurité.
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é
En résumé
- Un développeur de Numanix a involontairement laissé un log sensible lors d'une correction de bug, risquant une fuite de données.
- Grâce à la formation DevSecOps de l'équipe DevOps, une procédure de sécurité, mise en place pré-déploiement, a détecté et empêché l'erreur avant sa mise en production.
- Cet incident souligne la nécessité de sensibiliser les développeurs à la cybersécurité et d'intégrer des procédures de sécurité robustes pour prévenir les erreurs humaines et les failles potentielles.