stringtranslate.com

Ataque de canal lateral

Un intento de decodificar los bits de la clave RSA mediante el análisis de potencia . El pulso izquierdo representa las variaciones de potencia de la CPU durante el paso del algoritmo sin multiplicación, el pulso derecho, más amplio, el paso con multiplicación, lo que permite a un atacante leer los bits 0 y 1.

En seguridad informática , un ataque de canal lateral es cualquier ataque basado en información adicional que se puede recopilar debido a la forma fundamental en que se implementa un protocolo o algoritmo de computadora , en lugar de fallas en el diseño del protocolo o algoritmo en sí (por ejemplo, fallas encontradas en un criptoanálisis de un algoritmo criptográfico ) o errores o descuidos menores, pero potencialmente devastadores, en la implementación . (El criptoanálisis también incluye la búsqueda de ataques de canal lateral). La información de tiempo, el consumo de energía, las fugas electromagnéticas y el sonido son ejemplos de información adicional que podría explotarse para facilitar los ataques de canal lateral.

Algunos ataques de canal lateral requieren conocimientos técnicos sobre el 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 HTTPS o cifrado WiFi ), según investigadores de Microsoft Research y la Universidad de Indiana . [1]

Los intentos de romper un criptosistema engañando o coaccionando a personas con acceso legítimo normalmente no se consideran ataques de canal secundario: véase ingeniería social y criptoanálisis de manguera de goma .

Las clases generales de ataque de canal lateral incluyen:

En todos los casos, el principio subyacente es que los efectos físicos causados ​​por el funcionamiento de un criptosistema ( en el lado ) pueden proporcionar información adicional útil sobre secretos en el sistema, por ejemplo, la clave criptográfica , información de estado parcial, textos claros completos o parciales , etc. El término cryptophthora (degradación de secretos) se utiliza a veces para expresar la degradación del material de claves secretas resultante de la fuga de canal lateral.

Ejemplos

AEl ataque de canal lateral de caché funciona monitoreando operaciones críticas de seguridad comola entrada de la tabla Tde AES[2][3][4]o la exponenciación o multiplicación modular o los accesos a la memoria.[5]El atacante luego puede recuperar la clave secreta dependiendo 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 CPU (denominadas Meltdown y Spectre ), que pueden utilizar 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 vigila el movimiento de datos que entran y salen de la CPU o la memoria en el hardware que ejecuta el criptosistema o algoritmo. Con solo observar las variaciones en el tiempo que lleva realizar operaciones criptográficas, podría ser posible determinar la clave secreta completa. Estos ataques implican un análisis estadístico de las mediciones de sincronización y se han demostrado en redes. [6]

Un ataque de análisis de potencia 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 en general en análisis de potencia simple (SPA) y análisis de potencia diferencial (DPA). Un ejemplo es Collide+Power, que afecta a casi todas las CPU. [7] [8] [9] Otros ejemplos utilizan enfoques de aprendizaje automático . [10]

Las fluctuaciones de la corriente también generan ondas de radio , lo que permite ataques que analizan mediciones de emanaciones electromagnéticas (EM). Estos ataques suelen implicar técnicas estadísticas similares a las de los ataques de análisis de potencia.

Se ha demostrado un ataque de canal lateral basado en aprendizaje profundo , [11] [12] [13] que utiliza la información EM y de potencia de múltiples dispositivos, con el potencial de romper la clave secreta de un dispositivo diferente pero idéntico con tan solo un rastro.

Se conocen análogos históricos de los ataques de canal lateral modernos. Un documento de la NSA desclasificado recientemente revela que ya en 1943, un ingeniero con un teléfono Bell observó picos descifrables en un osciloscopio asociados con la salida descifrada de un determinado teletipo de cifrado. [14] Según el ex oficial del MI5 Peter Wright , el Servicio de Seguridad Británico analizó las emisiones de los equipos de cifrado franceses en la década de 1960. [15] En la década de 1980, se sospechó que los espías soviéticos habían colocado micrófonos ocultos dentro de las máquinas de escribir IBM Selectric para monitorear el ruido eléctrico generado cuando la bola de tipos giraba y se inclinaba para golpear el papel; las características de esas señales podían determinar qué tecla se presionaba. [16]

El consumo de energía de los dispositivos provoca un calentamiento que se compensa con efectos de enfriamiento. Los cambios de temperatura crean estrés mecánico inducido térmicamente. Este estrés puede generar emisiones acústicas de bajo nivel de las CPU en funcionamiento (alrededor de 10 kHz en algunos casos). Investigaciones recientes de Shamir et al. han sugerido que también se puede obtener información sobre el funcionamiento de los criptosistemas y algoritmos de esta manera. Se trata de 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 imagen térmica . [ cita requerida ]

Los ejemplos de ataques de canal lateral óptico incluyen la recopilación de información del indicador de actividad del disco duro [17] o la lectura de una pequeña cantidad de fotones emitidos por los transistores a medida que cambian de estado. [18]

También existen canales laterales basados ​​en asignación y hacen referencia a la información que se filtra de la asignación (en oposición al uso) de un recurso, como el ancho de banda de la red, a clientes que solicitan simultáneamente el recurso en disputa. [19]

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) eliminar o reducir la divulgación de dicha información y (2) eliminar la relación entre la información filtrada y los datos secretos, es decir, hacer que la información filtrada no esté relacionada, o más bien no esté correlacionada , con los datos secretos, normalmente 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 que se completa la operación criptográfica (por ejemplo, el descifrado).

En la primera categoría, actualmente se encuentran disponibles comercialmente pantallas con protección especial para reducir las emisiones electromagnéticas y la susceptibilidad a los ataques TEMPEST . El acondicionamiento y filtrado de la línea eléctrica puede ayudar a disuadir los ataques de monitoreo de energía, aunque estas medidas deben utilizarse con cautela, ya que incluso correlaciones muy pequeñas pueden permanecer y comprometer la seguridad. Los gabinetes físicos pueden reducir el riesgo de instalación subrepticia de micrófonos (para contrarrestar ataques acústicos) y otros dispositivos de micromonitoreo (contra ataques de consumo de energía de la CPU o de imágenes térmicas).

Otra contramedida (que también pertenece a la primera categoría) consiste en bloquear el canal de emisión con ruido. Por ejemplo, se puede añadir un retraso aleatorio para impedir los ataques de sincronización, aunque los adversarios pueden compensar estos retrasos promediando varias mediciones (o, de forma más general, utilizando más mediciones en el análisis). Cuando 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 pueden encontrarse durante las etapas de diseño del hardware subyacente. Los ataques de sincronización y los ataques de caché se pueden identificar mediante 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 eficacia del cambio arquitectónico para sortear 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 del hardware. [20]

En el caso de ataques de temporización contra objetivos cuyos tiempos de cálculo están cuantificados en ciclos de reloj discretos, una contramedida eficaz consiste en diseñar el software para que sea isócrono, es decir, que se ejecute en una cantidad de tiempo exactamente constante, independientemente de los valores secretos. Esto hace que los ataques de temporización sean imposibles. [21] Estas contramedidas pueden ser difíciles de implementar en la práctica, ya que incluso las instrucciones individuales pueden tener una temporización variable en algunas CPU.

Una contramedida parcial contra ataques de potencia simples, pero no ataques de análisis de potencia diferencial, es diseñar el software de modo que sea "seguro para PC" en el "modelo de contraseguridad de programas". En un programa seguro para PC, la ruta de ejecución no depende de valores secretos. En otras palabras, todas las bifurcaciones condicionales dependen solo de 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 bifurcaciones). Aunque las operaciones de multiplicación consumen más energía que las NOP en prácticamente todas las CPU, el uso de una ruta de ejecución constante evita que tales diferencias de potencia dependientes de la operación (diferencias de potencia al elegir una bifurcación sobre otra) filtren información secreta. [21] 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 temporización. [22] [23]

Otra forma en la que el código puede ser no isócrono es que las CPU modernas tienen una memoria caché: acceder a información que se utiliza con poca frecuencia implica una gran penalización de tiempo, lo que revela cierta información sobre la frecuencia de uso de los bloques de memoria. El código criptográfico diseñado para resistir ataques a la memoria caché intenta utilizar 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 en tablas que dependen de los datos porque la memoria 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 que se filtra debido a las diferencias de potencia que dependen de los datos. Algunas operaciones utilizan una potencia que está correlacionada con la cantidad de bits 1 en un valor secreto. El uso de un código de peso constante (como las puertas Fredkin o la codificación de doble raíl) puede reducir la fuga de información sobre el peso de Hamming del valor secreto, aunque es probable que queden correlaciones explotables a menos que el equilibrio sea perfecto. Este "diseño equilibrado" se puede aproximar en software manipulando tanto los datos como su complemento juntos. [21]

Se han construido varias "CPU seguras" como CPU asincrónicas ; no tienen una referencia de tiempo global. Si bien estas CPU estaban destinadas a dificultar los ataques de tiempo y potencia, [21] investigaciones posteriores descubrieron que las variaciones de tiempo en circuitos asincrónicos son más difíciles de eliminar. [24]

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 y módulo de cifrado correspondientes , 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 cifra 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 que el atacante no tiene control o incluso conocimiento.

