Rompiendo el pinning de certificados de Messenger de Meta en macOS

Ingenieros inversos detallan cómo eludieron el pinning de certificados en la app macOS de Messenger de Meta para interceptar su tráfico cifrado, lo que abre una discusión más amplia sobre cuán eficaces son realmente estas defensas del lado del cliente. Los comentaristas sopesan las ventajas y desventajas entre el pinning de certificados, la ofuscación y las comprobaciones de integridad, y señalan que los atacantes decididos siempre pueden modificar binarios mientras que las empresas usan estas técnicas sobre todo para subir el listón frente a manipulaciones casuales o compromisos de CA. La conversación se amplía hacia los derechos del usuario a inspeccionar el tráfico de las apps, los límites legales de la ingeniería inversa y cuánto control deberían tener plataformas como Apple y Meta sobre lo que se ejecuta en los dispositivos de los usuarios.

Ingeniería inversa del pinning de certificados de Messenger

  • Varios comentaristas describen intentos pasados similares en otras apps (Snapchat, TikTok, Instagram) y señalan que el pinning de certificados más el endurecimiento contra ingeniería inversa pueden ser muy difíciles de eludir.
  • Muchos destacan que cambiar ramas condicionales (p. ej., JNE/JE) y volver a ejecutar la app es un patrón común de cracking desde hace décadas; el caso de Messenger se ve como un ejemplo moderno.
  • Algunos esperan que la IA o herramientas automatizadas tipo fuzzing ayuden a localizar esas ramas, aunque otros señalan que esto es en su mayor parte un problema estándar de fuzzing/búsqueda y no uno de “IA”.

¿Por qué no usar simplemente la web o los clientes de Android?

  • Las interfaces web a menudo usan APIs distintas o carecen de comportamientos específicos, así que no son buenos sustitutos cuando se analiza el protocolo de un cliente de escritorio.
  • Las apps de Android son más fáciles de interceptar (y Meta documenta cómo hacerlo para trabajos de bug bounty), pero Texts.com está construyendo un cliente de escritorio, así que importa igualar el comportamiento de escritorio.

Ofuscación, comprobaciones de integridad y modelos de amenaza

  • Varios sostienen que la ofuscación pesada o las comprobaciones de integridad en binarios de cliente tienen un valor limitado: los atacantes motivados seguirán ganando, y además añade coste, penalizaciones de rendimiento y problemas de depuración.
  • El pinning de certificados se presenta como una medida barata para “subir el listón” y, sobre todo, como protección frente a proxies hostiles o CA comprometidas, no como una defensa seria contra la ingeniería inversa.
  • Otros replican que, sin comprobación de integridad, eludir el pinning parcheando unos pocos bytes parece demasiado fácil, aunque los críticos responden que impedir que los usuarios modifiquen su propio software es hostil para el usuario.

Control de la plataforma y libertad del usuario

  • Algunos conectan esto con el modelo más cerrado de Apple (Secure Enclave, firma de código, sandboxing) como una forma de imponer confianza e integridad, lo que otros describen como “peligroso” o antiusuario.
  • Hay acuerdo en que, una vez que los atacantes controlan el dispositivo cliente, la defensa perfecta es imposible; todo lo que puedes hacer es aumentar el esfuerzo requerido.

Inspección de tráfico, teorías conspirativas y privacidad

  • Los comentaristas celebran la posibilidad de inspeccionar el tráfico de Messenger para probar afirmaciones como “Facebook escucha a través del micrófono”, aunque otros señalan que un cifrado adicional a nivel de aplicación aún podría ocultar el contenido.
  • Varias respuestas apuntan que, con control total del cliente, siempre puedes engancharte antes del cifrado.
  • Un hilo largo debate si la inquietante segmentación publicitaria se debe a la escucha o a modelos de comportamiento y grafos sociales altamente eficaces (p. ej., la navegación de amigos en redes compartidas).
  • Algunos ven ese adtech predictivo como intrínsecamente distópico y sostienen que los datos personales deberían ser legalmente “tóxicos” para las corporaciones; otros sugieren que la gente sobreestima lo especiales que son sus datos.

Persistencia de datos en iOS/macOS y control del usuario

  • Un usuario se queja de que los datos de seguimiento de Facebook persisten en iOS incluso tras borrar la app.
  • Otros explican que las apps pueden almacenar elementos en el Keychain vinculados al desarrollador, invisibles para los usuarios; en iOS, eliminar esto normalmente requiere borrar el teléfono sin restaurar, hacer jailbreak o usar lógica de borrado proporcionada por la app.

Consideraciones legales

  • Algunos mensajes cuestionan si eludir el pinning de certificados viola las reglas anti-elusión de la DMCA.
  • Las respuestas citan exenciones de EE. UU. para investigación de seguridad de buena fe e ingeniería inversa para interoperabilidad, pero señalan que los EULA y algunos precedentes judiciales pueden complicar las cosas.

Herramientas y técnicas alternativas

  • Entre las herramientas mencionadas están Proxyman para interceptación, Frida para hooks nativos, rastreo TLS basado en eBPF y SSLKEYLOGFILE para el registro de claves TLS.
  • Algunos señalan que, en lugar de romper el pinning, enganchar bibliotecas TLS (p. ej., mediante eBPF o Frida) puede capturar el texto plano antes del cifrado, aunque los flujos de trabajo basados en proxy siguen siendo muy convenientes.