Avec le piratage répété de plusieurs groupes high-tech, les pirates de Lapsus$ ont réussi — en ce début d’année 2022 — à attirer l’attention aussi bien médiatique que policière. Mais leurs actions ont également mis en exergue un problème relativement peu connu : les risques liés aux codes sources.
En effet, parmi toutes les données que le groupe Lapsus$ a volé puis diffusé, figuraient beaucoup de lignes de codes. Et dans ces codes, il y avait beaucoup de secrets : des mots de passe, des jetons d’accès, des adresses de configuration, des codes de connexion, etc.
Ainsi, dans les 200 Go subtilisés à Samsung, la société française GitGuardian, spécialisée dans la sécurité du code source, a trouvé plus de 6000 secrets, dont 600 tokens d’authentification qui donnaient potentiellement accès à des ressources externes du géant sud-coréen, comme des serveurs ou du stockage sur AWS, GitHub ou autre. Autant de possibilités que des pirates pourraient utiliser pour progresser de manière latérale dans des systèmes.
A découvrir aussi en vidéo :
Même histoire pour Twitch, qui s’est également fait voler environ 200 Go de données internes quelques mois auparavant par un autre hacker. Ce piratage a fait couler beaucoup d’encre, car les documents révélaient les revenus des streamers. Mais il y avait aussi beaucoup de codes sources dans ce dépôt, et GitGuardian y a détecté plus de 6 000 secrets, une fois encore. Un véritable jackpot pour les pirates.
Mais ce n’est pas la peine d’attendre le prochain vol de données pour trouver de nouveaux secrets. Il suffit de scanner régulièrement les très nombreux codes sources en accès libre sur GitHub.
En 2021, GitGuardian y a trouvé plus de… six millions de secrets. Ce qui est deux fois plus qu’en 2020. Évidemment, ce trésor à secrets n’est plus un… secret pour personne. Un token d’authentification publié sur GitHub est détecté en quelques minutes par des scanners automatiques, dont on ne sait pas s’ils sont bienveillants ou malveillants.
Alors comment se fait-il que tous ces codes regorgent de secrets ?
« Les logiciels d’aujourd’hui sont extrêmement interdépendants les uns dess autres, nous explique Romaric Philogène, développeur et fondateur de Qovery, un éditeur spécialisé dans le déploiement d’applications dans le cloud. Chaque application peut intégrer des dizaines de services tiers, et pour chacun d’eux il faut compter au moins un secret pour pouvoir s’y connecter. »
Évidemment, ces secrets ne devraient pas être codés en dur dans les logiciels. Ils devraient figurer dans un fichier de configuration ou, mieux, dans une base de données sécurisée que l’exécutable va interroger en cas de besoin.
Une négligence est vite arrivée
Mais le problème, c’est que ces bonnes pratiques ne sont souvent pas appliquées. Les raisons peuvent être multiples : des cycles de développement toujours plus courts, des codeurs pas assez formés, un important taux de turn-over, une faible culture de la sécurité, des erreurs humaines, etc.
« Cela nous est arrivé aussi plusieurs fois. En décembre dernier, un code d’authentification permettant d’accéder à notre infrastructure a failli se retrouver sur GitHub. Cela aurait été dramatique, car on ne peut pas changer ce code instantanément. Cela peut prendre 24 ou 48 heures, le temps d’effectuer toutes les vérifications nécessaires », nous révèle Romaric Philogène.
Les cadences de développement toujours plus élevées sont évidemment du pain béni pour des spécialistes comme GitGuardian, qui proposent des solutions de détection automatisées.
Implanté dans le 11e arrondissement de Paris, l’éditeur vient de lever 44 millions de dollars de financement. Il réalise logiquement la majorité de ses revenus aux États-Unis. C’est pourquoi il est en passe d’y ouvrir un bureau. Le malheur des uns fait le bonheur des autres.