Una contramedida más general (que es eficaz contra todos los ataques de canal lateral) es la contramedida de enmascaramiento. El principio del enmascaramiento es evitar manipular directamente cualquier valor sensible, sino más bien manipular un intercambio de este: un conjunto de variables (llamadas "participaciones") tales que (donde es la operación XOR ). Un atacante debe recuperar todos los valores de las participaciones para obtener información significativa. [25]

Recientemente, se utilizó el modelado de caja blanca para desarrollar una contramedida genérica a nivel de circuito de bajo consumo [26] contra ataques tanto de canal lateral EM como de potencia. Para minimizar los efectos de las capas metálicas de nivel superior en un CI que actúan como antenas más eficientes, [27] la idea es integrar el núcleo criptográfico con un circuito de supresión de firma, [28] [29] enrutado localmente dentro de las capas metálicas de nivel inferior, lo que conduce a la inmunidad a ataques de canal lateral EM y de potencia.

Véase también

Referencias

  1. ^ 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) . Microsoft Research . Simposio IEEE sobre seguridad y privacidad 2010. Archivado (PDF) desde el original el 17 de junio de 2016 . Consultado el 16 de diciembre de 2011 .
  2. ^ Ashokkumar C.; Ravi Prakash Giri; Bernard Menezes (2016). "Algoritmos altamente eficientes para la recuperación de claves AES en ataques de acceso a caché". Simposio europeo IEEE sobre seguridad y privacidad de 2016 (EuroS&P) . págs. 261–275. doi :10.1109/EuroSP.2016.29. ISBN 978-1-5090-1751-5. Número de identificación  S2C11251391.
  3. ^ Gorka Irazoqui; Mehmet Sinan Inci; Thomas Eisenbarth; Berk Sunar, ¡Un momento! Un ataque rápido entre máquinas virtuales en AES (PDF) , archivado (PDF) del original el 2017-08-11 , consultado el 2018-01-07
  4. ^ Yuval Yarom; Katrina Falkner, Flush+Reload: un ataque de canal lateral de caché L3 de alta resolución y bajo ruido (PDF) , archivado (PDF) del original el 2017-07-05 , recuperado el 2018-01-07
  5. ^ Mehmet S. Inci; Berk Gulmezoglu; Gorka Irazoqui; Thomas Eisenbarth; Berk Sunar, Los ataques de caché permiten la recuperación masiva de claves en la nube (PDF) , archivado (PDF) del original el 17 de julio de 2016 , consultado el 7 de enero de 2018
  6. ^ David Brumley; Dan Boneh (2003). "Los ataques de sincronización remota son prácticos" (PDF) . Archivado (PDF) desde el original el 28 de julio de 2011. Consultado el 5 de noviembre de 2010 .
  7. ^ Kovacs, Eduard (1 de agosto de 2023). "Casi todas las CPU modernas filtran datos debido al nuevo ataque de canal lateral Collide+Power". SecurityWeek . Archivado desde el original el 11 de julio de 2024 . Consultado el 2 de agosto de 2023 .
  8. ^ Claburn, Thomas. "Se ha descubierto otra falla de fuga de datos de la CPU. Afortunadamente, no es práctico". www.theregister.com . Consultado el 2 de agosto de 2023 .
  9. ^ Collide+Power, Instituto de Procesamiento de Información Aplicada y Comunicaciones (IAIK), 2023-08-01, archivado desde el original el 2023-08-01 , consultado el 2023-08-02
  10. ^ Lerman, Liran; Bontempi, Gianluca; Markowitch, Olivier (1 de enero de 2014). «Ataque de análisis de potencia: 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. Archivado desde el original el 25 de enero de 2021. Consultado el 25 de septiembre de 2020 .
  11. ^ Timon, Benjamin (28 de febrero de 2019). "Ataques de canal lateral basados ​​en aprendizaje profundo sin perfil con análisis de sensibilidad". IACR Transactions on Cryptographic Hardware and Embedded Systems : 107–131. doi :10.13154/tches.v2019.i2.107-131. ISSN  2569-2925. S2CID  4052139. Archivado desde el original el 12 de noviembre de 2021. Consultado el 19 de noviembre de 2021 .
  12. ^ "X-DeepSCA: Ataque de canal lateral de aprendizaje profundo entre dispositivos" Archivado el 22 de febrero de 2020 en Wayback Machine por D. Das, A. Golder, J. Danial, S. Ghosh, A. Raychowdhury y S. Sen, en la 56.ª Conferencia de automatización de diseño (DAC) ACM/IEEE 2019.
  13. ^ "Enfoques prácticos para el ataque de canal lateral de potencia entre dispositivos basado en aprendizaje profundo" Archivado el 11 de julio de 2024 en Wayback Machine por A. Golder, D. Das, J. Danial, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 27, número 12, 2019.
  14. ^ "Documento desclasificado de la NSA revela la historia secreta de TEMPEST". Wired . Wired.com. 29 de abril de 2008. Archivado desde el original el 1 de mayo de 2008 . Consultado el 2 de mayo de 2008 .
  15. ^ "Introducción a TEMPEST | SANS Institute". Archivado desde el original el 5 de septiembre de 2017. Consultado el 6 de octubre de 2015 .
  16. ^ Church, George (20 de abril de 1987). «El arte de espiar con alta tecnología». Time . Archivado desde el original el 4 de junio de 2011. Consultado el 21 de enero de 2010 .
  17. ^ Eduard Kovacs (23 de febrero de 2017), "El LED del disco duro permite el robo de datos de las PC con espacio de aire", Security Week , archivado desde el original el 7 de octubre de 2017 , consultado el 18 de marzo de 2018
  18. ^ 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, archivado desde el original el 2018-01-11 , consultado el 2017-03-16
  19. ^ 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. , archivado (PDF) del original el 24 de junio de 2020 , consultado el 23 de junio de 2020
  20. ^ Tortuga Logic (2018). "Identificación de problemas de aislamiento en arquitecturas de microprocesadores modernas". Archivado desde el original el 24 de febrero de 2018. Consultado el 23 de febrero de 2018 .
  21. ^ abcd "Una arquitectura asincrónica basada en red para dispositivos criptográficos" Archivado el 29 de septiembre de 2011 en Wayback Machine 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".
  22. ^ "El modelo de contraseguridad del programa: detección automática y eliminación de ataques de canal lateral de flujo de control" Archivado el 19 de abril de 2009 en Wayback Machine por David Molnar, Matt Piotrowski, David Schultz, David Wagner (2005).
  23. ^ ""El modelo de contraseguridad de programas: detección y eliminación automática de ataques de canal lateral de flujo de control" Presentación del trabajo en curso de USENIX" (PDF) . Archivado (PDF) desde el original el 2017-08-14 . Consultado el 2014-10-04 .
  24. ^ Jeong, C.; Nowick, SM (enero de 2007). "Optimización de circuitos asincrónicos robustos mediante relajación de completitud de entrada local". Conferencia de automatización de diseño de Asia y el Pacífico Sur de 2007. págs. 622–627. doi :10.1109/ASPDAC.2007.358055. ISBN 978-1-4244-0629-6. Número de identificación del sujeto  14219703.
  25. ^ "Enmascaramiento contra ataques de canal lateral: una prueba de seguridad formal" Archivado el 11 de agosto de 2017 en Wayback Machine por Emmanuel Prouff, Matthieu Rivain en Avances en criptología – EUROCRYPT 2013.
  26. ^ "AES-256 resistente a EM y SCA de potencia en CMOS de 65 nm mediante atenuación de firma de dominio de corriente de >350×" Archivado el 7 de agosto de 2020 en Wayback Machine por D. Das et al., en la Conferencia internacional de circuitos de estado sólido (ISSCC) del IEEE, 2020,
  27. ^ "STELLAR: Una protección genérica contra ataques de canal lateral EM a través de un análisis de causa raíz desde cero" Archivado el 22 de febrero de 2020 en Wayback Machine por D. Das, M. Nath, B. Chatterjee, S. Ghosh y S. Sen, en el Simposio internacional IEEE sobre seguridad y confianza orientadas al hardware (HOST), Washington, DC, 2019.
  28. ^ "ASNI: Inyección de ruido de firma atenuada para inmunidad a ataques de canal lateral de baja potencia con sobrecarga" Archivado el 22 de febrero de 2020 en Wayback Machine por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE Transactions on Circuits and Systems I: Regular Papers, 2017, vol. 65, número 10.
  29. ^ "Inmunidad a ataques de canal lateral de potencia de alta eficiencia mediante inyección de ruido en un dominio de firma atenuado" Archivado el 22 de febrero de 2020 en Wayback Machine por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en el Simposio Internacional IEEE sobre Seguridad y Confianza Orientadas al Hardware (HOST), Washington, DC, 2017.

Lectura adicional

Libros

Artículos

Enlaces externos