Una falla de FaceBook en identificación de cuentas

Licencia Creative Commons
Este obra está bajo una licencia Creative Commons Atribución 3.0 Ecuador.
20 de octubre de 2014


¿Qué significa Creative Commons?
      
      Significa que puede:
  • Hacer obras derivadas
  • Hacer un uso comercial de esta obra
     Atribución Debe reconocer los créditos de la obra de la manera especificada por el 
                                       autor o el licenciante (pero no de una manera que sugiera que tiene su 
                                       apoyo o que apoyan el uso que hace de su obra). 


Caso Nº 2 (Falla en repetición de etiquetas)
Antecedentes

La red social FaceBook es la más utilizada en el mundo, con más mil millones de cuentas que son manejadas por un infraestructura basada en una de aproximadamente 50.000 servidores, la mayoría con GNU/LINUX como sistema operativo. Buscando amigabilidad con el usuario, FaceBook, me sugería nombres de usuarios cuando de etiquetar se trataba, trabajando con el navegador FireFox.



Si, se tomaba, como etiqueta, una de las sugerencias por ejemplo "Manuel Mamelo Silva", por lógica, Face, no mostraba ésta en las sugerencias.


Y así sucesivamente.
 

La conclusión es que del listado de sugerencias, se restaban las etiquetas tomadas.

Matemáticamente formulado:

A={x/x es cuenta de FaceBook}

B={x/ x es cuenta etiquetada}

Sugerencias que mostraba Face = A - B.


¿Qué pasa en la actualidad? 

1.- Cuando se trata de etiquetar en un post normal, trabajando con FireFox 

Las sugerencias contienen a las cuenta ya etiquetadas




Se ha etiquetado, dos veces, a "Manuel Mamelo Silva" y esa cuenta no desaparece de las sugerencias. 


2.- Cuando se trata de compartir un post 

Las cuentas etiquetadas se eliminan de las sugerencias





Esta situación no pasa en todos los sistemas operativos y/o en todos los navegadores. 

Mi máquina:




Escenarios con el navegador

FireFox:    Las cuentas ya etiquetadas, se siguen mostrando en la sugerencia.
Chrome:   Las cuentas etiquetadas se eliminan de la sugerencia.
Explorer:  Las cuentas etiquetadas se eliminan de la sugerencia.
Opera:      Las cuentas etiquetadas se eliminan de la sugerencia.

En otro equipo.

FireFox:    Las cuentas ya etiquetadas, se siguen mostrando en la sugerencia.
Explorer:  Las cuentas etiquetadas se eliminan de la sugerencia.

Conclusión:
Dejar de mostrar en las sugerencias las cuentas etiquetadas puede significar un consumo de tiempo de máquina apreciable en los servidores correspondientes, mientras que si las cuentas etiquetadas no se eliminan de las sugerencias, puede ganarse algo en velocidad en los procesos del Face a cambio de que el usuario "se equivoque" repitiendo las etiquetas.


Caso Nº 1 (Falla en identificación de cuentas)
Antecedentes

La red social FaceBook es la más utilizada en el mundo, con más mil millones de cuentas que son manejadas por un infraestructura basada en una de aproximadamente 50.000 servidores, la mayoría con GNU/LINUX como sistema operativo. Buscando amigabilidad con el usuario, FaceBook, es predictivo en la identificación de cuentas, lo que va a generar errores en la identificación de ellas, en casos extremos pero posibles, como se verá más adelante.

Desde hace tiempo, en trabajos de auditoría sui géneris, he venido interactuando con sistemas que pueden tener fallas, pero no siempre he publicado mis descubrimientos y en veces se me han adelantado otros "buenos hackers". Uno de los grandes descubrimientos lo logré cuando en la página web del Consejo Nacional Electoral(CNE) de Ecuador colgaron una aplicación para que los ciudadanos inscritos en el Registro Electoral, pudieran conocer a cuál organización estaban afiliados. El último dígito de la cédula ecuatoriana tiene la propiedad validadora, (o sea que es función de los otros) y por ende es calculable, por lo que que se puede manejar como dato "basura". Se podía ingresar los datos de cédula con más de cien millones de maneras erróneas, ya que cada ciudadano podía poner como último dígito, uno cualquiera ya que el sistema lejos de validar el dato entrante, generaba el último, con el algoritmo validador, independientemente de cuál había digitado el usuario. La aplicación desapareció imagino por errores más graves como el de afiliaciones fraudulentas, más que por lo por mí descubierto. Puede ver todos los detalles en mi blog.


¿Y qué pasa en FaceBook?

Compruébelo usted mismo


Asumamos que su cuenta es "bolivarlojan.elsupercuy@gmail.com" con clave **********.

Salga de FaceBook en intente entrar con:

Prueba con un cambio

1. xolivarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:




2. bxlivarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:





Intercambie tantas veces como usted crea conveniente:


Prueba con dos cambios

1. xxlivarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:



2. xoxivarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:



Intercambie tantas veces como crea conveniente.



Prueba con tres cambios

1. xxxivarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:


Intercambie tantas veces como crea conveniente.


Prueba con cuatro cambios

1. xxxxvarlojan.elsupercuy@gmail.com y obtendrá como respuesta algo parecido a:



POR FIN. Pero pudo haber hecho cientos de pruebas en las cuales FaceBook le hacía sugerencias, lo que equivale en el universo de FaceBook a cientos de miles de millones de pruebas con sugerencias.

Jugando un poco a las escondidas


Asumamos que su cuenta es "bolivarlojan.elsupercuy@gmail.com" con clave **********.

1. Cree una cuenta en FaceBook, por ej. con nombre "xolivarlojan.elsupercuy@gmail.com
   con igual clave de "bolivarlojan.elsupercuy@gmail.com". No hace falta cree una cuenta de
   e-mail ya que puede usar una inventada.

2. Cree una cuenta en FaceBook, por ej. con nombre "xxlivarlojan.elsupercuy"@gmail.com
    con igual clave de "bolivarlojan.elsupercuy@gmail.com". No hace falta cree una cuenta de
    e-mail ya que puede usar una inventada.

3. Cree una cuenta en FaceBook, por ej. con nombre "xxxivarlojan.elsupercuy@gmail.com"
    con igual clave de "bolivarlojan.elsupercuy@gmail.com". No hace falta cree una cuenta de 
   e_mail ya que puede usar una inventada.

4. Ahora acceda a la cuenta "xolivarlojan.elsupercuy@gmail.com" y por supuesto entrará     
    sin problemas.

5. Ahora acceda a la cuenta "xxlivarlojan.elsupercuy@gmail.com" y por supuesto entrará sin
    problemas.

6. Ahora acceda a la cuenta "xxxivarlojan.elsupercuy@gmail.com" y por supuesto entrará sin
    problemas.

Entonces usted posee cuatro cuentas todas con la misma clave o password.

1. "bolivarlojan.elsupercuy@gmail.com"
2. "xolivarlojan.elsupercuy@gmail.com"
3. "xxlivarlojan.elsupercuy@gmail.com"
4. "xxxivarlojan.elsupercuy@gmail.com"  


La incógnita


1. ¿Qué pasará si intenta entrar por equivocación o con intención con el usuario
    "bolivarlojan.elsupercux@gmail.com"?

2. ¿Qué pasará si intenta entrar por equivocación o con intención con el usuario
    "bolivarlojan.elsupexcux@gmail.com"?

Haga tantas pruebas como estime necesario y vaya sacando sus conclusiones.

La gran incógnita


 Si en ese juego a escondidas, no fue usted quien creó las tres cuentas (2, 3 & 4) sino personas de otros lares que ni siquieran se conocen; la situación puede quedar por ejemplo como se muestra.




Cuatro usuarios desconocidos entre si, que generaron cuentas "parecidas" con la misma clave o password.


¿Y cuál es el peligro?


1. Que un usuario (de los cuatro desconocidos) puede apoderarse de otra cuenta, no porque 
    la haya buscado sino porque FaceBook se la sirvió en bandeja de plata con la sugerencia.

2. Que se desate una "guerra" buscando apoderarse de cuentas por métodos legales.


¿Y por qué pasa esto?


1. Tal como están diseñadas las bases de datos de FaceBook, no existe inyectividad entre 
    usuario y clave o password, esto quiere decir que la misma clave o password pertenece a 
    muchos usuarios, lo cual no amenaza la seguridad, si FaceBook no hiciera sugerencias o
    tratara de predecir lo que el usuario en casos quiso escribir.

    Cuando un usuario ingresa como nombre de usuario uno parecido y que además tenga
    la misma clave o password, el motor de búsqueda busca que haya coincidencias menos
    en tres caracteres y lanza las sugerencia.





Al existir únicamente Relación es imposible conseguir la función y mucho menos inyectividad. Para un curso completo de base de datos puede ver mi blog de base de datos.


¿Y cómo resolverlo?


1. Solución inmediata

Dejar la base de datos tal como está y eliminar las sugerencias que hace FaceBook, tal que si el usuario ingresa el nombre correcto, no muestre sugerencias.

Costo: 
Eliminación de las sugerencias, característica especial de FaceBook



1. Solución a largo plazo

Rediseñando las bases de datos, convirtiendo la relación (Password ==> usuario) en una función de manera que entre usuario (dirección de correo) y password (o viceversa) haya una función inyectiva.





Beneficios:

La sugerencia al usuario sería inmediata y única, y evitaría la captura de otras páginas.

Costo: 
Rediseño de las bases de datos y solicitud de cambio de clave o password para quienes la comparten

 Tiene la palabra Mark Zuckerberg

Firma:

Bolívar Enrique Loján Fierro
Alias el Supercuy
Desde: Loja Ecuador



3 comentarios:

  1. Buenas tardes
    Como dicen por ahí, la seguridad no es mas que una ilusión y aunque cada vez que se corrige un error y parezca que se llega a esa "seguridad", en realidad se descubren mas y mas fallos y vulnerabilidades.

    Revisando el post, como lo hace cualquier otro "cristiano" (y eso que soy agnóstico), ya que no soy técnico, pues creo que lo que salvaría a muchos que tendrán direcciones de correos muy parecidas, es lo diferentes que pueden ser sus claves de acceso a Facebook.

    Parece que la función predictiva de Facebook que hace que si se tipeara una letra incorrecta, o dos o hasta tres de la dirección de un correo, parace que está alojada en una "cookie" de facebook o algo parecido (son suposiciones mías), ya que intenté acceder desde un navegador que no acepta "cookies" (un navegador que se conecta con el protocolo TOR) y no me predijo ningún correo, es mas hice la prueba con la dirección xolivarlojan.elsupercuy@gmail.com y no predijo nada.

    Sin embargo y a me parecer, esta situación no deja de presentarse como una posible o "potencial" vulnerabilidad, ya que si se puede dar el caso de que dos (o mas correos) se parezcan y que sus claves de acceso también. La mayoría de intromisiones a cuentas de FB, suelen suceder porque sus claves de acceso son: 12345 o qwerty o Carlos9999, etc. etc. etc, algo que con un buen bot que burle a FB pudiera violentarse... si no me equivoco a este método le llaman hacking por fuerza bruta.

    En la actualidad las "hackeadas" que se realizan, suelen ser una combinación de varios métodos... algunos incluyen un poco de ingeniería social entre otras cosas, por lo que esta función de predecir los correos puede convertirse en una parte de un método para tumbar una seguridad.

    Como lo dije hace un rato, son solo palabras de un común y silvestre "cristiano" y una persona mejor conocedora de esto puede aportar mas conocimiento... saludos

    ResponderEliminar
    Respuestas
    1. PD: mi nombre es Pablo Iván Correa www.pabloivan.com

      Eliminar
    2. Bien Pablo Iván

      Tengo sintonía con lo que dices:

      "Revisando el post, como lo hace cualquier otro "cristiano" (y eso que soy agnóstico), ya que no soy técnico, pues creo que lo que salvaría a muchos que tendrán direcciones de correos muy parecidas, es lo diferentes que pueden ser sus claves de acceso a Facebook. "

      Y justo en este meollo es que FB, permite claves de acceso iguales, y él es el único que puede evitarlo. Es realmente un problema de diseño de base de datos, y el caso no es que la base de datos que se está usando esté mal, sino que posiblemente se la está usando para una salida que no estaba diseñada inicialmente.

      Como hicistes pruebas con xbolivarlojan.elsupercuy@gmail.com, para lograr que te sugiriera debías conocer la clave como condición sine quanon.

      Conociendo el diseño de la base de datos es posible sacar resultados que pueden parecer impredecibles. Por ejemplo en una noche yo puedo obtener todas las personas cuyos dos primeros dígitos de la cédula es 11 y que tienen títulos registrados en la SENESCYT, y no es que accedí a su base de datos sino que con argucia pude construir una "tabla" espejo.

      Aceptando tu sugerencia haré pruebas en computadores "limpios".

      Gracias por tus comentarios, que son apreciados.


      Eliminar