Saltar al contenido

Entrevista exclusiva: Hackear el iPhone a través de SMS

    1652314862

    Introducción

    Recientemente conversamos con el experto en seguridad Charlie Miller de Independent Security Evaluators sobre la vulnerabilidad del iPhone recientemente revelada que habría permitido que un pirata informático tomara el control de un iPhone a través de una serie de mensajes SMS cuidadosamente elaborados.

    Alan: Gracias por tomarte el tiempo de conversar, Charlie. ¿Por qué no empiezas contándonos un poco sobre la vulnerabilidad de SMS?

    Charlie: El error del iPhone tiene que ver con decirle al teléfono que hay una cierta cantidad de datos y luego no enviarlos tanto como dijiste que lo harías. La función que lee los datos comienza a devolver -1 para indicar un error, pero las otras partes del programa no verifican este error y en realidad piensan que -1 son datos del mensaje. Esto muestra lo complejo que puede ser escribir código seguro, ya que por separado, cada parte del programa parece correcta, ¡pero la forma en que interactúan es peligrosa!

    De todos modos, dependiendo de lo que envíes, pueden pasar diferentes cosas malas. En un momento, puede hacer que salga porque está a punto de asignar -1 bytes (que se ve como 0xffffffff, un número muy grande). Esta es una denegación de servicio que desconectará el teléfono de la red temporalmente.  

    Durante mi charla sobre BlackHat, seguimos enviando este mensaje de denegación de servicio cada 10 segundos a un voluntario de la audiencia para mantenerlo fuera de la red. Como consecuencia desafortunada, los mensajes se escuchaban en la red y su teléfono seguía siendo desconectado horas después de la charla. Desde entonces ha vuelto a ponerse en marcha.

    Alan: Nota para nuestros lectores: cada vez que Charlie diga que necesita un voluntario, no haga contacto visual. Entonces, ¿cómo enviaste el mensaje? ¿Lo enviaste a través de la interfaz de SMS de otro iPhone o hiciste algo como enviar un correo electrónico con el enfoque » número de teléfono@attwireless «?

    Charlie: Para enviar el SMS a través de la red del operador, teníamos una pequeña aplicación en nuestro iPhone de ataque que se comunicaría con el módem mediante comandos GSM AT. Para probar y encontrar los errores, usamos este marco de inyección realmente genial que escribió mi copresentador Collin Mulliner, que le permite probar las implementaciones de mensajes SMS enviando solo datos a través de TCP. Esto evita que tengas que enviar datos a través de la red del operador y no cuesta nada, y también te permite probar muchos mensajes muy rápidamente.

    Alan: Entonces, ¿cómo se pasa de una denegación de servicio a un exploit completo?

    Charlie: El peor de los casos tiene que ver con cómo el programa maneja los mensajes concatenados. Esta es una forma de enviar más de 140 bytes a la vez. Puede enviar un mensaje largo en una serie de mensajes y el teléfono lo reconstruirá en una cadena larga. Accede a una matriz basada en un valor de los datos. En el caso de que crea que lee -1, en realidad accede a la memoria antes de la matriz, no en la matriz. Al configurar las cosas correctamente y ser complicado, puede aprovechar esto para obtener un control completo del dispositivo.

    Todo el ataque ocupa poco más de 500 mensajes, aunque la víctima no sabe que se están enviando porque no aparecen en el teléfono. La mayoría de estos mensajes tienen que ver con configurar las cosas «perfectamente». Dieciséis de ellos realmente acceden a la matriz fuera de los límites.

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x