Tabla de Contenidos

El problema de las contraseñas inseguras

De un tiempo a esta parte abundan los casos de robos de identidad, en los ataques conocidos como de Spear Phising, al que otro día dedicaremos otra entrada.

Todos conocemos casos en los que han enviado correos haciéndose pasar por el jefe o algún directivo, y solicitando transferencias urgentes o algo parecido. En algunos de esos casos el correo no puede ser detectado como malicioso con herramientas normales porque, de hecho, no lo es.

Efectivamente, si un atacante está usando la cuenta legítima de ese directivo para enviar el correo, no hay ningún sistema normal que lo detenga, salvo que se base en patrones de comportamiento e inteligencia artificial.

Por tanto, la mejor defensa en este caso es evitar que el atacante tome el control de la cuenta del directivo en primer lugar.

¿Cómo podemos conseguir eso?

Veamos…

La aproximación tradicional a las contraseñas

Desde hace décadas venimos oyendo repetidamente una serie de recomendaciones, lo que no significa que se cumplan:

  • Utilizar contraseñas largas, de 8 caracteres o más
  • Hacer que las contraseñas sean complejas, combinando números, símbolos, mayúsculas, minúsculas
  • Utilizar contraseñas distintas para cada programa o servicio
  • Hacer que las contraseñas caduquen

Todos hemos dado esas recomendaciones una y otra vez, el problema es que, lejos de mejorar la seguridad, estas recomendaciones las empeoran.

Sí, has leído bien, las empeoran. Y no lo digo yo, lo dicen entidades como el NIST (aquí), el Centro de Ciber Seguridad de UK (aquí), y la propia Microsoft en sus recomendaciones y en algunos papers de investigación.

image

¿Por qué ocurre esto?

Por qué fallan estas recomendaciones

Porque somos humanos, básicamente.

Cuando ponemos estas restricciones, le estamos poniendo las cosas difíciles al usuario, que al final acaba haciendo lo siguiente:

  • Una vez que da con una contraseña que pase los filtros de complejidad, la reutiliza en todos los sitios
  • Para que no se le olvide, la apunta en algún sitio
  • Si se le pide que la cambie periódicamente, irá haciendo variantes predecibles de esa contraseña

Esto es algo conocido, pero hasta ahora no le dábamos mucha importancia, porque al fin y al cabo es una contraseña compleja, y por tanto segura, ¿no?

Pues no. Ya no.

Los volcados de contraseñas

Una persona normal está dada de alta en decenas de páginas web y distintos servicios y aplicaciones. Tenemos cuenta en LinkedIn, en Burger King, Telepizza, nuestro gimnasio, Netflix, y decenas más. En cada uno de ellos usamos normalmente un correo y una contraseña. Si siguiéramos las recomendaciones de arriba, tendríamos decenas de contraseñas distintas, pero esto es muy raro que se haga, y acabamos usando solo unas cuantas contraseñas para todo.

El problema aparece cuando la web o el servicio al que nos hemos apuntado sufre un ataque, y le roban la base de datos de usuarios y contraseñas.

Hace unos años, un investigador llamado Troy Hunt creó una web, H, donde permitía que cualquiera pudiera comprobar si su dirección de correo aparecía en alguno de los listados de contraseñas robadas de distintas páginas, como LinkedIn, etc. Desde entonces ese servicio ha ido creciendo, e incorporando no solo robos conocidos en empresas y servicios, sino listados de contraseñas que han ido apareciendo en sitios de hacking. Algunos de estos volcados tienen decenas de millones de nombres de usuario, con sus respectivas contraseñas. Y son fáciles de encontrar.

image

Veis dónde está el problema, ¿no? Si nos dimos de alta en un servicio con la misma dirección de correo y contraseña que usamos en otro, alguien que conozca esos datos podría tener acceso a todo. Podemos pensar que no nos importa que alguien entre en nuestra cuenta del gimnasio porque no hay nada importante, pero si con los mismos datos de acceso puede hacerse con acceso completo a nuestra cuenta de correo, ya la cosa cambia.

El hecho de que hayamos puesto como contraseña «Patata1» o «!hw4&t6n!*yM\D$’» es irrelevante, porque el atacante la va a copiar y pegar de la lista.

El mito de la invulnerabilidad de la contraseña basado en su complejidad y longitud, se acaba de derrumbar.

¿Cómo protegernos entonces?

Hacia un mundo sin contraseñas

El propio Bill Gates predijo hace muchos años que en el futuro no usaríamos contraseñas.

Aunque ese momento aún no ha llegado plenamente, empezamos a verlo más cerca. Ya desbloqueamos los móviles con nuestra cara o nuestra huella, y no solo los móviles.

Pero aún necesitamos contraseñas en la inmensa mayoría de los sitios, así que habrá que reforzar la forma de usarlas.

Métodos de refuerzo de contraseñas

Hay varias cosas que podemos hacer para reforzar su uso:

Utilizar gestores de contraseñas

Realmente, si los volcados públicos de contraseñas son un problema es solamente porque tendemos a reutilizar la contraseña. Si esto no se hace, será mucho menos importante.

Por eso parte de la solución es usar un gestor de contraseñas, que almacenen en una base de datos las distintas contraseñas que tenemos en cada sitio.

