¿Sony almacena las contraseñas sin cifrar?

Hoy, como muchos (futuros ex-)usuarios de la PSN Network, he recibido un mail de Sony diciendome que han atacado la base de datos de PSN Network y han podido robar mis datos personales.

No existe sistema 100% seguro e impenetrable y afirmo que jamás lo existirá.

Puedo entender por tanto que se realice un ataque y roben la valiosa base de datos.

Pero lo que me parece INADMISIBLE es leer lo siguiente del comunicado oficial:

fecha de nacimiento, nombre de acceso y contraseña de PlayStation Network/ Qriocity

No especifican nada de cómo está almacenada la contraseña.

Cualquier webmaster amateur, sabe que las contraseñas JAMÁS deben de almacenarse como tal.

El procedimiento habitual es realizar un cálculo hash sobre la contraseña y almacenar este resultado en la BBDD.

Cuando un usuario quiere autenticarse, basta con calcular el hash al valor introducido como contraseña y enviarlo al servidor.

Si ambos hash coinciden, bingo, es Fulano.

Si por ejemplo tu contraseña es “mypassword”, el hash con md5 seria: 34819d7beeabb9260a5c854bc85b3e44 (si queréis probarlo en GNU/Linux, echo -n “mypassword” | md5sum).

En fin, estoy realmente enfadado con la noticia y espero que den detalles de cómo almacenan las contraseñas.

Como he leido hoy en Twitter: “menos abogados y más ingenieros de calidad

¬¬

ACTUALIZACIÓN: Sony no afirma que se hayan efectuado el robo de los datos de las tarjetas de crédito.  Hay que estar atentos a los movimientos bancarios y denunciar cualquier cargo no realizado lo antes posibles (creo que hay un plazo para anular cobros).

ACTUALIZACIÓN 2:  Añado una conversación obtenida en red IRC donde “hackers” hablan sobre la poca seguridad de los servidores de PSN Network. La fuente original esta en PSX-SCENE.

PSN Hacker IRC Log

ZX Launcher: Lanzador de juegos para Instituto Cervantes

Videojuego en Español, Fuente: arsGames

Videojuego en Español, Fuente: arsGames

Os traigo mi último desarrollo:  ZX Launcher.

En otra ocasión, os presente el lanzador de juegos para Intermediae: artLauncher.

Se trata de un lanzador de juegos de Spectrum desarrollado para mis amigos de arsGames de cara a la exposición “Videojuegos en español” que recorrerá los centros del Instituto Cervantes mostrando el pasado y presente de los videojuegos en Español.

Es gratificante saber que ZX Launcher se ejecutará por todo el mundo. La primera parada ha sido Tetuán (Marruecos). Aquí podéis ver fotos y vídeos del primer éxito de la exposición.

Los años 80 fueron sin duda la época de esplendor del sector de los videojuegos en España. Compañías como Dinamic (actual FX Interactive) fueron líderes internacionales del sector.

Este lanzador recoge algunos de esos magníficos juegos que seguro provocaran alguna sonrisa melancólica al “treintañero” que lo pruebe.

Gracias a FX Interactive se puede distribuir. Podéis bajaros aquí el instalador.

Gracias también a arsGames por el magnífico trabajo gráfico del lanzador.

Aspectos técnicos

La aplicación esta escrita en Python y utiliza el framework de Qt para la interfaz gráfica.
A pesar de ser Python, sólo corre en sistemas Windows ya que se hace uso de algunas llamadas al API de Win32 (librería pywin32)

La pieza clave del software es el emulador de Spectrum. Después de valorar los emuladores disponibles FOSS, opté por FUSE debido a la opción de carga directa de juegos, que es multiplataforma y por su organización del código (backend y frontend).

Para integrarlo con Python y Qt, tuve que modificar el código de FUSE para hacerlo embebido a una ventana de Qt. Lo que hice fue, sin entrar en detalles, obtener el handle de la ventana para que FUSE dibujara directamente dentro. Además, para controlar y pasar los eventos de teclado, tuve que implementar un paso de mensajes entre Python y FUSE usando Win32 SendMessage con mensajes tipo WM_COMMAND.

Os dejo con un vídeo demostrativo.