30/04/2011

Sony PSN était-il PCI DSS ?

Sony vient de subir un énorme piratage de cartes. C'est une vraie catastrophe pour la firme. Le coût de cette intrusion va être énorme et ils vont payer pendant plusieurs années cette erreur (pertes d'images, renforcement, obligation d'être PCI DSS,etc.).

Beaucoup se demandent si le Sony PlayStation Network (PSN) était certifié PCI DSS.

N'ayant aucune information en dehors des communiqués officiels de Sony, je vais faire quelques hypothèses.

Le Sony PSN est-il certifié PCI DSS ?
Le PSN étant, je suppose, un "Merchant Level-1", il n'est pas possible de répondre car il n'y a pas de liste pour les marchands, à l'instar des listes de Service Providers PCI que publient Visa ou MasterCard. Seule la banque d'acquisition de Sony doit aujourd'hui connaître le statut de conformité de Sony.

Quoi qu'il en soit, le QSA qui aurait certifié Sony ne va pas faire de la publicité! Enfin, si Sony était certifié, je suppose qu'ils auraient communiqué sur le sujet au moment de leur certification.

Pour moi, le sujet n'est pas de savoir si Sony était certifié, mais plutôt si Sony aurait dû être certifié. Et la réponse est simple : oui. Puisque des numéros de cartes sont transmis au travers du réseau Sony PSN, ils étaient éligibles à la mise en conformité PCI DSS et leur banque devait leur demander de l'être. Mais on en arrive à un problème de conflit d'intérêt et de gros sous : est-ce que la banque de Sony peut véritablement leur interdire de faire du business par carte sans certification ? La réponse est plus dure, mais je tenterais bien : non.

Tout cela m'amène à penser qu'ils devaient être "en cours de certification". 

Comment se sont-ils fait pirater ?
Voici mes hypothèses et ce que je peux imaginer d'après mes expériences :

Plusieurs éléments glanés sur cette attaque :
  • Sony stockait les numéros de cartes (PAN) dans une table chiffrée. (PCI DSS #3.4, #3.5)
  • Sony ne stockait pas les cryptogrammes CVx2 (PCI DSS #.3.2). Les pirates n'ont donc pas pu les voler.
  • L'attaque est la suite du hack des PlayStation permettant de contourner la restriction d'accès au réseau privé PSN (PCI DSS #1.3).
  • Les clients du PSN ont vu des tentatives de retrait frauduleux sur leur relevé de banque (quelques centimes en autorisation sur des sites web étrangers, juste pour tester que les cartes sont valides).
  • Un fichier avec des milliers de numéros de cartes serait en vente sur des forums spécialisés dans le carding.
Je pense que tout le problème commence avec la notion de réseau privé. Dans le cas d'un réseau privé, les mesures de protection PCI DSS ne sont pas les mêmes et la base de données n'a pas à être firewallée des serveurs de DMZ. Or, suite à un précédent hack, le réseau PSN n'était plus vraiment privé, puisque certains pouvaient y connecter des systèmes sans licence. Il est donc imaginable que certains aient réussi à y connecter des PC et à scanner l'adressage interne privé du PSN. A partir de là, et supposant que la plate-forme PSN est composée de très nombreux serveurs, les pirates ont pu trouvé une faille (ex: mdp faible sur une base de données), un exploit connu (overflow...) ou même un zero-days.

Mais la table des cartes était-elle chiffrée ? Oui, certainement, mais cela n'empêche pas forcément de voler les numéros. En effet, si c'est "la table" qui est chiffrée, cela protège juste contre le vol du fichier (le datafile), mais n'empêche pas des requêtes SQL légitimes de faire des SELECT. Dans une hypothèse où les numéros de cartes étaient chiffrés au niveau de la donnée, tout dépend alors de comment étaient protégées les clés de chiffrement. Si celles-ci étaient dans le code ou dans un fichier sur le système, il était facile de les retrouver...

Maintenant que les cartes sont dans la nature, il est certain qu'un grand nombre de comptes bancaires vont se faire dévaliser. Ce hack du PSN va forcément générer des retombées et des plaintes dans toutes les banques et bien sûr chez les banques françaises.

Pourquoi donc stockaient-ils les numéros de carte ?

Pour faire des paiements récurrents ! Mais Sony aurait pu externaliser le stockage des PAN chez un PSP et ne conserver que des tokens. Je pense que c'est ici un bon exemple de la sécurité qu'apporte la tokenisation.

Que faire ?

Sony devrait (ou l'a déjà fait) donner la liste des numéros de cartes volés aux banques et aux réseaux Visa/Mastercard/Amex pour que ces numéros rentrent dans les algorithmes anti-fraudes. Comme les CVx2 n'ont pas été dérobés, il suffit d'interdire, pour cette liste noire de PAN, toute autorisation sans CVx2.

De leur côté, les clients n'ont plus qu'à surveiller leurs relevés et à appeler leur banque !


Conclusion

Cette affaire ne fait qu'illustrer le fait que le coût de la sécurité informatique n'est rien par rapport au prix qu'un piratage massif peut coûter à une entreprise.

Aucun commentaire:

Enregistrer un commentaire