Ir al contenido

Serie Análisis de Hardware – Parte 1: Interfaces Periféricas, las Puertas Olvidadas del Silicio

Descubre cómo UART, SPI, I2C y JTAG abren puertas invisibles en sistemas embebidos e IoT industrial, y aprende a protegerlas en entornos OT críticos
8 de mayo de 2025 por
Serie Análisis de Hardware – Parte 1: Interfaces Periféricas, las Puertas Olvidadas del Silicio
Quantumsec

Hoy, los sistemas embebidos y dispositivos IoT industrial ya no son simples auxiliares: controlan procesos vitales en plantas energéticas, fábricas automatizadas y redes logísticas globales. Esta hiperconectividad ha expandido exponencialmente la superficie de ataque. Aunque se fortifican los accesos lógicos con autenticación, cifrado y firewalls, permanece expuesta una dimensión menos visible pero igual de crítica: las interfaces físicas embebidas en el hardware

Estas interfaces, diseñadas originalmente para tareas de desarrollo, testeo o depuración, muchas veces siguen accesibles en los productos finales. Aunque invisibles para el usuario, son perfectamente explotables para quienes tienen conocimientos, herramientas y acceso físico. Entenderlas, mapearlas y saber cómo interactúan con el sistema es fundamental tanto para fortalecer la seguridad como para llevar a cabo auditorías avanzadas o recuperaciones de firmware.

En esta primera entrega de nuestra serie de Análisis de Hardware, exploramos las interfaces periféricas más comunes: UART, SPI, I2C y JTAG. Cada una ofrece una forma distinta de entrar en el sistema, extraer información, modificar comportamientos o incluso tomar el control total del dispositivo.


UART (Universal Asynchronous Receiver/Transmitter)

La interfaz UART es una de las más sencillas y comunes en sistemas embebidos. Está presente en prácticamente cualquier dispositivo con microcontrolador o procesador, y es la principal herramienta de depuración durante el desarrollo.

Características clave:

  • Transmisión de datos en texto plano.
  • Requiere solo tres cables: TX (transmit), RX (receive) y GND.
  • Baudrate configurable (9600, 115200, etc).
  • Normalmente opera a 3.3V o 1.8V.

Usos ofensivos y defensivos:

  • Permite acceder a logs de arranque, diagnósticos y a veces incluso a una shell del sistema operativo.
  • Muchos dispositivos no requieren autenticación para usar UART si está activo, lo que representa una exposición crítica.
  • En auditorías puede emplearse para validar configuraciones de seguridad, proteger el bootloader o desactivar consolas.

Caso de uso: Si durante un test de intrusión físico encontramos un header de 4-5 pines y obtenemos una consola U-Boot o un terminal con prompt de Linux, podríamos escalar acceso mediante comandos como mount, cat /etc/shadow o incluso passwd si los permisos están mal configurados.



SPI (Serial Peripheral Interface)

SPI es un protocolo de comunicación síncrono maestro-esclavo, frecuentemente utilizado para conectar la CPU con memorias Flash externas. En entornos industriales, donde el firmware se almacena fuera del SoC, SPI es una mina de oro para el auditor.

Características clave:

  • Cuatro líneas: MOSI (Master Out Slave In), MISO (Master In Slave Out), CLK (Clock), CS (Chip Select).
  • Alta velocidad de transferencia.
  • Muy usado en chips como W25Q64, MX25L128, AT45DB.

Usos ofensivos y defensivos:

  • Permite hacer un dump completo del firmware.
  • Ideal para detectar configuraciones inseguras, claves embebidas, o scripts de arranque.
  • Puede reprogramarse para modificar comportamiento, restaurar configuraciones o introducir parches.

Caso de uso: Usando un clip SOP8 y un programador (EZP2019+, CH341A, Bus Pirate), se puede extraer el binario de la memoria SPI, analizarlo con herramientas como binwalk, strings, ghidra y detectar información sensible como rutas internas, backdoors o hashes.


I2C (Inter-Integrated Circuit)

I2C es una interfaz serie diseñada para la comunicación de corto alcance entre múltiples componentes. Es común en EEPROMs pequeñas, RTCs, sensores de temperatura o voltaje, y controladores auxiliares.

Características clave:

  • Solo dos líneas: SDA (datos) y SCL (reloj).
  • Los dispositivos se identifican mediante direcciones.
  • Más lenta que SPI, pero más simple para redes múltiples.

Usos ofensivos y defensivos:

  • Se puede leer/modificar configuraciones persistentes.
  • Las EEPROMs I2C a menudo almacenan flags de modo debug, números de serie, contraseñas o datos de calibración.
  • En entornos críticos puede usarse para modificar el comportamiento sin alterar el firmware principal.

Caso de uso: Dump de una EEPROM I2C AT24C usando Bus Pirate o lector dedicado, modificando un flag para habilitar un menú oculto o activar opciones de depuración.



JTAG (Joint Test Action Group)

JTAG es una interfaz de depuración de bajo nivel que permite acceso directo al procesador. Aunque menos visible que UART o SPI, si está habilitada proporciona capacidades avanzadas de ingeniería inversa y control total.

Características clave:

  • Pins habituales: TDI, TDO, TCK, TMS (a veces TRST, SRST).
  • Acceso a registros, memoria RAM, pausa de CPU.
  • Usado para debugging, programación y validación en fábrica.

Usos ofensivos y defensivos:

  • Puede volcar memoria RAM viva, descubrir claves en ejecución.
  • Ideal para auditar protecciones del bootloader y verificar integridad del sistema.
  • Requiere herramientas como JTAGulator, OpenOCD, adaptadores FTDI.

Caso de uso: Si una CPU ARM tiene JTAG activo, podríamos pausar la ejecución, leer el stack y acceder a datos en RAM que no están en el firmware, como claves TLS temporales o datos en memoria heap.


Consideraciones para Auditorías

Las interfaces periféricas representan un punto de entrada directo al sistema. Su presencia activa en dispositivos de producción puede comprometer completamente la seguridad si no están protegidas adecuadamente:

  • Obfuscación o eliminación de serigrafías.
  • Desactivación de consolas UART y JTAG por fuses o software.
  • Uso de autenticación en bootloaders.
  • Verificación criptográfica del firmware.
Herramientas recomendadas:
  • Bus Pirate 5/6, CH341A, EZP2019+, FTDI232H.
  • Logic Analyzer con PulseView.
  • Multímetro, microscopio, pinzas SOP8.
  • Software: flashrom, binwalk, strings, Ghidra, OpenOCD.


Las interfaces periféricas no son vulnerabilidades en sí mismas, pero su exposición representa una amenaza seria si no se consideran en el modelo de amenazas. Cualquier dispositivo conectado o crítico debe ser evaluado no solo por su superficie digital, sino también por las puertas traseras físicas que los ingenieros dejaron durante el diseño. En QuantumSec auditamos, comprendemos y explotamos esas interfaces como parte de una estrategia de seguridad integral.

Porque en el silicio, no hay login, no hay firewall. Solo electrónica y conocimiento.


En QuantumSec no hacemos suposiciones. Hacemos ingeniería inversa.

Si tu dispositivo tiene silicio, tiene una historia que contar... y sabemos cómo escucharla.

Desde consolas UART ocultas hasta memorias SPI expuestas, cada línea de cobre es una oportunidad para quien sepa dónde mirar. Mientras otros auditan el software, nosotros vamos más allá: auditamos el sistema desde la capa física, donde no existen firewalls, ni logs, ni honeypots. Solo señales, voltajes y puertas abiertas al corazón del dispositivo.

Combinamos técnicas de guerra electrónica, recuperación de firmware, glitching y análisis de buses en dispositivos reales, por expertos reales.

¿Tu organización depende de dispositivos embebidos, IoT o infraestructura crítica?

Entonces necesitas algo más que una auditoría: necesitas saber lo que otros no ven.

👉 Escríbenos

Te enseñaremos cómo alguien puede entrar por el puerto que nadie documentó, reprogramar lo que parecía inmutable y encender alarmas que nunca fueron pensadas.

Porque cuando todo falla, aún hay voltajes.

Y ahí estamos nosotros.