martes, septiembre 20, 2016

NAND Mirroring: O cómo el FBI se pudo hacer con la llave maestra del iPhone

El asunto del iPhone 5C y la NO colaboración por parte de Apple en el proceso de recuperación del passcode del terminal del llamado terrorista de San Bernardino llevó a que todo acabara en los tribunales y con el FBI pidiendo no ya la colaboración de Apple para desbloquear ese iPhone 5C sino una llave maestra para desbloquear cualquier terminal iPhone. La cosa se complicó mucho mediáticamente hasta que al final el FBI dijo que ya había conseguido acceso al terminal y decidió olvidar el asunto. ¿Cómo lo hizo? Las especulaciones al respecto fueron muchas y variadas. Desde el mundo de los investigadores de seguridad, hasta los amantes de los conspiraciones. Hoy hay una explicación técnica posible.

Figura 1: NAND Mirroring o cómo el FBI se pudo hacer con la llave maestra del iPhone

Lo único que teníamos anunciado públicamente era que el FBI había conseguido acceso y que además había ayudado con este "exploit" o "técnica" a otras unidades del gobierno que tenían el mismo problema con el mismo tipo de terminal. Para los que no recuerden el problema, el asunto radica en poder hacer un número de intentos ilimitados al passcode sin que se borre el disco duro cuando se alcance un número determinado de fallos. Es decir, lo que quería el FBI es que se anulara esa función del terminal por parte de Apple.

NAND Mirroring en iPhone 5C

Los investigadores de seguridad propusieron una técnica llamada NAND mirroring que permitía hacer este trabajo. De forma muy simplificada, la idea consiste en copiar la memoria del chip que controla el número de intentos de passcode. La NAND Memory. Después, se clona y todos los datos que contiene la memoria NAND original se ponen sobre otra memoria vacía. Esto hace que la memoria NAND original tenga el contador de intentos intacto al igual que la memoria NAND clonada. Después, se conecta la memoria NAND clonada al terminal y se prueba un número de passcodes sin llegar a alcanzar el límite máximo que lanza el proceso de borrado del disco, al que llamaremos límite de seguridad.

Figura 2: Analizador de señales conectado para clonar la NAND de un iPhone 5

Una vez alcanzado el límite de seguridad en los intentos, la memoria NAND clonada tiene el contador al límite, así que se vuelve a copiar sobre ella el contenido de la memoria NAND original que tiene el contador inicial y se vuelve a conectar al terminal iPhone 5C para continuar con otro conjunto de intentos hasta alcanzar el límite de seguridad. Así, el proceso se repite hasta poder dar con el passcode en un ataque de fuerza bruta.

Figura 3: Demostración del concepto de NAND Mirroring en iOS 9 de Jonathan Zdziarski

El proceso ya había sido demostrado y explicado en una simulación con un terminal iPhone 5C con jailbreak por parte del investigador Jonathan Zdziarski, pero ahora el investigador Sergei Skorogobatov de la Universidad de Cambridge ha publicado un paper y un vídeo en el que demuestra el proceso.
Para ello, ha tenido que decodificar las señales físicas de la memoria y hacer un proceso de ingeniería inversa de las señales para hacer un proceso de volcado de todas las posiciones de memoria del chip, al estilo que cuentan en Halt & Catch fire con la memoria de la BIOS de IBM. El proceso está explicado en detalle en el paper, que merece la pena que leas.

Figura 5: Demostración de NAND Mirroring en iPhone 5C de Sergei Skorogobatov

Este trabajo viene acompañado justo junto con la noticia de la demanda que han interpuesto un conjunto de abogados en defensa de las libertades de los ciudadanos para que el FBI dé explicaciones de cuál ha sido el proceso que ellos utilizaron para conseguir acceso al terminal iPhone 5C, puesto que quieren saber si cuentan con una llave maestra o no. 


Figura 6: Episodio de "Halt & Catch Fire" en el que se clona la BIOS de IBM

Sea como fuere, con la publicación de la técnica de NAND mirroring en iPhone 5C, estos terminales acaban de convertirse en los más inseguros junto con los iPhone 4, ya que en ambos casos existe forma demostrada y conocida de saltarse el passcode del terminal sin borrar los datos, así que la llave maestra que pedía el FBI ha sido entregada a todo el mundo. Ahora es cosa del usuario asumir el riesgo de tener uno de estos terminales o deshacerse de ellos.

Por supuesto, queda por ver si esta técnica se puede aplicar a terminales iPhone 4S, iPhone 5, iPhone 5S, iPhone 6, iPhone 6 Plus, iPhone 6S, iPhone 6S Plus y los flamantes iPhone 7 e iPhone 7 Plus y el resto de dispositivos con iPad, iPod Touch o Apple TV . Veremos.

Saludos Malignos!

2 comentarios:

Ariztigain dijo...

Sin querer desviar el tema central del artículo, ¿en Android se cuenta con algún sistema similar, o en caso contrario, el número de intentos de logueo es ilimitado?

Un saludo,

Unknown dijo...

¿Todo este procedimiento serviría de algo si se hiciera un borrado remoto del iphone desde icloud una vez perdido/robado? De todas formas creo que con acceso físico a un dispositivo muy pocos equipos (no solo smartphones) se salvan de que se les pueda extraer gran parte de la información, lo realmente peligroso seria poder hacerlo remotamente. Dentro de poco tiempo empezaremos a ver los primeros discos de smartphones encriptados, como ya tienen la mayoría de las personas mas influyentes del mundo así como ejércitos etc.

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares