stringtranslate.com

Ataque de canal lateral

Un intento de decodificar bits de clave RSA mediante análisis de potencia . El pico izquierdo representa las variaciones de potencia de la CPU durante el paso del algoritmo sin multiplicación, el pico derecho (más amplio) – paso con multiplicación, lo que permite a un atacante leer los bits 0, 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 informático , 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 canales laterales). La información de sincronización, 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 canales laterales.

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, mediante cifrado HTTPS o WiFi ), según a 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 no suelen considerarse ataques de canal lateral: consulte ingeniería social y criptoanálisis con mangueras 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 lateral ) pueden proporcionar información adicional útil sobre los secretos del sistema, por ejemplo, la clave criptográfica , información de estado parcial, textos claros completos o parciales y y así sucesivamente. El término cryptophthora (degradación secreta) se utiliza a veces para expresar la degradación del material de la clave secreta resultante de la fuga del canal lateral.

Ejemplos

AEl ataque de canal lateral de caché funciona monitoreando operaciones críticas para la seguridad, como la entrada de tabla AES T[2][3][4]o la exponenciación o multiplicación modular o los accesos a la memoria. [5]El atacante puede entonces recuperar la clave secreta en función de los accesos realizados (o no realizados) por la víctima, deduciendo la clave de cifrado. Además, a diferencia de 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 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 variaciones en el tiempo que lleva realizar operaciones criptográficas, podría ser posible determinar la clave secreta completa. Estos ataques implican análisis estadísticos de mediciones de tiempo y se han demostrado en todas las redes. [6]

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 a grandes rasgos 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 en 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 poder.

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

Se conocen analogías históricas con los ataques modernos por canales laterales. Un documento de la NSA recientemente desclasificado revela que ya en 1943, un ingeniero con un teléfono Bell observó picos descifrables en un osciloscopio asociados con la salida descifrada de cierto teletipo 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 sospechaba que espías soviéticos habían colocado micrófonos dentro de las máquinas de escribir IBM Selectric para monitorear el ruido eléctrico generado cuando la bola tipográfica giraba y se inclinaba para golpear el papel; las características de esas señales podrían determinar qué tecla se presionó. [dieciséis]

El consumo de energía de los dispositivos provoca calentamiento, que se compensa con efectos de enfriamiento. Los cambios de temperatura crean tensión mecánica inducida 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). Una investigación reciente de Shamir et al. ha sugerido que de esta manera también se puede obtener información sobre el funcionamiento de 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 ejecuta en la CPU, lo que se conoce como ataque de imágenes térmicas . [ cita necesaria ]

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

Los canales secundarios basados ​​en la asignación también existen y se refieren a la información que se filtra de la asignación (a diferencia del uso) de un recurso, como el ancho de banda de la red, a los clientes que solicitan simultáneamente el recurso en cuestión. [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 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.

En la primera categoría, ahora se encuentran disponibles comercialmente pantallas con blindaje especial para disminuir las emisiones electromagnéticas, lo que reduce la susceptibilidad a los ataques TEMPEST . El acondicionamiento y el filtrado de las líneas eléctricas pueden ayudar a disuadir los ataques de monitoreo de energía, aunque tales medidas deben usarse con cautela, 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 ataques acústicos) y otros dispositivos de micromonitoreo (contra el consumo de energía de la CPU o 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 sincronizados, aunque los adversarios pueden compensar estos retrasos promediando múltiples mediciones (o, más generalmente, usando 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 se pueden encontrar durante las etapas de diseño del propio hardware subyacente. Los ataques de sincronización 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 evitar 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 sincronizados contra objetivos cuyos tiempos de cálculo se cuantifican en 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 sincronizados sean imposibles. [21] 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 ataques de poder simples, pero no ataques de análisis de poder diferencial, es diseñar el software de modo que sea "seguro para PC" en el "modelo de contraseguridad del 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 menos restrictiva que el código sin ramificaciones). Aunque las operaciones multiplicadas 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 energía dependientes de la operación ( diferencias de poder al elegir una rama sobre otra) de la filtración de información secreta. [21] En arquitecturas donde el tiempo de ejecución de instrucciones no depende de los datos, un programa seguro para PC también es inmune a ataques de tiempo. [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 utilizada con poca frecuencia conlleva 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 de caché intenta utilizar la memoria sólo de forma predecible (como acceder sólo a las entradas, salidas y datos del programa, y ​​hacerlo según un patrón fijo). Por ejemplo, se deben evitar las búsquedas de tablas dependientes de 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 a partir de diferencias de poder que dependen de los datos. Algunas operaciones utilizan energía 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 persistan correlaciones explotables a menos que el equilibrio sea perfecto. Este "diseño equilibrado" se puede aproximar en software manipulando juntos tanto los datos como su complemento. [21]

Se han construido varias "CPU seguras" como CPU asíncronas ; no tienen referencia de tiempo global. Si bien estas CPU estaban destinadas a dificultar los ataques de sincronización y potencia, [21] investigaciones posteriores encontraron que las variaciones de sincronización en los circuitos asíncronos 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 el correspondiente exponente y módulo de cifrado , 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 Dado el texto cifrado , el sistema elige un número aleatorio y lo cifra con un exponente público para obtenerlo . Luego, se realiza el descifrado para obtener el archivo . 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 canales laterales) es la contramedida de enmascaramiento. El principio del enmascaramiento es evitar manipular cualquier valor sensible directamente, sino manipular un intercambio del mismo: un conjunto de variables (llamadas "comparticiones") tales que (dónde está la operación XOR ). Un atacante debe recuperar todos los valores de las acciones 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 baja sobrecarga [26] contra ataques EM y de canales laterales de potencia. Para minimizar los efectos de las capas metálicas de nivel superior en un IC que actúan como antenas más eficientes, [27] la idea es incrustar el núcleo criptográfico con un circuito de supresión de firma, [28] [29] enrutado localmente dentro del nivel inferior. capas de metal, lo que conduce a la inmunidad a los ataques de canal lateral EM y de potencia.

Ver 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) . Investigación de Microsoft . Simposio IEEE sobre seguridad y privacidad 2010.
  2. ^ Ashokkumar C.; Ravi Prakash Giri; Bernardo 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. S2CID  11251391.
  3. ^ Gorka Irazoqui; Mehmet Sinan Inci; Tomás Eisenbarth; Berk Sunar, ¡espera un minuto! Un ataque rápido entre máquinas virtuales a AES (PDF) , consultado el 7 de enero de 2018
  4. ^ Yuval Yarom; Katrina Falkner, Flush+Reload: un ataque de canal lateral de caché L3 de alta resolución y bajo ruido (PDF) , consultado el 7 de enero de 2018
  5. ^ Mehmet S. Inci; Berk Gulmezoglu; Gorka Irazoqui; Tomás Eisenbarth; Berk Sunar, Los ataques de caché permiten la recuperación masiva de claves en la nube (PDF) , consultado el 7 de enero de 2018
  6. ^ David Brumley; Dan Boneh (2003). "Los ataques de sincronización remota son prácticos" (PDF) .
  7. ^ Kovacs, Eduard (1 de agosto de 2023). "Casi todas las CPU modernas filtran datos en un nuevo ataque de canal lateral Collide + Power". Semana de la seguridad . Consultado el 2 de agosto de 2023 .
  8. ^ Claburn, Thomas. "Se encontró 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 Comunicaciones y Procesamiento de Información Aplicada (IAIK), 2023-08-01 , consultado el 2023-08-02
  10. ^ Lerman, Lirán; 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.
  11. ^ Timón, Benjamín (28 de febrero de 2019). "Ataques de canal lateral basados ​​en aprendizaje profundo sin perfil con análisis de sensibilidad". Transacciones IACR sobre hardware criptográfico y sistemas integrados : 107–131. doi : 10.13154/tches.v2019.i2.107-131. ISSN  2569-2925. S2CID  4052139 . Consultado el 19 de noviembre de 2021 .
  12. ^ "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 56ª Conferencia de automatización de diseño ACM/IEEE (DAC ) 2019.
  13. ^ "Enfoques prácticos hacia el ataque de canal lateral de energía entre dispositivos 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.
  14. ^ "Un documento desclasificado de la NSA revela la historia secreta de TEMPEST". Cableado . Cableado.com. 29 de abril de 2008.
  15. ^ "Introducción a TEMPEST | Instituto SANS".
  16. ^ Church, George (20 de abril de 1987). "El arte del espionaje de alta tecnología". Tiempo . 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 PC con espacio de aire", Semana de la seguridad , 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
  19. ^ S. Ángel; S. Kannan; Z. Ratliff, "Asignadores de recursos privados y sus aplicaciones" (PDF) , Actas del Simposio IEEE sobre seguridad y privacidad (S&P), 2020.
  20. ^ Tortuga Lógica (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 asíncrona 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 asíncronas".
  22. ^ "El modelo de seguridad del contador del programa: detección automática y eliminación de ataques al canal lateral de flujo de control" por David Molnar, Matt Piotrowski, David Schultz, David Wagner (2005).
  23. ^ "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 del trabajo en progreso de USENIX
  24. ^ Jeong, C.; Nowick, SM (enero de 2007). "Optimización de circuitos asíncronos robustos mediante relajación de la integridad de la entrada local". 2007 Conferencia de automatización del diseño de Asia y el Pacífico Sur . págs. 622–627. doi :10.1109/ASPDAC.2007.358055. ISBN 978-1-4244-0629-6. S2CID  14219703.
  25. ^ "Enmascaramiento contra ataques de canal lateral: una prueba de seguridad formal" por Emmanuel Prouff, Matthieu Rivain en Avances en criptología - EUROCRYPT 2013.
  26. ^ "EM y Power SCA-Resilient AES-256 en CMOS de 65 nm a través de> 350 × atenuación de firma de dominio de corriente" por D. Das et al., en IEEE International Solid-State Circuits Conference (ISSCC), 2020,
  27. ^ "STELLAR: Una protección genérica contra ataques de canal lateral EM mediante un análisis de causa raíz desde cero" por D. Das, M. Nath, B. Chatterjee, S. Ghosh y S. Sen, en el Simposio internacional IEEE sobre orientación a hardware Seguridad y Confianza (HOST), Washington, DC, 2019.
  28. ^ "ASNI: inyección de ruido característico atenuado para inmunidad a ataques de canal lateral de baja potencia aérea" por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en IEEE Transactions on Circuits and Systems I: Artículos regulares, 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" por D. Das, S. Maity, SB Nasir, S. Ghosh, A. Raychowdhury y S. Sen, en el Simposio internacional IEEE sobre seguridad orientada a hardware and Trust (ANFITRIÓN), Washington, DC, 2017.

Otras lecturas

Libros

Artículos

enlaces externos