L’une des premières étapes pour certifier un système PCI DSS est de limiter la rétention de données de cartes. Cela commence par rechercher dans tous les fichiers et les bases de données si des numéros de cartes sont stockés en clair (volontairement ou par inadvertance).
Et ces numéros de cartes (PAN : Primary Account Number) peuvent être partout !
Cette tâche de recherche peut être extrêmement difficile et peu fiable, surtout quand des milliers de fichiers de logs sont présents sur les systèmes.
Quelques outils gratuits et commerciaux existent pour automatiser cette tâche (CCsearch, SENF, ControlCase…), mais aucune de ces solutions ne répondait vraiment aux besoins des QSA et des administrateurs systèmes :
- Un outil qui n’a pas besoin d’installation et de désinstallation ;
- Un outil qui peut tourner directement sur les systèmes de production et donc avec des versions pour Linux, Windows, Solaris…;
- Un outil qui ne fait pas simplement une recherche de numéros répondant à un contrôle de clé de Luhn, car le nombre de faux-positifs est trop élevé ;
- Un outil capable de rechercher des numéros dans les archives ZIP et Tarballs (.tgz) utilisées pour archiver les logs et les traces de debug.
- Un outil capable de reconnaître les banques ayant émis les numéros de carte détectés.
- Un outil simple, en ligne de commande, rapide et qui n’écroule pas le CPU du système.
Face à cette absence flagrante, j’ai exposé ce problème à Florent, qui a codé un parseur ultra-performant. En y ajoutant quelques astuces pour réduire les faux-positifs et détecter les différents formats de PAN.
PANBuster est ainsi né. L’outil est téléchargeable librement pour Windows, Linux et Mac OS et fonctionne en mode ligne de commandes.
Source : We are secure !