Extracción de claves GnuPG con el poder de tu mano (Jedi)
Tenía pendiente desde que salió publicado, la lectura de este paper sobre criptografía, firmado en la Universidad de Tel Aviv.
El título ya de por sí había generado mucho buzz en los medios, y había
leído algunas cosas, pero necesitaba algo de tiempo para entender qué
es lo que habían hecho y cuáles son las posibilidades de este trabajo ya
que tenía en mente trabajos similares anteriores. El documento, que
puedes descargar en PDF desde la siguiente URL, se llama "Get Your Hands Off My Laptop: Physical Side-Channel Key-Extraction Attacks on PCs".
Figura 1: Get Your Hands Off My Laptop
Una vez leído, parece que lo que han hecho ha sido una implementación de los famosos ataques de Criptoanálisis Acústico, a un escenario en el que el side-channel
no es el sonido que se genera desde el microprocesador, sino las
vibraciones que se generan en los elementos físicos cada una de las
diferentes operaciones que realiza el microprocesador. A ver si consigo
explicarlo.
Los ataques Tempest
Los ataques Tempest se basan en medir canales paralelos
para poder extraer la información original que los genera. Se hicieron
famosos por los ataques a monitores CRT donde se medían la
frecuencia y se podía ver la pantalla de una determinada persona, pero
el número de ataques han ido creciendo. Aquí os dejo un ejemplo de cómo
se podría utilizar para saber a quién está votando una persona en un
sistema de voto electrónico de Holanda.
Figura 2: Ataque Tempest al sistema de voto electrónico Holandés
Hoy en día tenemos ataques que se han hecho muy populares, como el que
conseguía grabar las pulsaciones de teclado midiendo con una luz en la
tapa de la pantalla las vibraciones al pulsar las teclas, los keloggers hechos con los acelerómetros de los smartphones, etcétera.
Yo, reconozco que tuve la ocasión de aprender mucho sobre Tempest en el evento Asegúr@IT III que hicimos en Bilbao, donde Pablo Garaitzar a.k.a. "Txipi" de la Universidad de Deusto, dio una de las charlas más entretenidas y educativas que recuerdo. El tema fue Tempest: Mitos y Realidades y puedes conseguir el audio de la sesión y las diapositivas, además de poder ver el vídeo que tengo subido a mi canal Youtube desde hace tiempo. Aquí os lo dejo.
Figura 3: Tempest - Mitos y Realidades
En esta charla, hacia la parte final, Txipi habla del Criptoanálisis Acústico a partir de los sonidos que genera el microprocesador de un equipo cuando está haciendo una determinada operación. Es decir, la idea es que cuando un microprocesador hace un HTL o un NOP o un ADD, genera un señal acústica distinta que puede ser grabada con un micrófono.
El criptoanálisis Acústico
Figura 4: Criptoanálisis Acústico
En el año 2004, Adi Shamir - la S de RSA - y Eran Tromer
demostraron que era posible reconocer el algoritmo de cifrado y
descifrado de un dato con solo grabar sus sonidos, lo que abría el
camino a los ataques criptográficos vía sonido. Este mismo ataque
culminó el año pasado con el paper en el que, haciendo un ataque criptográfico al algoritmo de GnuPG se podía saber qué clave privada de cifrado se estaba utilizando para cifrar una cadena.
Figura 5: Sonido de cifrado con clave privado en GnuPG. Puedes descargar el audio.
Este trabajo del año pasado, titulado "RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis", recibió este año en la Black Hat USA 2014 el Pwnie Award a la Investigación más innovadora. En él, es en el que se ha basado este nuevo paper del que va el artículo de hoy.
Side-Channel usando el contacto físico
Eran Tromer ha continuado con este trabajo, y lo que ha
hecho ha sido cambiar el canal paralelo. En lugar de utilizar un
micrófono para grabar los sonidos y hacer un procesado de señal de
audio, lo que hace ahora es extraer esas diferencias en el espectro de
cada una de las operaciones del microprocesador, pero usando las
vibraciones en los dispositivos físicos conectados.
Figura 6: Diferentes señales generadas por las diferentes operaciones
Para ello, con tener cualquier contacto físico con el equipo se podría
obtener una señal que recoja el estado de todas las operaciones de un microprocesador, permitiendo saber qué algoritmos está ejecutando en cada instante.
Figura 7: Captura de la señal por vibraciones en el cable de red
Por supuesto, lo que más ha llamado la atención es que la grabación de
la señal se haga tocando el equipo, la mesa, o el cable de red donde
está conectado el sistema informático, haciendo que proteger la
información sea cada vez más complicado en muchos entornos.
Figura 8: Captura de la señal física con el toque de la mano