← Últimos artículos
💻 computer science

Retrofit or Redesign? Hardware-Validated Constant-Time Defense and Cost Analysis for the M-Step Side-Channel on TrustZone-M

Este artículo demuestra, mediante la validación en silicio real en Arm TrustZone-M, que el rediseño de algoritmos criptográficos para la ejecución en tiempo constante es superior al reacondicionamiento, ya que este último no solo incurre en un coste aproximadamente dos órdenes de magnitud mayor, sino que también corre el riesgo de retener fugas de flujo de control explotables que solo la verificación por instrucción puede detectar.

Autores originales: Arash Razban

Publicado 2026-07-17
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Arash Razban

Artículo original bajo licencia CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que eres el guardián de una bóveda secreta, y la única forma de abrirla es resolviendo un complejo acertijo matemático. En el mundo de la seguridad digital, este acertijo suele ser una "inversión modular", un cálculo utilizado para bloquear y desbloquear mensajes. Durante años, los expertos creyeron que si hacías que el tiempo que tomaba resolver el acertijo fuera el mismo en cada ocasión, nadie podría robar el secreto. Esto se llama seguridad de "tiempo constante". La idea era que, si un ladrón no podía distinguir si estabas pensando intensamente o simplemente adivinando basándose en cuánto tardaba la puerta en abrirse, estaría a salvo.

Pero hay un nuevo truco astuto llamado "ataque de paso único" (single-stepping attack). Imagina que un ladrón no solo espera a que la puerta se abra, sino que tiene un cronómetro mágico que le permite congelar el tiempo después de cada uno de los pasos de tu proceso de resolución del acertijo. Puede observar exactamente qué camino tomas a través del laberinto. Si tu laberinto tiene atajos secretos que solo tomas cuando conoces la respuesta, el ladrón verá que tomas el atajo y aprenderá tu secreto. Este artículo explora una decisión de alto riesgo para los ingenieros de seguridad: cuando se encuentra una vulnerabilidad, ¿deberías intentar remendar el viejo laberinto con fugas para que parezca uniforme (un "retroajuste" o retrofit) o deberías derribarlo y construir un laberinto completamente nuevo que no tenga atajos por diseño (un "rediseño")? La respuesta no es solo cuál es más rápido; se trata de cuál de los dos realmente detiene al ladrón de ver tus secretos.


El Gran Remiendo del Laberinto: Retroajuste vs. Rediseño

En este estudio, los investigadores Arash Razban y su equipo abordaron un agujero de seguridad del mundo real (conocido como CVE-2025-54764) encontrado en una biblioteca popular utilizada para proteger datos en pequeñas computadoras integradas, como las de tarjetas inteligentes o dispositivos médicos. El agujero estaba en las rutinas de "GCD binario" e "inversión modular", básicamente, los motores matemáticos que manejan las claves secretas. Un hacker utilizando una técnica llamada "M-Step" podía congelar la computadora después de cada instrucción individual y observar el camino que tomó la matemática para rocer la clave secreta.

Los investigadores organizaron una batalla directa en hardware de silicio real (un chip Cortex-M33) para ver qué estrategia de defensa funcionaba mejor: El Retroajuste o El Rediseño.

El Retroajuste (El trabajo de parche):
El equipo intentó arreglar las viejas y con fugas rutinas matemáticas. Tomaron el código original, que tenía atajos dependientes del secreto (como un laberinto con puertas ocultas), y lo obligaron a recorrer el mismo camino cada vez. Lo hicieron haciendo que el código pasara por cada paso posible, incluso por aquellos que no necesitaba, y utilizando trucos "sin saltos" (branchless) para ocultar qué camino se había tomado realmente. Era como obligar a un corredor a trotar por cada habitación de una casa, independientemente de dónde esté la salida, para que un observador no pueda distinguir de qué habitación salió realmente.

El Rediseño (La nueva construcción):
La alternativa era desechar la matemática antigua por completo y reemplazarla con un algoritmo nuevo (llamado safegcd) que fue construido desde cero para no tener atajos. Este nuevo laberinto tiene un camino fijo que se ve exactamente igual sin importar cuál sea el secreto.

Los Resultados Impactantes: Velocidad y Filtraciones Sigilosas

Los investigadores midieron dos cosas: cuánto costaba (en tiempo y energía) ejecutar estas defensas, y si realmente detenían al ladrón.

1. El Costo del Parche
Los resultados fueron asombrosos. El "Rediseño" fue increíblemente eficiente. Sin embargo, el "Retroajuste" fue un desastre en términos de velocidad.

  • Para la rutina GCD, el retroajuste fue 192 veces más lento que el rediseño.
  • Para la inversión modular, el retroajuste fue 532 veces más lento.

Para poner esto en perspectiva, en el hardware que probaron, la rutina rediseñada tardaba milisegundos en ejecutarse. ¿La rutina retroajustada? Tardaba segundos. Específicamente, el GCD retroajustado tardó unos 4.5 segundos por llamada, y la inversión modular tardó la enorme cifra de 25 segundos. Para un dispositivo que necesita desbloquear una puerta o firmar un mensaje instantáneamente, esperar 25 segundos es prácticamente inútil. El rediseño no solo fue mejor; fue la única opción que hizo que el dispositivo fuera utilizable.

2. La Filtración "Fantasma"
Aquí es donde la historia se pone realmente interesante. Los investigadores pensaron que el Retroajuste era un éxito. Cuando midieron el tiempo total que tomó ejecutar las rutinas, el Retroajuste parecía perfecto. El tiempo variaba menos del 2% entre diferentes secretos, lo cual se considera normalmente como "seguro".

Pero luego, usaron una herramienta súper precisa para verificar las instrucciones exactas que ejecutó la computadora, paso a paso. Encontraron una "filtración fantasma".

  • En el Retroajuste, había un pequeño bucle oculto al final del proceso matemático. Para la mayoría de las entradas, se ejecutaba un número fijo de veces. Pero para un secreto específico, se ejecutó una vez más.
  • Este paso adicional añadió solo unas pocas docenas de ciclos de reloj al tiempo total. Debido a que el tiempo total era tan grande (miles de millones de ciclos), esta pequeña diferencia era completamente invisible para las pruebas de tiempo estándar. Era como un ladrón notando un solo parpadeo extra en una película de 25 segundos.
  • El atacante de M-Step, que observa cada uno de los pasos, habría visto este parpadeo extra y habría sabido exactamente cuál era el secreto.
  • Los investigadores tuvieron que volver atrás para arreglar este pequeño bucle, reemplazándolo con una secuencia fija, para cerrar verdaderamente la puerta.

El Veredicto: Construye de Nuevo, No Remiendes

El artículo concluye con un mensaje claro para los ingenieros de seguridad: No intentes parchar este tipo específico de rutinas matemáticas.

  1. El Rediseño es el Rey: El enfoque de "tiempo constante por diseño" (el Redesign) es de sobra superior. Es aproximadamente dos órdenes de magnitud (100 veces) más rápido que intentar parchar el código antiguo.
  2. Las Pruebas de Tiempo Mienten: No puedes confiar en las pruebas de tiempo estándar para decirte si un parche es seguro. Un parche puede parecer perfecto en un cronómetro pero aun así tener una pequeña filtración explotable que solo un atacante de "paso único" puede ver.
  3. Verifica los Pasos, No el Reloj: Para estar seguro de que una defensa funciona, debes verificar la secuencia exacta de instrucciones (el camino tomado), no solo el tiempo total que tomó.

Los investigadores descubrieron que incluso después de arreglar la filtración fantasma, una pequeña cantidad de variación de tiempo permanecía (alrededor del 2%). Sin embargo, demostraron que esto no era una filtración de secretos, sino simplemente que el propio hardware se comportaba de manera ligeramente diferente dependiendo de los números que estaba procesando, un "piso de hardware" que ni siquiera el mejor software puede eliminar. Pero, crucialmente, el camino que la computadora tomó era ahora idéntico en cada ocasión, lo que significa que el ladrón ya no podía aprender el secreto observando los pasos.

En resumen: cuando se trata de estos secretos matemáticos críticos, no intentes remendar la casa vieja. Derribala y construye una nueva que haya sido diseñada para ser segura desde el principio. Es más rápido, más seguro, y no pasarás por alto las pequeñas grietas que un parche deja atrás.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →