Teléfono Facebook Abuso: Tale of the Limit Missing Cambio

Original fecha: 10/10/2012

Intro

Hubo una reciente frenesí de los medios en los últimos números de privacidad de Facebook, iniciada por Suriya Prakash e intensificado aún más por mí mismo. Ha habido una gran cantidad de cobertura de los medios sobre este tema en los últimos días, y esta entrada del blog se pretende aclarar algunas preguntas o eventos relacionados con el tema.

Privacidad Problema:

Se ha sabido durante algún tiempo que cualquier persona puede buscar un número de teléfono en Facebook bajo «Buscar amigos» y recibirá el nombre real suministrada de nuevo para esa entrada. Esto se ha utilizado a menudo en blogs / sitios públicos troll [1] o para la recopilación de información general. Para reducir el alcance de los abusos, Facebook implementó límites de la frecuencia en la cantidad de estas consultas posibles dentro de un período de tiempo dado. Si bien esto era cierto a través de su interfaz principal, que parecía haberse olvidado de él en otro lugar.

The Limit Forgotten

El 1 de octubre, un amigo llamado Suriya Prakash me informó de un problema con la limitación de velocidad en la interfaz móvil de Facebook. Como muchos de ustedes saben, las contrapartes móviles han sido un campo de juego de forma continua de éxito para ataques, incluyendo FaceBook [2]. Suriya decidió informar a Facebook a través de su programa de recompensas de sombrero blanco y, con suerte, recibir una compensación por el descubrimiento de la cuestión. Después de mucha charla entre Suriya y el equipo de seguridad de Facebook, equipo respondió el 2 de octubre que un límite de tasa estaba vigente y que se trataba de un problema inexistente. Después de crear una macro y tratando de demostrar a emitir una última vez, Suriya decidió ir a la ruta divulgación completa [3]. Después de haber trabajado con el equipo de White Hat antes, sé que se necesita algo de trabajo para obtener los respondedores a comprender todas las implicaciones del vector informado, así que me decidí a escribir una prueba más eficaz de la herramienta concepto de encender un fuego debajo de la situación. Después de todo, a veces ver para creer.

Introduzca facebook-hit.py (no soy un hombre creativo)

Bueno, llegó el domingo todo me decidí a tomar una hora y redactar una prueba de concepto de herramienta para abusar de esta «característica». La interfaz para tirar de una serie era agradable y fácil ya que no había señal nonce u otro valor dinámico para complicar aún más el procedimiento, sólo una interfaz GET simple. Al consultar m.facebook.com / search /? Query = , que podía tirar y analizar el resultado de la página. Decidí usar mi experiencia previa en programación concurrente para hacer este proceso lo más rápido posible. Una gran cantidad de artículos que salió afirmando que utiliza 10 o hasta 10 solicitudes de búsqueda simultáneos a la vez. Bueno, esto es realmente un valor definido por el usuario y se puede pasar una opción para hacer tanto como usted quería. Esto es verdaderamente concurrente, no subprocesos basado, por lo que no se preocupa por la Python GIL y el planificador del kernel permite que los procesos abarquen núcleos. Yo sólo se utiliza 10 como un defecto, ya que terminó como uno de los resultados de cada segundo en promedio. Durante mi hora de la prueba que estaba haciendo pedazos de 50-150 rangos de números. Cerré en el 1000 las solicitudes de números, si no más, durante la fase de prueba corto.

Después de probar la prueba de concepto y la garantía de todas las opciones trabajado (rango de usuario proporcionada de los números, el archivo proporcionado por el usuario de números, cantidad de procesos concurrentes, esperan períodos, etc), me decidí a publicar el proyecto en Google Code y darle al público [4]. En cuestión de horas, me estaba poniendo la información de vuelta de la gente con el script. Muchos estaban divirtiendo arrastrándose a decenas de miles de números mediante el uso de una mayor cantidad de procesos concurrentes con un par de diferentes cuentas de Facebook (sobre una gama cada cuenta de 10k). Esto logra mucho más que uno de los resultados de cada segundo.

La respuesta

Después de un día de la liberación del guión, me puse en contacto con un reportero en 19:30 CST Lunes. Luego el martes, empecé a ver los mensajes en todas partes al respecto. Esta fue probablemente una de las mejores cosas que podrían haber ocurrido desde una perspectiva de defensa, ya que parecía haber encendido un fuego debajo de equipo de seguridad de Facebook. La versión inicial de la secuencia de comandos tenía una comprobación para ver si la cuenta puede ser prohibida (o estuviste D (D) os’ing el servidor) mediante la comprobación de las respuestas de retorno de estado HTTP como 3xx, 403, 5xx, etc por lo que didn ‘t fallan silenciosamente. Debido a esto el usuario es consciente de inmediato e informó de nuevo a mí diciendo que estaban recibiendo cuentas bloqueadas:

«Tratar para buscar un rango de 10k ya no funciona. Después de unos pocos cientos de … (en la mayoría) que te cerrará la sesión con el siguiente mensaje.

‘Su cuenta ha sido suspendida temporalmente Hemos detectado cierta actividad sospechosa proveniente de esa dirección IP. Como medida de seguridad, tu cuenta ha sido suspendida temporalmente. ‘
‘ Reactivación Usted tendrá que esperar 24 horas para volver a su cuenta. ‘»

He recibido este mensaje el martes a las 22:00 CST. Este fue un cambio muy rápido! Al parecer, los medios de comunicación ayudaron expediate el arreglo por una enorme cantidad de tiempo.

El resultado

