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