En seguridad informática , un ataque de canal lateral es cualquier ataque basado en información obtenida de la implementación de un sistema informático, en lugar de debilidades en el algoritmo implementado en sí (por ejemplo, criptoanálisis y errores de software ). La información de tiempo, el consumo de energía, las fugas electromagnéticas o incluso el sonido pueden proporcionar una fuente adicional de información que puede explotarse.
Algunos ataques de canal lateral requieren conocimientos técnicos del funcionamiento interno del sistema, aunque otros, como el análisis de potencia diferencial, son eficaces como ataques de caja negra . El auge de las aplicaciones Web 2.0 y el software como servicio también ha aumentado significativamente la posibilidad de ataques de canal lateral en la web, incluso cuando las transmisiones entre un navegador web y un servidor están cifradas (por ejemplo, a través de cifrado HTTPS o WiFi ), según a investigadores de Microsoft Research y la Universidad de Indiana . [1] Muchos poderosos ataques de canal lateral se basan en métodos estadísticos iniciados por Paul Kocher . [2]
Los intentos de romper un criptosistema engañando o coaccionando a personas con acceso legítimo no suelen considerarse ataques de canal lateral: consulte la ingeniería social y el criptoanálisis de manguera de goma .
General
Las clases generales de ataque de canal lateral incluyen:
- Ataque de caché : ataques basados en la capacidad del atacante para monitorear los accesos a caché realizados por la víctima en un sistema físico compartido como en un entorno virtualizado o un tipo de servicio en la nube.
- Ataque de tiempo : ataques basados en medir cuánto tiempo tardan en realizarse varios cálculos (como, por ejemplo, comparar la contraseña dada por un atacante con la desconocida de la víctima).
- Ataque de monitoreo de energía : ataques que hacen uso de un consumo de energía variable por parte del hardware durante el cálculo.
- Ataque electromagnético : ataques basados en la radiación electromagnética filtrada, que puede proporcionar directamente textos sin formato y otra información. Estas medidas pueden usarse para inferir claves criptográficas usando técnicas equivalentes a las del análisis de energía o pueden usarse en ataques no criptográficos, por ejemplo, ataques TEMPEST (también conocido como van Eck phreaking o monitoreo de radiación).
- Criptoanálisis acústico : ataques que explotan el sonido producido durante un cálculo (como el análisis de potencia).
- Análisis diferencial de fallas : en el que se descubren secretos al introducir fallas en un cálculo.
- Remanencia de datos : en la que se leen datos confidenciales después de haber sido supuestamente eliminados. (es decir , ataque de arranque en frío )
- Ataques de fallas iniciados por software : actualmente, una clase poco común de canales laterales, Row hammer es un ejemplo en el que la memoria fuera de los límites se puede cambiar accediendo a la memoria adyacente con demasiada frecuencia (causando pérdida de retención de estado).
- Óptico: en el que se pueden leer secretos y datos confidenciales mediante grabación visual con una cámara de alta resolución u otros dispositivos que tengan esas capacidades (consulte los ejemplos a continuación).
En todos los casos, el principio subyacente es que los efectos físicos causados por el funcionamiento de un criptosistema ( en el lateral ) pueden proporcionar información adicional útil sobre secretos en el sistema, por ejemplo, la clave criptográfica , información de estado parcial, textos planos completos o parciales y así sucesivamente. El término criptophthora (degradación secreta) se utiliza a veces para expresar la degradación del material de clave secreta resultante de una fuga de canal lateral.
Ejemplos de
A El ataque de canal lateral de caché funciona supervisando las operaciones críticas de seguridad, como la entrada de la tabla T AES [3] [4] [5] o la exponenciación modular o la multiplicación o los accesos a la memoria. [6] El atacante es capaz de recuperar la clave secreta en función de los accesos realizados (o no) por la víctima, deduciendo la clave de cifrado. Además, a diferencia de algunos de los otros ataques de canal lateral, este método no crea una falla en la operación criptográfica en curso y es invisible para la víctima.
En 2017, se descubrieron dos vulnerabilidades de la CPU (denominadas Meltdown y Spectre ), que pueden usar un canal lateral basado en caché para permitir que un atacante filtre el contenido de la memoria de otros procesos y del propio sistema operativo.
Un ataque de sincronización observa el movimiento de datos dentro y fuera de la CPU o la memoria en el hardware que ejecuta el criptosistema o algoritmo. Simplemente observando las variaciones en el tiempo que se tarda en realizar operaciones criptográficas, podría ser posible determinar la clave secreta completa. Dichos ataques implican un análisis estadístico de las mediciones de tiempo y se han demostrado en redes. [7]
Un ataque de análisis de energía puede proporcionar información aún más detallada al observar el consumo de energía de un dispositivo de hardware, como una CPU o un circuito criptográfico. Estos ataques se clasifican aproximadamente en análisis de potencia simple (SPA) y análisis de potencia diferencial (DPA). Se presentan ejemplos de enfoques de aprendizaje automático. [8]
Las fluctuaciones en la corriente también generan ondas de radio , lo que permite ataques que analizan mediciones de emanaciones electromagnéticas (EM). Estos ataques generalmente involucran técnicas estadísticas similares a los ataques de análisis de poder.
Se ha demostrado un ataque de canal lateral basado en aprendizaje profundo , [9] [10] que utiliza la información de energía y EM en varios dispositivos con el potencial de romper la clave secreta de un dispositivo diferente pero idéntico en tan solo un rastro. .
Se conocen análogos históricos de los modernos ataques de canal lateral. Un documento de la NSA recientemente desclasificado revela que ya en 1943, un ingeniero del teléfono Bell observó picos descifrables en un osciloscopio asociados con la salida descifrada de un determinado teletipo cifrado. [11] Según el ex oficial del MI5 Peter Wright , el Servicio de Seguridad Británico analizó las emisiones de los equipos de cifrado francés en la década de 1960. [12] En la década de 1980, se sospechaba que los espías soviéticos habían colocado errores dentro de las máquinas de escribir IBM Selectric para monitorear el ruido eléctrico generado cuando la bola tipográfica giraba y se lanzaba para golpear el papel; las características de esas señales podrían determinar qué tecla se presionó. [13]
El consumo de energía de los dispositivos provoca un calentamiento, que se compensa con los efectos del enfriamiento. Los cambios de temperatura crean estrés mecánico inducido térmicamente. Este estrés puede crear emisiones acústicas de bajo nivel en las CPU en funcionamiento (alrededor de 10 kHz en algunos casos). Investigaciones recientes de Shamir et al. ha sugerido que de esta forma también se puede obtener información sobre el funcionamiento de los criptosistemas y algoritmos. Este es un ataque de criptoanálisis acústico .
Si se puede observar la superficie del chip de la CPU, o en algunos casos el paquete de la CPU, las imágenes infrarrojas también pueden proporcionar información sobre el código que se está ejecutando en la CPU, lo que se conoce como ataque de imágenes térmicas . [ cita requerida ]
Un ejemplo de ataque de canal lateral óptico incluye la recopilación de información del indicador de actividad del disco duro [14] para leer una pequeña cantidad de fotones emitidos por los transistores a medida que cambian de estado. [15]
Los canales laterales basados en la asignación también existen y se refieren a la información que se filtra desde la asignación (en oposición al uso) de un recurso, como el ancho de banda de la red, a los clientes que solicitan simultáneamente el recurso en disputa. [dieciséis]
Contramedidas
Debido a que los ataques de canal lateral se basan en la relación entre la información emitida (filtrada) a través de un canal lateral y los datos secretos, las contramedidas se dividen en dos categorías principales: (1) eliminan o reducen la divulgación de dicha información y (2) eliminan la relación entre la información filtrada y los datos secretos, es decir, hacen que la información filtrada no esté relacionada, o más bien no esté correlacionada , con los datos secretos, generalmente a través de alguna forma de aleatorización del texto cifrado que transforma los datos de una manera que se puede deshacer después de la operación criptográfica (por ejemplo, descifrado) se completa.
Bajo la primera categoría, las pantallas con blindaje especial para disminuir las emisiones electromagnéticas, reduciendo la susceptibilidad a los ataques TEMPEST , ahora están disponibles comercialmente. El acondicionamiento y filtrado de la línea eléctrica puede ayudar a disuadir los ataques de monitoreo de energía, aunque tales medidas deben usarse con precaución, ya que incluso correlaciones muy pequeñas pueden permanecer y comprometer la seguridad. Los recintos físicos pueden reducir el riesgo de instalación subrepticia de micrófonos (para contrarrestar los ataques acústicos) y otros dispositivos de microvigilancia (contra el consumo de energía de la CPU o los ataques de imágenes térmicas).
Otra contramedida (todavía en la primera categoría) es bloquear el canal emitido con ruido. Por ejemplo, se puede agregar un retraso aleatorio para disuadir los ataques de tiempo, aunque los adversarios pueden compensar estos retrasos promediando múltiples mediciones (o, de manera más general, usando más mediciones en el análisis). A medida que aumenta la cantidad de ruido en el canal lateral, el adversario necesita recopilar más mediciones.
Otra contramedida de la primera categoría es utilizar software de análisis de seguridad para identificar ciertas clases de ataques de canal lateral que se pueden encontrar durante las etapas de diseño del hardware subyacente. Los ataques de tiempo y los ataques de caché son identificables a través de ciertas plataformas de software de análisis de seguridad disponibles comercialmente, que permiten realizar pruebas para identificar la vulnerabilidad del ataque en sí, así como la efectividad del cambio arquitectónico para eludir la vulnerabilidad. El método más completo para emplear esta contramedida es crear un ciclo de vida de desarrollo seguro para el hardware, que incluye la utilización de todas las plataformas de análisis de seguridad disponibles en sus respectivas etapas del ciclo de vida de desarrollo de hardware. [17]
En el caso de los ataques de tiempo contra objetivos cuyos tiempos de cálculo se cuantifican en recuentos de ciclos de reloj discretos, una contramedida eficaz es diseñar el software para que sea isócrono, es decir, para que se ejecute en una cantidad de tiempo exactamente constante, independientemente de los valores secretos. Esto hace que los ataques de sincronización sean imposibles. [18] Estas contramedidas pueden ser difíciles de implementar en la práctica, ya que incluso las instrucciones individuales pueden tener tiempos variables en algunas CPU.
Una contramedida parcial contra los ataques de energía simples, pero no los ataques de análisis de energía diferencial, es diseñar el software para que sea "seguro para PC" en el "modelo de seguridad de contador de programa". En un programa seguro para PC, la ruta de ejecución no depende de valores secretos. En otras palabras, todas las ramas condicionales dependen únicamente de la información pública. (Esta es una condición más restrictiva que el código isócrono, pero una condición menos restrictiva que el código sin ramificaciones). Aunque las operaciones de multiplicación consumen más energía que NOP en prácticamente todas las CPU, el uso de una ruta de ejecución constante evita tales diferencias de potencia dependientes de la operación ( diferencias en el poder de elegir una rama sobre otra) de filtrar cualquier información secreta. [18] En arquitecturas donde el tiempo de ejecución de la instrucción no depende de los datos, un programa seguro para PC también es inmune a los ataques de tiempo. [19] [20]
Otra forma en que el código puede ser no isócrono es que las CPU modernas tienen una memoria caché: acceder a información que se usa con poca frecuencia incurre en una gran penalización de tiempo, revelando cierta información sobre la frecuencia de uso de bloques de memoria. El código criptográfico diseñado para resistir los ataques de caché intenta usar la memoria solo de una manera predecible (como acceder solo a la entrada, las salidas y los datos del programa, y hacerlo de acuerdo con un patrón fijo). Por ejemplo, se deben evitar las búsquedas de tablas dependientes de datos porque la caché podría revelar a qué parte de la tabla de búsqueda se accedió.
Otras contramedidas parciales intentan reducir la cantidad de información filtrada por las diferencias de poder dependientes de los datos. Algunas operaciones usan potencia que está correlacionada con el número de 1 bits en un valor secreto. El uso de un código de peso constante (como el uso de puertas Fredkin o codificación de doble carril) puede reducir la fuga de información sobre el peso Hamming del valor secreto, aunque es probable que se mantengan las correlaciones explotables a menos que el equilibrio sea perfecto. Este "diseño equilibrado" se puede aproximar en el software manipulando los datos y su complemento juntos. [18]
Se han construido varias "CPU seguras" como CPU asíncronas ; no tienen una referencia de tiempo global. Si bien estas CPU estaban destinadas a dificultar los ataques de potencia y sincronización, [18] investigaciones posteriores encontraron que las variaciones de sincronización en los circuitos asíncronos son más difíciles de eliminar. [21]
Un ejemplo típico de la segunda categoría (descorrelación) es una técnica conocida como cegamiento . En el caso del descifrado RSA con exponente secreto y exponente de cifrado correspondiente y módulo , la técnica se aplica de la siguiente manera (para simplificar, la reducción modular por m se omite en las fórmulas): antes de descifrar, es decir, antes de calcular el resultado de para un texto cifrado dado , el sistema elige un número aleatorio y lo encripta con exponente público para obtener . Luego, el descifrado se realiza en para obtener . Dado que el sistema de descifrado eligió, puede calcular su módulo inverso para cancelar el factor en el resultado y obtener , el resultado real del descifrado. Para los ataques que requieren recopilar información de canal lateral de operaciones con datos controlados por el atacante , el cegamiento es una contramedida eficaz, ya que la operación real se ejecuta en una versión aleatoria de los datos, sobre la cual el atacante no tiene control ni conocimiento.
Una contramedida más general (en el sentido de que es eficaz contra todos los ataques de canal lateral) es la contramedida de enmascaramiento. El principio de enmascaramiento es evitar manipular cualquier valor sensible. directamente, sino manipular un intercambio: un conjunto de variables (llamadas "acciones") tal que (dónde es la operación XOR ). Un atacante debe recuperar todos los valores de las acciones para obtener información significativa. [22]
Recientemente, se utilizó el modelado de caja blanca para desarrollar una contramedida genérica a nivel de circuito de baja sobrecarga [23] tanto contra ataques EM como de canal lateral de potencia. Para minimizar los efectos de las capas de metal de nivel superior en un IC que actúa como antenas más eficientes, [24] la idea es incrustar el núcleo criptográfico con un circuito de supresión de firmas, [25] [26] enrutado localmente dentro del nivel inferior capas de metal, lo que conduce a la inmunidad al ataque de canal lateral EM y de potencia.
Ver también
- Ataque de fuerza bruta
- Vigilancia por computadora
- Canal encubierto
- Efecto secundario
Referencias
- ^ Shuo Chen; Rui Wang; XiaoFeng Wang y Kehuan Zhang (mayo de 2010). "Fugas de canal lateral en aplicaciones web: una realidad hoy, un desafío mañana" (PDF) . Investigación de Microsoft . Simposio IEEE sobre seguridad y privacidad 2010.
- ^ Kocher, Paul (1996). "Tiempos de ataques en implementaciones de Diffie-Hellman, RSA, DSS y otros sistemas". Avances en criptología - CRYPTO '96 . Avances en criptología — CRYPTO'96 . Apuntes de conferencias en Ciencias de la Computación. 1109 . págs. 104-113. doi : 10.1007 / 3-540-68697-5_9 . ISBN 978-3-540-61512-5. Consultado el 14 de abril de 2014 .
- ^ Ashokkumar C .; Ravi Prakash Giri; Bernard Menezes (2016). "Algoritmos altamente eficientes para la recuperación de claves AES en ataques de acceso a caché". 2016 IEEE European Symposium on Security and Privacy (EuroS & P) . págs. 261-275. doi : 10.1109 / EuroSP.2016.29 . ISBN 978-1-5090-1751-5. S2CID 11251391 .
- ^ Gorka Irazoqui; Mehmet Sinan Inci; Thomas Eisenbarth; Berk Sunar, ¡ espera un minuto! Un rápido ataque entre máquinas virtuales en AES (PDF) , consultado el 7 de enero de 2018
- ^ Yuval Yarom; Katrina Falkner, Flush + Reload: a High Resolution, Low Noise, L3 Cache Side-Channel Attack (PDF) , consultado el 7 de enero de 2018
- ^ Mehmet S. Inci; Berk Gulmezoglu; Gorka Irazoqui; Thomas Eisenbarth; Berk Sunar, Cache Attacks Enable Bulk Key Recovery on the Cloud (PDF) , consultado el 7 de enero de 2018
- ^ David Brumley; Dan Boneh (2003). "Los ataques de tiempo remoto son prácticos" (PDF) .
- ^ Lerman, Liran; Bontempi, Gianluca; Markowitch, Olivier (1 de enero de 2014). "Ataque de análisis de poder: un enfoque basado en el aprendizaje automático" . Revista Internacional de Criptografía Aplicada . 3 (2): 97-115. doi : 10.1504 / IJACT.2014.062722 . ISSN 1753-0563 .
- ^ "X-DeepSCA: ataque de canal lateral de aprendizaje profundo entre dispositivos" por D. Das, A. Golder, J. Danial, S. Ghosh, A. Raychowdhury y S. Sen, en la 56a Conferencia de automatización de diseño de ACM / IEEE (DAC ) 2019.
- ^ "Enfoques prácticos hacia el ataque de canal lateral de poder multidispositivo basado en aprendizaje profundo" por A. Golder, D. Das, J. Danial, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE Transactions on Very Large Sistemas de integración de escala (VLSI), vol. 27, número 12, 2019.
- ^ "Documento desclasificado de la NSA revela la historia secreta de TEMPEST" . Cableado . Wired.com. 29 de abril de 2008.
- ^ https://www.sans.org/reading-room/whitepapers/privacy/introduction-tempest-981
- ^ Church, George (20 de abril de 1987). "El arte del espionaje de alta tecnología" . Tiempo . Consultado el 21 de enero de 2010 .
- ^ Eduard Kovacs (23 de febrero de 2017), "El LED del disco duro permite el robo de datos de las PC con espacios libres" , Semana de la seguridad , consultado el 18 de marzo de 2018
- ^ J. Ferrigno; M. Hlaváč (septiembre de 2008), "Cuando AES parpadea: introducción del canal lateral óptico" , IET Information Security , 2 (3): 94–98, doi : 10.1049 / iet-ifs: 20080038
- ^ S. Angel; S. Kannan; Z. Ratliff, "Asignadores de recursos privados y sus aplicaciones" (PDF) , Actas del Simposio IEEE sobre Seguridad y Privacidad (S&P), 2020.
- ^ Tortuga Logic (2018). "Identificación de problemas de aislamiento en arquitecturas modernas de microprocesadores" .
- ^ a b c d "Una arquitectura asincrónica basada en red para dispositivos criptográficos" por Ljiljana Spadavecchia 2005 en las secciones "3.2.3 Contramedidas", "3.4.2 Contramedidas", "3.5.6 Contramedidas", "3.5.7 Contramedidas de software" , "3.5.8 Contramedidas de hardware" y "4.10 Análisis de canal lateral de arquitecturas asincrónicas".
- ^ "El modelo de seguridad del contador del programa: detección automática y eliminación de ataques de canal lateral de flujo de control" por David Molnar, Matt Piotrowski, David Schultz, David Wagner (2005).
- ^ "El modelo de seguridad del contador del programa: detección automática y eliminación de ataques de canal lateral de flujo de control" Presentación de trabajo en curso de USENIX del documento
- ^ Jeong, C .; Nowick, SM (enero de 2007). "Optimización de circuitos asíncronos robustos mediante relajación de completitud de entrada local" . 2007 Conferencia de automatización del diseño de Asia y el Pacífico Sur : 622–627. doi : 10.1109 / ASPDAC.2007.358055 . ISBN 978-1-4244-0629-6. S2CID 14219703 .
- ^ "Enmascaramiento contra ataques de canal lateral: una prueba de seguridad formal" por Emmanuel Prouff, Matthieu Rivain en Avances en criptología - EUROCRYPT 2013.
- ^ "EM y potencia SCA-Resilient AES-256 en 65nm CMOS a través de> 350 × Atenuación de firma de dominio actual" por D. Das et al., En IEEE International Solid-State Circuits Conference (ISSCC), 2020,
- ^ "STELLAR: Una protección genérica contra ataques de canal lateral EM a través del análisis de la causa raíz desde el suelo" por D. Das, M. Nath, B. Chatterjee, S. Ghosh y S. Sen, en el Simposio internacional de IEEE sobre hardware orientado Seguridad y confianza (HOST), Washington, DC, 2019.
- ^ "ASNI: Inyección de ruido de firma atenuada para inmunidad al ataque de canal lateral de baja potencia" por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE Transactions on Circuits and Systems I: Documentos regulares, 2017, vol. 65, número 10.
- ^ "Inmunidad al ataque de canal lateral de potencia de alta eficiencia mediante inyección de ruido en el dominio de firma atenuada" por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE International Symposium on Hardware Oriented Security and Trust (HOST), Washington, DC, 2017.
Otras lecturas
Libros
- Ambrose, Jude y col. (2010). Ataques de canal lateral de análisis de potencia: el contexto a nivel de diseño del procesador . VDM Verlag. ISBN 9783836485081.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
Artículos
- [1] , Análisis de potencia diferencial, P. Kocher, J. Jaffe, B. Jun, aparecieron en CRYPTO'99.
- Ataque de canal lateral: un enfoque basado en el aprendizaje automático [ enlace muerto ] , 2011, L Lerman, G Bontempi, O Markowitch.
- [2] , Ataques de sincronización en las implementaciones de Diffie-Hellman, RSA, DSS y otros sistemas, P. Kocher.
- [3] , Introducción al análisis diferencial de potencia y ataques relacionados, 1998, P Kocher, J Jaffe, B Jun.
- Nist.gov , una nota de advertencia sobre la evaluación de candidatos AES en tarjetas inteligentes, 1999, S Chari, C Jutla, JR Rao, P Rohatgi
- DES y análisis de potencia diferencial, L Goubin y J Patarin, en Proceedings of CHES'99, Lecture Notes in Computer Science Nr 1717, Springer-Verlag
- Grabher, Philipp y col. (2007). "Canales laterales criptográficos de memoria caché de bajo consumo" . En Galbraith, Steven D. (ed.). Criptografía y codificación: 11th IMA International Conference, Cirencester, Reino Unido, 18-20 de diciembre de 2007: actas, Volumen 11 . Saltador. ISBN 9783540772712.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- Kamal, Abdel Alim; Youssef, Amr M. (2012). "Análisis de fallos del esquema de firma digital NTRUSign". Criptografía y Comunicaciones . 4 (2): 131-144. doi : 10.1007 / s12095-011-0061-3 . S2CID 2901175 .
- Daniel Genkin; Adi Shamir; Eran Tromer (18 de diciembre de 2013). "Extracción de clave RSA mediante criptoanálisis acústico de ancho de banda bajo" . Universidad de Tel Aviv . Consultado el 15 de octubre de 2014 .
enlaces externos
- Sima, Mihai; Brisson, André (2015), Implementación de cifrado Whitenoise con mayor solidez contra ataques de canal lateral
- Brisson, André (2015), Universidad de Victoria, Columbia Británica, estudio de resistencia al ataque del canal lateral de Whitenoise
- Nuevas técnicas de ataque de canal lateral
- Taller de COSADE Taller internacional sobre análisis constructivo de canal lateral y diseño seguro