Début octobre, Toyota Motor Co. a averti environ 300 000 clients que leurs données pourraient avoir été volées. Not so fun fact : cette potentielle fuite aurait été causée par un token d’accès rendu public en 2017.
Comment expliquer ce lead-time de 5 ans ?
💡 Explication
Toyota explique qu’en décembre 2017, l’entreprise contractante responsable du développement a accidentellement ajouté une partie du code source à leur GitHub alors que celui-ci est public. Ceci a permis à un attaquant non-identifié de récupérer l’access key et d’accéder au serveur contenant les informations des clients T-Connect.
Il s’agit d’un scénario très commun de vol de mot de passe/token. Roger Grimes, évangéliste chez KnowBe4, avance qu’on peut estimer à plusieurs centaines de milliers les secrets disponibles sur GitHub. Selon lui, il faudrait moins de 30 minutes pour qu’un secret soit détourné à partir du moment où il est rendu public sur un repository.
🛡 Comment se protéger ?
Face à ce problème, GitHub a commencé à scanner les repository à la recherche de secrets et à bloquer les commits qui contiennent des authentication keys. Cependant, vous aurez compris que si un développeur ajoute une access key non standard ou un custom token, GitHub ne saura pas le détecter.
De manière générale, Il ne faut pas stocker de secrets dans la codebase, et ce même si le repository est privé : rien n’assure que celui-ci ne deviendra pas un jour public… Pour éviter d’être la prochaine victime, voici quelques astuces et recommandations :
- Implémenter un système de gestion des secrets qui consiste à récupérer les secrets depuis un serveur sécurisé plutôt qu’à les hardcoder.
- Instaurer une rotation périodique des API keys (recommandation des experts en sécurité).
- Scanner sa codebase avec des outils comme gitrob.
- Porter une attention particulière lors des code reviews : il est nécessaire de relire commit par commit si un squash & merge n’est pas réalisé à la fin.
🏹 Le mot de la fin
Le constructeur automobile japonais conclut en affirmant que, malgré l’absence de signe prouvant un détournement des données, on ne peut exclure la possibilité que quelqu’un en ait effectivement volé.
Nous avons pour ambition de sécuriser le web, et pour atteindre cet objectif, nous avons besoin de vous ! Si vous avez des questions, des suggestions ou le moindre doute, n'hésitez pas à contacter notre équipe sécurité security@theodo.fr.