volver volver
Qué es y cómo tramitar la firma digital de forma gratuita

POR:
Habib Gramondi
(Cybersecurity Researcher)

COMPARTIR

Twitter Facebook Linkedin

Análisis de EEPROM 1-Wire protegidos con SHA-1 y Side-Channel Attack de bajo costo



DS28E01 con un tamaño de 0.6x0.6 cm

En una etapa temprana de análisis de nuestros PCB (Placa Circuito Impreso), durante el proceso de reversing solemos listar los componentes que las integran, pero en algunos casos estos componentes se encuentran en los periféricos de los productos a analizar. En este post vamos a hablar sobre los principios básicos de criptografía y propondremos un marco teórico para realizar prácticas y técnicas que vulneren dichos componentes a un costo considerablemente bajo en comparación a los del mercado actual.

Este es el caso del DS28E01 una memoria EEPROM distribuida por Maxim Integrated, que según su hoja de datos fue creada para configuración y monitoreo de cartuchos de impresión en entornos profesionales (tanto 3d, como convencionales), autenticación y calibración de sensores médicos y para implementar sistemas de protección de propiedad intelectual. También, aunque en menor medida, pueden encontrarse en ambientes industriales y en tokens para firmas digitales.

Pero lo que la diferencia del resto de las EEPROMS más conocidas no solo es su encapsulado que a simple vista muestra solo dos conectores correspondiente al 1-wire protocol, si no también su seguridad basada en algoritmos criptográficos.

Como descripción general el fabricante nos asegura:

“El DS28E01-100 combina 1024 bits de EEPROM con seguridad de autenticación de desafío y respuesta implementada con el Algoritmo de Hash Seguro (SHA-1) ISO/IEC 10118-3. La matriz de EEPROM de 1024 bits está configurada como cuatro páginas de 256 bits con un bloc de notas de 64 bits para realizar operaciones de escritura. Todas las páginas de memoria se pueden proteger contra escritura, y una página se puede poner en modo de emulación de EPROM, donde los bits solo se pueden cambiar de un estado 1 a un estado 0. Cada DS28E01-100 tiene su propio número de registro ROM de 64 bits único garantizado que se graba en fábrica en el chip. El DS28E01-100 se comunica a través del bus de un solo contacto 1-Wire®. La comunicación sigue el protocolo 1-Wire estándar con el número de registro actuando como la dirección del nodo en el caso de una red 1-Wire de múltiples dispositivos.”



DS28E01 perteneciente a un accesorio de https://www.3dsystems.com/3d-printers/plastic , lamentablemente se dañó el encapsulado en el proceso de extracción, pero sigue con un correcto funcionamiento


Conexión 1-wire


Actualidad



La falsificación de productos electrónicos se ha convertido en un inmenso problema para los fabricantes. Según un informe de la Oficina de las Naciones Unidas contra la Droga y el Delito, el mercado de productos falsificados alcanzó un valor de 250.000 millones de dólares hace más de una década. Aproximadamente el 8 % de todos los productos falsificados son equipos eléctricos o informáticos.(según el número de incautaciones de falsificaciones en las fronteras europeas en 2008). De ahí que proteger los productos contra la "clonación" sea una necesidad para un fabricante hoy en día.

Los dispositivos que constan de varios componentes de distinta complejidad parecen ser un objetivo rentable para la falsificación en particular: Por ejemplo, aunque las impresoras son relativamente diferentes entre marcas y modelos, hay una enorme variedad de cartuchos de tinta compatibles para todas ellas, presumiblemente porque los cartuchos son fáciles de producir y tienen una demanda constante. Lo mismo ocurre con artículos similares de bajo coste, como accesorios para teléfonos móviles (por ejemplo, cargadores, etc.) y también para equipos más caros, como sensores médicos o módulos de ampliación de redes para infraestructuras de red.

(Chair for Embedded Security, Prof. Dr.-Ing. Christof Paar, Ruhr-University Bochum, Germany.)

