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.
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.
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 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.