El glitch de voltaje es una técnica común de inyección de fallos. El bloqueo de seguridad (lockbit lock) de la MCU debe resistirlo. Las MCU modernas incorporan detectores de caída de tensión (BOD) que reinician el chip si la alimentación cae por debajo de un umbral. Pero los BOD tienen un tiempo de reacción. Los glitches rápidos pueden escapar de la detección. Para contrarrestarlo, las MCU utilizan BOD de dos etapas. La primera etapa activa una advertencia. La segunda etapa provoca un reinicio forzado. La advertencia se puede utilizar para abortar operaciones sensibles. Por ejemplo, si se detecta una caída de voltaje durante una lectura de un procesador EEPROM, la operación se aborta. Del mismo modo, los comandos de volcado de flash y EEPROM se ignoran. La decapsulación y la recuperación de código no son relevantes aquí porque el glitch es no invasivo. Pero el ataque al bloqueo de seguridad de la MCU monitorea la alimentación continuamente. Utiliza un comparador analógico. El comparador tiene un alto ancho de banda. Puede detectar glitches tan cortos como 1 ns. Esto es mucho más rápido que los BOD típicos. La salida del comparador se conecta a un filtro digital que rechaza el ruido. Si se detecta un glitch genuino, la MCU entra en un estado seguro. En ese estado, se bloquea todo acceso a la memoria. La lectura de un procesador EEPROM se deshabilita. El volcado de flash y EEPROM se deshabilita. El bloqueo de seguridad se refuerza. Algunas MCU también incluyen un monitor de voltaje que verifica la tasa de cambio (slew rate). Una caída rápida indica un ataque. El monitor activa un apagado inmediato que incluye la puesta a cero de todas las memorias volátiles. Esto evita la copia de contenido de memoria criptográfica. La ingeniería inversa de microcontroladores encontrará un chip borrado. La extracción de firmware es imposible. Otra contramedida es usar un regulador de voltaje interno que filtra los glitches. El regulador tiene un condensador grande que almacena suficiente carga para soportar glitches cortos. Esto hace que la MCU sea inmune a glitches de nanosegundos. El bloqueo de seguridad se beneficia de esta alimentación regulada. Además, el circuito de generación de reloj se monitorea. Un glitch en el reloj también puede detectarse. La MCU usa un bucle de enganche de fase (PLL) que se fija a una referencia. Si el reloj se desvía, el PLL se desengancha, lo que activa un reinicio. Así que los glitches de reloj también se contrarrestan. La combinación de monitoreo de voltaje y reloj hace que el bloqueo de seguridad sea muy robusto. Sin embargo, los atacantes pueden usar glitches más sofisticados de ataque modulando la alimentación con una forma de onda específica que podría engañar al monitor. Para evitarlo, el monitor usa un comparador de ventana. La alimentación debe permanecer dentro de una ventana estrecha; si sale, se activa la alarma. La ventana se configura con histéresis para evitar falsas alarmas por ruido normal. Así se endurece el bloqueo de seguridad. Pero ningún sistema es perfecto. Los atacantes también pueden glitchear el monitor mismo, que tiene su propia alimentación derivada de la principal, por lo que un glitch en la principal también lo afecta. La lógica del monitor podría fallar. Para evitarlo, el monitor se implementa en circuitos analógicos, menos susceptibles a glitches digitales; operan con voltajes continuos. Un glitch podría desplazar la referencia, pero el monitor usa una referencia de bandgap muy estable e insensible a variaciones de alimentación. Así, incluso si la alimentación cae, la referencia permanece, y la salida del comparador es fiable. El bloqueo de seguridad confía en este comparador. En resumen, las contramedidas contra glitches de voltaje incluyen BOD rápidos, monitores de tasa de cambio, reguladores, bloqueos PLL, comparadores de ventana y referencias analógicas. Todo esto protege la lectura de procesadores EEPROM, volcado de flash y EEPROM, decapsulación, copia de contenido, ingeniería inversa y extracción de firmware contra inyección de fallos.