Para garantizar la autenticidad de estos componentes, se coloca un circuito integrado adicional como el que describimos al comienzo del post en el dispositivo que debe autenticarse. A continuación, el host (por ejemplo, una impresora, teléfono móvil o dispositivo médico) ejecuta un protocolo de autenticación con el IC (Circuito Integrado) para verificar que el componente (por ejemplo, un cartucho de tinta, sensor o una batería) es auténtico. Los algoritmos criptográficos habituales en este ámbito van desde AES y SHA-1 sobre SHA-2 hasta la criptografía de curva elíptica (ECC). Por lo general, la autenticación es unilateral, es decir, el dispositivo se auténtica ante el host, pero no en viceversa.

Al tratarse a menudo de productos de coste relativamente bajo, los dispositivos protegidos con tales circuitos integrados están fácilmente a disposición para un potencial análisis detallado.

SHA-1



En criptografía, se conoce como SHA-1 (Secure Hash Algorithm-1, traducido como Algoritmo de Hash Seguro) a la función de hash criptográfica que toma una entrada y produce un valor fijo de 160 bits como mensaje resumido. Este hash se encuentra normalmente representado como un número hexadecimal de 40 dígitos de largo. SHA-1 está basado en principios similares a los usados por el profesor Ronald L. Rivest del MIT en el diseño de los algoritmos de resumen del mensaje MD4 y MD5.

Ejemplos:

  • SHA1("base") = 1405df66cbe219b0bf6355bc3d60361a8376b6b4
  • SHA1("cuatro") = a37e3bea6f0b7562991701d9211834b3f315ab84
La familia SHA es un sistema de funciones hash criptográficas desarrollado por la Agencia Nacional de Seguridad estadounidense y publicado por el National Institute of Standards and Technology (NIST). La primera de estas funciones fue publicada en 1993 bajo el título Secure Hash Standard, FIPS PUB 180, y se conoce oficialmente como SHA. Esta función se ha popularizado como SHA-0, para evitar confusiones con sus sucesoras. Dos años después del desarrollo de la primera función fue publicado el primer sucesor de SHA, que recibió el nombre de SHA-1. Desde entonces se han publicado cuatro variantes más bajo el nombre de SHA-2; las diferencias entre ellas se basan en un diseño algo modificado y en rangos de salida incrementados: se trata de SHA-224, SHA-256, SHA-384, y SHA-512. SHA-3 es el último miembro de la familia, publicado por NIST en agosto de 2015; su algoritmo genera hashes de la misma longitud que SHA-2 mediante la utilización de un método diferente basado en el algoritmo Keccak.

El procesamiento de SHA-1 consta de estos 5 pasos:

  • Se incorporan bits de relleno al mensaje de entrada.Esta operación consiste en la adición de un "1" seguido de los "0" que sean necesarios hasta completar el bloque de 512 bits. Este relleno sirve para ocultar la estructura y longitud del contenido, dificultando un posible ataque.
  • Se le añade un bloque de 64 bits que represente la longitud del mensaje original antes de ser rellenado.
  • Se inicializa la memoria temporal, que consta de 160 bits y cuya finalidad es almacenar los resultados intermedios y finales de la función de dispersión. Consta de 5 registros (A, B, C, D, E) de 32 bits cada uno.
  • Se procesa el mensaje por bloques de 512 bits. Cada uno pasa por un módulo que consta de 4 rondas de procesamiento de 20 pasos cada una. Las rondas tienen una estructura similar, con la excepción de que cada una ocupa una función lógica primitiva diferente.
  • Una vez que se procesan todos los bloques de 512 bits, el resumen del mensaje son los 160 bits de salida del último bloque.
SHA-1 se diferencia de SHA-0 solo por una única rotación bit a bit en la programación de mensajes de su función de compresión. Esto se hizo para corregir una falla en el algoritmo original que redujo su seguridad criptográfica.

La resistencia del algoritmo SHA-1 fue comprometida a lo largo del año 2005, después de que algoritmos como MD5 quedarán seriamente comprometido en 2004 por parte de un equipo de investigadores chinos. Dicho equipo, compuesto por Xiaoyun Wang, Yiqun Lisa Yin y Hongbo Yu, demostró su capacidad de romper algoritmos SHA-1 en al menos 269 operaciones, cerca de 2.000 veces más rápido que un ataque de fuerza bruta, el cual requeriría 280 operaciones. Los ataques más recientes contra SHA-1 han logrado debilitarlo hasta 263, que, aunque aún es un número alto de operaciones, se encuentra dentro de los límites de las capacidades actuales de cálculo.por lo que debería eliminarse paulatinamente antes del 31 de diciembre de 2030, a favor de los grupos de algoritmos SHA-2 y SHA-3 más seguros.

"Recomendamos que cualquier persona que confíe en SHA-1 para la seguridad migre a SHA-2 o SHA-3 lo antes posible", dijo Chris Celi, científico informático del NIST."


Side-Channel Attack

Los Side-Channel Attacks (ataques por canal lateral o SCA) son ataques no invasivos que se basan en atacar la implementación de un algoritmo criptográfico en lugar de analizar su debilidad estadística o matemática. Estos ataques aprovechan las fugas de información físicas procedentes de diversas fuentes o canales indirectos, como el consumo eléctrico del dispositivo a analizar, el tiempo que este tarda en realizar un cálculo o la radiación electromagnética (EM) que es en el que nos vamos a centrar en este post.

Estos canales se denominan "canales secundarios". La información contenida en los parámetros de los canales secundarios dependen de los valores intermedios calculados durante la ejecución de un cripto-algoritmo, y están correlacionados con las entradas y la clave secreta del cifrado.

Se podría extraer eficazmente la clave secreta observando y analizando los parámetros de los canales laterales/secundarios con un equipo de laboratorio correspondiente sometiendo los resultados de las lecturas obtenidos a distintas funciones matemáticas en un plazo de tiempo de investigación relativamente corto.

El equipo de Georgia Tech concluyó que a un atacante le tomaría hasta 3.579 veces más tiempo descifrar la clave de cifrado de su circuito en comparación con un modelo estándar. FOTO: INSTITUTO DE TECNOLOGÍA DE GEORGIA.




Como mencionamos las ondas electromagnéticas que emiten los circuitos integrados en funcionamiento son un parámetro a medir. Estas EM se definen como oscilaciones sincronizadas de campos eléctricos y magnéticos que se propagan a la velocidad de la luz a través del vacío. En líneas generales existen dos tipos de señales EM:

Emanaciones intencionadas

Las emanaciones electromagnéticas intencionadas son el resultado de flujos de corriente que se aplican para provocar que el dispositivo emita una respuesta electromagnética. Estos flujos de corriente suelen presentarse en forma de ráfagas cortas que causan una emanación de alta potencia que sería fácilmente observable en toda una banda de frecuencias. A menudo, el flujo de corriente aplicado se dirige a una banda de frecuencias más alta para captar rápidamente la respuesta debida al ruido y otras emisiones interferentes en una banda de frecuencia inferior. El objetivo de un atacante en este tipo de emanación es aislar la respuesta EM de la ruta de datos crítica que es objetivo. Para ello se necesita una sonda EM diminuta y sensible. El retardo del dispositivo también puede ayudar a mejorar la calidad de la señal capturada.

Emanaciones no intencionadas

Cuando un atacante comienza el análisis, centrarse en las emanaciones no intencionadas puede ayudar a identificar rutas críticas y adquirir sus valores de datos. La mayor complejidad y el menor tamaño de los circuitos integrados modernos dan lugar a un acoplamiento eléctrico y electromagnético entre componentes, que es un fenómeno incontrolado que puede generar una señal comprometedora. Estos componentes pueden actuar como moduladores; ellos generan una señal portadora que puede ser interceptada y post procesada para adquirir los datos transportados.



La seguridad de un dispositivo frente a los SCA debe evaluarse utilizando una métrica adecuada. Existen diferentes métodos para medir el nivel de protección del dispositivo atacado. Estos métodos evalúan la dificultad de realizar con éxito un SCA y el tiempo necesario para extraer con éxito la información crítica del dispositivo.

La evaluación de la fuga del vector de prueba (TVLA) es un método de evaluación común para medir lo fácil que es detectar cualquier fuga de datos en un dispositivo, se realiza aplicando un conjunto predefinido de entradas de prueba, detectando fugas y evaluando la capacidad de extraer información significativa de las trazas (EM side-channel Traces (t)).

Esta se basa en la prueba del test de Welch, que se utiliza para probar la hipótesis de que dos poblaciones tienen medias iguales cuando dos muestras tienen varianza desigual y tamaño de muestra desigual. En el proceso de evaluación de canal lateral, se recopilan n mediciones mientras el dispositivo está bajo la prueba opera con una clave secreta conocida. Las n mediciones se someten a análisis y se obtiene si los dos grupos son distinguibles o no y si la aplicación tiene una alta probabilidad de filtrar información.

Otro método utilizado para medir la vulnerabilidad de los canales laterales consiste en aplicar el análisis de la tasa de éxito de los ataques con éxito (es decir, la clave se obtiene mediante el ataque) dividido por el número total de ataques realizados, donde la tasa máxima del 100% significa que el dispositivo es atacado con éxito cada vez que se aplica un análisis de canal lateral, y el mínimo de 0%, que significa que el dispositivo está protegido contra todos los ataques. Esta evaluación también puede reflejar el tiempo necesario para que el atacante extraiga información crítica del dispositivo.

A continuación veremos un esquema de referencia con las herramientas necesarias para llevar a cabo estas prácticas:



La representación de este gráfico fue recreada con productos de https://getquote.riscure.com/en/quote/2109316/side-channel-analysis-premium.htm


Las señales EM suelen propagarse por conducción y radiación; como vemos en el gráfico estas señales pueden interceptarse mediante sensores, como una sonda de campo cercano o una antena, esta se encuentra montada sobre una mesa XYZ que no es más que una plataforma con movimientos cartesianos controlados por software que permiten posicionar nuestros sensores EM-Probe milimétricamente sobres los IC (Circuito Integrado) a analizar, ya que estos (en sus encapsulados) presentan zonas más y menos vulnerables frente a las lecturas EM. El uso de estos sensores permite transferir la señal EM amplificada a una señal de corriente, que es post procesada para eliminar el ruido y limitar la banda de frecuencias para aplicar el análisis EM. La calidad de la señal recibida suele mejorar si el sensor utilizado está protegido de bandas de frecuencia no deseadas o de otras interferencias electromagnéticas.

El postprocesamiento de la señal puede incluir el filtrado de bandas de frecuencia que no estén relacionadas con la de datos críticos, lo que requiere un conocimiento previo de la banda de frecuencia que contiene la información.

Para obtener ese conocimiento, se suele utilizar un analizador de espectro u osciloscopio (la capacidad de lectura define su costo) para identificar las señales portadoras y el ruido; a continuación, se puede ajustar un filtro de postprocesamiento solo para permitir el paso de la información crítica.



Tipos de Análisis

  ⦁ Análisis electromagnético simple (SEMA)
En SEMA, se obtiene una única traza en el dominio del tiempo para observar, y obtener conocimiento sobre el dispositivo directamente. El ataque solo es válido cuando existe un conocimiento previo sobre la arquitectura del dispositivo, o la política de seguridad, aplicada. El objetivo principal de SEMA es obtener información crítica mediante inspección visual de la traza de la señal EM, dónde una secuencia de transiciones en el arranque del sistema puede incluir información sobre la clave secreta utilizada para cifrar/descifrar datos. El uso de SEMA suele ser el primer paso del EM SCA, donde se puede observar la información necesaria para llevar a cabo un análisis más detallado utilizando DEMA.
  ⦁ Análisis electromagnético diferencial (DEMA)
