Fallo en la criptografía e implementación Java de las tarjetas SIM permite su clonación remota

Sergio De Los Santos    22 julio, 2013
Otra interesante presentación en la Black Hat de Las Vegas será
la de Karsten Nohl, que demostrará cómo se puede tener total acceso a una tarjeta SIM de varios operados solamente enviando un mensaje SMS y aprovechando
fallos de seguridad Java en la implementación del software de la tarjeta SIM.
Las tarjetas SIM pueden ser actualizadas por la operadora a
través de SMS. Estos son mensajes cifrados e “invisibles” que interpreta la tarjeta y sirven
para enviar órdenes a Java Card, que el software que suelen ejecutar las SIM. Una
cadena de errores permite obtener total acceso a los dispositivos:
  • El atacante envía un SMS cifrado falsificando el número de
    la operadora. El teléfono lo interpreta como real e intenta descifrarlo. La
    falta de autenticación de remitente en los SMS es algo que ya ha traído algún
    que otro problema a muchos usuarios.
  • La tarjeta, como no puede descifrar el mensaje, devuelve
    por SMS un código de error al atacante, cifrado. Este código devuelto solo se da en un cuarto de los casos de tarjetas estudiadas. El resto ignora el mensaje falso.
  • Aunque podían usar AES, o TripleDES, este mensaje cifrado
    suele estarlo con DES de 56 bits. Algo que puede romper un ordenador corriente
    hoy en día en cuestión de pocos minutos con ayuda de tablas rainbow.
  • Con esta información, el atacante ya puede hacerse pasar
    totalmente por la operadora
    y enviar mensajes que la tarjeta interpretará como
    actualizaciones. El atacante envía entonces instrucciones para que la tarjeta
    descargue applets con funcionalidades que la Java Card interpretará. Los
    applets, restringidos en la máquina virtual, ya permiten bastantes acciones en
    la tarjeta como para que sea preocupante su ejecución.

    Fuente: http://www.oracle.com/technetwork/java/javacard/javacard1-139251.html
  • Pero obviamente no acaba aquí. También han encontrado que
    la implementación de la sandbox en la máquina virtual es deficiente en al menos
    dos grandes fabricantes de SIM, lo que permite salirse y tomar total control
    del software que controla la tarjeta.
    Esto significa, “rootkitear” la
    SIM en sus entrañas, independientemente del teléfono.

En resumen, gracias a esta combinación de errores (básicos y
evitables), parece que lo más grave es que (dadas estas circunstancias que dependen de la operadora y el fabricante de la tarjeta) se podría clonar una tarjeta en remoto en cuestión de minutos y solo sabiendo su número, puesto que un atacante tendría capacidad para acceder a toda su
información.

Sin embargo, a pesar de la gravedad del problema, no todas
las tarjetas son vulnerables. Nohl (que ya ha destapado otros problemas en las
tarjetas SIM en años anteriores) afirma que de 1000 tarjetas comprobadas en dos
años, solo una de cada cuatro es vulnerable. También concluye que es poco
probable que los atacantes reales estén aprovechando este fallo.

Sabremos más detalles en la Black Hat.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *