lunes, junio 04, 2018

"El leak del login: Cómo evitar fugas de información en la creación y recuperación de cuentas en aplicaciones web que pueda usar cualquier Cambridge Analytica

Tener una cuenta en un determinado servicio puede decir mucho de una persona. Por ejemplo, si alguien se saca una cuenta en un sitio web para amantes de la pesca, probablemente es porque le guste la pesca. Si alguien se saca una cuenta en un sitio de contactos adultos de personas del mismo sexo, probablemente esté reflejando una determinada tendencia. Si alguien se saca una cuenta en una web de un equipo de fútbol quizá es porque tenga afición por él.

Figura 1: Cómo evitar fugas de información en la creación y recuperación de
cuentas en aplicaciones web que pueda usar cualquier Cambridge Analytica

Siempre son "quizás", y "puede qué", pero para las empresas que se dedican, como hacía Cambridge Analytica, a perfilar a los ciudadanos de un determinado, país o región, es información muy valiosa, y por tanto se venden y se compran bases de datos con esos datos. 

Figura 2: Información de Cambridge Analytica en Wikipedia

Datos que pueden reflejar mucho de ti, ya que al final tú te sacas cuentas en los sitios que te suelen aportar algo, o que parece que te los pueden aportar al principio. Como dice en la Wikipedia de Cambridge Analytica, entre 4.000 y 5.000 datos diferentes de cada individuo. No está mal.

El e-mail con nombre de usuario

Ya he hablado mucho de esto, pero básicamente hay algunas identidades que te identifican más que ninguna otra. Lo más probable es que tu número de teléfono cambie poco a lo largo de tu vida, o que tus cuentas de Gmail, Outlook, y pocas más, te acompañen para el resto de tu vida. Son parte de ti. Son tus correos electrónicos de piedra de clave que te identifican.

Y es por eso que la mayoría de los servicios online utilizan como identificador único esos elementos. Si te quieres sacar una cuenta de correo electrónico en Yahoo!, Gmail u Outlook, lo más probable - según el país en el que estés - que te pidan un número de teléfono como verificación.

Sin embargo, si te sacas una cuenta en cualquier otro servicio, es probable que validen que tú eres tú contra tu cuenta de correo electrónico. Es el identificador único más utilizado en servicios online. Una cuenta de correo electrónico que se usa, normalmente, para recuperar la cuenta del servicio de Internet al que te has registrado.

El leak en la creación de la cuenta del servicio

En el proceso de creación de la cuenta, y también en el de la recuperación de la contraseña, se suele pedir una cuenta de correo electrónico. Bien para saber si puedes crear o no la cuenta con esa dirección de e-mail, bien para saber si puedes recuperar o no la contraseña de esa cuenta.

Lo cierto es que en la mayoría de los servicios en Internet hay fugas de información - los llamados "leaks" - que permiten saber si la cuenta existe o no en ese servicio. Es decir, una empresa que tenga 20 millones de direcciones de correo electrónico podría probarlas una a una contra el servicio de Internet - por ejemplo la página de los amigos de la pesca - y saber si los dueños de esas direcciones de e-mail se han sacado una cuenta en ese servicio o no. Y así enriquecer la base de datos con más información.

Esto es algo muy común, como por ejemplo el caso que os publiqué con las cuentas de Grindr, lo que permitía - ya parece que lo han arreglado -, que cualquier empresa "Cambridge Analytica" se dedicara a saber qué personas tenían cuenta en ese servicio.

El fallo y la solución

El error es muy común, y muchas veces se produce solo porque "no parece tan importante" esa información. O por lo menos no lo parecía antes. Ahora que hemos visto que cualquier dato es importante, nos tomamos mucho más en serio la privacidad de nuestras aplicaciones web.

En el caso de ElevenPaths hemos cambiado absolutamente todos los procesos internos de desarrollo para meter en QA una verificación de estos leaks de información, y hemos cambiado muchas aplicaciones web que, como la de nuestro querido Latch, era "verbose" y daba un leak que no queríamos tener - y que hemos quitado -.

Figura 3: Un leak que informaba de que la cuenta existía

El error se produce por que el mensaje de error de que la cuenta existe se da a la persona que introduce la cuenta de e-mail sin verificar por un instante que esa persona es la dueña de la identidad que está introduciendo.

Figura 4: Se informa al que introduce el e-mail de si la cuenta existe o no

Para evitar eso el mensaje de error se debe enviar al dueño de esa identidad de e-mail, utilizando el canal de e-mail como forma de comunicación que garantiza que estamos dando la información del error al dueño de esa identidad y no a cualquiera que la introduzca.

Figura 5: Proceso sin leak de información

Esto, además, evita situaciones desastrosas como la del registro de cuentas de Uber a cuentas de e-mail por error que lleva a que pasen desgracias no deseadas, o como pasaba hace tiempo en Instagram. Salvaguardamos la privacidad de los usuarios que se dan de alta, evitamos un error en la introducción de direcciones de e-mail y verificamos que la cuenta funciona y tenemos contacto con ella. Todo son ventajas.

El mes pasado me puse muy pesado con mi equipo para que introdujera esta fuga de información como una vulnerabilidad en la detección persistente de sitios web que monitorizamos con nuestro motor de Pentesting Persistente Faast, y a partir de ahora reportaremos a nuestros clientes estos leaks con un nivel de serveridad mayor, para que lo arreglen antes. Revisa tú tus webs, que tenemos mucho que mejorar para garantizar la privacidad en Internet con la mayor de las garantías.

Saludos Malignos!

1 comentario:

chemi dijo...

El problema está en que muchos clientes no consideran un esto un fallo, más bien lo ven como una funcionalidad para el usuario y se pregunta, cómo va a saber el usuario si ha puesto bien su correo si no le llega nada, o escusas similares... que no hacen más que entorpecer el ciclo de la mejora de la seguridad.

Si es cierto, que dependiendo del "leak" será más o menos grave, pero la mayoría de clientes a los que les he reportado este tipo de fallos no lo han considerado como tal y no lo han corregido.

En españa, aun queda mucho por avanzar en materia de seguridad hasta tener un mercado lo suficientemente maduro.

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares