2 de marzo de 2014

ALMACEN CONTRASEÑAS. Delicatessen para ciberdelincuentes

Si utilizan la misma contraseña para registrarse en páginas webs diferentes y alguna de esas páginas webs almacenan sus claves en sus servidores, cosa que desgraciadamente resulta demasiado habitual, e imaginen también que esos servidores son atacados y consiguen sus contraseñas. Ahora esos ciberdelincuentes solo tienen que probar sus credenciales para acceder a su cuenta de correo electrónico u otras webs en las que estén registrados y, en la mayoría de los casos, lo conseguirán.
Pues esto es lo que le pasó a Yahoo hace poco. En este caso Yahoo no fue atacada, ni le robaron datos directamente. La empresa californiana detectó que unos ciberdelincuentes habían conseguido información de sus usuarios para acceder a sus cuentas de correo. Al parecer la información de los usuarios habría llegado a manos de los ciberdelincuentes tras hackear una base de datos de una tercera empresa sin relación con Yahoo.
Como medida preventiva, Yahoo cambió la contraseña de todos los usuarios afectados y utilizó el factor de doble autenticación para que los legítimos dueños de las cuentas de correo pudieran habilitar una nueva contraseña.
En este caso no hablamos de fallos de seguridad cometidos por las empresas a la hora de custodiar sus datos, sino de todo lo contrario, y tendríamos que felicitar a Yahoo por haber sido capaz de detectar el ataque y de actuar rápidamente para proteger a sus usuarios.
A diferencia de este caso de Yahoo, el ataque recientemente sufrido por Orange sí que sucedió en una de sus páginas web. Esta web de la multinacional francesa tenía una vulnerabilidad que permitió a los atacantes hacerse con datos de cientos de miles de clientes, entre los que figuraban nombres, apellidos, direcciones y números de teléfono.
Afortunadamente parece que Orange, a pesar del fallo que permitió el ataque, tenía sus sistemas lo suficientemente bien configurados como para que las contraseñas no hayan sido comprometidas, lo que limita el daño a los más de 800.000 usuarios afectados en este caso. Parece ser que las contraseñas estaban almacenadas en otro servidor más seguro, según la información publicada.
Por tanto, de cara a proteger las contraseñas ante la eventualidad de un robo, la mejor política a seguir es no almacenarlas. Si no almacenas contraseñas no te las pueden robar, algo bastante obvio que lamentablemente no se suele aplicar.
Pero, ¿cómo puede entonces un sitio web validar a los usuarios? Es sencillo, bastaría con “saltear” la contraseña original que elige un usuario cuando se da de alta en un servicio web, y aplicar un hash a esa contraseña “salteada”. Al “saltear” la contraseña original lo que hacemos es generar una nueva y diferente contraseña a partir de un patrón definido previamente (convertir letras en números, alterar su orden,…). Es a esta contraseña alternativa a la que se le aplicaría ahora un hash para, mediante un algoritmo de codificación, convertirla en una compleja cadena de símbolos. Y sería este hash el que se almacenaría como prueba de validación del usuario. A partir de este momento, cada vez que el usuario vuelva a validarse, se le aplicaría el mismo patrón a la contraseña que introduzca, se calcularía su hash y se compararía con el almacenado. Si coinciden, significará que se ha utilizado la contraseña correcta y se podrá dar acceso al usuario sin necesidad de almacenar datos críticos, como es el caso de las contraseñas.
Otra medida que debería empezar a aplicarse de forma masiva es el doble factor de autenticación. Aunque puede ser una molestia para el usuario, si se tiene la opción de utilizarlo es mucho más complicado que la cuenta de tus usuarios pueda verse comprometida. Esto es algo que las entidades financieras aprendieron hace tiempo pero que debería extenderse al resto de servicios web.
Fuente: Panda Lab Blog