Ataques USSD contra terminales móviles

28/09/2012
Investigador de seguridad demuestra como es posible utilizar códigos USSD para llevar ataques remotos contra determinados teléfonos móviles.

Riesgo: Alto Alto
Sistemas afectados:

La vulnerabilidad ha sido parcheada en dispositivos Samsung ejecutando versiones de Android 4.0 o superior. Sin embargo, según ha reportado Ravi Borgaonkar a PCMag, muchos dispositivos permanecerán vulnerables mientras el usuario no reciba dicha actualización por parte de su operador de telefonía móvil. Consulte con su operador para conocer las fechas en la que tiene previsto publicar la actualización de seguridad.

Descripción:

Una de las presentaciones más destacables de la Ekoparty 2012 ha sido la de Ravi Borgaonkar, investigador de seguridad de la Universidad Técnica de Berlín. Bajo el nombre Dirty use of USSD Codes in Celular Network (Uso indebido de códigos USSD en redes celulares) Ravi demostró como es posible utilizar códigos USSD para llevar a cabo ataques realmente graves contra dispositivos móviles como, por ejemplo, resetear el móvil a los valores preconfigurados de fábrica (como así se demostró de forma práctica sobre un móvil Samsung Galaxy SIII durante la presentación).

Los códigos USSD (Unstructured Supplementary Service Data,) se utilizan para el envío de datos a través de móviles GSM, comúnmente utilizado para registrarse en la red, hacer recargas de saldo, redes sociales, actualizaciones de software, servicios bancarios, etc. Estos códigos son comandos que pueden ser ejecutados en el dispositivo móvil mediante el propio teclado, por ejemplo para mostrar el IMEI se utiliza el código USSD *#06#.

Utilizando dicho servicio, Ravi demostró como era posible resetear un móvil a los valores por defecto por medio de una web maliciosa, códigos QR o NFC. En el caso de crear una web maliciosa, bastaría con hacer una llamada al código USSD deseado desde un iframe o ejecutar código javascript para que se ejecute en el terminal.

Además del código USSD para forzar un factory reset, podría emplearse otros códigos aún más peligrosos para deshabilitar la SIM del dispositivo móvil. En este caso, podría forzarse la ejecución incorrecta del número PIN y PUK del móvil para provocar el bloqueo de la tarjeta SIM. A diferencia del código de restablecimiento de fábrica (factory reset), el cual es sólo compatible con ciertos dispositivos de determinados fabricantes, un gran cantidad de teléfonos Android utilizan un código estándar para realizar el cambio de PIN por lo que las implicaciones de este ataque son aún más desastrosas al estar expuestos un mayor número de fabricantes.

Solución:

Cualquier navegador que pueda ejecutar javascript o aceptar redirecciones por parte del servidor podría ejecutar códigos USSD en todos los navegadores y dispositivos Android. Algunos dispositivos podría ejecutar dicho código sin necesidad de interacción humana, mientras que en otros dispositivos se requeriría que el usuario pulsara el botón de marcar.

Para aquellos usuarios que no hayan recibido la actualización y sean vulnerables viaForensics aconseja la instalación de un add-on dialer alternativo para impedir la ejecución de códigos USSD en el terminal.

Asimismo, Borgaonkar ha creado una página de prueba para comprobar si el terminal es vulnerable o no. En el caso de visualizar el IMEI del terminal es probable que el mismo sea vulnerable.

Notas:

INTECO

Fuente: Inteco-CERT