"We just did not have that on the embedded system": Insights and Challenges for Securing Microcontroller Systems from the Embedded CTF Competitions
Ma, Liu, Eastman et al.
Microcontroller systems are integral to our daily lives, powering mission-critical applications such as vehicles, medical devices, and industrial control systems. Therefore, it is essential to investigate and outline the challenges encountered in developing secure microcontroller systems. While previous research has focused solely on microcontroller firmware analysis to identify and characterize vulnerabilities, our study uniquely leverages data from the 2023 and 2024 MITRE eCTF team submissions and post-competition interviews. This approach allows us to dissect the entire lifecycle of secure microcontroller system development from both technical and perceptual perspectives, providing deeper insights into how these vulnerabilities emerge in the first place.
Through the lens of eCTF, we identify fundamental conceptual and practical challenges in securing microcontroller systems. Conceptually, it is difficult to adapt from a microprocessor system to a microcontroller system, and participants are not wholly aware of the unique attacks against microcontrollers. Practically, security-enhancing tools, such as the memory-safe language Rust, lack adequate support on microcontrollers. Additionally, poor-quality entropy sources weaken cryptography and secret generation. Our findings articulate specific research, developmental, and educational deficiencies, leading to targeted recommendations for researchers, developers, vendors, and educators to enhance the security of microcontroller systems.
academic
"We just did not have that on the embedded system": Perspectivas y Desafíos para Asegurar Sistemas de Microcontroladores desde las Competiciones Embedded CTF
Título: "We just did not have that on the embedded system": Insights and Challenges for Securing Microcontroller Systems from the Embedded CTF Competitions
Autores: Zheyuan Ma, Gaoxiang Liu, Alex Eastman, Kai Kaufman, Md Armanuzzaman, Xi Tan, Katherine Jesse, Robert J. Walls, Ziming Zhao
Clasificación: cs.CR (Criptografía y Seguridad)
Fecha de Publicación/Conferencia: ACM SIGSAC Conference on Computer and Communications Security (CCS '25)
Los sistemas de microcontroladores son indispensables en la vida cotidiana, proporcionando potencia a aplicaciones críticas como vehículos, dispositivos médicos y sistemas de control industrial. Este estudio analiza el ciclo de vida completo del desarrollo seguro de sistemas de microcontroladores desde perspectivas técnicas y cognitivas, mediante el análisis de presentaciones de equipos y entrevistas posteriores a la competición de las competiciones MITRE Embedded CTF (eCTF) de 2023 y 2024. La investigación identifica dos categorías principales de desafíos: conceptuales y prácticos. Conceptualmente, existen dificultades en la migración de sistemas de microprocesadores a sistemas de microcontroladores, y los participantes carecen de comprensión sobre ataques específicos de microcontroladores. Prácticamente, lenguajes seguros en memoria como Rust carecen de soporte adecuado en microcontroladores, y las fuentes de entropía de baja calidad debilitan la seguridad criptográfica y la generación de claves. El estudio proporciona recomendaciones específicas para investigadores, desarrolladores, proveedores y educadores.
Los sistemas de microcontroladores (MCU) se aplican ampliamente en infraestructuras críticas, pero su desarrollo seguro enfrenta desafíos únicos. La investigación existente se enfoca principalmente en análisis de vulnerabilidades de firmware, careciendo de una comprensión profunda de las raíces de las vulnerabilidades, particularmente en los niveles cognitivo y práctico de los desarrolladores.
Aplicabilidad Generalizada: Los microcontroladores impulsan vehículos, dispositivos médicos, sistemas de control industrial y otros sistemas críticos
Fragilidad de Seguridad: Carecen de características de seguridad estándar como MMU, y la programación común en C/ensamblador es propensa a errores de memoria
Accesibilidad Física: Son más susceptibles a ataques de hardware como canales laterales e inyección de fallos en comparación con computadoras de propósito general
Innovación Metodológica: Propone un método para estudiar desafíos de seguridad de sistemas de microcontroladores a través de competiciones CTF, examinando el ciclo de vida completo de desarrollo combinando análisis técnico y perspectiva cognitiva
Marco de Clasificación de Desafíos Duales: Identifica y clasifica sistemáticamente desafíos conceptuales (brechas de conocimiento) y desafíos prácticos (limitaciones de herramientas/recursos)
Hallazgos Empíricos:
Desafíos conceptuales: Aplicación insuficiente de mecanismos de seguridad fundamentales como separación de privilegios, borrado de memoria y canarios de pila; dificultad en adaptación de plataformas; débil conciencia sobre defensa contra ataques de hardware
Desafíos prácticos: Soporte insuficiente para lenguajes seguros en memoria como Rust; falta de fuentes de entropía de alta calidad
Recomendaciones Accionables: Proporciona 9 recomendaciones específicas para cinco categorías de partes interesadas (investigadores, proveedores, educadores, desarrolladores, mantenedores de compiladores)
Recursos de Datos: Análisis de 47 presentaciones de equipos (20 de 2023, 27 de 2024), completando 22 entrevistas en profundidad
El objetivo de la investigación es identificar y comprender desafíos en el desarrollo seguro de sistemas de microcontroladores, incluyendo específicamente:
Entrada: Presentaciones de equipos eCTF (código fuente, documentación, herramientas de construcción) + datos de entrevistas de participantes
Salida: Clasificación de desafíos de seguridad, análisis de causas raíz, recomendaciones de mejora
Restricciones: Enfoque en entorno de competición orientado a seguridad, participantes como desarrolladores en etapa temprana de carrera
2023: 20 equipos, utilizando placa de desarrollo TI TM4C123GXL (ARM Cortex-M4F)
2024: 27 equipos, utilizando placa de desarrollo Analog Devices MAX78000FTHR (ARM Cortex-M4 + RISC-V)
Dimensiones de Análisis:
Herramientas de Construcción: Lenguajes de programación, compiladores, niveles de optimización, banderas de compilación segura, atributos de scripts de enlace
Código Fuente: Uso de git diff para rastrear modificaciones, verificación de ensamblador en línea, operaciones de memoria, generación de números aleatorios, código relacionado con temporización
Desensamblado: Verificación del impacto de optimizaciones del compilador en características de seguridad
Análisis en Tiempo de Ejecución: Uso de herramientas de depuración para verificar incertidumbres del análisis estático
Puntos de Verificación Clave:
Separación de privilegios (configuración de MPU)
Implementación de borrado de memoria (problema de optimización memset)
Habilitación de canarios de pila
Configuración de pila no ejecutable
Defensa contra ataques de hardware (canales laterales, inyección de fallos, manipulación física)
Metodología de Doble Enfoque: Primera combinación de análisis de código a gran escala con entrevistas en profundidad, revelando "qué" y "por qué"
Perspectiva de Ciclo de Vida Completo: Desde documentos de diseño → código fuente → binario → cognición del desarrollador, rastreando evolución de vulnerabilidades
Marco de Análisis del Ecosistema: Identifica problemas no solo atribuibles a desarrolladores, sino también involucrando compiladores, proveedores, educación y otros
Problema: Uso generalizado de bloques unsafe para llamar funciones SDK de C
Razón: Modelo de desarrollo incremental, permitiendo migración gradual de código a Rust
Contraste: C18-T08 limitó unsafe a capa de interacción de hardware de bajo nivel
Observación 1: Las optimizaciones del compilador pueden romper estados de seguridad más allá de la especificación del lenguaje (como borrado de memoria)
Observación 2: La brecha de conocimiento sobre ataques específicos de sistemas embebidos es el factor principal que obstaculiza la implementación de defensas
Observación 3: Factores de decisión de Rust: familiaridad, soporte de proveedores, soporte de bibliotecas, curva de aprendizaje
Observación 4: Los usuarios de Rust enfrentan desafíos: compilación no_std, implementación de HAL, gestión unsafe
Observación 5: La transformación automatizada de descriptores de hardware a estructuras Rust puede acelerar desarrollo de HAL, pero se requiere investigación adicional sobre fidelidad y seguridad
Observación 6: A pesar de fuentes de entropía limitadas en microcontroladores, combinar múltiples fuentes disponibles puede mejorar efectivamente la robustez de aleatoriedad
Orientada a Educación: Vigna et al. (marco iCTF), Vykopal et al. (CTF como herramienta de enseñanza)
Análisis de Desafíos: Crispin et al. (experiencia Defcon CTF), Chung et al. (organización de trampas)
Distinción de Este Artículo: Primera combinación de análisis de presentaciones con entrevistas, enfocándose en desafíos de desarrollo seguro en lugar de efectos educativos
Investigación BIBIFI (Parker et al., Ruef et al., Votipka et al.): Análisis de desarrollo de sistemas de microprocesadores, descubrimiento de que la mayoría de vulnerabilidades provienen de conceptos erróneos en lugar de errores
Investigación de Adopción de Rust:
Fulton et al.: Perspectiva de desarrolladores de alto nivel, identificación de curva de aprendizaje y problemas de soporte de bibliotecas
Sharma et al.: Análisis de 6000+ proyectos Rust embebidos, revelación de soporte de ecosistema insuficiente
Contribución de Este Artículo: Enfoque en restricciones específicas de microcontroladores, combinando perspectiva técnica y cognitiva dual
Investigar obstáculos de adopción de separación de privilegios, desarrollar herramientas automatizadas, proporcionar proyectos de ejemplo
R2
Desarrolladores/Investigadores/Compilador
Usar primitivos de cero memoria verificados, diseñar esquema de anotaciones, compilador proporcionar advertencias de optimización de borrado
R3
Investigadores/Proveedores
Diseñar mecanismos de canarios de pila más efectivos, cadena de herramientas proporcionar opciones de habilitación
R4
Investigadores/Proveedores
Explorar extensiones de compilador/enlazador ejecutando automáticamente atributos de memoria, preservar atributos a binario original
R5
Compilador
Advertir sobre opciones de arquitectura inválidas, proporcionar alternativas seguras equivalentes
R6
Investigadores/Proveedores/Educadores
Explorar métodos de integración de protección de hardware, mejorar soporte de detección de excepciones, incluir escenarios de ataque de hardware en cursos
R7
Investigadores/Proveedores/Educadores
Enfatizar desafíos de Rust en microcontroladores (unsafe, interacción de bajo nivel)
R8
Investigadores/Proveedores
Automatizar transformación de descriptores de hardware, identificar uso unsafe inseguro, proporcionar SDK Rust completo
R9
Desarrolladores/Proveedores
Evitar fuentes de entropía única, prueba rigurosa de RNG, proveedores publicar detalles de implementación de TRNG
18 Investigación de Adopción de Rust (Fulton et al., 2021)
52 Desafíos de Rust Embebido (Sharma et al., 2024)
Análisis de Firmware:
65 FirmXRay (Wen et al., 2020)
42 Seguridad de Firmware IoT (Nino et al., 2024)
56 Revisión de Sistemas Cortex-M (Tan et al., 2024)
Investigación de Usuarios:
46 BIBIFI (Ruef et al., 2016)
62 Conceptos Erróneos de Seguridad de Desarrolladores (Votipka et al., 2020)
Evaluación General: Este es un artículo de alta calidad de investigación de usuarios en seguridad embebida, revelando desafíos profundos en el desarrollo seguro de sistemas de microcontroladores a través de una metodología innovadora de doble enfoque. Su mayor valor radica en combinar análisis técnico con cognición de desarrolladores, proporcionando una ruta accionable para mejorar educación, herramientas y práctica. Aunque existen limitaciones de generalización, la consistencia de sus hallazgos con tasas de vulnerabilidades en firmware real fortalece la credibilidad de conclusiones. Esta investigación establece un nuevo paradigma de investigación para la comunidad de seguridad embebida, mereciendo trabajo posterior para verificación y extensión adicional.