Normalmente, además nos va a permitir generar automáticamente contraseñas complejas para cada sitio donde nos damos de alta, facilitándonos esa buena costumbre.

Hay gestores de contraseña que funcionan como un servicio desde Internet, como LastPass, y otros que funcionan almacenando localmente esa base de datos de credenciales, como KeePass.

También hay navegadores, como Firefox, que permiten una gestión parcial de esas contraseñas web, e incluso nos alertan si usamos contraseñas que han sido filtradas.

Que elijamos una u otra opción dependerá de si queremos gastar dinero en alguna de la funcionalidad avanzada que ofrecen, como sincronización con dispositivos móviles, o nos basta con la solución gratuita.

En todo caso, pensad que el sistema con el que protejamos el acceso a esa base de datos de credenciales debe ser muy potente, pues esa base de datos guarda las «Llaves del Reino».

Utilizar autenticación multifactor

Este es de los mecanismos más potentes que podemos usar para reforzar la seguridad, consiste en que para acceder a mi cuenta es necesario demostrar mi identidad con algo más que mi contraseña.

Tradicionalmente la autenticación multifactor se ha basado en la combinación de al menos dos de estos tres factores:

  • Algo que sé: La contraseña, o el PIN
  • Algo que soy: Yo mismo, mi huella, mi cara, mi iris…
  • Algo que tengo: Un llavero que genera códigos, un certificado digital dentro de un pen drive, un DNI electrónico…

Antiguamente era complicado, y el uso de tarjeta inteligente estaba reservado a entornos muy concretos, pero en la actualidad es muy fácil de usar el doble factor de autenticación porque tenemos el teléfono móvil como herramienta universal.

https://i.stack.imgur.com/mp7QL.jpgEn efecto, raro es el servicio web que no permite configurar un factor de identificación adicional. Facebook, Hotmail, LinkedIn, Nintendo, Office 365, Gmail y muchísimos otros más permiten desde hace tiempo configurarlo.

En ocasiones funcionará de una forma simple, enviando un código SMS a nuestro teléfono móvil, pero lo más normal es que puedan configurarse con una aplicación de autenticación, como Microsoft Authenticator o Google Authenticator. Estas aplicaciones muestran un código temporal para poder iniciar sesión, y algunas incluso admiten notificaciones «push», que nos saltan como una alerta y que nos facilitan aprobar el acceso.

Evidentemente no hay ningún sistema invulnerable, ya que por ejemplo los SMS pueden saltarse en casos de clonado de tarjeta SIM, pero son casos excepcionales.

Como mínimo, es imprescindible que las cuentas de correo estén protegidas con este sistema, ya que casi todos los servicios online permiten cambiar la contraseña, y precisamente a donde llegan esas solicitudes para su aprobación es el correo electrónico. Si no lo controlamos, podemos perder nuestra identidad digital por completo.

En las redes locales, hasta hace poco era complicado encontrar una solución efectiva y a un coste moderado, ya que los lectores de tarjeta inteligente no están muy extendidos.Related image

Sin embargo, desde hace poco se pueden usar nuevos estándares de autenticación basados en FIDO, tanto para la web como para uso en una red local basada en Directorio Activo y muchos otros sistemas.

Tenemos previsto un artículo donde veremos cómo usar llaves USB de Yubico para autenticarnos en el Directorio Activo, así que no nos extenderemos más sobre esto.

Usar un filtro de contraseñas

Una posible solución para que los usuarios no usen contraseñas que hayan aparecido en alguna filtración o que hayan sido robadas, es usar un filtro que compruebe esa contraseña antes de dejarle usarla.

Hay empresas que desarrollan productos comerciales para hacer ese filtrado, como Specops, pero son soluciones caras.

Pero últimamente hay proyectos Open Source como OpenPasswordFilter que, haciendo uso de la posibilidad que ofrece Microsoft de crear filtros de contraseña a medida, conectan con bases de datos de contraseñas filtradas y no le permiten al usuario usar una que ya se haya robado.

En breve mostraremos en un artículo cómo usar una de esas soluciones para evitar que nuestros usuarios del dominio pongan una contraseña filtrada, estad atentos.

Formación de usuario

Por último, hay que incidir en la importancia de formar al usuario en las nociones básicas de ciberseguridad. Cosas simples, como gestionar sus contraseñas, cómo reconocer un correo falso, la importancia de no instalar aplicaciones raras, etc., pueden servir de punto de partida y permitir que un intento de ataque no vaya a más.

Si en vuestra empresa estáis interesados, MultiTrain imparte esa formación.

Conclusión

Por mucho que muchos fabricantes pretendan convencernos de lo contrario, no hay ninguna aplicación mágica ni producto que te proteja contra todas las amenazas, todo el tiempo.

Lo máximo que podemos hacer es poner distintas capas de protección, con la idea de que alguna de ellas acabe deteniendo al atacante, es el concepto de defensa en profundidad.

Además, no hay que descartar el efecto disuasorio de estas medidas.

A fin de cuentas, nosotros no ponemos rejas en nuestras ventanas porque creamos que esas rejas sean invulnerables e indestructibles, sino porque pensamos que un ladrón preferirá irse antes a una casa que no tenga rejas que a la nuestra…