Se aplica DEMA al dispositivo para explotar la información que no puede observarse visualmente. DEMA generalmente utiliza un enfoque de autorreferencia, que compara la señal analizada con una equivalente en una zona diferente del dispositivo (referenciación espacial), o en un momento diferente (referenciación temporal). Este análisis no requiere grandes conocimientos sobre el dispositivo atacado; la mayor parte de la información puede explotarse al obtener diferentes formas de señales EM en distintos lugares y momentos. El análisis en DEMA puede ayudar a identificar detalles funcionales y estructurales del dispositivo objetivo. También puede rastrear el flujo de un proceso y determinar cómo se propaga una señal dentro del dispositivo. Estos detalles obtenidos con DEMA pueden ayudar a realizar ingeniería inversa en el dispositivo, o dar la posibilidad de quien lo realiza la capacidad de desactivar físicamente la política de seguridad del sistema.
  ⦁ Análisis electromagnético Correlacional (CEMA)
En CEMA, las mediciones EM se toman mientras se ejecuta un algoritmo criptográfico en el dispositivo objetivo (cada medición se conoce como una traza), y estas trazas se correlacionan con un modelo de fuga, como el Hamming o la distancia de Hamming de los datos en un punto concreto de un algoritmo, bajo la hipótesis de un subconjunto de la clave secreta. En un ataque con éxito, la hipótesis que da lugar a la máxima correlación corresponde a la clave secreta. Gracias a la naturaleza de divide y vencerás del análisis de canal lateral, el coste de realizar un ataque SCA es lineal en el tamaño de la clave, en lugar de exponencial, como en la fuerza bruta u otros métodos de criptoanálisis.

Lamentablemente, para proyectos o equipos pequeños, los costos de estas implementaciones como vemos en la tabla pueden llegar a ser elevados, pero hay varias investigaciones que documentan alternativas a menor costo y con resultados exitosos.



Herramientas de bajo costo para SCA

Se propone un sistema totalmente automatizado para escanear eficientemente un IC criptográfico capaz de realizar los análisis vistos anteriormente. Todo el sistema de ataque es extremadamente de bajo coste, debido a que se adaptó como escáner una impresora 3D Ender-3 de 200 dólares en comparación con las estaciones de sondeo EM Riscure disponibles en el mercado por >50.000 dólares. El sistema alcanza una resolución espacial de 100µm, y tiene un alcance de exploración de 220mm x 220mm, y es fácilmente replicable. Como sonda ( EM-Probe )se utiliza el kit tekbox TBPS0, un Tekbox TWBA2 como amplificador y finalmente una Chipwhisperer para la conexión con el objetivo (el CW309T-XMEGA montado en la placa 308 UFO Target) junto a una PC. Dando como resultado un setup completo por u$d 630, poco más del 1% de un conjunto comercial.



Para manipular la sonda, la impresora 3D Ender-3 utiliza su firmware de stock. Este modelo tiene un tamaño de paso mínimo de 0,1 mm y puede controlarse mediante una conexión serie USB lo que facilita mucho la interconexión. Tiene una velocidad máxima de movimiento de 180 mm/s, con un volumen de impresión de 220mm x 220mm x 250mm. El firmware es de código abierto y está bien documentado y se puede adaptar el carro del eje X para montar fácilmente la sonda y la placa objetivo.

El sistema es capaz de realizar un escaneo en una matriz de 30 x 30 del chip en 15 minutos, y realizar un escaneo de amplitud en 75 minutos.



La resolución de la sonda coincide con la resolución del escáner, lo que permite obtener mapas térmicos como vemos en las imágenes y la Chipwhisperer es capaz de capturar suficiente información de fugas para los dispositivos objetivos, dando excelentes resultados a bajo coste.



Conclusión

Ahora que conocemos los principios básicos de algunos algoritmos de encriptado y la teoría del SCA, podemos volver al tema del post. ¿Qué pasa con nuestro DS28E01? Según la investigación de David Oswald de The University of Birmingham, UK, en donde se realizaron pruebas sobre DS28E01 y DS2432 se lograron dos ataques exitosos de recuperación de claves. Los métodos permiten extraer completamente la llave secreta de 64 bits en aproximadamente 40 minutos, para la adquisición de trazas las técnicas SCA empleadas tienen requisitos relativamente bajos (frecuencia de muestreo de 125 MSPS) y la complejidad de las trazas (1.800 y 1.200 trazas, respectivamente). Por lo tanto, es concebible que los ataques también puedan llevarse a cabo con herramientas de bajo coste como las mencionadas anteriormente.

