• Inicio
  • BLOG
  • Contenido
  • Descargas
  • Enlaces
  • Contacto

Javier Tobal

Javier Tobal

  • twitter
  • linkedin
  • mail
  • medium
  • Welcome
  • Sobre mí
  • BLOG
  • Especialidades
    • Tecnología
    • Telecomunicaciones
    • Peritajes informáticos
    • Consultoria
  • Organizaciones
  • Servicios
  • Cara B
    • Tercer sector
    • Aficiones
    • Gratuita publicidad

Radar COVID. reversing

21/08/2020 by Javier Tobal

[Entrada publicada originalmente en: https://medium.com/@jtobal/radar-covid-reversing-65b3bab88bab]

Llevamos unos días hablando sobre la privacidad y seguridad de la app del Gobierno de España para el rastreo de contactos relacionados con el COVID, el modelo DP-3T, etc. (https://www.lasexta.com/noticias/nacional/radar-covid-examen-segura-app-rastreo-gobierno_202008125f33bb4bffbf6a00012b7af7.html).

Así que además de opinar, decidí este fin de semana analizar el funcionamiento de la APP por dentro, aplicando alguna técnica básica de reversing a la versión Android de la APP.

[Nota bene: entiendo que, en este caso, la ingeniería inversa es una técnica legítima: no he modificado la APP, la he descargado del market oficial, no voy a descubrir ningún secreto de los desarrolladores y, en definitiva, soy un usuario legítimo de la APP que, simplemente, quiere analizar su funcionamiento]


Herramientas

He usado sólo estas dos herramientas:

  1. APKExtractor v4.2.9 de Meher Prasad (https://play.google.com/store/apps/details?id=com.ext.ui&hl=es)
  2. jadx v1.1.0 de skylot (https://github.com/skylot/jadx)

jadx permite decompilar directamente desde el APK y, en mi opinión, mejora la clásica combinación dex2jar + jd-gui.

Análisis 1. AndroidManifest.xml

Image for post
AndroidManifest.xml

Aquí vemos que la APP requiere, como mínimo, la versión del SDK de Android 23, esto es, Android 6.0 lanzado en 2015. Según mis datos, esto supone que se soporta el 85% de los dispositivos Android que hay en España.

Los permisos que necesita la APP para funcionar son muy básicos, como ya se ha comentado, muchos menos de los requeridos por cualquier aplicación que manejamos a diario.

El siguiente ejemplo es de Maldita.es (https://maldita.es/malditatecnologia/2020/08/10/permisos-app-radar-covid-privacidad-tiktok/):

Image for post
Fuente: maldita.es

En concreto, se piden los siguientes permisos:

  • android.permission.INTERNET
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.BLUETOOTH
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.WAKE_LOCK
  • android.permission.FOREGROUND_SERVICE
  • com.google.android.c2dm.permission.RECEIVE
  • com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE

Estos permisos son, básicamente, autoexplicativos. El último es necesario para su integración con Google Play (el market oficial) y el penúltimo con la recepción de notificaciones PUSH.

En relación al funcionamiento del API de exposición, el desarrollo conjunto de Google y Apple para permitir el desarrollo de aplicaciones como el “Radar COVID” que estamos analizando, la APP sólo declara lo siguiente:

<receiver android:name=”org.dpppt.android.sdk.internal.nearby.ExposureNotificationBroadcastReceiver” android:permission=”com.google.android.gms.nearby.exposurenotification.EXPOSURE_CALLBACK” android:exported=”true”>

Este permiso permite que el API avise a la APP de que se ha detectado una exposición (a una persona diagnosticada positivamente) entre los contactos registrados.

La referencia de este API está aqui: https://developers.google.com/android/exposure-notifications/verification-system

Análisis 2. RadarCovidApplication (es.gob.radarcovid)

Image for post
RadarCovidApplication

Poco que añadir a este código: se registran los listeners para los eventos con sus filtros y se descarga información del servidor (radarcovid.covid19.gob.es). Aquí vemos que se registra una acción “ACTION_UPDATE” del SDK de D3P-T (la librería org.dpppt.sdk).

Es cierto que la aplicación registra la acción “android.location.MODE_CHANGED”, pero se trata simplemente de avisar al usuario cuando desactiva la localización porque, como ya se ha explicado, el API de Androi de Bluetooth requiere que la localización esté activa para funcionar correctamente (la explicación completa en Xataka: https://www.xatakandroid.com/sistema-operativo/que-radar-covid-no-funciona-desactivamos-ubicacion-asi-funciona-permiso-bluetooth-android).

Comentario

Repasando el código fuente (decompilado) de la aplicación Radar COVID no se detecta ningún uso “inapropiado”: no se obtiene la localización del usuario en ningún momento, no se accede a ningún fichero del dispositivo, no se accede a ningún servicio de telefonía (para, por ejemplo, obtener el MSISDN o enviar un SMS), …

En definitiva, aunque no disponemos del código fuente documentado para hacer una revisión más profunda, esta APP no parece ningún “caballo de Troya”.

Filed Under: BLOG, Ciberseguridad, Consultoria Tagged With: blog, ciberseguridad, consultoría

Javier Tobal

Informático. Perito judicial. Experto en ciberseguridad.
CISO
Expert in cybersecurity, ICT, innovation. Computer forensics. CISO

Linkedin

Twitter

Sobre mí

cyberwiser.eu

CYBERWISER.EU es una iniciativa europea orientada a construir un entorno para profesionales de la ciberseguridad y usuarios donde realizar ejercicios de ciberseguridad. Soy miembro del Stakeholders Expert Board

cyberwatching.eu

CYBERWATCHING.EU es el Observatorio Europeo de Ciberseguridad y Privacidad. Colaboré en la puesta en marcha de este proyecto como representante de la Agrupación Empresarial Innovadora (AEI) en Ciberseguridad y Tecnologías Avanzadas.
Tweets by @JaviTobal

Mi canal en Youtube

Etiquetas

BCM BCP belkasoft BIA big data BYOD casos reales ciberseguridad consultoría continuidad continuidad de negocio correo electrónico crisis management devices dispositivos email evidencia digital forense forensics hacking herramienta forense herramientas HIKVISION IMAGEMAGICK imagenes digitales interceptación legal LINUX movilidad MTPOD peritaje peritaje informático perito perito informático redes sociales review RPO RTO SCRIPTS security seguridad social media software super-cookies videovigilancia windows

Copyright © 2023 · Metro Pro Theme JTOBAL on Genesis Framework · WordPress · Log in