"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
„Wir hatten das einfach nicht auf dem eingebetteten System": Erkenntnisse und Herausforderungen bei der Sicherung von Mikrocontroller-Systemen aus den Embedded-CTF-Wettbewerben
Titel: "We just did not have that on the embedded system": Insights and Challenges for Securing Microcontroller Systems from the Embedded CTF Competitions
Autoren: Zheyuan Ma, Gaoxiang Liu, Alex Eastman, Kai Kaufman, Md Armanuzzaman, Xi Tan, Katherine Jesse, Robert J. Walls, Ziming Zhao
Klassifikation: cs.CR (Kryptographie und Sicherheit)
Veröffentlichungszeit/Konferenz: ACM SIGSAC Conference on Computer and Communications Security (CCS '25)
Mikrocontroller-Systeme sind im Alltag unverzichtbar und versorgen kritische Anwendungen wie Fahrzeuge, medizinische Geräte und Industriesteuerungssysteme. Diese Forschung analysiert den gesamten Lebenszyklus der Entwicklung sicherer Mikrocontroller-Systeme aus technischer und kognitiver Perspektive durch die Analyse von Teameinreichungen und Interviews nach dem Wettbewerb aus den MITRE Embedded CTF (eCTF) Wettbewerben 2023 und 2024. Die Forschung identifiziert zwei große Herausforderungen: konzeptionelle Herausforderungen (Schwierigkeiten bei der Migration von Mikroprozessor- zu Mikrocontroller-Systemen, unzureichendes Verständnis für Mikrocontroller-spezifische Angriffe) und praktische Herausforderungen (unzureichende Unterstützung für speichersichere Sprachen wie Rust auf Mikrocontrollern, schwache Entropiequellen, die die Kryptographie und Schlüsselerzeugung gefährden). Die Forschung bietet gezielte Empfehlungen für Forscher, Entwickler, Anbieter und Pädagogen.
Mikrocontroller-Systeme werden in kritischen Infrastrukturen weit verbreitet eingesetzt, aber ihre sichere Entwicklung steht vor einzigartigen Herausforderungen. Bestehende Forschung konzentriert sich hauptsächlich auf die Analyse von Firmware-Schwachstellen, es fehlt jedoch ein tiefes Verständnis der Wurzeln von Schwachstellen, insbesondere auf kognitiver und praktischer Ebene der Entwickler.
Methodologische Innovation: Vorschlag einer Methode zur Untersuchung von Sicherheitsherausforderungen in Mikrocontroller-Systemen durch CTF-Wettbewerbe, die technische Analyse und kognitive Perspektiven auf den gesamten Entwicklungslebenszyklus kombiniert
Duales Klassifizierungsrahmen für Herausforderungen: Systematische Identifikation und Klassifizierung konzeptioneller Herausforderungen (Wissenslücken) und praktischer Herausforderungen (Werkzeug-/Ressourcenbeschränkungen)
Empirische Erkenntnisse:
Konzeptionelle Herausforderungen: Unzureichende Anwendung grundlegender Sicherheitsmechanismen wie Privilegientrennung, Speicherlöschung und Stack-Canaries; Schwierigkeiten bei der Plattformanpassung; schwaches Bewusstsein für Hardware-Angriffsabwehr
Praktische Herausforderungen: Unzureichende Unterstützung für speichersichere Sprachen wie Rust; Mangel an hochwertigen Entropiequellen
Umsetzbare Empfehlungen: Neun spezifische Empfehlungen für fünf Kategorien von Interessengruppen (Forscher, Anbieter, Pädagogen, Entwickler, Compiler-Betreuer)
Datenressourcen: Analyse von 47 Teameinreichungen (20 aus 2023, 27 aus 2024), Durchführung von 22 Tiefeninterviews
Das Forschungsziel besteht darin, Herausforderungen bei der sicheren Entwicklung von Mikrocontroller-Systemen zu identifizieren und zu verstehen, insbesondere:
Quellcode: Verfolgung von Änderungen mit git diff, Überprüfung von Inline-Assembler, Speicheroperationen, Zufallszahlenerzeugung, Timing-bezogenem Code
Disassembly: Überprüfung der Auswirkungen von Compiler-Optimierungen auf Sicherheitsmerkmale
Laufzeitanalyse: Verwendung von Debug-Tools zur Überprüfung der Unsicherheit statischer Analysen
Doppelgleisiger Methodologie: Erste Kombination von großflächiger Code-Analyse mit Tiefeninterviews, um „Was" und „Warum" zu enthüllen
Lebenszyklus-Perspektive: Von Designdokumenten → Quellcode → Binärdateien → Entwickler-Kognition, Verfolgung der Schwachstellen-Evolution
Ökosystem-Analyse-Rahmen: Identifikation von Problemen, die nicht nur auf Entwickler zurückzuführen sind, sondern auch Compiler, Anbieter, Bildung und andere Faktoren betreffen
Problem: Weit verbreitete Verwendung von unsafe-Blöcken zum Aufrufen von C-SDK-Funktionen
Grund: Inkrementelles Entwicklungsmodell, ermöglicht schrittweise Portierung von Code zu Rust
Vergleich: C18-T08 beschränkt unsafe auf untere Hardware-Interaktionsebene
Beobachtung 4: Rust-Benutzer sehen sich Herausforderungen gegenüber: no_std-Kompilierung, HAL-Implementierung, unsafe-Verwaltung
Beobachtung 5: Automatisierte Umwandlung von Hardware-Deskriptoren in Rust-Strukturen kann HAL-Entwicklung beschleunigen, aber Treue und Sicherheit erfordern weitere Forschung
Beobachtung 6: Obwohl Mikrocontroller-Entropiequellen begrenzt sind, kann die Kombination mehrerer verfügbarer Quellen die Robustheit der Zufälligkeit wirksam verbessern
Bildungsorientiert: Vigna et al. (iCTF-Framework), Vykopal et al. (CTF als Lehrinstrument)
Herausforderungsanalyse: Crispin et al. (Defcon CTF-Erfahrung), Chung et al. (Organisationsfallen)
Unterschied dieses Artikels: Erste Kombination von Einreichungsanalyse und Interviews, Fokus auf Sicherheitsentwicklungs-Herausforderungen statt Bildungseffektivität
BIBIFI-Forschung (Parker et al., Ruef et al., Votipka et al.): Analyse der Mikroprozessor-Systementwicklung, Feststellung, dass die meisten Schwachstellen aus Missverständnissen statt Fehlern stammen
Rust-Adoptions-Forschung:
Fulton et al.: Perspektive hochrangiger Entwickler, Identifikation von Lernkurven- und Bibliotheks-Support-Problemen
Sharma et al.: Analyse von 6000+ Embedded-Rust-Projekten, Enthüllung unzureichender Ökosystem-Unterstützung
Beitrag dieses Artikels: Fokus auf Mikrocontroller-spezifische Einschränkungen, Kombination technischer und kognitiver Doppelperspektive
Untersuchung von Privilegientrennung-Adoptionshindernissen, Entwicklung automatisierter Tools, Bereitstellung von Beispielprojekten
R2
Entwickler/Forscher/Compiler
Verwendung bewährter Null-Memory-Primitive, Entwurf von Anmerkungsschemata, Compiler-Warnungen für Lösch-Optimierungen
R3
Forscher/Anbieter
Entwurf effektiverer Stack-Canary-Mechanismen, Toolchain-Optionen zur Aktivierung
R4
Forscher/Anbieter
Erkundung von Compiler-/Linker-Erweiterungen zur automatischen Durchsetzung von Speicherattributen, Beibehaltung von Attributen in ursprünglichen Binärdateien
R5
Compiler
Warnung vor ungültigen Architektur-Optionen, Bereitstellung äquivalenter sicherer Alternativen
R6
Forscher/Anbieter/Pädagogen
Erkundung von Hardware-Schutz-Integrationsmethoden, Verbesserung der Ausnahmeerkennung-Unterstützung, Lehrplan mit Hardware-Angriffsszenarien
R7
Forscher/Anbieter/Pädagogen
Betonung von Rust-Herausforderungen auf Mikrocontrollern (unsafe, Low-Level-Interaktion)
R8
Forscher/Anbieter
Automatisierung von Hardware-Deskriptor-Umwandlung, Identifikation unsicherer unsafe-Nutzung, Bereitstellung vollständiger Rust-SDKs
R9
Entwickler/Anbieter
Vermeidung einzelner Entropiequellen, strenge RNG-Tests, Anbieter-Offenlegung von TRNG-Implementierungsdetails
52 Embedded-Rust-Herausforderungen (Sharma et al., 2024)
Firmware-Analyse:
65 FirmXRay (Wen et al., 2020)
42 IoT-Firmware-Sicherheit (Nino et al., 2024)
56 Cortex-M-Systeme-Übersicht (Tan et al., 2024)
Benutzerforschung:
46 BIBIFI (Ruef et al., 2016)
62 Entwickler-Sicherheits-Missverständnisse (Votipka et al., 2020)
Gesamtbewertung: Dies ist ein hochqualitatives Benutzerforschungs-Paper zur Embedded-Security, das durch eine innovative doppelgleisige Methode tiefe Herausforderungen bei der sicheren Entwicklung von Mikrocontroller-Systemen enthüllt. Sein größter Wert liegt in der Kombination technischer Analyse mit Entwickler-Kognition und bietet umsetzbare Wege zur Verbesserung von Bildung, Werkzeugen und Praktiken. Obwohl es Verallgemeinerungsbeschränkungen gibt, erhöht die Konsistenz seiner Erkenntnisse mit echten Firmware-Schwachstellen-Raten die Glaubwürdigkeit der Schlussfolgerungen. Diese Forschung etabliert ein neues Forschungsparadigma für die Embedded-Security-Gemeinschaft und verdient weitere Verifikation und Erweiterung durch nachfolgende Arbeiten.