Función de transferencia remota de datos de Apple Photos en iOS 18 y macOS 15
(lapcatsoftware.com)- Photos en iOS 18 y macOS Sequoia agregó Enhanced Visual Search, y en el iPhone y la Mac del autor venía activada de forma predeterminada
- Esta función ayuda a las búsquedas haciendo una coincidencia privada de puntos de referencia y puntos de interés en las fotos con un índice global en los servidores de Apple
- Apple explica que impide conocer la información de las fotos mediante cifrado homomórfico, privacidad diferencial y relés OHTTP, pero la comunicación con el servidor en sí se vuelve el eje del debate sobre privacidad
- El foco de la crítica no está en una mala intención de Apple, sino en la posibilidad de bugs de software, y se presenta como argumento que las notas de versiones de seguridad de Apple siguen publicando vulnerabilidades
- En macOS, Little Snitch permite bloquear en cierta medida las comunicaciones, pero en iOS no existe la misma opción, por lo que a los usuarios les resulta difícil protegerse por su cuenta
Activación predeterminada de Enhanced Visual Search
- Se agregó una nueva opción llamada Enhanced Visual Search en la configuración de Photos del iPhone, y venía activada de forma predeterminada
- La misma opción también se incorporó a Photos en macOS Sequoia, y en la Mac también venía activada de forma predeterminada
- El autor desactivó manualmente esa opción antes de tomar las capturas de pantalla
Funcionamiento según la documentación de Apple
- El documento Photos & Privacy de Apple indica que Enhanced Visual Search permite buscar fotos por puntos de referencia o puntos de interés
- El dispositivo hace una coincidencia privada de los lugares en las fotos con el índice global de los servidores de Apple
- Apple afirma que usa las siguientes tecnologías para proteger la privacidad
-
Cifrado homomórfico
-
Privacidad diferencial
- Relés OHTTP que ocultan la dirección IP
- Según la documentación de Apple, la opción puede desactivarse en iOS y iPadOS desde
Settings > Apps > Photos, y en Mac desdePhotos > Settings > General - Combining Machine Learning and Homomorphic Encryption in the Apple Ecosystem, de Apple Machine Learning Research, se publicó el 24 de octubre de 2024, mientras que el lanzamiento público general de iOS 18 y macOS 15 fue el 16 de septiembre de 2024
-
Críticas sobre la privacidad
- El punto de partida de la crítica es que Apple reforzó una experiencia dentro del dispositivo mediante comunicación con servidores, aun cuando el usuario no lo había solicitado
- Según el criterio del autor, algo es privado solo si todo el procesamiento termina dentro del dispositivo; si los datos salen hacia los servidores del fabricante, resulta difícil considerarlo completamente privado
- El autor señala que tampoco puede evaluar directamente si la implementación de Apple es técnicamente segura
- Sin embargo, considera difícil confiar sin más en las afirmaciones de privacidad de Apple, dado que siguen apareciendo vulnerabilidades en sus notas de versiones de seguridad
- La crítica sostiene que, incluso sin mala intención ni conspiraciones, solo los bugs de software pueden dejar vulnerables a los usuarios, y que Apple no puede garantizar software libre de errores
Opciones del usuario y herramientas de bloqueo
- El autor no tiene interés en Enhanced Visual Search, por lo que cree que no obtiene ningún beneficio que justifique asumir el riesgo, incluso si la función funcionara a la perfección
- Se critica que activar una función sin permiso del usuario no respeta a los usuarios ni sus preferencias
- Sostiene que el eslogan publicitario de Apple, “What happens on your iPhone, stays on your iPhone.”, no encaja con este caso
- En macOS, Little Snitch permite bloquear en gran medida las comunicaciones remotas del software de Apple
- En iOS no se permiten herramientas como Little Snitch, por lo que el autor siente que Apple está impidiendo que los usuarios se protejan por sí mismos
Material posterior
- En un apéndice del 1 de enero de 2025, se presentan también el artículo posterior The internet is full of experts y el resumen de Michael Tsai
1 comentarios
Opiniones de Hacker News
Lo que quiero es muy simple: quiero software que no envíe nada por Internet antes de que exista una intención explícita
El trabajo de ingeniería para hacer que esta función parezca privada es genial, y no hay problema con implementar una función así en sí, pero debe ser necesariamente opt-in
Mientras el software trate al usuario final y sus recursos, como sus datos y su conexión de red, como el patio de juegos del proveedor, la confianza seguirá erosionándose. Los datos de un dispositivo local no deberían filtrarse inesperadamente fuera de una interfaz inalámbrica, y toda función que haga que datos locales salgan a la red debe estar vinculada a una intención del usuario
Mi respuesta cínica a por qué Apple simplemente no les preguntó a los usuarios si querían activar esta función es que Apple sabe que, si pregunta, algunos usuarios la rechazarán de inmediato, pero siente que sabe más que esos usuarios. No me gusta esa actitud, y creo que es la misma razón por la que crece el descontento con la telemetría opt-out
Agregar más cuadros de diálogo en los que la mayoría de los usuarios hará clic en “permitir” sin pensar no resuelve el problema
La sociedad básicamente aceptó que está bien ceder a terceros el acceso a los datos, y agregar fricción a eso termina castigando al 98% por el 2% que de todos modos no usaría esos servicios
Con un público más educado, el equilibrio podría cambiar, pero la realidad no es esa, y una buena experiencia de usuario debe reflejar la realidad
La abrumadora mayoría de los usuarios, más del 95%, no entiende qué significa un popup, parece ni siquiera tener la capacidad de leerlo, y siempre acepta, siempre rechaza o hace clic en el botón más llamativo
La mejor lección sobre la interacción entre tecnología y privacidad se obtiene observando a familiares que no pertenecen a la industria tecnológica ni a la clase profesional gerencial, y preguntándoles qué era el popup que acaban de cerrar y por qué lo cerraron
Para eso se necesita tomar la latitud/longitud de la ubicación de la foto y convertirla en una dirección comprensible para una persona mediante una consulta de geocodificación inversa, lo que casi siempre se hace consultando un servicio global de geocodificación inversa
Me pregunto si también consideran que esta función es una invasión a la privacidad y que requiere opt-in. Si no, no veo por qué un servicio de geocodificación inversa sería más privado que un servicio de búsqueda de puntos de referencia
Personalmente no creo que estos popups logren ningún propósito. Al final, porque no se puede demostrar razonablemente que un sitio web actúa de buena fe. Que una app pregunte si puede contactar a un servidor no garantiza que, si presionas “No”, realmente se bloquee el rastreo
Me sigue sorprendiendo que nos convenzamos de que la privacidad a escala puede funcionar con distintas combinaciones de botones Sí/No. Solo hay dos formas de confiar en el software: 1. verificar ingenuamente si en algún lado dice “privacy first” 2. entender hasta qué instrucciones puede ejecutar el software en ejecución
Los popups de permisos tampoco tienen suficiente granularidad. Cuando se permite el acceso a la lista de contactos, ¿a qué contactos accede realmente? ¿Se puede permitir solo el nombre y bloquear el número de teléfono? ¿El procesamiento es offline u online? Si es online, ¿hay que mostrar otro popup de acceso a Internet? Entonces, ¿también debería poder filtrarse qué tipo de actividad de Internet realiza? Si se sigue bajando por ese camino, al final se llega a un sistema de permisos Turing-completo; y si no, la “privacidad” queda con agujeros
Definitivamente he visto casillas marcadas que yo no había marcado. Quisiera poder apagar estas cosas y que nunca se puedan volver a activar, pero no hay forma de que el proveedor lo permita. Por eso uso Linux
Los usuarios de mi app gratuita y de código abierto parecen sorprenderse de que no tengamos ninguna visibilidad sobre los patrones de uso
Hay situaciones en las que una pequeña cantidad de telemetría anónima sería enormemente útil, pero no pienso tocar eso
El opt-in no solo reduce mucho la cantidad de datos, sino que introduce un gran sesgo en los datos seleccionados, lo que los vuelve inútiles. Quienes hagan opt-in probablemente no sean una buena muestra del “usuario típico”
El opt-out, aunque ofrezca cualquier tipo de protección o garantía, es inaceptable para algunos usuarios, y lo van a comunicar con mucha fuerza
Entiendo que para un actor malicioso es fácil abusar de la telemetría, y que los “datos anónimos” pueden resultar no ser anónimos en absoluto de una variedad sorprendente de maneras. Aun así, queda esa sensación de “por eso no podemos tener cosas buenas”
Cuando ocurría un error, aparecía un toast pidiendo compartir los datos de analítica para ayudar a resolver el problema, y por supuesto se podía rechazar. Probablemente fue el mejor sistema que he visto, aunque no recuerdo qué sitio era
Apple, Microsoft, Google y otros manejan el intercambio de analíticas de forma vaga, sin detalles, y tampoco dejan claro cómo pueden usarse o abusarse. La mayoría ni siquiera ofrece opt-out. No confío en esas organizaciones, pero tengo que convivir con ellas. Facebook o Twitter no tengo que usarlos, y de hecho no los uso. Las encuestas de Steam sí las acepto
Para resolver la falta de información analítica de la que se beneficiaría la comunidad open source, un RFC de estándar de analítica acordado podría ser un paso adelante. Sería una forma en que ambas partes aceptan una comunicación consensuada
Desde mi punto de vista, los metadatos también son datos personales. Sin usuarios no existen ni los datos ni los metadatos. Como el usuario final es la entropía de los metadatos, el propietario de los metadatos y de los datos es el usuario
No tengo muy claro qué sesgo agregaría eso
Por ejemplo, podría preguntar: “Creamos esta app y nos importa la privacidad. Esta es la información recopilada durante el uso en el último mes. ¿Podemos enviarnos esta información para mejorar la app?”, mostrando los datos recopilados en un formato legible por humanos
En general esperaría que fuera una solución viable. Aunque el grupo que hace opt-in sea distinto del “usuario típico”, es el mejor dato que se puede obtener de forma honesta y ética. Debería ser claramente mejor que no tener ningún dato
En todos los sitios web y apps que muestran banners de consentimiento de cookies con opt-in, esta situación ya se aplica de forma implícita
Es muy difícil mejorar el software de escritorio, y en particular los usuarios de Linux tienden a ser hostiles a los patrones que hacen posibles esas mejoras
100% totalmente de acuerdo:
“La única forma de garantizar la privacidad informática es no enviar datos fuera del dispositivo”.
“Cada usuario debe decidir cuánto riesgo de violación de privacidad está dispuesto a aceptar. [...] Al activar una ‘función’ sin preguntar, Apple no respeta a los usuarios ni sus preferencias. Nunca quise que mi iPhone contactara servidores de Apple”.
Por más ofuscada que esté la función, por más “segura” que sea o por más “protectora de la privacidad” que resulte, no cambia el hecho de que cierta información derivada de contenido personal se transmite sin consentimiento previo.
Aunque la información esté protegida, toda consulta de red es información. Puede revelar una marca de tiempo de que se realizó cierta acción en cierto momento; por ejemplo, si apenas se agrega una foto nueva se envía algo a este servicio, puede revelar el hecho de que se tomó una foto, un lugar específico correlacionado con la información de ubicación de ese momento, y eso es solo la punta del iceberg. Enviar información desde el dispositivo de un usuario sin consentimiento explícito es una violación de la privacidad.
Creo que se puede argumentar lo de los metadatos, pero ahí también entran varias suposiciones. En particular, hay que suponer que Apple en realidad no usa OHTTP y que conspira para averiguar cuándo tomó fotos el usuario. Si básicamente no se confía en las matemáticas, no sé dónde terminan la incertidumbre y la sospecha.
Es fácil comprobar que no ocurre justo después de tomar una foto. Primero, el tráfico de red lo mostraría y, en realidad, no es así. Segundo, el cifrado homomórfico es demasiado costoso como para hacerlo de esa forma. Photos normalmente no sincroniza de inmediato, y eso se nota porque la mayoría de los usuarios de iPhone ven en la app Photos cuándo se realizará la sincronización. Las tareas costosas suelen quedar en cola hasta que el dispositivo está conectado a la corriente y en Wi‑Fi.
Por ejemplo, le envié a una amiga una foto de un perro en una bañera, y sus AirPods le avisaron a través del iPhone que “alguien envió una foto de un perro en una bañera”. A mi amiga también le pareció genial y personalmente lo considero una función útil. Pero no sé hasta qué punto esto requiere procesamiento fuera del dispositivo.
Considerando estas dos mitigaciones, para obtener datos personales mediante esta función habría que comprometer primero el teléfono del objetivo para desactivar las consultas falsas y luego comprometer el retransmisor para correlacionar las consultas con una dirección IP específica.
Si puedes hacer todo eso, francamente sería una pérdida de esfuerzo bastante tonta. Porque podrías usar la vulneración de iOS para hacer que el dispositivo envíe directamente datos de ubicación. No hace falta esperar a que el objetivo tome una foto, rastrear varias consultas de landmarks y recopilar un poco de datos adicionales por consulta hasta identificar finalmente la ubicación del objetivo.
Todo esto me recuerda a XKCD 538.
https://machinelearning.apple.com/research/homomorphic-encry...
Me pregunto si esto no será una cortina de humo para reintroducir lentamente el escaneo de CSAM tras la reacción negativa anterior. El comportamiento de estar activado por defecto resulta sospechoso.
[1] https://www.wired.com/story/apple-photo-scanning-csam-commun...
Es una pregunta interesante si ese reconocimiento de huellas puede limitarse de forma confiable solo a landmarks públicos, y depende de detalles de implementación que no están claros.
Aunque la búsqueda visible para el usuario esté limitada a ‘landmarks’, ¿el proceso está generando de antemano huellas de muchas otras cosas, aunque sea solo dentro del dispositivo? Si es así, un malware no persistente que se active por poco tiempo podría encontrar de inmediato imágenes de interés sin el acceso más amplio ni el procesamiento adicional que antes habría necesitado.
El índice global, por supuesto, también coincidirá con otros marcadores que Apple considere valiosos de identificar, aunque no se los devuelva al usuario.
Me parece que el modelo para encontrar landmarks en fotos también podría ejecutarse localmente, aunque no estoy 100% seguro en este caso.
Por el lado cínico, una función de ingeniería de esta escala no se puede planear sin documentos, y esos documentos inevitablemente saldrían a la luz en un tribunal.
La razón superficial es que Apple de verdad quiere ofrecer una función útil que requiere participación del servidor.
Sobre la parte de que no se entienden la mayoría de los detalles técnicos del post del blog de Apple: entendí la parte citada y, lo siento, pero este texto pudo haber sido un artículo optimista. Algo como: “¡Miren esta nueva tecnología genial!”
Me disgustan tanto como a cualquiera las prácticas de Apple que van en contra de los hackers en el sentido de HN, y por razones como esas ni siquiera tengo dispositivos Apple, pero decir “no importa cómo resolvieron los problemas de privacidad, yo siento que no es privado” no convierte eso en un hecho.
Como la mayoría de las demás personas tampoco entiende las palabras citadas, y ni siquiera es seguro que hayan leído hasta ahí, esto parece una crítica injusta.
Según lo entendí entonces, operaciones como SUM podían calcular la suma de una lista de números cifrados. Gracias al método de cifrado, se podían sumar todos los valores sin descifrarlos, y el resultado también quedaba cifrado, de modo que el propietario podía descifrarlo y obtener un número con una precisión conocida.
Si Apple está usando correctamente el cifrado homomórfico, Apple no debería tener forma de ver los datos recibidos desde el teléfono. Las otras cosas mencionadas en el texto son medidas para evitar filtraciones de información mediante metadatos o canales laterales.
Que esta función venga activada por defecto no es algo muy bueno. Debió ser una función que, después de actualizar, le preguntara al usuario si quería activarla.
Para mucha gente, esa autoridad no es Apple. Yo confío con cautela en las políticas de privacidad de Apple, pero mucha gente no confía en Apple, y hay razones para eso.
Por eso, si una función de Apple que no fue activada explícitamente comparte datos personales y además no se entiende la explicación técnica de Apple, aumenta la sensación de haber sufrido una invasión a la privacidad, y eso lleva a una desconfianza aún mayor. ¿Se puede decir entonces que es una crítica injusta?
Mi post de blog está escrito desde la perspectiva de un usuario de Apple cuya confianza fue traicionada. Está bien pensar desde una distancia segura que la tecnología es genial, y quizá realmente lo sea, pero eso no tiene que ver con el problema central: la falta de consentimiento del usuario.
A mí me parece, en general, una función razonable implementada con una gran consideración por la privacidad del usuario. Aunque quizá esté confiando demasiado en la explicación.
Este texto me parece principalmente diseñado para provocar indignación, y creo que hay que tener cuidado de no “morder el anzuelo” con artículos así en Hacker News. Es parecido a tener cuidado cuando aparecen textos de indignación fácil en tabloides o en Facebook.
Parece muy probable que algunas de las preocupaciones del artículo o de este hilo tengan poco impacto en los ingresos de Apple. Una preocupación que sí podrían tener algunos clientes reales sería el uso de datos, pero supongo que esta función probablemente se desactiva en el modo de bajo consumo de datos.
Me pregunto si este tipo de problemas podría resolverse con una configuración como valores predeterminados de privacidad. Sería una forma de que periodistas, activistas, algunos departamentos de TI corporativos y personas que escriben textos como el original puedan elegir que, al actualizar el SO, el sistema quede configurado con valores que se comuniquen menos con la red. Parece difícil crear una interfaz fácil de entender. iOS ya tiene un “modo de aislamiento”, pero no sé si afecta esta configuración.
Por cómo funciona la función según se ve en la interfaz, no parece ser así. Si la función se activa por una acción del usuario, me pregunto si eso también debería considerarse contacto con el servidor.
El mensaje era que esas cosas se quedaban dentro del iPhone, a diferencia de ese otro sistema operativo desagradable operado por una empresa publicitaria. Que Apple nunca extrae tus datos, que tú no eres el producto y que a Apple le importas.
Algo así, sea razonable o no cuando se mira de forma aislada, destruye por completo esa narrativa. Si están dispuestos a mentir tan descaradamente en carteles gigantes, no sabemos qué más harán cuando sus intereses lo exijan.
Creo que acabo de ver una configuración relacionada con búsqueda similar, que me parece que no existía antes de iOS 18.
Si vas a Configuración -> Buscar, hay una opción llamada “Help Apple Improve Search”, y viene activada por defecto.
“Ayuda a mejorar Search permitiendo que Apple almacene las búsquedas que ingresas en Safari (!!), Siri y Spotlight de una forma que no se asocia contigo. Las búsquedas incluyen consultas de conocimiento general y solicitudes como reproducir música o indicaciones de ruta.”
Si ya existía antes, entonces se volvió a activar.
Necesitaría muchos detalles para creer que la forma en que Apple lo almacena protege de manera confiable mi privacidad. Por supuesto, la cita no afirma eso.
Como referencia, en macOS el servicio photoanalysisd se ejecuta en segundo plano y revisa tus fotos aunque nunca hayas abierto Apple Photos.
No se puede desactivar sin apagar SIP, es decir, la Protección de Integridad del Sistema, y para eso hace falta un procedimiento complicado con varios reinicios y advertencias. Si vuelves a activar SIP, se reactiva.
Por alguna razón, Apple parece bastante entusiasmada con analizar fotos, quiera o no el usuario.
¿Qué pasaría si todos ejecutaran un generador de imágenes local entrenado con sus propias fotos, pero ligeramente alterado, y luego llenaran de basura la recolección de hashes de fotos de Apple?
¿Y después qué?
Sería una muy buena acción de limpieza. Se puede aprender mucho viendo quién se enoja y cuánto.
Esto me recuerda la indignación de la época del COVID contra el sistema de notificaciones de exposición de Apple y Google que preservaba la privacidad.
Que se pueda avisar sobre una exposición sin rastrear a la gente va contra la intuición, pero esa tecnología efectivamente lo hizo posible.
Aquí también, el autor parece apoyarse en una reacción inmediata ante una invasión de privacidad, sin intentar evaluar bien la eficacia de tecnologías como la vectorización del lado del cliente, la privacidad diferencial, la retransmisión OHTTP y el cifrado homomórfico.
Dicho eso, estoy 100% de acuerdo en que Apple debería pedir primero el consentimiento del usuario para funciones como esta.
Si alguien pusiera un enlace al código fuente, podría ver exactamente qué hacen en vez de confiar en lo que dice cualquier persona de internet.
Mejor aún, me gustaría que me dejaran compilarlo yo mismo.
Sobre la parte de “no entiendo la mayoría de los detalles técnicos de la publicación del blog de Apple”, yo sí los entiendo.
Vectorización del lado del cliente: procesa la foto localmente y prepara una representación vectorial irreversible antes de enviarla. Piensa en ello como un hash semántico.
Privacidad diferencial: agrega bastante ruido al vector antes de enviarlo. Es suficiente para que sea imposible hacer una búsqueda inversa del vector. Aquí el nivel de ruido es ε = 0.8, lo cual ofrece una privacidad bastante buena.
Retransmisión OHTTP: se envía a través de un tercero, por lo que Apple no puede conocer la dirección IP. El contenido está cifrado, así que el tercero tampoco aprende nada. Existe el riesgo de revelar algo como “la IP X es usuario de Apple Photos”, pero no el contenido de la biblioteca.
Cifrado homomórfico: la operación de consulta se realiza en el servidor sobre datos cifrados. Apple no puede descifrar el contenido del vector ni el contenido de la respuesta; solo el cliente puede descifrar el resultado de la consulta.
Así se ve un buen diseño de privacidad. Hay varias capas de protección de privacidad, y cualquiera de las tres últimas por sí sola debería bastar para protegerla.
Sobre la afirmación de que “el nivel de tolerancia al riesgo de invasión de privacidad debe decidirlo cada usuario individual”, el autor, aunque parece ser un investigador de seguridad de Apple, en realidad está diciendo que no puede tomar una decisión informada aquí.
No está claro cuál sea el juicio correcto. Pero la conclusión de que “por lo tanto, la única forma de garantizar la privacidad informática es no enviar datos fuera del dispositivo” no es cierta. Existen herramientas que permiten ofrecer privacidad mientras se usa un servicio, como la privacidad diferencial y el cifrado homomórfico. Son muy complejas y el usuario no puede evaluar el riesgo de forma realista, pero si quieres funciones que requieran conjuntos de datos más grandes que tu disco o contenido que cambia con frecuencia, necesitas herramientas como estas.
Muchos usuarios podrían aceptar esta función. Como dices, incluso podría ser muy segura. El problema es que se asuma que todos aceptaron por defecto.
Los usuarios no necesitan un doctorado para entender “esta función envía datos sobre tus fotos a los servidores de Apple para mejorar la búsqueda”.
Que las protecciones de privacidad sean complejas no justifica quitarle al usuario la posibilidad de elegir. Con esa lógica, ninguna función técnica debería preguntársele al usuario.
Muchos usuarios conscientes de la privacidad siguen un principio simple: quieren controlar qué sale de su dispositivo, sin importar cómo esté protegido.
El argumento de “es demasiado complicado de explicar” puede justificar cualquier configuración predeterminada invasiva para la privacidad. ¿Aplicarías el mismo criterio a la idea de activar los servicios de ubicación por defecto porque la explicación técnica del GPS es demasiado compleja?
La solución real es simple: explicar la función en términos sencillos, destacar sus beneficios, resumir las medidas de protección de privacidad y dejar que el usuario elija. Apple ya hace esto con muchas otras funciones. El valor predeterminado desactivado y el opt-in son principios fundamentales de un diseño respetuoso de la privacidad, por muy sólidas que sean las protecciones subyacentes.
Jeff Johnson desarrolla apps para plataformas de Apple, en particular extensiones de Safari, y suele escribir en su blog sobre sus incomodidades con Apple, pero no es investigador de seguridad.