Blog

Warum End-to-End-Sicherheit für eingebettete Systeme wichtig ist

August 19, 2021
Secure Code Warrior
Nahaufnahme eines runden Überwachungskameraobjektivs, in dem sich Gebäude und eine Person mit einer Kamera spiegeln.

Eingebettete Systeme sind das Herzstück vieler moderner Technologien – vom adaptiven Tempomaten in Ihrem Auto bis hin zum WLAN in Ihrem intelligenten Kühlschrank. Angesichts zunehmender Cyberangriffe ist die Absicherung dieser Systeme von entscheidender Bedeutung.

Eingebettete Geräte sind bevorzugte Ziele für Hacker, da ein erfolgreicher Angriff Eindringlingen Zugriff auf die von ihnen erzeugten, empfangenen und verarbeiteten Daten verschaffen kann. Dies kann oft schwerwiegende Folgen für das übergeordnete System haben, das von dem eingebetteten Gerät gesteuert wird. So kann beispielsweise das Abschalten eines eingebetteten Geräts in einem F-15-Kampfjet, das Daten von verschiedenen Kameras und Sensoren sammelt, die Verteidigungsfähigkeit des Jets erheblich beeinträchtigen.

Wir haben diesen Artikel verfasst, um Ihnen alles an die Hand zu geben, was Sie für die Entwicklung sicherer eingebetteter Systeme benötigen. Folgende Themen werden behandelt:

  • Was ist Embedded Security?
  • Herausforderungen bei der Implementierung von Embedded Security.
  • Was macht ein eingebettetes System „sicher“?
  • Warum End-to-End-Sicherheit in einem eingebetteten Ökosystem wichtig ist.
  • Einige Tools für die Embedded Security.
  • Was fehlt typischen eingebetteten Lösungen?
  • Die Zukunft der Embedded Security.

Was ist Embedded Security?

Embedded Security umfasst die Tools, Prozesse und bewährten Verfahren zur Absicherung der Software und Hardware eingebetteter Geräte.

Da die Hardwaremodule eingebetteter Systeme klein sind, unterliegen sie verschiedenen Speicher- und Kapazitätsbeschränkungen. Die Integration von Sicherheitsmaßnahmen stellt daher eine enorme Herausforderung für das Design dar. So schwierig dies auch sein mag, es ist ein Gebot der Stunde.

Viele der Geräte und Maschinen, die von eingebetteten Systemen gesteuert werden, sind zudem mit dem Internet verbunden. Das bedeutet, dass Hacker sich unbefugten Zugriff verschaffen und Schadcode ausführen können.

Ein Hack eines eingebetteten Geräts kann oft auf andere verbundene Komponenten übergreifen und/oder das gesamte System lahmlegen. Nehmen wir zum Beispiel an, ein Angreifer erlangt die Kontrolle über ein eingebettetes Gerät, das es dem Fahrer ermöglicht, das Auto in den Autopilot-Modus zu versetzen. Der Hacker könnte das Auto dann von der Straße oder in den Gegenverkehr lenken und potenziell großen Schaden anrichten.

Kritische Sicherheitsherausforderungen bei eingebetteten Systemen

Die Sicherheit eingebetteter Systeme erhält nicht die Aufmerksamkeit, die sie verdient. Hier sind einige Gründe dafür:

  1. Mangelndes Bewusstsein bei Entwicklern:

Entwickler sind sich der bewährten Verfahren für die Entwicklung sicherer eingebetteter Geräte oft nicht bewusst. Dies liegt teilweise an Punkt 2 und teilweise daran, dass eingebettete Anwendungen weitaus komplexer sind als herkömmliche Softwareanwendungen. Die Sicherheitsimplikationen zu verstehen und sicheren, performanten Code für alle Anwendungsfälle zu schreiben – und das in einer ressourcenbeschränkten Mikrocomputer-Umgebung – kann eine Herausforderung sein.

  1. Mangelnde Standardisierung:

Es mangelt an Cybersicherheitsstandards für eingebettete Systeme, auch wenn die Automobilindustrie langsam versucht, dies zu ändern. In den letzten Jahren haben Forscher einige Publikationen veröffentlicht, die sich mit Cybersicherheitsaspekten für intelligente Fahrzeuge befassen. Einige nennenswerte sind SAE J3061, „Cybersecurity Guidebook for Cyber-Physical Vehicle Systems“ sowie die UNECE WP.29-Regelung zu Cybersicherheit und Software-Update-Prozessen.

  1. Verwendung von Komponenten Dritter

Viele eingebettete Geräte benötigen Hardware- und Softwarekomponenten von Drittanbietern, um zu funktionieren. Oft werden diese Komponenten eingesetzt, ohne sie auf Sicherheitslücken oder Schwachstellen zu prüfen.

  1. Veraltete Software

Veraltete Firmware ist in der Regel fehleranfällig und weist potenziell ausnutzbare Sicherheitslücken auf. Auch wenn es bei kleinen eingebetteten Geräten besonders schwierig sein kann, die Firmware regelmäßig zu aktualisieren, darf dieser Punkt nicht ignoriert werden.

  1. Direkte Internetverbindung

Viele eingebettete Systeme und Geräte sind direkt mit dem Internet verbunden. Das bedeutet, dass sie nicht durch Unternehmens-Firewalls geschützt sind, die Netzwerkangriffe erkennen und abwehren könnten. Da Ressourcen oft knapp bemessen sind, ist es sehr schwierig, in einer solch eingeschränkten Umgebung ein hohes Sicherheitsniveau zu implementieren.

  1. Angriffe im großen Stil

Eingebettete Geräte werden meist in großen Stückzahlen produziert. Das bedeutet, dass eine einzige Schwachstelle oder ein Fehler Millionen von Geräten weltweit betreffen kann. Die Auswirkungen eines Angriffs auf ein eingebettetes System einzudämmen, kann daher eine enorme Herausforderung darstellen.

Was macht ein eingebettetes System sicher?

In den folgenden Abschnitten betrachten wir einige Software- und Hardwaremerkmale sicherer eingebetteter Systeme.

Best Practices für Hardwaresicherheit

Ein sicheres eingebettetes System verfügt über:

  • Eine vertrauenswürdige Ausführungsumgebung

Eine Trusted Execution Environment (TEE) ermöglicht die hardwareseitige Isolierung sicherheitskritischer Vorgänge. So kann beispielsweise die Benutzerauthentifizierung in einem abgeschotteten Bereich ausgeführt werden, was einen besseren Schutz sensibler Informationen gewährleistet.

  • Angemessen partitionierte Hardwareressourcen

Verschiedene Hardwarekomponenten wie Prozessor(en), Cache, Speicher und Netzwerkschnittstellen sollten angemessen voneinander getrennt sein, damit sie ihre Funktionen so unabhängig wie möglich erfüllen können. Dies verhindert, dass sich ein Fehler in einer Komponente auf andere Bereiche ausbreitet.

  • Executable Space Protection (ESP)

Executable Space Protection, kurz ESP, bezeichnet die Praxis, bestimmte Speicherbereiche als nicht ausführbar zu markieren. Versucht jemand, Code innerhalb dieser markierten Bereiche auszuführen, wird eine Ausnahme ausgelöst.

Best Practices für Softwaresicherheit

Bei der Entwicklung eingebetteter Software sollten die folgenden Best Practices beachtet werden:

  • Verwendung von Secure Boot:

Beim Starten eines eingebetteten Geräts wird das Boot-Image mithilfe kryptografischer Algorithmen verifiziert. Dies stellt sicher, dass die Boot-Sequenz korrekt ist und die Software (Firmware sowie alle anderen relevanten Daten) nicht manipuliert wurde. 

  • Verwendung eines Microkernel-Betriebssystems

Ein Microkernel-Betriebssystem ist wesentlich kleiner als ein herkömmliches Betriebssystem und enthält nur einen Teil dessen Funktionen. Der Kernel-Bereich ist minimal gehalten, während viele Benutzerdienste (wie die Dateisystemverwaltung usw.) in einem separaten Bereich, dem sogenannten Userspace, ausgeführt werden. Da im Kernel-Bereich weniger Code und Operationen ausgeführt werden, wird die Angriffsfläche erheblich reduziert.

  • Verwendung ordnungsgemäß paketierter Softwareanwendungen

Sämtliche Softwareanwendungen sollten in sich geschlossen und ordnungsgemäß paketiert sein. Wenn eine Anwendung beispielsweise eine Abhängigkeit von Drittanbietern erfordert, sollte diese nicht global auf dem Betriebssystem installiert werden, sondern Teil des Anwendungspakets bzw. Containers sein.

  • Validierung aller Eingaben

Alle Daten, die von externen oder nicht vertrauenswürdigen Quellen empfangen werden, sollten ordnungsgemäß bereinigt und validiert werden, bevor sie an kritische Software- oder Hardwarekomponenten weitergeleitet werden. 

Wenn eine Anwendung Daten von einer externen API-Integration abruft und darauf basierend Einstellungen ändert, sollten die empfangenen Daten vor der Änderung der Einstellung rigoros validiert werden.

  • Schutz ruhender Daten:

Alle sensiblen Softwarekomponenten, Daten, Konfigurationsdateien, Sicherheitsschlüssel und Passwörter, die auf einem eingebetteten Gerät gespeichert sind, sollten geschützt werden. Dies geschieht in der Regel durch Verschlüsselung. Die privaten Schlüssel zur Verschlüsselung der Daten müssen in dedizierter, speziell dafür entwickelter Sicherheitshardware gespeichert werden.

Die Sicherheitspyramide – End-to-End-Sicherheit für eingebettete Systeme

Die Zeiten, in denen Sicherheit nur ein nachträglicher Gedanke war, sind vorbei. Sicherheit ist heute keine rein funktionale Anforderung mehr, sondern muss intrinsisch sein. Geräte müssen „Secure by Design“ entwickelt werden. Daher ist es unerlässlich, End-to-End-Sicherheitsanforderungen in einer eingebetteten Umgebung zu implementieren. Das bedeutet: Denken Sie an Sicherheit bei der Auswahl der Hardware, bei der Definition der Systemarchitektur, beim Entwurf des Systems und natürlich beim Schreiben des Codes.

Beginnen Sie bei der Hardware

Egal wie robust Ihre Softwaresicherheit ist – wenn die Hardware Schwachstellen aufweist, sind Sie anfällig für Angriffe. On-Chip-Sicherheitstechniken ermöglichen einen sicheren Bootvorgang sowie eine effiziente Verwaltung kryptografischer Funktionen und Geheimnisse. Einige Hardwarekomponenten ermöglichen es dem Betriebssystem zudem, verschiedene Sicherheitsfunktionen wie die Erkennung von Systemaufruf-Anomalien, Dateisystemverschlüsselung und Zugriffskontrollrichtlinien bereitzustellen.

Ein fehlertolerantes System

Es gibt zahlreiche Gründe, ein fehlertolerantes System zu entwickeln; die Vermeidung von Angriffen durch differenzielle Fehleranalyse ist nur einer davon. Bei einem solchen Angriff kann ein potenzieller Hacker Fehlerinjektionstechniken nutzen, um Fehler in einem eingebetteten Gerät zu provozieren. Es gibt jedoch verschiedene Möglichkeiten, solche Fehler zu erkennen und sich dagegen zu schützen:

  • Replizieren Sie die kritischsten Operationen, sodass unterschiedliche Ausgaben jederzeit verglichen werden können, um die Injektion eines Fehlers zu erkennen.
  • Standardmäßig fehlschlagen: Wenn Sie mehrere Bedingungen verarbeiten (innerhalb einer If-Bedingung oder eines Switch-Blocks), lassen Sie den Standardfall immer fehlschlagen, d. h. wenn nichts anderes zutrifft.
  • Zufälliges Verhalten einführen: Das Hinzufügen kleiner, zufälliger Verzögerungen vor entscheidenden Operationen stellt sicher, dass deren Timing niemals vorhersehbar ist. Dies ist der Schlüssel zur Einbruchserkennung, da es für Hacker sehr schwierig wird, Betriebsmuster zu bestimmen und Timing-Angriffe durchzuführen.
  • Schutzschilde: Hersteller sollten die kritischsten Komponenten mit Abschirmungen versehen, um sie vor externer Manipulation zu schützen.
  • Anormale Schwankungen erkennen: Überwachen Sie das System auf anormale Schwankungen bei Spannung, Strom oder anderen Werten und lösen Sie entsprechende Ausnahmen aus.

Sichern Sie Ihre Anwendung … und Ihr Betriebssystem

Der Aufbau der Verteidigung Ihres Geräts auf Anwendungsebene umfasst:

  • Die Auswahl getesteter, seriöser Software- und Hardwarekomponenten von Drittanbietern, die regelmäßig aktualisiert werden können.
  • Weiterbildung von Entwicklern in Bezug auf Best Practices für die Sicherheit eingebetteter Systeme.
  • Verwendung eines Microkernel-Betriebssystems, um sicherzustellen, dass eine minimale Anzahl von Operationen im Kernel-Bereich ausgeführt wird.
  • Überwachung und Schutz vor Softwareangriffen, einschließlich Viren, Trojanern und Malware.
  • Entfernen aller unnötigen Dienste. Ihre Firmware sollte nur das enthalten, was Sie unbedingt benötigen. Wenn Sie beispielsweise keine Dateien übertragen oder Pakete erfassen müssen, können Sie Dateitransferprotokolle und Netzwerkpakete wie Telnet deaktivieren.
  • Verwendung sicherer Protokolle wie SFTP, IPsec, SSL, TLS, SSH und DNSSEC.

Tools für die Sicherheit eingebetteter Systeme

Hier ist eine Auswahl an Tools, die bei der Absicherung eingebetteter Systeme helfen können:

  • Bus Blaster: Eine Hochgeschwindigkeits-Debugging-Plattform, die mit Hardware-Debug-Ports interagieren kann.
  • Saleae: Dekodiert verschiedene Protokolle wie Serial, SPI, I2C usw. Sie können von der Community entwickelte Protokollanalysatoren verwenden oder eigene erstellen.
  • HydraBus: Open-Source-Multi-Tool-Hardware, die für Debugging, Hacking und Penetrationstests eingebetteter Hardware eingesetzt werden kann.
  • Exploit: Ein Open-Source-Framework für Sicherheitstests und Exploits im Internet der Dinge (IoT).
  • FACT (The Firmware Analysis and Comparison Tool): Ein Framework zur Automatisierung der Firmware-Sicherheitsanalyse.
  • Routersploit: Ein Open-Source-Exploitation-Framework für eingebettete Geräte.
  • Firmadyne: Open-Source-System zur Emulation und dynamischen Analyse von Linux-basierter eingebetteter Firmware.

Wo liegen die Defizite moderner Embedded-Security-Lösungen?

Obwohl es verschiedene Lösungen für Debugging, Exploits und Penetrationstests gibt, werden diese kaum genutzt. Der Fokus liegt meist auf der physischen Absicherung des Geräts, während der Schutz vor softwarebasierten Angriffen vernachlässigt wird. Selbst einfachste und leicht vermeidbare Sicherheitsrisiken sind bei modernen eingebetteten Geräten nach wie vor weit verbreitet.

Ein wesentlicher Grund hierfür ist das mangelnde Bewusstsein der Entwickler für Embedded Security. Laut einer Umfrage von Tripwire glauben 68 % der IT-Fachkräfte, dass ihre Mitarbeiter nicht ausreichend über potenzielle Schwachstellen informiert sind.

Entwicklern fehlt oft das Wissen darüber, welche Sicherheitsprotokolle zu wählen sind, welche Frameworks vermieden werden sollten, wie Hardwarekomponenten zu trennen sind, wie mit sensiblen Daten umzugehen ist und welcher Verschlüsselungsalgorithmus am sichersten ist. Dieser allgemeine Mangel an Fachwissen und die Missachtung bewährter Verfahren machen Anwendungen auf eingebetteten Geräten anfällig für Kompromittierungen.

Die Zukunft der Embedded Security

Auf dem Markt für Embedded Security tut sich viel. Experten gehen davon aus, dass die durchschnittliche jährliche Wachstumsrate (CAGR) im Zeitraum 2021–2026 bei 5,5 % liegen könnte. Mit der zunehmenden Verbreitung von IoT-Geräten ist mit der Etablierung neuer Sicherheitsstandards für eingebettete Systeme zu rechnen.

Die zunehmende Nutzung tragbarer medizinischer Geräte wird ebenfalls die Nachfrage nach zuverlässigen Sicherheitslösungen erhöhen. Da diese Geräte sensible medizinische Daten verarbeiten, müssen sie bestimmte Sicherheitskriterien erfüllen. Wir hoffen, dass dies Anbieter und Ingenieure dazu bewegt, Sicherheit stärker in den Fokus zu rücken.

In Zukunft könnten Lösungen verfügbar sein, die eine Fernüberwachung und -steuerung der wichtigsten Software- und Hardwarekomponenten eingebetteter Geräte ermöglichen. Dies wäre ein echter Wendepunkt für die Sicherheit eingebetteter Systeme.

Letztendlich reichen digitale Signaturen, Datenverschlüsselung, Firewalls, Zugriffskontrollen und die Randomisierung von Abläufen allein nicht aus. Um wirklich sichere Geräte zu bauen, müssen Entwickler darin geschult werden, sicheren Code zu schreiben. Das Erkennen und Entschärfen potenzieller Sicherheitsrisiken bereits in der Designphase trägt maßgeblich dazu bei, Systeme von Grund auf sicher zu machen.

Wie Secure Code Warrior helfen kann

Das Flaggschiff-Produkt von Secure Code Warrior – unsere Lernplattform – bietet zahlreiche interaktive Challenges, Kurse und Assessments, die Entwickler dabei unterstützen, sicheren C/C++-Code zu schreiben. Die Inhalte sind frameworkspezifisch und hochgradig motivierend. Unsere C/C++:Embed-Coding-Challenges basieren auf MISRA C, AUTOSAR C++ (MISRA C++) und IEC-Standards.

Entwickler können personalisierte Lernpfade einschlagen, in denen sie C/C++-spezifische Schwachstellen identifizieren und vor allem lernen, diese Fehler zu beheben. Dabei können sie ihren Fortschritt verfolgen, Schwächen erkennen und sich in freundschaftlichen Coding-Wettbewerben mit Kollegen messen. Erfahren Sie mehr darüber, wie wir die Automobil- und Transportbranche mit unseren Lösungen unterstützen.

Möchten Sie sehen, wie interaktiv und praxisnah unsere Challenges sind? Probieren Sie einige C/C++:Embed-Challenges noch heute auf unserer Lernplattform aus!

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.