Ring no solamente es un producto que permite a los usuarios vigilar a sus vecinos. La compañía también lo usa para vigilar a sus clientes.

Una investigación de EFF sobre la aplicación de timbre de puerta Ring para Android descubrió que estaba llena de rastreadores de terceros que enviaban una gran cantidad de información personal identificable (PII) de los clientes. Se descubrió que cuatro de las principales empresas de análisis y comercialización recibían información como los nombres, las direcciones IP privadas, los operadores de redes móviles, los identificadores persistentes y los datos de los sensores de los dispositivos de los clientes de pago.

El peligro de enviar incluso pequeños bits de información es que las empresas de análisis y seguimiento son capaces de combinar estos bits para formar una imagen única del dispositivo del usuario. Este conjunto cohesivo representa una huella dactilar que sigue al usuario mientras interactúa con otras aplicaciones y emplea su dispositivo, proporcionando así a los rastreadores la capacidad de espiar lo que un usuario está haciendo en su vida digital y cuándo lo está haciendo. Todo esto tiene lugar sin una notificación o consentimiento significativo del usuario y, en la mayoría de los casos, no hay forma de mitigar el daño causado. Incluso cuando esta información no se utiliza indebidamente y se emplea precisamente para su propósito declarado (en la mayoría de los casos, la comercialización), esto puede dar lugar a toda una serie de problemas sociales.

Ring ha exhibido un patrón de comportamiento que intenta mitigar la exposición a la crítica y el escrutinio mientras se beneficia de la amplia gama de datos de los clientes que están a su disposición. Ha sido capaz de hacerlo aprovechando una imagen del hogar seguro, mientras se beneficia de una red de vigilancia que facilita el acceso sin precedentes de los departamentos de policía a la vida privada de los ciudadanos, como hemos cubierto anteriormente. Para los consumidores, esta imagen ha cultivado un sentido de confianza en Ring que debería ser sacudido por la realidad del funcionamiento de la aplicación: no sólo Ring gestiona mal los datos de los consumidores, sino que también entrega intencionadamente esos datos a rastreadores y mineros de datos.

Hallazgos

Nuestras pruebas, usando la versión 3.21.1 de Ring for Android, revelaron la entrega de PII a branch.io, mixpanel.com, appsflyer.com y facebook.com. Facebook, a través de su Graph API, es alertado cuando la aplicación es abierta y sobre acciones del dispositivo como la desactivación de la aplicación después del bloqueo de la pantalla debido a la inactividad. La información que se envía a Facebook (incluso si no tiene una cuenta en Facebook) incluye zona horaria, modelo de dispositivo, preferencias de idioma, resolución de pantalla y un identificador único (anon_id), que persiste incluso cuando se restablece el ID del anunciante a nivel de sistema operativo.

Branch, que se describe a sí misma como una plataforma de "enlace profundo", recibe una serie de identificadores únicos (device_fingerprint_id, hardware_id, identity_id), así como la dirección IP local de su dispositivo, modelo, resolución de pantalla y DPI.

AppsFlyer, una gran empresa de datos centrada en la plataforma móvil, recibe una amplia gama de información sobre el lanzamiento de la aplicación, así como ciertas acciones del usuario, como la interacción con la sección "Vecinos" de la aplicación. Esta información incluye su operador móvil, cuándo se instaló y lanzó Ring por primera vez, una serie de identificadores únicos, la aplicación desde la que se instaló y si el seguimiento de AppsFlyer vino preinstalado en el dispositivo. Esta última información es presumiblemente para determinar si el rastreo de AppsFlyer fue incluido como bloatware en un dispositivo Android de gama baja. Los fabricantes suelen compensar los costos de producción del dispositivo vendiendo los datos de los consumidores, una práctica que afecta de manera desproporcionada a las personas de bajos ingresos y que fue objeto de una reciente petición a Google iniciada por Privacy International y cofirmada por la EFF.

Lo más alarmante es que AppsFlyer también recibe los sensores instalados en su dispositivo (en nuestro dispositivo de prueba, esto incluía el magnetómetro, el giroscopio y el acelerómetro) y los ajustes de calibración actuales.

Ring da a MixPanel la mayor cantidad de información con diferencia. Los nombres completos de los usuarios, las direcciones de correo electrónico, la información del dispositivo como la versión y el modelo del sistema operativo, si el bluetooth está habilitado, y la configuración de las aplicaciones como el número de ubicaciones en las que el usuario tiene instalados los dispositivos Ring, se recopilan y se comunican al MixPanel. MixPanel se menciona brevemente en la lista de servicios de terceros de Ring, pero no así el alcance de su recopilación de datos. Ninguno de los otros rastreadores listados en este post se mencionan en absoluto en esta página.

Ring también envía información al servicio de registro de accidentes propiedad de Google Crashalytics. El alcance exacto del intercambio de datos con este servicio está aún por determinar.

Data delivered to api.branch.io

Data delivered to api.mixpanel.com

Data delivered to graph.facebook.com

Data delivered to t.appsflyer.com

Metodología

Todo el tráfico que observamos en la aplicación se enviaba usando HTTPS cifrado. Es más, la información cifrada se entregaba de una manera que evitaba el análisis, haciendo más difícil (pero no imposible) para los investigadores de seguridad conocer y reportar estas graves violaciones de la privacidad.

Nuestro análisis dinámico fue realizado usando mitmproxy corriendo en un punto de acceso para interceptar y analizar los flujos HTTPS de un dispositivo de prueba Android. Para eliminar el ruido generado por otras aplicaciones, instalamos la aplicación de cortafuegos AFWall+ y sólo permitimos el tráfico de red desde el Ring. El mitmproxy genera un certificado raíz x509 que debe ser instalado en el almacén de certificados a nivel de sistema operativo en Android, permitiendo que la interceptación activa tenga lugar en el tráfico que de otro modo sería seguro. Esto nos llevó al descubrimiento inicial de que el certificado raíz no estaba siendo aceptado como válido, y que alguna forma de fijación de certificados estaba siendo empleada por la aplicación.

El bloqueo de certificados a nivel de aplicación es cuando una aplicación valida los certificados de un servidor remoto contra un registro de ese certificado almacenado dentro de la aplicación, en lugar de validarlos contra la lista de certificados raíz dentro del sistema operativo. Esto se utiliza a menudo como medida de seguridad, para garantizar que la emisión errónea de certificados o la mala gestión a lo largo de la cadena de confianza en la ICP no comprometa la integridad, la confidencialidad o la autenticidad del tráfico HTTPS. Lamentablemente, también puede impedir que los investigadores y los usuarios de la seguridad vean exactamente qué información están enviando esos dispositivos y a quién. En el caso de Ring, inicialmente observamos que todo el tráfico interceptado en el momento del lanzamiento era rechazado, y no pudimos observar ninguna comunicación.

mitmproxy screen displaying results of certificate pinning

pantalla de mitmproxy mostrando los resultados de la fijación del certificado

Sólo a través del poderoso marco de análisis dinámico Frida pudimos inyectar código en el anillo en tiempo de ejecución, lo que aseguró que el certificado proporcionado por nuestra instancia de mitmproxy fuera aceptado como válido. Esto nos permitió inspeccionar todo el tráfico HTTPS enviado a través de la aplicación.

Conclusión

Ring afirma priorizar la seguridad y la privacidad de sus clientes, sin embargo, una y otra vez hemos visto que estas afirmaciones no sólo se quedan cortas, sino que perjudican a los clientes y a los miembros de la comunidad que participan en el sistema de vigilancia de Ring. En el pasado, hemos iluminado la mala gestión de la información de los usuarios que ha llevado a violaciones de datos, y el intento de echar la culpa de tales errores a los pies de los clientes.

Esto va un paso más allá, simplemente entregando datos sensibles a terceros que no son responsables ante Ring o que no están obligados por la confianza depositada en la relación cliente-vendedor. Como ya hemos mencionado, esto incluye información sobre su dispositivo y su proveedor, identificadores únicos que permiten a estas empresas rastrearlo a través de las aplicaciones, datos de interacción en tiempo real con la aplicación e información sobre su red doméstica. En el caso de MixPanel, incluso incluye su nombre y dirección de correo electrónico. Estos datos se entregan a las partes ya sea que sólo se mencionen brevemente, se entierren en una página interna que es poco probable que los usuarios lleguen a ver, o que no aparezcan en ninguna lista.

archivos de flujo de mitmproxy:

Related Issues