Me sorprendió la cantidad de usuarios de Facebook que habían números de teléfono atado a los nombres reales. Dentro de un bloque de 150 números (de 1 resultado / segundo), me volví una sorprendente cantidad de resultados. Supongo que la autenticación de 2 factores que trabajaron tan duro para empujar fue un verdadero éxito! Otro problema fue no sólo que un número real volvió de nuevo, pero el id Facebook también. Creo Bogdan Botezatu lo dijo mejor:

«A diferencia de los mensajes de correo electrónico o los comentarios del blog, acercándose a un usuario por teléfono es mucho más eficaz en una lanza vishing [phishing de voz] ataque, sobre todo debido a que el usuario de la computadora no es consciente del hecho de que su número de teléfono puede haber terminado en las manos equivocadas. Junto con la información de los usuarios en su perfil, un atacante puede convencer al usuario para que la entrega de información personal en ningún momento. «

Ataques de phishing de voz y otro tipo de estafas telefónicas son comunes y su éxito ya es alta , dijo Botezatu.

«Ahora imagine que estos estafadores que tratan por su nombre completo y copia de seguridad de sus declaraciones con la información sobre usted tomado directamente de su [Facebook] perfil.» dijo Botezatu «. [5]

Por supuesto, yo estaba teniendo personalmente divertido ver rangos de teléfono de la red corporativa y la búsqueda de aquellos que desean dar su Facebook para un número corporativo / trabajo. Una interesante cantidad grande de gente hizo esto (si alguien es lo suficientemente curioso para comprobarlo).

Secuela / Future

Bueno, ahora es el momento de probar cómo Facebook se encarga de los límites de frecuencia. Irónicamente, algunas de las cuentas de prueba requiere un número de teléfono para validar el registro. En mi carrera inicial tuve la oportunidad de adquirir 300 resultados antes de que cerraran mi cuenta durante 24 horas. Eso debería ser un buen número sólida para comenzar a probar el límite de velocidad. Decidí tomar en dos pruebas más para ver si había una aplicación defectuosa.

La primera prueba era comprobar si las cuentas bloqueadas por un valor de sesión. Se trataba de completar las 200 búsquedas, cerrar la sesión y volver a la cuenta, y luego de intentar otro 200. Me gustaría repetir este ciclo hasta que me aclaré 1000. Esta prueba, sin embargo, consiguió el badboy (dedicado a que el software de craqueo gente por ahí) representan mensaje bloqueado.

Luego llegó el momento para una prueba de temporizador. Ya recibido respuestas probador diciendo períodos de espera-minuto de tamaño no parecen pasar por alto el límite de velocidad, así que tuve que ampliar a partir de ahí. Decidí escala por hora fue la mejor manera de empezar. El proceso incluyó completar las 200 peticiones de una hora, luego 200 la hora siguiente para ver si cicla cada hora o menos. Si esta prueba suceeded, entonces poco a poco me iba a reducirla en 10 minutos y hacer otra prueba de 200/200 para saber cuando el ciclo o durante el tiempo que el contador de duración.

Sin embargo, cuando traté de esto en Miércoles a las 10 am CST, que tenía el mensaje de bloqueo badboy dentro de un minuto. Desde el período de prueba definitiva, parece que están haciendo controles de cabecera HTTP (la mía no envía encabezados típicos como árbitro o de referencia). Una suposición adicional es que implica el campo de referencia y / o cómo está accediendo a la interfaz. Cuando me preguntó sólo la interfaz de GET con unos números en mi navegador, la cuenta se quedaron encerrados. Voy a actualizar este post tan pronto como encuentre más detalles.

Conclusión

A decir verdad, todavía no estoy seguro de por qué un nombre de cuenta o Identificación de Facebook es preciso conectar a un resultado de búsqueda del teléfono. Sólo se debe dar una opción para enviar una solicitud de amistad por ese número si es que existía, al igual que lo haría con un correo electrónico. Yo creo que el límite de velocidad se ha fijado ahora, a partir del 10 pm CST el Miércoles Sólo pude hacer 10 a 30 solicitudes antes de obtener el bloqueo de cuenta badboy. Sin embargo, si esto se hace por campo de referencia y mi original 300 todavía funciona, entonces creo que la tasa sigue siendo alta y la cosecha sigue siendo una opción viable.

También tiene que renunciar a ella a la los medios de comunicación en éste. En serio, un par de meses de un lado a otro se convirtió en un par de horas para cocinar un parche tan pronto como los medios de comunicación tiene una bodega de la misma.

Referencias
[1] http://www.geeksaresexy.net/2012/10/06/this-guy-will-never-accidentally-text-the-wrong-person-ever-again/ – Número FaceBook Trolling
[2] http://theharmonyguy.com/oldsite/2011/04/21/recent-facebook-xss-attacks-show-increasing-sophistication/ – Otro móvil FaceBook ataque
[3] http://suriya.me/me-and-facebook-a-cautionary-tale/ – Suriay Prakish FaceBook Reportar Tale
[4] http://code .google.com / p / facebook-phone-crawler / – Concurrent FaceBook Teléfono Crawler script
[5] http://www.pcworld.com/article/2011396/facebooks-phone-search-can-be-abused-to-find-peoples-numbers-researchers-say.html – Declaración de Bogdan Botezatu />

***** ACTUALIZACIÓN:
Fueron de hecho haciendo sencilla árbitro HTTP y / o cheques useragent. Yo soy capaz de hacer 299 en una hora, 300 dará lugar a un bloque. Hay otros métodos que están disponibles que todavía no hacen ningún tipo de límite. Estos métodos se han informado de forma privada />
ACTUALIZACIÓN 2:.
Una verdadera revisión se ha llevado a cabo por este método en particular. Sólo puede enviar una solicitud de amistad para un número de teléfono que aparece ahora.
http://arstechnica.com/security/2012/10/facebook-moves-to-keep-phone-numbers-for-two-factor-protection-private/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *