Ni fuentes desconocidas, ni depuración USB, ni root/jailbreak, por favor

auditoria android

Este fin de semana estuve disfrutando del taller CSI CIBER (ES) que impartía Manuel Guerra (@CiberPoliES) en las jornadas que cada cierto tiempo montan los chicos de HoneySec con el apoyo de la UNED.

Un taller eminentemente práctico en el que este policía nos explicaba a grosso modo el modus operandi que realiza su equipo cuando se enfrentan a un caso. Desde los requisitos legales que deben de cumplir para actuar, pasando por la incautación de los dispositivos tecnológicos y su posterior análisis forense.

La mañana pasó demasiado rápido para mi gusto, y para cuando nos quisimos dar cuenta, apenas quedaban veinte minutos en los que Manuel resumió con bastante acierto el escenario que presentan los dispositivos móviles frente al entorno de escritorio, cada vez más en desuso. Un repaso que me anima a escribir este artículo, haciendo hincapié en los puntos que cualquiera de nosotros debería considerar a la hora de proteger la privacidad de los datos almacenados en su smartphone.

La scene en materia de movilidad

Creo que sobra a estas alturas señalar que para el grueso de la sociedad, la información que tiene en su smartphone es más crítica que la que tiene normalmente en su escritorio (si es que sigue teniendo uno de estos…).

Con la paulatina apuesta de toda la industria por la nube y los servicios móviles, lo cierto es que estos dispositivos se han vuelto una verdadera mina para todos aquellos interesados en sacar provecho de nuestra información: En ellos gestionamos las comunicaciones con nuestros conocidos, contamos con una agenda de contactos, tenemos acceso directo (sin contraseña que les proteja) a la amplia mayoría de servicios digitales que utilizamos, almacenamos documentos, fotos y vídeos que pueden ser comprometidos (u ofrecer información comprometedora tras un análisis preliminar) y hasta tienen acceso a nuestras cuentas bancarias, bien sea a nivel de SIM, bien sea a nivel de cuenta (Google/iCloud), bien sea por el uso de la aplicación de banco oportuna.

Eso sin olvidar de que son dispositivos muchísimo más fácilmente sustraíbles que uno de escritorio, y que nos acompañan allí donde vamos (aumentando aún más su exposición, y siendo también un objetivo aún más interesante). Son, a fin de cuentas, una externalización de nuestra identidad.

Algo que impacta por igual a toda la sociedad:

  • Ciudadanos, que vivimos tranquilos cumpliendo la ley (espero G.G).
  • Criminales, que han ido cambiado su manera de operar buscando la eficiencia en sus acciones.
  • Y cómo no, cuerpos del orden, que ven modificada también la estrategia a la hora de realizar análisis forenses.

Es, de facto, un escenario antagónico al que se ha vivido en el mundo de escritorio. Como señalaba Manu y conocerán la mayoría de lectores del mundo del pentesting, frente al entorno Windows/OS X/Linux donde existe una aparente estandarización de programas de auditoría (tenemos herramientas open source o comerciales que desempeñan el mismo trabajo multiplataforma, o como mínimo con alternativas en cada uno de ellos), en el móvil esto se ha diversificado alarmantemente.

Android e iOS son dos sistemas operativos que aunque comparten buena parte de esa filosofía por la centralización de procesos y el control del canal de distribución de aplicaciones (las markets, vamos), precisan de herramientas muy distintas para su análisis.

Y en especial en el caso de Android (con cerca del 90% del mercado español), existen tantas diferencias dependiendo del fabricante y modelo de dispositivo que no hay, a priori, una metodología genérica que sea aplicable al grueso de dispositivos, teniendo que apostar por una amalgama de herramientas distintas, o por alternativas que han sabido hacer negocio de ese arduo trabajo que supone automatizar los procesos según el dispositivo al que nos estemos enfrentando.

A esto se une un dato que me ha parecido curioso: Manu aseguraba que cerca del 40 o 50% de dispositivos que le llegan al laboratorio vienen ya rooteados. Lo cual, de hecho, facilita muchísimo tanto la labor del cibercriminal, como la del analista forense.

Otros puntos como el tener activa la depuración USB o permitir la instalación de fuentes desconocidas son algunos de aquellos tips que en su día recomendé mantener desactivados (por defecto suelen venir así), y que curiosamente siguen siendo utilizados por muchos de esos usuarios cuyos dispositivos, por uno u otro motivo, acaban en manos de este equipo de forenses.

Lo cual parece bueno, teniendo en cuenta que el target de “víctimas” de la policía es, como cabría esperar, un target que interesa que no sea consciente del riesgo que supone tener root/jailbreak en el dispositivo.

Ese mismo target que interesa que facilite las labores a los cuerpos de seguridad.

Aunque hay otra lectura, que pasaría porque ese target no solo representa a los delincuentes, sino en efecto a buena parte de los usuarios.

Lo cual significa que mi trabajo en esta página está sirviendo de muy poco. Que pese a ello, seguimos facilitándole las cosas a los cuerpos de seguridad, y de paso también a la industria del cibercrimen.

Esto último ya no mola tanto, ¿verdad?

Root, jailbreak, fuentes desconocidas y depuración USB, solo si de verdad lo vamos a utilizar

El corolario es bien sencillo. A sabiendas de que al menos el criminal medio no me lee, voy a dirigirme al resto de lectores, y volver a repetir por activa y por pasiva que tengamos esto activo ÚNICAMENTE si lo vamos a utilizar.

Un terminal rooteado o con jailbreak es como un queso gruyere. Cualquier persona con conocimientos podría vulnerar la seguridad del dispositivo. Tanto en remoto, como en local, por cierto.

Basta una aplicación maliciosa (muchas de las que ofrecen supuestos servicios superchachis con permisos root vienen de paso con regalito) o un par de minutos con un cable USB para hacer cualquier maldad que se le ocurra.

En el taller, nos sobró tiempo para obtener todas las conversaciones del WhatsApp del terminal de Manu en texto claro, leyendo simplemente data/data/com.whatsapp/database. Si este terminal no hubiera estado rooteado, si no tuviera activa la depuración USB, la cosa hubiera sido muy distinta.

Tampoco nos llevó más de treinta segundos obtener las contraseñas de todas las WiFis a las que este dispositivo ha estado conectado. WiFis como seguramente la de casa de la víctima, gracias a que éstas se almacenan en el archivo wap_suplicant.conf de data/misc/wifi. Si no hubiera estado rooteado, si no tuviera activa la depuración USB,… ¿se lo imagina?

Podríamos haberle instalado una aplicación maliciosa directamente desde la shell. Un sistema de espionaje como el que en su día expuse en esta santa casa. Si no hubiera estado rooteado, si no… ¿Continuo?

Y esto mismo ocurre en iOS con el jailbreak.

En serio, no le ponga las cosas fáciles a los cibercriminales. No se las ponga, ya de paso, a Manuel :). Que así este pobre hombre tendrá menos trabajo de campo, lo cual es bueno para todos nosotros.

Se lo aseguro.