Se registraron 3.000 trazas cada una para un secreto fijo y conocido, utilizando desafíos aleatorios distribuidos uniformemente. Luego se realizó el análisis CEMA para varios valores intermedios y modelos de fuga.

Experimentalmente se comprobó que la fuga de ambos dispositivos sigue el peso de Hamming (HD) entre los registros de estado SHA-1. Por lo tanto, los SCA pueden plantear un grave problema para todas las empresas fabricantes incluso si los dispositivos a testear contemplan una solución para proporcionar cierta protección contra la falsificación.

Una forma de protegerse adecuadamente contra los ataques demostrados pueden ser la siguiente:

Debe garantizarse que no existan los mismos secretos en toda la implementación (los mismos almacenados en todos los circuitos integrados distribuidos) y que exista una diversificación segura de claves (por ejemplo, basada en el UID del IC). De lo contrario, un ataque a un único dispositivo haría que todos los demás fueran inseguros. Tenga en cuenta que también la contraparte en el host debe estar protegida, especialmente si almacena una clave de diversificación para todo el sistema. Comprobar el UID (y utilizarlo para la diversificación de claves) en el host también garantiza que un adversario no pueda utilizar un IC DS28E01/DS2432 real para un producto clonado simplemente copiando el secreto recuperado y el contenido de la memoria. Para vulnerar esta protección se tendría que crear un emulador a medida, por ejemplo, utilizando un microcontrolador o un ASIC personalizado, esto aumentaría la complejidad y el coste de la falsificación, posiblemente hasta el punto de que la clonación deje de ser rentable.

A largo plazo, los IC analizados en este artículo deberían incluir contramedidas de canal lateral para, al menos, evitar las técnicas de SCA de bajo coste y elevar la “vara” en términos de complejidad hacia los equipos de trazado y medición. Deberían adoptar las contramedidas comunes (por ejemplo, aleatorización de la temporización, enmascaramiento, etc.) en cada uno de los casos de autenticación de productos.

Maxim Integrated reconoció los resultados y en la actualidad está estudiando formas de mitigar los problemas de seguridad.

Referencias

  • David Oswald, “Side-Channel Attacks on SHA-1-based Product Authentication ICs”, The University of Birmingham, UK.
  • NIST, “SECURE HASH STANDARD” , Federal Information Processing Standards Publication 180-2, 2002 August 1.
  • HanSeop Lim , JongHyeok Lee and Dong-Guk Han, “Novel Fault Injection Attack without Artificial Trigger” Seoul 02707, Korea.
  • Swarup Bhunia, Mark Tehranipoor. “Hardware Security a hands-on learning approach” Cambridge, MA 02139, United States.
  • Debayan Das, Mayukh Nath, Baibhab Chatterjee, Santosh Ghosh, Shreyas Sen “STELLAR: A Generic EM Side-Channel Attack Protection through Ground-Up Root-cause Analysis” School of Electrical and Computer Engineering, Purdue University, USA and Intel Labs, Hillsboro, Oregon, USA.
  • William Unger, Liljana Babinkostova, Mike Borowczak, Robert Erbes, Aparna Srinath “TVLA, Correlation Power Analysis and Side-Channel Leakage Assessment Metrics“.
  • Josef Danial, Debian Das, Santosh Ghosh, Arijit Raychowdhury, Shreyas Sen, “SCNIFFER: Low-Cost, Automated, Efficient Electromagnetic Side-Channel Sniffing” School of Electrical and Computer Engineering, Purdue University, West Lafayette, IN 47906, USA.
  • Pieter Robyns, Peter Quax and Wim Lamotte “Improving CEMA using Correlation Optimization” Hasselt University - tUL, Expertise center for Digital Media Martelarenlaan 42, 3500 Hasselt, Belgium.
  • E. Tena-Sánchez, I. Durán, S. Canas and A. J. Acosta ”Vulnerability Evaluation and Secure Design Methodology of Cryptohardware for ASIC-embedded Secure Applications to Prevent Side-Channel Attacks” Instituto de Microelectrónica de Sevilla.

Otras lecturas de interés: