Google y Apple unieron sus fuerzas al inicio de la crisis de la Covid-19 para desarrollar una herramienta que ayudara a combatir la pandemia y en abril del año pasado presentaron al mundo su creación: su sistema (Google/Apple) Exposure Notification (GAEN), una API universal de rastreo de contactos que más tarde fue aprovechada por otras aplicaciones de seguimiento de todo el mundo, incluida la app española Radar Covid.
Tanto Google como Apple incidieron en que la privacidad y la seguridad de los usuarios habían sido sus dos grandes prioridades al diseñar GAEN. Sin embargo, una investigación ha revelado que la implementación de Android tenía un serio problema de privacidad.
La investigación fue promovida a principios del pasado mes de febrero por el Departamento de Seguridad Nacional (DHS) de Estados Unidos, que otorgó cerca de 200.000 dólares a la empresa de privacidad estadounidense App-Census para que desarrollara servicios de prueba y validación para aplicaciones de rastreo. "Es importante salvaguardar la privacidad, la seguridad, la equidad y la libertad con aplicaciones de notificación de exposición y rastreo de contactos digitales", subrayó entonces Anil John, director técnico del Programa de Innovación de Silicon Valley del DHS.
App-Census ha compartido esta semana los resultados de su investigación, en la que ha descubierto que un fallo de seguridad en la versión de Android del sistema GAEN permitió que cientos de aplicaciones preinstaladas pudieran acceder a esos datos privados.
"Recientemente, descubrimos que la implementación de GAEN por parte de Google registra datos cruciales en el registro del sistema, que pueden ser leídos por cientos de aplicaciones de terceros y utilizados para los ataques a la privacidad sobre los que advertimos anteriormente", ha afirmado el cofundador y líder forense de AppCensus, Joel Reardon, en una publicación de blog en la que explica todos sus hallazgos y conclusiones.
Cómo funciona GAEN
Según explica Reardon, GAEN funciona emitiendo identificadores de proximidad rodantes (RPI), entre los dispositivos que lo tengan instalado. Estos RPI se transmiten a través de Bluetooth, son anónimos y cambian periódicamente (por ejemplo, cada 15 minutos) para que no se pueda rastrear a un usuario por medio de los RPI que emiten sus dispositivos.
El objetivo de este sistema es comprobar de forma periódica si el usuario ha estado cerca de personas diagnosticadas con Covid-19, en cuyo caso recibiría una notificación con instrucciones de cómo debe proceder. Durante el proceso, no se comparte la ubicación ni ninguna información sensible entre los dispositivos ni tampoco con Apple y Google.
"La característica de privacidad fundamental reclamada por GAEN, a diferencia de los sistemas centralizados, es que los RPI que ve el dispositivo de un usuario a lo largo del tiempo nunca se eliminan del dispositivo", señala el cofundador de App Census.
Cuál es el fallo de su versión para Android
Reardon continúa indicando que el problema en la implementación de GAEN de Google es que registra todos los RPI, tanto los transmitidos por el dispositivo del usuario como los observados desde los dispositivos de otros usuarios. En el caso de los RPI que se reciben, apunta que el dispositivo también registra la dirección MAC de Bluetooth actual del dispositivo que emite este identificador.
Combinados con diferentes conjuntos de datos, los RPI podrían usarse para determinar si un usuario ha dado positivo en Covid-19, si ha estado en contacto con una persona contagiada o incluso, con acceso a los registros del sistema de varios usuarios, si dos personas han estado juntas.
En cuanto al alcance de este problema de seguridad, que se limita exclusivamente a Android, Reardon explica lo siguiente: "Desde 2012, los controles de seguridad de Android evitan que las aplicaciones normales que los usuarios descargan de Play Store lean los registros del sistema (a menos que haya un canal lateral o encubierto). Sin embargo, Google permite que los fabricantes de hardware de teléfonos, los operadores de red y sus socios comerciales (por ejemplo, bibliotecas de publicidad) preinstalen aplicaciones 'privilegiadas'. Una característica de estas aplicaciones privilegiadas es que tienen acceso a permisos adicionales que de otro modo no se otorgan a las aplicaciones de terceros descargadas de Play Store. Uno de esos permisos es READ_LOGS , que permite a las aplicaciones privilegiadas leer los registros del sistema".
"Si se guardan datos confidenciales en el registro del sistema, son accesibles a otras entidades"
Como mostró un estudio de 2020, estas aplicaciones preinstaladas son muy frecuentes y también es habitual que tengan permisos para leer los registros del sistema. Tal y como señala Reardon, en el stock de Xiaomi Redmi Note 9, por ejemplo, identificaron que tiene 77 aplicaciones preinstaladas, 54 de las cuales tienen el permiso READ_LOGS, mientras que en el Samsung Galaxy A11 descubrieron que tenía 131 apps preinstaladas de las cuales 89 tenían este permiso.
"Ahora están recibiendo información médica y otra información confidencial de los usuarios como resultado de la implementación de Google. El punto clave es que uno simplemente no debe registrar datos confidenciales en el registro del sistema en primera instancia. Si se guardan datos confidenciales en el registro del sistema, se pierde el control sobre lo que les sucede, porque son accesibles a otras entidades. De hecho, la implementación de GAEN de Google debe seguir las mejores prácticas de seguridad de privacidad de Android, que establecen que 'el registro de datos aumenta el riesgo de exposición de esos datos' y que 'se han producido múltiples incidentes de seguridad pública como resultado del registro de datos confidenciales del usuario'", subraya el líder forense de App-Census.
App-Census ya reportó en febrero este problema a Google, que ahora ha respondido
Reardon afirma que su compañía reveló este problema a Google el pasado 19 de febrero y que, en el momento de escribir esta publicación, todavía sigue sin resolverse a pesar de que la solución es increíblemente fácil: todo lo que necesita hacer Google es impedir que GAEN registre datos en el registro del sistema del dispositivo.
Tras la publicación de esta investigación, el portavoz de Google, José Castañeda, ha asegurado en un comunicado enviado a The Markup que las actualizaciones para abordar el problema están "en curso".
"Las notificaciones de exposición utilizan tecnología que preserva la privacidad para ayudar a las autoridades de salud pública a manejar la propagación de la COVID-19 y salvar vidas. Con este sistema, ni Google, ni Apple ni otros usuarios pueden ver la identidad del usuario y todas las coincidencias de las notificaciones de exposición ocurren en el dispositivo. Se nos notificó de un problema por el que los identificadores de Bluetooth eran accesibles temporalmente para algunas aplicaciones preinstaladas con fines de depuración. De forma inmediata tras conocer esta investigación, comenzamos el proceso necesario para revisar el problema, considerar las mitigaciones y actualizar el código. Estos identificadores de Bluetooth no revelan la ubicación de un usuario ni proporcionan ninguna otra información de identificación y nada indica que se hayan utilizado de alguna manera, ni que ninguna aplicación fuera consciente de ello.
"Tenemos un proceso estándar para este tipo de investigación. Inmediatamente después de conocerla, comenzamos el proceso necesario para revisar el problema, considerar las mitigaciones y actualizar el código. La implementación de esta actualización para los dispositivos Android comenzó hace varias semanas y estará completa en los próximos días", ha declarado el portavoz de Google.