2 puntos por GN⁺ 2024-07-29 | 1 comentarios | Compartir por WhatsApp
  • A través de documentos públicos del litigio colectivo antimonopolio contra Meta y de la ingeniería inversa del APK de Onavo Protect para Android archivado, salió a la luz la arquitectura que habría permitido a Facebook descifrar mediante un ataque de intermediario el tráfico HTTPS de apps competidoras
  • La clave era hacer que el dispositivo instalara el certificado CA de Facebook Research y luego enrutar el tráfico de la VPN de Onavo hacia la infraestructura de Facebook, donde un proxy transparente Squid con ssl bump podía intervenirlo
  • Onavo Protect se instaló más de 10 millones de veces en Android, y la distribución de 2016 incluía el certificado CA como recurso de la app; uno de ellos era válido hasta 2027
  • Aunque su efectividad cayó después de Android 7, cuando se restringieron la confianza en CAs agregadas por el usuario y el flujo de instalación de certificados, se confirmó que sc-analytics.appspot.com de Snapchat era un caso donde el MITM era posible por no tener certificate pinning
  • Tras el refuerzo de seguridad en Android y la expansión del pinning, Facebook incluso evaluó usar la Accessibility API; además, el esquema de permisos de Onavo dejaba abierta la posibilidad de acceder a datos sensibles como el IMSI

La arquitectura de Onavo confirmada por documentos públicos e ingeniería inversa del APK

  • Los documentos públicos del juicio colectivo actual contra Meta incluyen material que sugiere que Facebook pudo haber violado la Wiretap Act
    • Según la explicación de un usuario de HN, el caso en sí no es una demanda por interceptación ilegal, sino un litigio antimonopolio por presuntas violaciones de la Sherman Act; la posible infracción de la Wiretap Act habría surgido de forma incidental durante el proceso de descubrimiento de pruebas
  • El análisis se basa en documentos judiciales públicos y en la ingeniería inversa del paquete de la app Onavo Protect para Android archivado
  • Como la información publicada es limitada y parcial, algunos hechos podrían ser inexactos o estar incompletos
    • Todavía no está claro si se interceptó el tráfico de todos los usuarios de la app o solo el de una parte

Cómo se descifraba tráfico HTTPS específico con ssl bump

  • Facebook llamaba a esta técnica ssl bump, un nombre tomado de la función de proxy transparente del proxy de caché Squid
  • El flujo de operación se aproximaba a esta configuración
    • Instalar en el dispositivo un certificado de confianza emitido por Facebook Research
    • Enviar el tráfico del dispositivo a infraestructura controlada por Facebook mediante la VPN de Onavo
    • Redirigir el tráfico a un proxy transparente de Squid
    • Descifrar el tráfico TLS de dominios específicos mediante la configuración de ssl bump
  • En los documentos judiciales, los dominios de interés aparecen relacionados con Snapchat, Amazon y YouTube
  • Solo con la app de Onavo archivada es difícil confirmar si realmente se interceptó el tráfico de otros usuarios o si simplemente pasó por el proxy

Permisos y funciones de recolección de la app Onavo Protect

  • La app Onavo Protect para Android tuvo más de 10 millones de instalaciones e incluía código para inducir al usuario a instalar un certificado CA en el almacén de confianza del usuario del dispositivo
  • La app pedía varios permisos con el argumento de “proteger” y mostrar el uso de datos
    • Display over other apps
    • Access past and deleted app usage
  • El manifiesto de Android incluía android.permission.PACKAGE_USAGE_STATS, con lo que podía recopilar estadísticas de uso de otras apps y consumo de red
  • En el esquema de la base de datos local parecían almacenarse datos relativamente de alto nivel, como estadísticas de uso de apps y consumo de tráfico de red por aplicación
  • En correos incluidos en los documentos públicos se menciona la necesidad de “reliable analytics” sobre Snapchat y la idea de un “kit para iOS y Android que intercepte el tráfico de subdominios específicos”

Instalación del certificado CA y cambios de seguridad en Android

  • La app de Onavo tenía una función que llamaba a KeyChain.createInstallIntent() de Android para instalar certificados, lo que hacía que al usuario le apareciera una ventana de instalación con el nombre Facebook Research
  • KeyChain.createInstallIntent() dejó de funcionar del mismo modo a partir de Android 7 Nougat
  • La política de seguridad de Android también cambió de forma importante después
    • Las apps dirigidas a Android 6.0 API level 23 o inferior confían por defecto en el almacén de CAs agregadas por el usuario
    • Desde Android 7, las apps ya no confían por defecto en CAs agregadas por el usuario a menos que definan una configuración de seguridad separada
    • En Android 7 ya no era posible instalar certificados en el almacén del sistema sin root
  • Android 11 bloqueó por completo el mecanismo con el que una app podía guiar al usuario a instalar certificados, y ninguna app confía por defecto en certificados del almacén del usuario
  • El método que era posible entre 2016 y 2019 ya no es fácil de ejecutar técnicamente de la misma forma en el entorno actual de Android

El certificado de Facebook Research incluido en la app

  • En una versión de septiembre de 2017 del APK de Onavo, en la carpeta assets, venían incluidos old_ca.cer y new_ca.cer
  • El código relacionado puede verse en la clase ResearchCertificateManager
  • La diferencia entre ambos certificados era su periodo de validez
    • El primer certificado era válido desde el 8 de septiembre de 2016 y duraba un año
    • El segundo era válido del 8 de junio de 2017 al 8 de junio de 2027
  • En los documentos judiciales aparece la frase de que el certificado usado para SSL bump “se genera en el servidor y se envía al dispositivo”
  • En las apps obtenidas hasta ahora no se ha confirmado todavía una función concreta que, después de 2017, agregara certificados desde el servidor, por lo que hace falta más investigación

Dominio de analítica de Snapchat y certificate pinning

  • Si una app hubiera aplicado completamente el certificate pinning, este método de MITM no habría funcionado
  • Entre las pruebas de los documentos públicos aparece el dominio de Snapchat sc-analytics.appspot.com
  • Al descompilar una versión antigua de Snapchat, se encontró que el tráfico hacia ese dominio de analítica no tenía aplicado certificate pinning
  • Facebook era consciente de que el refuerzo de seguridad en Android y la expansión del pinning reducían la viabilidad a largo plazo de ssl bump

Revisión del uso de Accessibility API y acceso a información sensible

  • A medida que se expandían el refuerzo de seguridad de Android y la adopción de certificate pinning, Facebook evaluó como alternativa el uso de la Accessibility API
  • Google ha indicado que las funciones de accesibilidad solo pueden declararse como herramientas de accesibilidad cuando ayudan a personas con discapacidad a usar el dispositivo o a superar dificultades derivadas de una discapacidad
  • El uso indebido de las funciones de accesibilidad en Android suele asociarse con casos de apps maliciosas como el banking malware
  • La app Onavo incluía el permiso READ_PHONE_STATE en el manifiesto, y en ese momento eso podía permitir obtener información sensible como el IMSI del suscriptor
  • La posibilidad de acceder al IMSI muestra que también hace falta verificar con más detalle qué otros datos pudo haber recopilado la app de Onavo

Controversias previas de Onavo y en qué difiere este análisis

  • La información relacionada con este MITM es un asunto distinto de la controversia de Facebook Project Atlas y Onavo que se conoció en 2019
  • En 2019, la app de Onavo fue retirada de la tienda de apps después de una investigación que reveló que Facebook pagaba a adolescentes para que usaran la app y así recopilar datos sobre sus hábitos de uso
  • En 2023, dos subsidiarias de Facebook recibieron la orden de pagar en total 20 millones de dólares australianos por conductas engañosas que podrían violar la ley de protección al consumidor en Australia
  • El foco de este análisis está en que, incluso después de que la app fuera retirada, los APK archivados permitieron confirmar cómo estaba implementada técnicamente en ese momento

1 comentarios

 
GN⁺ 2024-07-29
Opiniones de Hacker News
  • Para resumir exactamente cuál es el problema que se plantea, hay un detalle que varios textos parecen haber omitido: a mi parecer, FB les pagó a usuarios de SC para participar en investigación de mercado e instalar un proxy.
    La mayoría de los artículos lo hacen sonar como hacking, pero en realidad no parece ser así. Me gustaría saber más sobre qué les dijeron a los participantes que estaban recibiendo dinero a cambio de hacer, pero no me parece probable que no supieran que se estaba monitoreando su comportamiento.
    Si una de las partes de la comunicación está rompiendo el cifrado con una herramienta provista por un tercero, el argumento de que eso es espionaje telefónico/intercepción me parece algo débil. No soy abogado, pero si esto es intercepción, ¿también lo es que yo descifre y analice el tráfico de la API de un servicio con un proxy SSL local?

    • Neilson también hace algo parecido con la TV. Instala cajas de captura en hogares de panelistas para saber qué ven: https://www.nytimes.com/athletic/3194414/2022/03/22/the-ulti...
      Espero que hayan sido honestos sobre qué recopilaban. El artículo no mostraba cómo era la pantalla de consentimiento antes de instalar el proxy.
    • Según el artículo, este es un caso nuevo, distinto del que cubrió TechCrunch, en el que Facebook les pagaba a adolescentes para recopilar datos sobre sus hábitos de uso.
      Ese caso terminó con la retirada de la app Onavo de las tiendas y con multas.
    • Sobre lo de “suena como hacking, pero no parece serlo”, los mejores y más efectivos hacks suelen consistir en hacer que alguien descargue algo que no debería para eludir la seguridad.
    • No es que el artículo omita algo, sino que se están mezclando casos distintos. Este artículo trata sobre Onavo Protect, “Free VPN + Data Manager”, por el que no pagaban dinero.
      Por separado, hubo un programa en el que Facebook les pagaba a adolescentes para instalar Facebook Research VPN mediante canales de distribución empresarial, eludiendo la App Store y sus reglas, y esa versión paga era más invasiva.
      Así que este asunto de Onavo no tiene defensa alguna.
      https://apkpure.com/onavo-protect-from-facebook/com.onavo.sp...
      https://techcrunch.com/2019/01/29/facebook-project-atlas/?re...
    • La parte de “FB les pagó a usuarios de SC para participar en investigación de mercado e instalar un proxy” parece confundirlo con un caso anterior. Esta app estaba disponible para cualquiera en Google Play y Apple App Store.
      La publicación del blog también distingue esta acusación de intercepción de la controversia anterior, en la que en 2023 un tribunal federal australiano ordenó a dos subsidiarias de Facebook pagar un total de 20 millones de dólares por conductas engañosas que podían infringir la ley australiana de protección al consumidor.
      Sobre “¿también es intercepción que descifre y analice mi propio tráfico con mi proxy SSL local?”, si estás viendo tu propio tráfico en tu propia red o equipo, obviamente no.
  • Algunos de los correos son impresionantes en varios sentidos, sobre todo porque muestran lo tontos o arrogantes que eran los de FB. Hablar abiertamente de MITM y dejar por escrito que metieron ese kit en productos de varias otras compañías es realmente estúpido.
    Con algo como “Zuck, tengo ideas sobre lo que propusiste, reunámonos para hablarlo” habría sido sospechoso, pero al menos no sería prueba incriminatoria. Es como si nunca hubieran visto una película ni leído una noticia sobre otras empresas que fueron atrapadas.

    • Tengo muy presente el consejo de que, cada vez que envíes algo por escrito, pienses cómo se sentiría tener que repetirlo en un tribunal o ver ese mensaje publicado en las noticias. Nunca he dicho algo tan grave, pero igual ayuda.
    • ¿Acaso preferirías que fueran más inteligentes y pudieran ocultar el rastro de sus actos maliciosos?
      El verdadero problema es la ausencia total de ética. Suena como un lugar donde, si consideras la ética como un obstáculo, se reirían de ti en la sala de juntas o te despedirían. La cultura corporativa parece orientada por encima de todo a perseguir ganancias, y en la industria del software esto es especialmente malo porque hay demasiada gente que ni siquiera piensa en las implicaciones éticas de lo que hace.
    • Los jefes multimillonarios están rodeados de oportunistas y aduladores. Con el tiempo, como una enorme mancha de basura, ese grupo crece hasta volverse inmanejable, y cualquiera que actúe aunque sea un poco normal termina siendo marginado como una amenaza ontológica a sus fantasías, dominio, manipulación, lujo y vida de ocio.
    • Lo único que hace falta saber sobre Meta es que contribuyó al genocidio en Myanmar. Es trágico que trabajar en empresas relacionadas con defensa suela ser motivo de desprecio, mientras que trabajar en Meta por lo general se considere neutral, aunque el impacto negativo de esta última pueda ser abrumadoramente mayor que el de las primeras.
      Y eso sin siquiera mencionar Instagram.
      Al final, parece que pagan tanto y emplean a tanta gente de la industria que las críticas disminuyen. Todos tenemos algún amigo que trabajó en Meta, o quizá incluso postulamos alguna vez. En cambio, casi nadie a nuestro alrededor estuvo en lugares como Anduril.
    • Si alguna de estas personas busca un nuevo empleo, el lugar donde trabajas también hará fila para meterla en el ciclo de entrevistas.
  • No es por minimizarlo, pero esto al menos requería que el usuario descargara la app Onavo, así que no era algo tan común
    Lo que pienso más seguido son los dos tipos de webview no obsoletos que se pueden usar en iOS: WKWebView y SFSafariViewController. Tienen usos previstos muy distintos
    Cuando tocas un enlace en la app de Facebook, debería usar SFSafariViewController. Es privado porque el código de la app no puede ver su interior, comparte cookies con Safari y, literalmente, está hecho para “cargar contenido web externo dentro del contexto de esta app”
    Pero FB todavía usa WKWebView. Con eso puede inyectar JS arbitrario en la página que quiera, y rastrear todo: navegación, recursos cargados, etc. Viendo este artículo y otras revelaciones, da miedo imaginar qué hace FB con esa capacidad. Es muy posible que hasta esté rastreando qué píxeles toca el usuario en sitios externos. Pensar que quizá rastrean todos los nombres de usuario y contraseñas ingresados en webviews dentro de la app suena una locura, pero técnicamente es posible. ¿Y de verdad podemos confiar en que no lo harían?

    • De hecho, inyectan JS. Antes hubo un problema en el que rompía una llamada JS específica del autocompletado de pagos
      https://x.com/jameshartig/status/1534886418266431488
    • No sabía que WKWebView le diera tantos permisos a una app. ¿Hay alguna forma de saber, cuando un usuario abre una página web, si es WKWebView o SFSafariViewController? No uso FB, pero sí uso webviews en otras apps, y no quisiera que esas apps también pudieran hacer algo así
    • Sobre lo de que no es común porque hay que descargar la app Onavo: según AndroidRank, tuvo 10 millones de instalaciones en Android
      Lo que todavía no sabemos es en qué porcentaje de esas instalaciones se hizo MITM al tráfico de competidores de FB
      https://www.androidrank.org/application/onavo_protect_from_f...
    • Mira este artículo: https://krausefx.com/blog/ios-privacy-instagram-and-facebook...
    • No tengo Instagram y sí uso Facebook, pero cuando la gente manda enlaces a videos de Instagram por Messenger, no se pueden ver dentro de la app a menos que inicies sesión; en la práctica, a menos que te crees una cuenta. Solo puedo verlos abriéndolos fuera, en Safari
  • No sé por qué, pero Facebook es la única empresa tecnológica que me resulta imposible ver con buenos ojos. Google, Microsoft, Apple, Nvidia, AMD, Intel, etc. tienen cada una cosas que me gustan y cosas que no, pero Facebook simplemente me cae mal
    Hace unos 10 u 11 años cerré mi cuenta de Facebook y puse un filtro para quitar Facebook de los resultados de búsqueda, y funciona. En el feed de Google News casi no veo contenido relacionado con Facebook. Aunque todavía uso WhatsApp, porque fuera de China es la app de mensajería más grande de Asia

    • Probablemente sea una mezcla de varias razones. Desde cosas como este artículo hasta los píxeles de rastreo, las llamadas cuentas fantasma y su comportamiento contra todo lo que dificulte el rastreo, tiene una larga historia de debilitar la privacidad para aumentar ganancias. De las empresas que mencionaste, solo Google se solapa un poco, pero no llega a ese nivel
      También es irresponsable respecto del efecto de sus algoritmos al amplificar discursos de odio. Las otras empresas no tienen problemas de esta escala
      Su marketing también es deshonesto. En casi todos los anuncios y presentaciones de funciones de Quest usan visualizaciones conceptuales para dar una idea engañosa de lo que se puede hacer. Mark también recurre mucho al doble discurso cuando aborda problemas. El doble discurso no es exclusivo de Meta, pero en comparación con las otras empresas de la lista, llevan la publicidad engañosa al límite
      En este ciclo de IA, Meta vuelve a ganar popularidad gracias a sus modelos con pesos abiertos, aunque no sean open source, y Mark también intenta reinventar su imagen con una reciente ofensiva de relaciones públicas
      Aun así, de las empresas mencionadas, culturalmente creo que Meta es la única cuyo trabajo no tiene un núcleo moral. La cultura baja desde arriba, y Zuckerberg y Thiel sembraron en la forma de operar de Meta una cultura de “el éxito lo es todo”
      Las otras empresas también son claramente capitalistas, pero tienen cierto sentido de responsabilidad sobre lo que producen
    • Seguir usando WhatsApp contribuye al monopolio de Meta. El monopolio de WhatsApp está creciendo, e incluso empezó a copiar descaradamente a su competidor Telegram
      Si yo mismo estoy fortaleciendo al otro, oponerme públicamente no sirve de nada
    • Como la empresa ahora se llama Meta, esa también podría ser la razón por la que no ves muchas noticias sobre Facebook
  • La frase “en la actual demanda colectiva contra Meta, documentos judiciales incluyen acusaciones de que la empresa violó la Wiretap Act” es imprecisa
    Esto no es una demanda por escuchas/interceptación. Todas las reclamaciones son por violaciones de la Sherman Act, es decir, temas antimonopolio. Los abogados de los demandantes simplemente encontraron por casualidad, durante el proceso de discovery, pruebas de que Facebook podría haber violado la Wiretap Act. No hay reclamaciones relacionadas con escuchas/interceptación; es un caso antimonopolio

    • ¿Esto no viola también la DMCA? Porque implica eludir un sistema cifrado
      Me intriga y me confunde si la DMCA no es lo bastante fuerte para algo de esta escala, si es un problema de legitimación activa o de daños demostrables, o si los demandantes se olvidaron
  • Un familiar estuvo a punto de inscribirse hace tiempo en una investigación de mercado esencialmente parecida a esta. Consistía en desviar todo el tráfico de internet del teléfono por una VPN y un proxy controlados por la empresa de investigación de mercado, e instalar también un certificado
    Habría recibido una pequeña compensación y también habría aceptado la instalación. No recuerdo que esa empresa haya engañado exactamente en algo
    Pero aunque en general no me gustan las políticas excesivamente paternalistas, me pregunto qué tan significativo es que una persona con relativamente pocos conocimientos técnicos acepte algo así. No fue engaño, pero tampoco explicaron de forma clara y contundente qué estaba ocurriendo a alguien que no sabía de qué se trataba

    • Que algunas empresas de investigación de mercado den un aviso suficiente no significa en absoluto que Onavo también lo haya hecho. Onavo no se promocionaba ante los usuarios como una “empresa de investigación de mercado”; parecía una app gratuita y práctica para clasificar el uso de datos de internet
  • Al leer esto, me da la impresión de que Facebook ahora simplemente tiene un departamento que parece una organización fachada de la NSA

    • Parece que la gente olvida que la investigación que se convirtió en Google también recibió inicialmente financiamiento de la NSA y la CIA
      https://qz.com/1145669/googles-true-origin-partly-lies-in-ci...
      Ahora los autos vienen con servicios de Google y Android metidos en el sistema de infoentretenimiento, y no hay forma de sacarlos. ¿Qué podría salir mal cuando una empresa de publicidad ve a dónde vas y quién va en tu auto?
    • En las filtraciones de Prism, casi todas las grandes empresas tecnológicas cooperaron
    • O tal vez sea una organización fachada de la Unidad 8200. Hablamos de Facebook Israel
  • Oooh, SSLbump
    Seguro hay algún precedente que considere delito espiar el tráfico de red del lado del cliente
    Probablemente fue uno de los varios casos relacionados con la interceptación de información bancaria

    • ¿La Computer Fraud and Abuse Act no cubre esto?
  • Esta es la razón por la que se debería usar TLS mutuo, donde tanto el servidor como el cliente intercambian certificados, antes de enviar información dañina por internet. Pero en la realidad, nooooooo

    • ¿Cómo habría ayudado el TLS mutuo en este caso?
    • Se puede hacer certificate pinning
  • Es lamentable, pero no sorprende. Es muy probable que actores maliciosos como Meta ya hayan incorporado varios patrones oscuros
    Por ejemplo, puedo imaginar riesgos de seguridad por filtración de datos de sensores, como monitorear datos de sensores como el acelerómetro y el giroscopio para inferir información de audio. Si los datos recopilados se retransmiten en secreto al exterior y se procesan, podrían reconstruir información sensible sin acceder directamente al micrófono del dispositivo
    No sería raro que lograran hacer algo así
    Es probable que Meta y otras empresas dañinas, junto con agencias gubernamentales, estén usando en entornos reales muchas más técnicas de escucha, peores y más simples