Google Photos es una de las aplicaciones de gestión fotográfica más utilizadas a nivel mundial, reconocida por sus innovadoras funciones impulsadas por inteligencia artificial. Desde herramientas como “Magic Eraser” hasta avanzadas ediciones inteligentes, sus capacidades atraen a millones de usuarios, especialmente en dispositivos Android preinstalados con los servicios móviles de Google. Sin embargo, detrás de esas funciones avanzadas existe un secreto bien guardado: los modelos de aprendizaje profundo que alimentan estas herramientas no son de código abierto, lo que representa un valor estratégico crucial para Google como empresa. A pesar de ello, recientes estudios han mostrado que estos modelos no están plenamente protegidos y pueden ser objeto de ingeniería inversa para su extracción y uso indebido. En esta análisis detallado, profundizaremos en cómo es posible recuperar estos componentes de IA presentes en Google Photos, examinando los métodos empleados, las vulnerabilidades detectadas y las consecuencias que esto representa para la seguridad del ecosistema tecnológico actual.
Durante la inspección minuciosa de Google Photos en su versión para Android, se identificaron modelos de inteligencia artificial embebidos en el aplicativo que utilizan TensorFlow Lite (TFLite), la versión ligera del framework de machine learning desarrollado por Google. Esta elección no es casual, ya que TFLite está diseñado para optimizar el rendimiento y consumo en dispositivos móviles, siendo el estándar para aplicaciones de IA en este entorno. Gracias a esto, fue posible enfocar los esfuerzos para ubicar estos modelos, ya que TFLite emplea un formato de archivo específico, caracterizado por un identificador binario denominado “TFL3” que facilita su reconocimiento dentro del paquete de la aplicación. Al escudriñar el contenido del APK de Google Photos, se detectaron modelos alojados en varias ubicaciones, algunas directamente dentro de archivos nativos compilados y otras cifradas para dificultar su acceso. Mientras que algunos modelos estaban guardados sin protección, en archivos accesibles, otros estaban protegidos mediante cifrado aplicado sobre archivos con extensión .
tflite.enc. Esto planteaba una barrera importante para cualquier intento de ingeniería inversa basada únicamente en análisis estático. Sin embargo, mediante técnicas dinámicas que implican la instrumentación en tiempo de ejecución, fue posible superar estas defensas. Para las muestras protegidas, se utilizó la herramienta Frida, famosa por su capacidad para interceptar y modificar dinámicamente el comportamiento de aplicaciones en sistemas Android.
Mediante la inyección de scripts personalizados, se logró enganchar la función encargada de la decripción de modelos dentro de la aplicación, capturando así el archivo ya desencriptado justo cuando se carga en memoria para su ejecución. Este enfoque aprovecha una debilidad inherente: aunque las claves de cifrado se almacenan de forma segura en el Android Keystore y en un entorno de ejecución confiable (TEE), el proceso de desencriptado debe ocurrir en el dispositivo, generando una ventana de vulnerabilidad durante el runtime. El análisis posterior permitió identificar al menos cuarenta modelos diferentes, distribuidos en cuatro tipos de ubicaciones distintas dentro de la aplicación. Algunos modelos se descargan y desencriptan dinámicamente, otros están incrustados de forma fija en el código nativo compilado, otros se encuentran en los activos del APK y finalmente algunos se almacenan en directorios específicos dentro del sistema de archivos de la aplicación. Esta diversidad complica la tarea de protección integral, pues cada vector de almacenamiento ofrece distintos niveles de tradicionalidad y exposición.
Los modelos extraídos abarcan una amplia gama de funciones, mostrando la complejidad y sofisticación del ecosistema de inteligencia artificial interno de Google Photos. Entre ellos figuran algoritmos para detección facial, evaluación de calidad de imagen, estimación de edad y predicción de características personales basados en redes SCNet especializadas en clasificación multi-label. También se recuperaron modelos para detección de objetos de diversos tamaños, incluso uno específico para identificar rostros de mascotas, que usan arquitecturas multi-escala. Otros modelos están orientados a segmentación de retratos con MobileNet, segmentación semántica con MobileNetV2, estimación de profundidad a través de redes SwissNet, así como segmentación de video y detección de sombras aplicados en procesamiento audiovisual. Además, la aplicación contiene modelos orientados a determinar el desenfoque en imágenes, una función utilizada para mejorar automáticamente la selección y tratamiento de fotografías borrosas.
Estas capacidades no solo potencian la experiencia del usuario, sino que requieren un entrenamiento intensivo y costoso con grandes cantidades de datos, por lo que la extracción de estos modelos representa una pérdida significativa para Google en términos de propiedad intelectual. Las implicaciones de esta posibilidad de ingeniería inversa van más allá de la simple copia de funcionalidades. Competidores podrían ahorrar tiempos y recursos inmensos al reutilizar estos modelos, evitando la necesidad de recopilar datos o desarrollar soluciones desde cero y acortando substancialmente su curva de innovación. También abre la puerta a ataques adversariales, donde actores maliciosos diseñan entradas específicas para engañar a los modelos, logrando manipular resultados o vulnerar la seguridad y estabilidad de la aplicación. Este escenario subraya la urgente necesidad de mejorar la seguridad aplicada a modelos de inteligencia artificial implementados en dispositivos finales.
Mientras que la protección de datos y el cifrado tradicional han sido prioridad en el mundo digital, la protección de modelos IA presenta nuevos retos vinculados no solo a su almacenamiento, sino también a su ejecución en tiempo real en dispositivos móviles, que deben balancear rendimiento, seguridad y experiencia de usuario. En respuesta a estos hallazgos, empresas especializadas como Skyld trabajan en soluciones específicas para proteger modelos ML tanto en reposo como en runtime. Estas tecnologías involucran técnicas de cifrado avanzado, monitoreo de ejecución, anti-manipulación y mecanismos que dificultan la instrumentación dinámica como la usada en el presente análisis. Implementar estas barreras es vital para garantizar que la propiedad intelectual de las organizaciones se mantenga intacta y que la confianza de los usuarios en aplicaciones AI-driven no se vea comprometida. En resumen, la ingeniería inversa de los modelos de inteligencia artificial en Google Photos no solo demuestra la vulnerabilidad actual de implementaciones presentes en aplicaciones masivas, sino que también sirve como alerta para la industria tecnológica sobre la importancia de reforzar la seguridad a niveles aún no explorados completamente.
A medida que la inteligencia artificial sigue integrándose en la vida cotidiana y en productos de consumo masivo, la batalla por proteger estas innovaciones se intensificará, demandando un compromiso reforzado en el desarrollo de arquitecturas seguras que preserven tanto la innovación como la privacidad y confidencialidad tecnológica.