Debido a una operación de mantenimiento, el acceso al sitio web de Ediciones ENI estará interrumpido a primera hora del martes 10 de diciembre. Le invitamos a anticipar sus compras. Lamentamos las molestias ocasionadas.
Debido a una operación de mantenimiento, el acceso al sitio web de Ediciones ENI estará interrumpido a primera hora del martes 10 de diciembre. Le invitamos a anticipar sus compras. Lamentamos las molestias ocasionadas.

Dispositivos móviles: vulnerabilidades

Aspectos generales

Los objetos conectados son cada vez más numerosos. En la actualidad, hay treinta mil millones de ellos. Estos son de diversa y variada naturaleza, presentes en múltiples campos, tanto objetos cotidianos que ofrecen funcionalidades adicionales, como otros diseñados desde cero, creando así oferta y demanda. Entre ellos encontramos los terminales móviles.

Los precursores de los smartphones aparecieron a finales de los 90, pero no fue hasta 2007 cuando este mercado se expandió considerablemente con el lanzamiento del iPhone.

El smartphone es un teléfono multifunción compuesto por multitud de sensores, desde la cámara de fotos hasta el giroscopio. Sus usos son variados y sucede lo mismo, si no más aún, en la parte correspondiente al software.

De hecho, también es un auténtico ordenador de bolsillo, equipado con un sistema operativo especialmente diseñado para ejecutar aplicaciones. Incluye las clásicas para realizar llamadas o enviar SMS, así como muchas otras disponibles en las tiendas de aplicaciones para realizar acciones que hoy consideramos prácticamente imprescindibles, como navegar por la Web, la televisión, la geolocalización, etc.

Algunos piratas han entendido el alcance de la omnipresencia de los smartphones en nuestro día a día y en ese sentido pueden ser un objetivo privilegiado.

De hecho, estos terminales...

Los vectores de ataque

1. Introducción

Los ataques contra los smartphones son similares a los que hemos analizado anteriormente en este libro, especialmente contra los sistemas operativos (explotación de CVE). También podemos encontrar todo el panel de ataques web que se aplicarán a nuestras aplicaciones, así como aquellos relacionados con protocolos de comunicación de red como Wi-Fi, Bluetooth, etc.

2. Anatomía de los ataques móviles

Como se ilustra a continuación, un ataque móvil puede involucrar la capa del periférico, la de red, el centro de datos o una combinación de todos.

images/p704.png

Anatomía de los ataques móviles

Como se menciona en la introducción, no se trata de repetirse por lo que vamos a ver los factores de oportunidad que se ofrecen a los ciberatacantes, que codician nuestros datos.

3. Los datos objetivo

Los smartphones, auténticas tarjetas de identidad digitales por la gran cantidad de sensores e información que contienen y su uso intensivo diario, los convierten en una mina de oro en términos de datos.

  • SMS

  • Llamadas

  • Localización

  • Cámara

  • Micrófono

  • Contactos

  • Cuentas (bancarias, sitios comerciales, salud, entretenimiento, sociales, empresas, etc.)

  • Fotos

  • Etc.

En caso de compromiso, también se podrían usar dentro de un botnet para llevar a cabo ataques DDoS, por ejemplo.

Top 10 de las vulnerabilidades de los móviles

OWASP (Open Web Application Security Project) vuelve a estar en el centro de atención de este libro, para compartir con ustedes este documento, disponible en su sitio web. Su finalidad es concienciar a los desarrolladores sobre la seguridad de las aplicaciones móviles presentando las vulnerabilidades más comunes que se encuentran en las mismas. Se trata de presentar brevemente los puntos, ya que las vulnerabilidades que hay detrás de ellos se explicarán más adelante en este capítulo.

1. Utilización incorrecta de la plataforma

En resumen, el título es bastante explícito: algunos usuarios hacen un mal uso de su smartphone. Esto implica diferentes factores, como no utilizar controles de seguridad (método de autenticación, instalación de aplicaciones intrusivas o aplicaciones de fuentes desconocidas, etc.) o, por el contrario, el mal uso de determinadas funcionalidades. Por ejemplo, podemos citar la obtención de permisos de administrador, dando lugar a diversos problemas de seguridad que comentaremos más adelante.

2. Almacenamiento de datos de forma no segura

Como se mencionó en la introducción, así como en la sección sobre vectores de ataque, nuestros smartphones contienen una gran cantidad de datos que pueden ser de interés para personas con malas intenciones; esto es aún más...

Red móvil

Desde la década de 1980, la red de telefonía móvil ha tenido muchas vulnerabilidades. Desde la explotación de la tarjeta SIM mediante comandos AT, hasta ataques a la red SS7, o incluso a la propia red LTE con los ataques alTEr y reVoLTE. La aparición del 5G nos lleva a una nueva era, con un ancho de banda similar al de la fibra, pero también se supone que eliminará los errores del pasado en términos de seguridad.

1. Definiciones

images/13EP02.png

Red móvil

Como puede ver, es muy complicado hacer un esquema claro de toda la red de telecomunicaciones. Para resumir, nos basaremos en la red BSS (2G), que usaremos más adelante para nuestra demostración.

Un BSC (Base Station Controller) es un elemento que controla las transmisiones de radio de las estaciones base BTS (Base Transceiver Station). También se encarga de transferir los datos antes de enviarlos al teléfono móvil (ME), identificado por la tarjeta SIM (MS). Para ello, interactúa con el núcleo de la red (CN) del operador móvil: por un lado, con el SGSN (Serving GPRS Support Node) para transmitir los servicios multimedia que ofrece la red IMS (IP Multimedia Subsystem); por otro lado, con el MSC (Mobile service Switching Center) para la transferencia de voz y señalización recibida por la red SS7 encargada del procesamiento de llamadas, o el SMSC (Short Message Service Center) para el procesamiento de SMS.

Todo esto se hace después de verificar la identidad del terminal en función...

Android

Android es un sistema operativo open source basado en el kernel de Linux. Fue diseñado en 2003 por Andy Rubin, Chris White, Nick Sears y Rich Miner. Google compró el proyecto en 2005 y comercializó la primera versión pública del sistema operativo preinstalado en el HTC Dream en septiembre de 2008.

1. Introducción

Como muestra el siguiente gráfico, en 2010 el sistema operativo de Google ya empezaba a dejar huella, con una cuota de mercado de telefonía móvil del 23,3 % en su poder. 

images/12ept6.png

Cuota de mercado de Android en 2010

En la conferencia anual "Google I/O" de 2019, se anunció la consecución del umbral de los 2.500 millones de dispositivos Android activos, además de la presentación de las novedades del sistema operativo. Esta cifra lo convierte en el sistema operativo más utilizado en el mundo, con una cuota de mercado del 75 %, especialmente en la parte móvil.

images/12ept7.png

Cuota de mercado de Android en 2019

2. Las diferentes versiones

a. Introducción

Desde 2008, el sistema operativo ha evolucionado significativamente, en particular para responder a una comunidad cada vez más grande. Estos desarrollos son tanto en términos de apariencia como de funcionalidad. De hecho, con cada nueva versión hay cuatro o cinco novedades tanto de software como de hardware, en particular con las novedades que aportan los distintos fabricantes que se apropian de él (cámara retráctil, compatibilidad para diversos tamaños de pantalla, etc.).

images/13EP09.png

Versiones de Android

b. Problemática

Con un escenario tan grande, surgen varios problemas:

  • Google se ve abrumado por una pesada carga para poder ofrecer el sistema más homogéneo para satisfacer las necesidades de todos.

  • Seguimiento de actualizaciones complejo y costoso para los fabricantes.

  • Usuarios desbordados por tantas novedades.

Todo ello genera una fuerte disparidad entre las versiones de los terminales activos.

images/p715.png

Reparto de las versiones de Android en febrero de 2021

En este gráfico, elaborado por la empresa Statcounter en Europa, podemos observar que solo el 48 % de los dispositivos usan Android 10, cuando la versión 12 está en fase beta. Sin embargo, Google parece estar trabajando a marchas forzadas con el 10 % de los dispositivos que ejecutan Android 11, especialmente porque el programa de actualización...

Vulnerabilidades de las aplicaciones

De la estructura de las aplicaciones y su funcionamiento se puede deducir que estas son similares a las aplicaciones web. En el mercado hay disponibles millones de aplicaciones, entre ellas hay vulnerables. De hecho, es difícil diseñar una aplicación sin vulnerabilidades, más aún cuando el desarrollador no tiene formación en seguridad. En esta parte, veremos cómo explotar las vulnerabilidades de estas aplicaciones.

Para ello, adoptaremos el mismo razonamiento que durante una auditoría web (visto en los capítulos anteriores). También podemos utilizar metodologías OWASP y otras herramientas, para ello hay varias distribuciones disponibles.

1. Distribución

Como sucedía con pentester, la fase de equipación es importante, no debe perder tiempo en la fase de auditoría para descubrir, actualizar o depurar estas herramientas. La distribución Kali Linux, que ya no necesitamos presentar, es bastante fiable en este tema pero solo tiene algunas herramientas para auditar aplicaciones móviles. Hay muchas distribuciones dedicadas como Santoku Linux (https://santoku-linux.com/) o Android Tamer (https://androidtamer.com/), pero estas ya no se mantienen y sus herramientas se están quedando obsoletas. Por lo tanto, nos propusimos crear nuestra propia imagen de Docker, pero al estar sujetos a algunas limitaciones y al ser engorroso el seguimiento de las actualizaciones de la herramienta, nos inclinamos por la distribución Mobexler (https://mobexler.com/). Esta última se dedica a la auditoría de aplicaciones móviles y merece ser conocida. La última actualización es de septiembre de 2021, la distribución se basa en Ubuntu y cuenta con una gran cantidad de herramientas, entre ellas la imprescindible Android Debug Bridge.

2. ADB

Android Debug Bridge vuelve a ser de interés, incluso para esta parte, por algunas otras funciones interesantes.

El comando install se utiliza para instalar una aplicación en formato APK, presentado anteriormente, en un dispositivo conectado.

Otro comando: pm, es decir, package manager, permite interactuar con la aplicación instalada para conocer sus permisos, las librerías utilizadas, etc.

Del mismo tipo, pero centrado en actividades, encontramos el comando am. Para obtener más información sobre...

Conclusión

En este capítulo hemos tratado de informarle sobre las vulnerabilidades de la red de telecomunicaciones. Nos hemos quedado en la superficie para que pueda explorarlas por su cuenta mientras se mantenga dentro de un contexto legal.

Respecto a Android, las funcionalidades así como su seguridad han seguido creciendo en los últimos años. Asimismo, la distancia en cuanto a las diferencias en las versiones activas parece acortarse y logra alcanzar el retraso respecto a iOS, el sistema de la firma Apple. Sin embargo, las vulnerabilidades permanecen, principalmente debido al mal uso de los dispositivos por parte de los usuarios. Google parece estar ajustando cada vez más su sistema operativo en este punto, aumentando así la confidencialidad de los datos, incluso si de paso se corre el riesgo de causar el desaliento de los jóvenes piratas informáticos. Para asegurar el cumplimiento de las buenas prácticas de uso en las empresas, existen y se deben implementar soluciones de Mobile Device Management. En cuanto a la seguridad de las aplicaciones, la conclusión que se extrae es similar a la del capítulo Las vulnerabilidades web, es decir, es recomendable seguir la guía OWASP así como las recomendaciones de Google, y recurrir a auditorías periódicas para limi-tar las vulnerabilidades y su explotación.