El criptoanálisis acústico es un tipo de ataque de canal lateral pasivo destinado a obtener información de los sonidos producidos por computadoras u otros dispositivos de encriptación . Inicialmente, este ataque se utilizó para piratear máquinas de encriptación electromecánica e impresoras de impacto . Sin embargo, en el criptoanálisis acústico moderno , el enfoque principal está en el ruido generado por el teclado o los componentes internos de la computadora.
En 1974, Victor Marchetti ( ing. Victor Marcetti ) y John D. Marks lograron desclasificar el uso de la CIA de sonidos interceptados en la impresión de una máquina de cifrado de texto sin formato . [1] Este método se hizo posible con la llegada de dispositivos bastante baratos que implementan la transformada rápida de Fourier , que en este caso ocurrió a finales de la década de 1960 y mediados de la de 1970.
Sin embargo, a mediados de la década de 1950 ya se estaban realizando ataques acústicos similares utilizando métodos más primitivos. El ex agente del MI5 Peter Wright describe el uso del criptoanálisis contra las máquinas de cifrado egipcias Hagelin su libro Spycatcher . Esta operación recibió el nombre en código "ENGULF". [2]
Durante la operación en 1956, se colocaron dispositivos de escucha en la Embajada de Egipto en Londres , que interceptaron los ruidos emitidos por las máquinas de cifrado. Esto permitió a los oficiales de inteligencia británicos obtener información clasificada, lo que afectó la posición británica en la Crisis de Suez .
El MI5 también utilizó con éxito este método en la Operación STOCKADE para intervenir la embajada de Francia en Londres. [2]
En 2004, Dmitry Asonov y Rakesh Agrawal, que trabajaban en Almaden Research Center, IBM , anunciaron que los teclados de las computadoras, los teléfonos y los cajeros automáticos eran vulnerables a los ataques de pulsación de teclas . Al analizar la grabación de audio usando una red neuronal , pudieron recrear el texto escrito en otra computadora. Este método permite a los atacantes aprender contraseñas, códigos PIN y otra información ingresada desde los teclados.
En 2005, un grupo de científicos de la Universidad de California en Berkeley realizó una serie de experimentos prácticos, confirmando la posibilidad del ataque propuesto por Asonov y Agrawal. [3]
Muchas partes de la computadora emiten sonido de alta frecuencia durante la operación. Sin embargo, esto no es solo ruido: puede obtener datos sobre los programas en ejecución y, en particular, información protegida sobre los cálculos del sistema de seguridad.
En 2004, Adi Shamir y Eran Tromer demostraron la viabilidad de un ataque de análisis de canal lateral cronometrado en una CPU que realiza operaciones criptográficas. Al mismo tiempo, no se analizó la radiación electromagnética de la computadora o el ruido perceptible del sistema de enfriamiento , sino el ultrasonido emitido por los capacitores e inductores en la placa base en los circuitos de alimentación de la CPU. [cuatro]
RSA fue elegido como el algoritmo de cifrado en la implementación de GnuPG . El experimento se llevó a cabo tanto con equipos económicos disponibles públicamente como con equipos más sensibles, pero costosos. En el primer caso, se ubicó un micrófono barato a una distancia de 20 cm de una caja abierta con los ventiladores apagados. En el segundo caso, las condiciones eran casi reales: la computadora pirateada estaba ubicada a una distancia de 1 a 2 metros y estaba ensamblada. En ambos casos se lograron resultados similares.
Trabajando en equipo con Daniel Genkin, Adi Shamir y Eran Tromer continuaron explorando el tema. Como resultado, implementaron con éxito este ataque y publicaron un artículo con los resultados en diciembre de 2013. [5]
Gracias al trabajo realizado consiguieron mejorar notablemente el ataque. Este método puede extraer la clave RSA completa de 4096 bits de la computadora portátil de la víctima en 1 hora de trabajo . Para hacer esto, simplemente coloque su teléfono móvil al lado de su computadora portátil. Se puede instalar un micrófono más sensible a una distancia de 4 metros de la computadora.
Cómo funcionaPor lo general , los ataques de canal lateral requieren mediciones con una resolución de tiempo cercana al tiempo de ejecución de una sola operación. Pero en las computadoras, las operaciones son mucho más rápidas (del orden de GHz) que la frecuencia de los micrófonos receptores (hasta 20 kHz para los micrófonos convencionales y hasta varios cientos de kHz para los micrófonos ultrasónicos). [6] Sin embargo, incluso con la ayuda de tales medidas, es posible la extracción completa de la clave.
La investigación ha encontrado que la operación de cifrado RSA (del paquete GnuPG) tiene un espectro de frecuencia característico . Además, el espectro en muchos casos exhibe dependencia de clave, es decir, diferentes claves producen diferentes sonidos.
El proceso de extracción de claves se basa en un ataque de texto cifrado elegido de forma adaptativa . Debido a las peculiaridades de la implementación del algoritmo de cifrado, aparece una serie de ceros en el ciclo del algoritmo. Una pasada por el bucle es demasiado rápida para que el micrófono la capte. Pero cuando este evento se repite durante varios miles de pases, la fuga a través del canal acústico se vuelve significativa, lo que permite obtener información bit a bit sobre la clave.
El tiempo de ejecución del ataque y su éxito dependen de muchos parámetros: la posición del micrófono, el ruido externo, la acústica de la habitación, el modelo del automóvil atacado e incluso la temperatura ambiente. En promedio, el tiempo de ataque en una computadora portátil Lenovo ThinkPad T61 en condiciones normales de oficina con un micrófono portátil fue de 1 hora. [7]
UsoAdemás del ataque acústico, los investigadores han propuesto un método de piratería de fluctuación potencial similar . Un atacante puede medir los cambios potenciales al final de un cable conectado a una computadora (por ejemplo, Ethernet ) y así llevar a cabo un ataque exitoso.
También es posible un método de piratería futurista de un solo toque: el atacante toca la carcasa de la computadora / computadora portátil y obtiene la información necesaria midiendo el potencial de su propio cuerpo. [5]
OposiciónLos investigadores han informado a los desarrolladores de GnuPG y a los principales proveedores sobre la vulnerabilidad y han sugerido posibles contramedidas. [8] Simultáneamente con la publicación del artículo (diciembre de 2013), se lanzaron actualizaciones para GnuPG 1.x, GnuPG 2.x y libcrypt, que implementaron estas contramedidas. Sin embargo, vale la pena señalar que esto no protege completamente contra este ataque acústico (por ejemplo, aún se puede distinguir una clave RSA de otra).
Curiosamente, la protección contra ataques de canal lateral que apareció en GnuPG antes de eso, no solo no protegía contra este ataque, sino que también facilitaba el reconocimiento de la clave. [5]
A pesar de que el ataque es físico, en este caso la protección a nivel de software es más efectiva debido a los altos costos con poco beneficio. Cualquier radiación residual a menudo se puede amplificar a un nivel aceptable, mientras que la mayor parte del ruido no lleva ninguna información. La protección a nivel de software puede garantizar que la información filtrada sea inútil para un atacante.
Para protegerse contra escuchas en los sonidos de las teclas del teclado, puede reproducir sonidos de la misma frecuencia y forma. Al reproducir sonidos de pulsaciones de teclas en orden aleatorio, puede reducir significativamente la probabilidad de ejecución exitosa de este tipo de ataque. Es deseable utilizar al menos 5 entradas diferentes para cada botón con el fin de reducir el riesgo de reconocimiento utilizando la transformada rápida de Fourier . [9] Alternativamente, el ruido blanco de volumen suficiente (que es técnicamente más fácil de implementar) puede ocultar los sonidos de las pulsaciones de botones.
Contra los ataques que utilizan el ruido de los componentes en funcionamiento, puede utilizar recintos especiales de cancelación de ruido que pueden amortiguar los sonidos emitidos de una frecuencia característica. También puede usar un generador de ruido blanco, pero este método puede no ser atractivo desde el punto de vista ergonómico . Además, el uso de componentes de radio de alta calidad y circuitos eléctricos especialmente diseñados puede ayudar a reducir la amplitud del ruido emitido.
También puede implementar la protección a nivel de software modificando el software. Los cambios realizados en el funcionamiento del algoritmo pueden limitar la utilidad de la información que un atacante puede interceptar. Estas modificaciones suelen afectar al rendimiento, pero permiten que el comportamiento del algoritmo criptográfico sea independiente de la entrada. [cuatro]