miércoles, 27 de abril de 2011

Sony la caga otra vez:posible robo masivo de datos personales en PSN


Playstation network es el "online" de sony. No se caracteriza por su estabilidad, pero es (o era) una apuesta decidida de sony por el los modelos de negocio online... cuando el otro día, la "apagaron" sin mediar muchas explicaciones, pensé que podía ser por una de dos razones:

1) la habían cagado con algún tema de seguridad
2) iban a cagarla (es decir, iban a  intentar atajar el tema del pirateo con algún cambio gilipollas que molestaría a los usuarios y no lograría molestar a los hackers más de un par de días antes de saltárselo)

Dado el historial de sony, supuse que era lo segundo. Pero...¡ay!, subestimé la capacidad de cagarla del mismo equipo que considera que el número 4 es siempre un número aleatorio...

Resulta que, en palabras de Sony:

creemos que personas no autorizadas han podido obtener vuestra información personal: nombre, dirección (ciudad, provincia, código postal), país, dirección  de correo electrónico, fecha de nacimiento, nombre de acceso y contraseña de PlayStation Network/ Qriocity, y PSN ID.  Es también posible que vuestros datos de perfil así como historial de compra, y dirección de cobro(ciudad, provincia, código postal), y preguntas de seguridad de acceso a vuestras cuentas de PlayStation Network/ Qriocity hayan sido obtenidos.[...]. A pesar de no haber evidencia de que los datos de tarjeta de crédito hayan sido obtenidos no podemos negar esta posibilidad. Si has facilitado tus datos de tarjetas de crédito a través de PlayStation Network o Qriocity, debemos contemplar por motivos de seguridad,  la posibilidad de que el número de la tarjeta de crédito (no incluyendo el código de seguridad), y la fecha de expiración de la misma hayan sido también obtenidos.

(las negritas son mías)

Ehm... vale... a ver... usuario, email, dirección... hum... vale... pero...¿contraseña? ¿¿¿CONTRASEÑA??? 
¿hay alguien en sony que sepa lo que es md5 o han implementado la función md5 con un "return 4;", como hicieron con el random?




Es muy fácil hablar a toro pasado, y, sobre todo, sin saber todavía de dónde ha venido la intrusión y cuál era la arquitectura del sistema de seguridad de la PSNetwork, y más teniendo en cuenta que cualquier programador que se precie sabe que TODOS los sistemas tienen agujeros de seguridad,...pero hay cosas MUY básicas que un sistema del tamaño de la Playstation Network debería observar (si no lo hace todavía):

  • Nunca, nunca, nunca, se debe poder acceder a tus bases de datos desde FUERA de tu red de confianza. En la puta vida. Ni siquiera al backend de clientes. Si quieres que alguien acceda desde fuera, por VPN segura.
  • Ninguna API web de tu sistema de servidor debe poder acceder a todos los datos de todos los usuarios; ni de una sola vez, ni mediante sucesivas llamadas automatizables (se pueden utilizar sistemas de reto variables)
  • El acceso a tu sistema para obtener datos sensibles se debe hacer mediante APIs que permitan autenticación, las claves nunca deben viajar en claro, los accesos críticos de seguridad deberían ir por SSL.
  • Las claves de los usuarios deben ir, como mínimo, hasheadas* en MD5 (y con un valor "salt" para evitar ataques con rainbow tables, como bien ha apuntado un follower)
  • Por si le echan la culpa a (directa o indirectamente) a GeoHotz y otros conocidos hackers: La seguridad de tu entorno servidor NUNCA puede depender de la seguridad de tu entorno cliente; Si depende de alguna manera, la has cagado bien.
  • Si te pones muy paranoico, los datos de tarjetas de crédito NO deberían estar almacenados en la misma máquina que los del usuario; se puede diseñar un sistema en el que se genere un hash de autorización con salt (parecido a oAuth); de esta manera, cuando el usuario compra algo, se usa este hash para identificar la tarjeta en una base de datos de medios de pago exclusivamente accesible por la máquina que pide el pago

Ahora, según Sony, tendremos que dedicarnos a mirar detenidamente si en nuestras cuentas se producen "movimientos" sospechosos. Cojonudo. No tenía yo otra cosa que hacer....


*mil perdones por el palabro. Escribo esto de carrerilla a las 2 a.m :-P



¿quieres leer más tiras? Entra en el listado de tiras y escoge!

Puedes usar esta tira libremente,
cumpliendo tan solo esta licencia CC:
Creative Commons License

14 comentarios:

  1. Gualloby dijo...
  2. Que me vas a contar,yo que pensaba jugar esta semana santa online hasta que me sangraran los dedos y me encuentro el dichoso mensajito es que manda narices ni a las betas dejan jugar arghhh

  3. Profesor Momar dijo...
  4. Oyes, gracias por los consejos de seguridad. Que sepas que me los apunto para tenerlos en cuenta en el futuro (yo es que de estas cosas sé poco, pero todo el mundo me pregunta y no sé por qué, porque saben de sobra que no lo sé).

    Lo que no entiendo es cómo una empresa tan grande y con (presuntamente) tantos recursos tenga estos fallos tan garrafales. Como lo del 4 como número aleatorio, que de eso me daría cuenta hasta yo.

    Estoy tentado de decir que han encargado todos sus sistemas de seguridad a una empresa española y que esta lo ha subcontratado a otra empresa también española, pero si lo digo a lo mejor alguien se ofende y me pegan. No sé, ¿lo digo o no lo digo?

  5. Gaizko dijo...
  6. Y yo me pregunto... ¿Serviría de algo denunciar esto a parte de para que te entierren en burrocrácia y te desestimen la denuncia por no incluir la quinta fotocopia de la partida de nacimiento del preimpreso 24.B.12?

  7. Nah dijo...
  8. que es eso del numero 4 aleatorio?

  9. Profesor Momar dijo...
  10. @Nah: Yo te lo explico.

    ¿Recuerdas que hace unos meses publicaron cómo se podían firmar los discos para que la consola PS3 los reconociera como "originales"? Pues bien, la cosa era bien sencilla: bastaba con añadir al disco una firma electrónica codificando aspectos de los archivos contenidos (parecido a las sumas CRC32 o al MD5), utilizando para la codificación una semilla aleatoria. El tema es que la rutina que genera esa semilla aleatoria devuelve siempre la misma semilla, por lo que crear la firma para que pasase la comprobación es sencillísimo.

    Lo de "el número 4 es aleatorio" viene a que los que descubrieron el fallo dijeron "es como si la rutina "rnd ()" devolviera siempre 4".

    Estoy buscando el "slide-show" que usaron en la conferencia, que es la mar de cachondo, pero no lo encuentro... :(

  11. Ender Wiggins dijo...
  12. he enlazado la charla que dieron en el post :-)

  13. Manu, The Java Real Machine dijo...
  14. Se nota que sabes del tema...

    Yo por estas mierdas que hacen las 'grandes' empresas nunca dejo que se graben los datos más 'sensibles'.

    Ejemplo, comprando en la EA Store (ya he comprado unas cuantas veces), prefiero tener que meter en cada ocasión los datos de la tarjeta antes de que la graben ellos y arriesgarme a problemas de este tipo.

    Lo que tiene narices es que Sony cometa semejantes errores en su Home.

  15. Profesor Momar dijo...
  16. Este comentario ha sido eliminado por el autor.
  17. Momar dijo...
  18. Vale, justo lo encuentro y va Ender y pone un enlace.

    De todas formas, el mio es diferente :p

    Helo aquí: http://engt.co/i56xCA

  19. Ender Wiggins dijo...
  20. Manu: buen, ha sido en PSNetwork, pero el juego de palabras "home/hole" era demasiado bueno para desaprovecharlo ;-)

  21. Ender Wiggins dijo...
  22. Momar: mucho más directo tu enlace, cambio el mío por el tuyo en el post :-)

  23. Nah dijo...
  24. gracias por la explicación Momar ;)

  25. Kullman dijo...
  26. Hablabamos el otro dia de como Toshiba, a la que se supone una empresa seria, pudo cagarla tanto con el Toshiba Folio, un tablet de 10" que nadie que quiere ni regalado (bueno, silo regalan lo quiero yo), y eso que a nivel hardware no esta nada mal...

  27. cousteau dijo...
  28. ¿Que han robado datos en las Crónicas PSN? ¡Como se entere Tiago...!

Publicar un comentario