01/06/2009

Merrick piratée par une injection SQL

En 2005, la banque américaine Merrick Bank s'est fait dérober plusieurs milliers de numéros de carte bancaire. Techniquement, cette intrusion a eu lieu sur les systèmes informatiques de la société CardSystems, le Card Processor choisi par Merrick pour traiter, au nom de Merrick, les opérations Visa et Mastercard en ligne.

CardSystems était pourtant certifié PCI DSS par la société d'audit Savvis, soit logiquement sécurisé.

Aujourd'hui, des informations sur la méthode de piratage commencent à filtrer. Les pirates auraient exploité d'une banale faille d'injection SQL.


Rappel de l'histoire 

Merrick avait lancé un appel d'offres pour choisir une société avec laquelle la banque pourrait sous-traiter les transactions Visa et Mastercard (card processing). La société CardSystems avait alors été retenue par Merrick. Pour que le contrat soit passé, CardSystems devait être certifié conforme au standard Visa CISP (l'ancien nom du PCI DSS). Cardsystems a donc fait appel à une société spécialisée en audit CISP : Cable & Wireless. Cable & Wireless faisait partie des sociétés validées par Visa pour conduire les audits de certification. Cable & Wireless était ce que l'on appelle aujourd'hui une société QSA (Qualified Security Assessor).

L'audit des systèmes informatiques de CardSystems par Cable & Wireless s'est déroulé en 2003 et s'était alors soldé par un ROC négatif (Report On Compliance). En d'autres mots, Cable & Wireless n'ont pas certifié CardSystems, car ceux-ci n'étaient pas conforme CISP.

En 2004, la société Savvis a racheté la branche audit de Cable & Wireles et a donc hérité du client CardSystems. Un an après le premier ROC négatif, les auditeurs QSA de Savvis ont cette fois-ci envoyé un ROC positif et certifié CardSystems auprès de Visa. Merrick a donc pu commencer le contrat de sous-traitance avec CardSystems.

En mai 2005, soit moins d'un an après que Visa ait confirmé la Full Compliance CISP (désormais PCI DSS) de CardSystems d'après le ROC réalisé par la société Savvis, CardSystems annonce un data breach (piratage informatique avec vol de données) des systèmes à Merrick. 

A noter que selon la "California civil code section 1798.82, the data breach notification law" CardSystems est légalement tenu de publier les piratages informatiques où des données de citoyens américains ont été volées. 

Il a été confirmé que les hackers avaient pénétré à plusieurs reprises les systèmes informatiques de CardSystems et que des milliers de numéros de carte Visa avaient été volés par les hackers. Non seulement des données des cartes des clients de Merrick (issuers), mais également des cartes de clients externes (acquirers).

Plusieurs millions de dollars d'achat frauduleux sur Internet ont été réalisés avec des cartes volés.

Merrick a réclamé 16 millions de dollars à Savvis de dommages et intérêts. CardSystems a été depuis racheté par la société PayByTouch, qui a ensuite coulé suite à des affaires de fraudes.

Les détails du hack commencent à fuir

Le rapport officiel indique que les hackers avaient trouvé une faille dans le "firewall" de CardSystems et que ces derniers avaient pu copier des millions de numéros de carte valides avec leur code de vérification CVV2 (les trois derniers chiffres au dos des cartes) puisque les serveurs de CardSystems contenaient plus de 5 ans de traces de transactions non chiffrées !

Pour mémoire, le PCI DSS requiert que partout où sont stockés des numéros de carte (PAN), un système de cryptographie performant soit en place et que la durée de conservation de données sensibles (CVV2, PIN...) n'excède pas le temps nécessaire à l'activité.  

Il y a quelques temps, sur des mailings listes spécialisées, des sources proches de l'affaire révèlent aujourd'hui que la faille de sécurité exploitée aurait été une injection SQL sur l'un des serveurs web de Cardsystems. Plus fort, les pirates auraient alors exploité cette faille pour créer une procédure stockée sur la base, procédure qui était chargée de voler à intervalle régulier les données des titulaires de carte. Ainsi, tous les 4 jours, la procédure faisait un extract des toutes les informations sensibles (numéros de carte, date de validité, nom du titulaire, code de vérification CVV2), les zippés et les envoyés sur un serveur FTP externe.

  
Conflit d'intérêts entre QSA et client 

Et là, il est légitime de se demander comment CardSystems a pu obtenir un certificat de compliance et surtout comment le QSA Savvis a pu envoyer un ROC clean à Visa : failles de sécurité grossières, stockage des numéros de carte pendant une longue période, stockage EN CLAIR et, pire, stockage des codes CVV2 !

Savvis a donc clairement fait l'impasse sur des failles de sécurité critiques et certifié à Visa que CardSystems était sécurisé.

On en vient donc au conflit d'intérêts du business PCI DSS. Savvis, pour devenir QSA, a investi beaucoup d'argent en rachetant Cable & Wireless et en passant la certification QSA. Savvis subit la pression de son client CardSystems car ce dernier avait impérativement besoin de cette certification pour vendre sa prestation à Merrick.

En tant que conseil pour des entreprises françaises PCI DSS, j'ai pu en m'apercevoir que les pratiques de Savvis n'étaient pas impossibles en France et que certaines entreprises avaient pu obtenir la certification PCI DSS tout en ayant des systèmes pas tout à fait conforme au PCI DSS.
La France n'étant pas la Californie, nous n'avons pas de loi obligeant la publication en cas de piratage de données de citoyens français. Une telle loi serait d'ailleurs inutile, car il n'y a pas de piratage de France (on a des firewalls :))

Aucun commentaire:

Enregistrer un commentaire