Warum End-to-End-Sicherheit für eingebettete Systeme wichtig ist
Eingebettete Systeme tragen zu einem Großteil der modernen Technologie bei. Vom adaptiven Geschwindigkeitsregler in Ihrem Auto bis hin zum Wifi in Ihrem intelligenten Kühlschrank. Mit der Zunahme von Cyberangriffen ist die Sicherung dieser Systeme von entscheidender Bedeutung geworden.
Eingebettete Geräte sind ein ideales Ziel für Hacker, denn ein erfolgreicher Angriff kann Eindringlingen Zugang zu den von ihnen erzeugten, empfangenen und verarbeiteten Daten verschaffen. Dies kann oft schwerwiegende Folgen für das größere System haben, das von dem eingebetteten Gerät betrieben wird. So kann z. B. die Abschaltung eines eingebetteten Geräts in einem F-15-Kampfjet, das Daten von verschiedenen Kameras und Sensoren sammelt, die Verteidigung des Jets erheblich beeinträchtigen.
In diesem Artikel finden Sie alles, was Sie für die Entwicklung sicherer eingebetteter Systeme benötigen. Hier finden Sie, was enthalten ist:
- Was ist eingebettete Sicherheit?
- Herausforderungen bei der Implementierung eingebetteter Sicherheit.
- Was macht ein eingebettetes System "sicher"?
- Warum End-to-End-Sicherheit in einem eingebetteten Ökosystem wichtig ist.
- Einige eingebettete Sicherheitstools.
- Was fehlt den typischen eingebetteten Lösungen?
- Die Zukunft der eingebetteten Sicherheit.
Was ist eingebettete Sicherheit?
Embedded Security bietet die Tools, Prozesse und Best Practices zur Sicherung der Software und Hardware von Embedded-Geräten.
Da die Hardware-Module eingebetteter Systeme klein sind, unterliegen sie verschiedenen Beschränkungen in Bezug auf den Speicher und die Speicherung. Die Integration von Sicherheitsmaßnahmen in diese Systeme ist daher eine große Herausforderung für das Design. Doch so schwierig dies auch sein mag, es ist ein Gebot der Stunde.
Viele der von eingebetteten Geräten betriebenen Gadgets und Maschinen sind auch mit dem Internet verbunden. Das bedeutet, dass Hacker unbefugten Zugang zu ihnen erhalten und bösartigen Code ausführen können.
Ein Hack in einem eingebetteten Gerät kann sich oft auf andere angeschlossene Komponenten ausbreiten und/oder das gesamte System lahmlegen. Nehmen wir zum Beispiel an, dass ein Angreifer die Kontrolle über ein eingebettetes Gerät erlangt, mit dem der Fahrer sein Auto auf Autopilot schalten kann. Der Hacker kann das Auto dann von der Straße weg oder in den Verkehr hinein steuern und so möglicherweise großen Schaden anrichten.
Kritische Herausforderungen für die Sicherheit eingebetteter Systeme
Die Sicherheit eingebetteter Systeme erhält nicht die Aufmerksamkeit, die sie verdient. Hier sind ein paar Gründe dafür:
- Mangelndes Bewusstsein der Entwickler:
Die Entwickler kennen in der Regel nicht die besten Verfahren für die Entwicklung sicherer eingebetteter Geräte. Das liegt zum einen an Punkt 2 und zum anderen daran, dass eingebettete Anwendungen weitaus komplizierter sind als herkömmliche Softwareanwendungen. Es kann eine Herausforderung sein, die Auswirkungen auf die Sicherheit zu verstehen und sicheren, leistungsfähigen Code für alle Anwendungsfälle zu schreiben, und das auch noch in einer eingeschränkten Mikrocomputerumgebung.
- Mangelnde Standardisierung:
Es fehlt an Cybersicherheitsstandards für eingebettete Systeme. Auch wenn die Autoindustrie langsam versucht, dies zu ändern. In den letzten Jahren haben Forscher eine ganze Reihe von Publikationen veröffentlicht, die sich mit der Cybersicherheit von intelligenten Fahrzeugen befassen. Einige davon sind SAE J3061, "Cybersecurity Guidebook for Cyber-Physical Vehicle Systems", und UNECE WP.29 Regulation on Cyber Security and Software Update Processes.
- Verwendung von Komponenten Dritter
Viele eingebettete Geräte benötigen Hardware- und Softwarekomponenten von Drittanbietern, um zu funktionieren. Oft werden diese Komponenten verwendet, ohne dass sie auf Sicherheitsmängel und Schwachstellen getestet wurden.
- Veraltete Software
Eine veraltete Firmware ist in der Regel mit Fehlern und potenziell ausnutzbaren Schwachstellen behaftet. Auch wenn es besonders schwierig sein kann, die Firmware eines kleinen, eingebetteten Geräts regelmäßig zu aktualisieren, kann dies nicht ignoriert werden.
- Direkte Internetverbindung
Viele eingebettete Systeme und Geräte sind direkt mit dem Internet verbunden. Dies bedeutet, dass sie nicht über den Schutz von Unternehmensfirewalls verfügen, die Netzwerkangriffe erkennen und verhindern können. Da die Ressourcen knapp sind, ist es sehr schwierig, in einer derart eingeschränkten Umgebung strenge Sicherheitsstandards zu implementieren.
- Angriff in großem Maßstab
Eingebettete Geräte werden in der Regel in großem Maßstab hergestellt. Das bedeutet, dass eine einzige Schwachstelle oder ein Fehler Millionen von Geräten betreffen kann, manchmal sogar weltweit. Die Eindämmung der Auswirkungen eines Angriffs auf eingebettete Systeme kann daher eine große Herausforderung darstellen.
Was macht ein eingebettetes System sicher?
In den folgenden Abschnitten werden wir einige Software- und Hardware-Merkmale sicherer eingebetteter Systeme betrachten.
Bewährte Hardware-Sicherheitspraktiken
Ein sicheres eingebettetes System hat:
- Eine vertrauenswürdige Ausführungsumgebung
Eine vertrauenswürdige Ausführungsumgebung (TEE) ermöglicht die Isolierung sicherheitskritischer Vorgänge auf Hardwareebene. So kann beispielsweise die Benutzerauthentifizierung in einem separaten Bereich ausgeführt werden, was einen besseren Schutz sensibler Informationen ermöglicht.
- Angemessen partitionierte Hardwareressourcen
Verschiedene Hardwarekomponenten wie Prozessor(en), Cache, Speicher, Netzwerkschnittstellen usw. sollten angemessen getrennt sein und ihre Funktionen so unabhängig wie möglich ausführen. Dadurch wird verhindert, dass sich ein Fehler in einer Komponente auf andere Komponenten ausbreitet.
- Schutz des ausführbaren Speicherplatzes (ESP)
Der Schutz des ausführbaren Speichers (Executable Space Protection, ESP) besteht darin, bestimmte Speicherbereiche als nicht ausführbar zu markieren. Wenn jemand versucht, Code innerhalb dieser markierten Bereiche auszuführen, wird eine Ausnahme ausgelöst.
Bewährte Software-Sicherheitspraktiken
Bei der Entwicklung von eingebetteter Software sollten die folgenden bewährten Verfahren beachtet werden:
- Sicheres Booten verwenden:
Wenn ein eingebettetes Gerät hochfährt, wird das Boot-Image mithilfe kryptografischer Algorithmen überprüft. Dadurch wird sichergestellt, dass die Boot-Sequenz korrekt ist und dass die Software (Firmware und andere relevante Daten) nicht manipuliert wurde.
- Verwendung eines Mikrokernel-Betriebssystems
Ein Mikrokernel-Betriebssystem ist viel kleiner als ein herkömmliches Betriebssystem und enthält nur eine Teilmenge seiner Funktionen. Der Kernelbereich ist winzig, und viele Benutzerdienste (wie die Dateisystemverwaltung usw.) werden in einem separaten Bereich, dem so genannten Benutzerbereich , gehalten . Da im Kernelbereich weniger Code und Operationen ausgeführt werden, ist die Angriffsfläche deutlich geringer.
- ordnungsgemäß verpackte Softwareanwendungen verwenden
Jede Softwareanwendung sollte in sich geschlossen und ordnungsgemäß verpackt sein. Wenn eine Anwendung z. B. eine Abhängigkeit von einem Drittanbieter erfordert, sollte diese nicht global auf dem Betriebssystem installiert werden. Vielmehr sollte sie Teil des Anwendungspakets/Containers sein.
- Alle Eingaben validieren
Alle von externen und/oder nicht vertrauenswürdigen Quellen empfangenen Daten sollten ordnungsgemäß bereinigt und validiert werden, bevor sie an kritische Software- und/oder Hardwarekomponenten weitergeleitet werden.
Wenn eine Anwendung Daten von einer externen API-Integration abruft und darauf basierend eine Einstellung umschaltet, sollten die empfangenen Daten streng validiert werden, bevor die Einstellung geändert wird.
- Schutz der Daten im Ruhezustand:
Die gesamte sensible Software, Daten, Konfigurationsdateien, sichere Schlüssel und Passwörter usw., die auf einem eingebetteten Gerät gespeichert sind, sollten geschützt werden. Dies geschieht in der Regel durch Verschlüsselung. Die privaten Schlüssel, die zur Verschlüsselung der Daten verwendet werden, müssen in spezieller, eigens dafür entwickelter Sicherheitshardware gespeichert werden.
Die Sicherheitspyramide - End-to-End-Sicherheit für eingebettete Systeme
Vorbei sind die Zeiten, in denen Sicherheit ein nachträglicher Gedanke war. Eine nicht-funktionale Anforderung. Heute muss die Sicherheit inhärent sein. Die Geräte müssen von vornherein sicher sein. Zu diesem Zweck ist es unerlässlich, in einer eingebetteten Umgebung durchgängige Sicherheitsanforderungen zu implementieren. Das bedeutet: Denken Sie bei der Auswahl der Hardware, bei der Definition der Systemarchitektur, beim Entwurf des Systems und natürlich beim Schreiben des Codes an die Sicherheit.
Beginnen Sie bei der Hardware
Wie robust Ihre Software auch sein mag, wenn Ihre Hardware nicht ausreichend geschützt ist, sind Sie anfällig für Angriffe. On-Chip-Sicherheitstechniken können einen sicheren Start und eine effiziente Verwaltung von kryptografischen Funktionen und Geheimnissen ermöglichen. Einige Hardwarekomponenten ermöglichen es dem Betriebssystem auch, verschiedene Sicherheitsfunktionen wie die Erkennung von Systemanomalien bei Systemaufrufen, die Verschlüsselung des Dateisystems und Zugriffskontrollrichtlinien anzubieten.
Ein fehlertolerantes System
Es gibt zahlreiche Gründe, ein fehlertolerantes System zu entwickeln, und die Vermeidung von Angriffen durch differenzielle Fehleranalyse ist nur einer davon. Bei einem solchen Angriff kann ein potenzieller Hacker mithilfe von Fehlerinjektionstechniken versuchen, Fehler in einem eingebetteten Gerät zu erzeugen. Es gibt jedoch mehrere Möglichkeiten, solche Fehler zu erkennen und sich dagegen zu schützen:
- Replizieren Sie die kritischsten Vorgänge, so dass die verschiedenen Ausgaben jederzeit verglichen werden können, um das Auftreten eines Fehlers zu erkennen.
- Standardmäßig fehlschlagen: Bei der Behandlung mehrerer Bedingungen (innerhalb einer If-Bedingung oder eines Switch-Blocks) immer im Standardfall fehlschlagen, d.h. wenn nichts anderes passt.
- Führen Sie ein zufälliges Verhalten ein: Durch das Hinzufügen kleiner, zufälliger Verzögerungen vor wichtigen Operationen wird sichergestellt, dass deren Zeitablauf niemals vorhersehbar ist. Dies ist für die Erkennung von Eindringlingen von entscheidender Bedeutung, da es für Hacker sehr schwierig ist, Betriebsmuster zu ermitteln und Zeitangriffe durchzuführen.
- Schutzabdeckungen: Die Hersteller sollten die wichtigsten Komponenten mit Abdeckungen versehen, um sie vor Manipulationen von außen zu schützen.
- Erkennen Sie abnormale Schwankungen: Erkennen Sie abnormale Schwankungen bei Spannung, Strom oder anderen Werten und lösen Sie entsprechende Ausnahmen aus.
Sichern Sie Ihre Anwendung... und Ihr Betriebssystem
Der Aufbau des Schutzes Ihres Geräts auf der Anwendungsebene beinhaltet:
- Auswahl geprüfter, seriöser Software- und Hardwarekomponenten von Drittanbietern, die regelmäßig aktualisiert werden können.
- Weiterbildung von Entwicklern in den besten Praktiken für die Sicherheit eingebetteter Systeme.
- Verwenden Sie ein Mikrokernel-Betriebssystem, um sicherzustellen, dass nur eine minimale Anzahl von Operationen im Kernelbereich ausgeführt wird.
- Überwachung und Schutz vor Software-Angriffen, einschließlich Viren, Trojanern und Malware.
- Entfernen Sie alle unnötigen Dienste. Ihre Firmware sollte nur das enthalten, was Sie unbedingt benötigen. Wenn Sie z. B. keine Dateien übertragen oder Pakete aufzeichnen müssen, können Sie Dateiübertragungsprotokolle und Netzwerkpakete wie Telnet deaktivieren.
- Verwenden Sie sichere Protokolle wie SFTP, IPsec, SSL, TLS, SSH und DNSSEC.
Tools für die Sicherheit eingebetteter Systeme
Im Folgenden finden Sie eine nicht erschöpfende Liste von Tools, die bei der Sicherung eingebetteter Systeme helfen können:
- Bus-Blaster: Eine Hochgeschwindigkeits-Debugging-Plattform, die mit Hardware-Debug-Ports interagieren kann.
- Salae: Dekodieren Sie verschiedene Protokolle wie Seriell, SPI und I2C usw. Sie können von der Community erstellte Protokollanalysatoren verwenden oder Ihre eigenen erstellen.
- Hydrabus: Open-Source-Multi-Tool-Hardware, die für Debugging, Hacking und/oder Penetrationstests von eingebetteter Hardware verwendet werden kann.
- Ausnutzen: Ein Open-Source-Framework zum Testen und Ausnutzen der Sicherheit des Internets der Dinge (IoT).
- FACT (The Firmware Analysis and Comparison Tool): Framework zur Automatisierung der Sicherheitsanalyse von Firmware.
- Routersploit: Ein Open-Source-Exploit-Framework für eingebettete Geräte.
- Firmadyne: Open-Source-System zur Emulation und dynamischen Analyse von Linux-basierter Embedded-Firmware.
Woran mangelt es bei modernen eingebetteten Sicherheitslösungen?
Obwohl verschiedene Lösungen zum Debuggen, Ausnutzen und Testen von eingebetteten Lösungen zur Verfügung stehen, werden sie nicht ohne weiteres eingesetzt. Ein großer Schwerpunkt liegt nach wie vor auf der physischen Absicherung des Geräts, aber es wird nicht genug für den Schutz vor softwarebezogenen Angriffen getan. Selbst die einfachsten und leicht vermeidbaren Sicherheitsrisiken und Schwachstellen von Anwendungen sind bei modernen eingebetteten Geräten immer noch weit verbreitet.
Ein wichtiger Grund dafür ist das mangelnde Bewusstsein der Entwickler für eingebettete Sicherheit. Laut einer von Tripwire durchgeführten Umfrage glauben 68 % der IT-Fachleute, dass ihre Mitarbeiter nicht ausreichend über potenzielle Sicherheitslücken informiert sind.
Die Entwickler wissen nicht, welche Sicherheitsprotokolle zu wählen sind, welche Frameworks zu vermeiden sind, welche Hardwarekomponenten abgetrennt werden müssen, wie mit sensiblen Daten umzugehen ist und welcher Verschlüsselungsalgorithmus der sicherste ist. Dieser allgemeine Mangel an Wissen und die Missachtung bewährter Verfahren machen Anwendungen, die auf eingebetteten Geräten laufen, anfällig für Kompromisse.
Die Zukunft der eingebetteten Sicherheit
Auf dem Markt für eingebettete Sicherheit wird viel gearbeitet. Experten gehen davon aus, dass die durchschnittliche jährliche Wachstumsrate (CAGR) des Marktes im Zeitraum von 2021 bis 2026 einen Wert von 5,5 % erreichen kann . Da immer mehr IoT-Geräte auf den Markt kommen, ist zu erwarten, dass sich neue eingebettete Sicherheitsstandards etablieren werden.
Die zunehmende Verbreitung von tragbaren medizinischen Geräten wird auch die Nachfrage nach zuverlässigen eingebetteten Sicherheitslösungen erhöhen. Damit die Geräte sensible medizinische Daten enthalten und verarbeiten können, müssen sie bestimmte Sicherheitschecklisten erfüllen, und wir hoffen, dass Anbieter und Ingenieure sich deshalb stärker auf die Sicherheit konzentrieren werden.
In Zukunft werden wir vielleicht auch Lösungen haben, die eine Fernsicht, -überwachung und -steuerung der wichtigsten Software- und Hardwarekomponenten in eingebetteten Geräten ermöglichen. Dies wird die Welt der Sicherheit eingebetteter Systeme grundlegend verändern.
Digitale Signaturen, die Verschlüsselung von Daten, das Hinzufügen von Firewalls, die Implementierung von Zugriffskontrollen und die Zufallsgenerierung von Operationen reichen letztendlich nur bis zu einem gewissen Punkt. Um wirklich sichere Geräte zu bauen, müssen die Entwickler darin geschult werden, sicheren Code zu schreiben. Die Identifizierung potenzieller Sicherheitsrisiken und deren Abschwächung in der Phase des Anwendungsentwurfs trägt wesentlich dazu bei, dass Systeme von sich aus sicher sind.
Wie Secure Code Warrior helfen kann
Das Vorzeigeprodukt vonSecure Code Warrior- learning platform - bietet zahlreiche interaktive Herausforderungen, courses, und Bewertungen, die Entwicklern helfen können, sicheren C/C++-Code zu schreiben. Der Inhalt der Plattform ist rahmenspezifisch und sehr ansprechend. Unsere C/C++:Embed-Codieraufgaben wurden sowohl von MISRA C, AUTOSAR C++ (MISRA C++) als auch von IEC inspiriert.
Entwickler können sich auf eine persönliche Lernreise begeben, auf der sie C/C++-spezifische Schwachstellen erkennen und - was noch wichtiger ist - lernen, diese Fehler zu beheben. In diesem Prozess können die Entwickler ihre Fortschritte verfolgen, um ihre Schwachstellen zu erkennen, und sogar einen freundschaftlichen Programmierwettbewerb mit Gleichgesinnten austragen. Erfahren Sie mehr darüber, wie wir die Automobil- und Transportbranche mit unseren Lösungen unterstützen.
Möchten Sie herausfinden, wie interaktiv und einbettungsorientiert unsere Challenges sind? Probieren Sie noch heute einige C/C++:Embed-Herausforderungen auf learning platform aus!


Dieser Artikel gibt einen Überblick über die Sicherung eingebetteter Systeme. Wir beginnen mit einer grundlegenden Definition und gehen dann zu den Herausforderungen der eingebetteten Sicherheit, einigen typischen Lösungen und den noch fehlenden Puzzlesteinen über.
Secure Code Warrior macht sicheres Programmieren zu einer positiven und fesselnden Erfahrung für Entwickler, die ihre Fähigkeiten ausbauen. Wir leiten jeden Programmierer auf seinem bevorzugten Lernpfad an, damit sicherheitskompetente Entwickler zu den täglichen Superhelden unserer vernetzten Welt werden.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenSecure Code Warrior macht sicheres Programmieren zu einer positiven und fesselnden Erfahrung für Entwickler, die ihre Fähigkeiten ausbauen. Wir leiten jeden Programmierer auf seinem bevorzugten Lernpfad an, damit sicherheitskompetente Entwickler zu den täglichen Superhelden unserer vernetzten Welt werden.
Dieser Artikel wurde verfasst von Secure Code Warrior Das Team von Branchenexperten hat es sich zur Aufgabe gemacht, Entwicklern das Wissen und die Fähigkeiten zu vermitteln, die sie brauchen, um von Anfang an sichere Software zu entwickeln. Dabei stützen wir uns auf umfassendes Fachwissen zu sicheren Codierungspraktiken, Branchentrends und Erkenntnissen aus der Praxis.


Eingebettete Systeme tragen zu einem Großteil der modernen Technologie bei. Vom adaptiven Geschwindigkeitsregler in Ihrem Auto bis hin zum Wifi in Ihrem intelligenten Kühlschrank. Mit der Zunahme von Cyberangriffen ist die Sicherung dieser Systeme von entscheidender Bedeutung geworden.
Eingebettete Geräte sind ein ideales Ziel für Hacker, denn ein erfolgreicher Angriff kann Eindringlingen Zugang zu den von ihnen erzeugten, empfangenen und verarbeiteten Daten verschaffen. Dies kann oft schwerwiegende Folgen für das größere System haben, das von dem eingebetteten Gerät betrieben wird. So kann z. B. die Abschaltung eines eingebetteten Geräts in einem F-15-Kampfjet, das Daten von verschiedenen Kameras und Sensoren sammelt, die Verteidigung des Jets erheblich beeinträchtigen.
In diesem Artikel finden Sie alles, was Sie für die Entwicklung sicherer eingebetteter Systeme benötigen. Hier finden Sie, was enthalten ist:
- Was ist eingebettete Sicherheit?
- Herausforderungen bei der Implementierung eingebetteter Sicherheit.
- Was macht ein eingebettetes System "sicher"?
- Warum End-to-End-Sicherheit in einem eingebetteten Ökosystem wichtig ist.
- Einige eingebettete Sicherheitstools.
- Was fehlt den typischen eingebetteten Lösungen?
- Die Zukunft der eingebetteten Sicherheit.
Was ist eingebettete Sicherheit?
Embedded Security bietet die Tools, Prozesse und Best Practices zur Sicherung der Software und Hardware von Embedded-Geräten.
Da die Hardware-Module eingebetteter Systeme klein sind, unterliegen sie verschiedenen Beschränkungen in Bezug auf den Speicher und die Speicherung. Die Integration von Sicherheitsmaßnahmen in diese Systeme ist daher eine große Herausforderung für das Design. Doch so schwierig dies auch sein mag, es ist ein Gebot der Stunde.
Viele der von eingebetteten Geräten betriebenen Gadgets und Maschinen sind auch mit dem Internet verbunden. Das bedeutet, dass Hacker unbefugten Zugang zu ihnen erhalten und bösartigen Code ausführen können.
Ein Hack in einem eingebetteten Gerät kann sich oft auf andere angeschlossene Komponenten ausbreiten und/oder das gesamte System lahmlegen. Nehmen wir zum Beispiel an, dass ein Angreifer die Kontrolle über ein eingebettetes Gerät erlangt, mit dem der Fahrer sein Auto auf Autopilot schalten kann. Der Hacker kann das Auto dann von der Straße weg oder in den Verkehr hinein steuern und so möglicherweise großen Schaden anrichten.
Kritische Herausforderungen für die Sicherheit eingebetteter Systeme
Die Sicherheit eingebetteter Systeme erhält nicht die Aufmerksamkeit, die sie verdient. Hier sind ein paar Gründe dafür:
- Mangelndes Bewusstsein der Entwickler:
Die Entwickler kennen in der Regel nicht die besten Verfahren für die Entwicklung sicherer eingebetteter Geräte. Das liegt zum einen an Punkt 2 und zum anderen daran, dass eingebettete Anwendungen weitaus komplizierter sind als herkömmliche Softwareanwendungen. Es kann eine Herausforderung sein, die Auswirkungen auf die Sicherheit zu verstehen und sicheren, leistungsfähigen Code für alle Anwendungsfälle zu schreiben, und das auch noch in einer eingeschränkten Mikrocomputerumgebung.
- Mangelnde Standardisierung:
Es fehlt an Cybersicherheitsstandards für eingebettete Systeme. Auch wenn die Autoindustrie langsam versucht, dies zu ändern. In den letzten Jahren haben Forscher eine ganze Reihe von Publikationen veröffentlicht, die sich mit der Cybersicherheit von intelligenten Fahrzeugen befassen. Einige davon sind SAE J3061, "Cybersecurity Guidebook for Cyber-Physical Vehicle Systems", und UNECE WP.29 Regulation on Cyber Security and Software Update Processes.
- Verwendung von Komponenten Dritter
Viele eingebettete Geräte benötigen Hardware- und Softwarekomponenten von Drittanbietern, um zu funktionieren. Oft werden diese Komponenten verwendet, ohne dass sie auf Sicherheitsmängel und Schwachstellen getestet wurden.
- Veraltete Software
Eine veraltete Firmware ist in der Regel mit Fehlern und potenziell ausnutzbaren Schwachstellen behaftet. Auch wenn es besonders schwierig sein kann, die Firmware eines kleinen, eingebetteten Geräts regelmäßig zu aktualisieren, kann dies nicht ignoriert werden.
- Direkte Internetverbindung
Viele eingebettete Systeme und Geräte sind direkt mit dem Internet verbunden. Dies bedeutet, dass sie nicht über den Schutz von Unternehmensfirewalls verfügen, die Netzwerkangriffe erkennen und verhindern können. Da die Ressourcen knapp sind, ist es sehr schwierig, in einer derart eingeschränkten Umgebung strenge Sicherheitsstandards zu implementieren.
- Angriff in großem Maßstab
Eingebettete Geräte werden in der Regel in großem Maßstab hergestellt. Das bedeutet, dass eine einzige Schwachstelle oder ein Fehler Millionen von Geräten betreffen kann, manchmal sogar weltweit. Die Eindämmung der Auswirkungen eines Angriffs auf eingebettete Systeme kann daher eine große Herausforderung darstellen.
Was macht ein eingebettetes System sicher?
In den folgenden Abschnitten werden wir einige Software- und Hardware-Merkmale sicherer eingebetteter Systeme betrachten.
Bewährte Hardware-Sicherheitspraktiken
Ein sicheres eingebettetes System hat:
- Eine vertrauenswürdige Ausführungsumgebung
Eine vertrauenswürdige Ausführungsumgebung (TEE) ermöglicht die Isolierung sicherheitskritischer Vorgänge auf Hardwareebene. So kann beispielsweise die Benutzerauthentifizierung in einem separaten Bereich ausgeführt werden, was einen besseren Schutz sensibler Informationen ermöglicht.
- Angemessen partitionierte Hardwareressourcen
Verschiedene Hardwarekomponenten wie Prozessor(en), Cache, Speicher, Netzwerkschnittstellen usw. sollten angemessen getrennt sein und ihre Funktionen so unabhängig wie möglich ausführen. Dadurch wird verhindert, dass sich ein Fehler in einer Komponente auf andere Komponenten ausbreitet.
- Schutz des ausführbaren Speicherplatzes (ESP)
Der Schutz des ausführbaren Speichers (Executable Space Protection, ESP) besteht darin, bestimmte Speicherbereiche als nicht ausführbar zu markieren. Wenn jemand versucht, Code innerhalb dieser markierten Bereiche auszuführen, wird eine Ausnahme ausgelöst.
Bewährte Software-Sicherheitspraktiken
Bei der Entwicklung von eingebetteter Software sollten die folgenden bewährten Verfahren beachtet werden:
- Sicheres Booten verwenden:
Wenn ein eingebettetes Gerät hochfährt, wird das Boot-Image mithilfe kryptografischer Algorithmen überprüft. Dadurch wird sichergestellt, dass die Boot-Sequenz korrekt ist und dass die Software (Firmware und andere relevante Daten) nicht manipuliert wurde.
- Verwendung eines Mikrokernel-Betriebssystems
Ein Mikrokernel-Betriebssystem ist viel kleiner als ein herkömmliches Betriebssystem und enthält nur eine Teilmenge seiner Funktionen. Der Kernelbereich ist winzig, und viele Benutzerdienste (wie die Dateisystemverwaltung usw.) werden in einem separaten Bereich, dem so genannten Benutzerbereich , gehalten . Da im Kernelbereich weniger Code und Operationen ausgeführt werden, ist die Angriffsfläche deutlich geringer.
- ordnungsgemäß verpackte Softwareanwendungen verwenden
Jede Softwareanwendung sollte in sich geschlossen und ordnungsgemäß verpackt sein. Wenn eine Anwendung z. B. eine Abhängigkeit von einem Drittanbieter erfordert, sollte diese nicht global auf dem Betriebssystem installiert werden. Vielmehr sollte sie Teil des Anwendungspakets/Containers sein.
- Alle Eingaben validieren
Alle von externen und/oder nicht vertrauenswürdigen Quellen empfangenen Daten sollten ordnungsgemäß bereinigt und validiert werden, bevor sie an kritische Software- und/oder Hardwarekomponenten weitergeleitet werden.
Wenn eine Anwendung Daten von einer externen API-Integration abruft und darauf basierend eine Einstellung umschaltet, sollten die empfangenen Daten streng validiert werden, bevor die Einstellung geändert wird.
- Schutz der Daten im Ruhezustand:
Die gesamte sensible Software, Daten, Konfigurationsdateien, sichere Schlüssel und Passwörter usw., die auf einem eingebetteten Gerät gespeichert sind, sollten geschützt werden. Dies geschieht in der Regel durch Verschlüsselung. Die privaten Schlüssel, die zur Verschlüsselung der Daten verwendet werden, müssen in spezieller, eigens dafür entwickelter Sicherheitshardware gespeichert werden.
Die Sicherheitspyramide - End-to-End-Sicherheit für eingebettete Systeme
Vorbei sind die Zeiten, in denen Sicherheit ein nachträglicher Gedanke war. Eine nicht-funktionale Anforderung. Heute muss die Sicherheit inhärent sein. Die Geräte müssen von vornherein sicher sein. Zu diesem Zweck ist es unerlässlich, in einer eingebetteten Umgebung durchgängige Sicherheitsanforderungen zu implementieren. Das bedeutet: Denken Sie bei der Auswahl der Hardware, bei der Definition der Systemarchitektur, beim Entwurf des Systems und natürlich beim Schreiben des Codes an die Sicherheit.
Beginnen Sie bei der Hardware
Wie robust Ihre Software auch sein mag, wenn Ihre Hardware nicht ausreichend geschützt ist, sind Sie anfällig für Angriffe. On-Chip-Sicherheitstechniken können einen sicheren Start und eine effiziente Verwaltung von kryptografischen Funktionen und Geheimnissen ermöglichen. Einige Hardwarekomponenten ermöglichen es dem Betriebssystem auch, verschiedene Sicherheitsfunktionen wie die Erkennung von Systemanomalien bei Systemaufrufen, die Verschlüsselung des Dateisystems und Zugriffskontrollrichtlinien anzubieten.
Ein fehlertolerantes System
Es gibt zahlreiche Gründe, ein fehlertolerantes System zu entwickeln, und die Vermeidung von Angriffen durch differenzielle Fehleranalyse ist nur einer davon. Bei einem solchen Angriff kann ein potenzieller Hacker mithilfe von Fehlerinjektionstechniken versuchen, Fehler in einem eingebetteten Gerät zu erzeugen. Es gibt jedoch mehrere Möglichkeiten, solche Fehler zu erkennen und sich dagegen zu schützen:
- Replizieren Sie die kritischsten Vorgänge, so dass die verschiedenen Ausgaben jederzeit verglichen werden können, um das Auftreten eines Fehlers zu erkennen.
- Standardmäßig fehlschlagen: Bei der Behandlung mehrerer Bedingungen (innerhalb einer If-Bedingung oder eines Switch-Blocks) immer im Standardfall fehlschlagen, d.h. wenn nichts anderes passt.
- Führen Sie ein zufälliges Verhalten ein: Durch das Hinzufügen kleiner, zufälliger Verzögerungen vor wichtigen Operationen wird sichergestellt, dass deren Zeitablauf niemals vorhersehbar ist. Dies ist für die Erkennung von Eindringlingen von entscheidender Bedeutung, da es für Hacker sehr schwierig ist, Betriebsmuster zu ermitteln und Zeitangriffe durchzuführen.
- Schutzabdeckungen: Die Hersteller sollten die wichtigsten Komponenten mit Abdeckungen versehen, um sie vor Manipulationen von außen zu schützen.
- Erkennen Sie abnormale Schwankungen: Erkennen Sie abnormale Schwankungen bei Spannung, Strom oder anderen Werten und lösen Sie entsprechende Ausnahmen aus.
Sichern Sie Ihre Anwendung... und Ihr Betriebssystem
Der Aufbau des Schutzes Ihres Geräts auf der Anwendungsebene beinhaltet:
- Auswahl geprüfter, seriöser Software- und Hardwarekomponenten von Drittanbietern, die regelmäßig aktualisiert werden können.
- Weiterbildung von Entwicklern in den besten Praktiken für die Sicherheit eingebetteter Systeme.
- Verwenden Sie ein Mikrokernel-Betriebssystem, um sicherzustellen, dass nur eine minimale Anzahl von Operationen im Kernelbereich ausgeführt wird.
- Überwachung und Schutz vor Software-Angriffen, einschließlich Viren, Trojanern und Malware.
- Entfernen Sie alle unnötigen Dienste. Ihre Firmware sollte nur das enthalten, was Sie unbedingt benötigen. Wenn Sie z. B. keine Dateien übertragen oder Pakete aufzeichnen müssen, können Sie Dateiübertragungsprotokolle und Netzwerkpakete wie Telnet deaktivieren.
- Verwenden Sie sichere Protokolle wie SFTP, IPsec, SSL, TLS, SSH und DNSSEC.
Tools für die Sicherheit eingebetteter Systeme
Im Folgenden finden Sie eine nicht erschöpfende Liste von Tools, die bei der Sicherung eingebetteter Systeme helfen können:
- Bus-Blaster: Eine Hochgeschwindigkeits-Debugging-Plattform, die mit Hardware-Debug-Ports interagieren kann.
- Salae: Dekodieren Sie verschiedene Protokolle wie Seriell, SPI und I2C usw. Sie können von der Community erstellte Protokollanalysatoren verwenden oder Ihre eigenen erstellen.
- Hydrabus: Open-Source-Multi-Tool-Hardware, die für Debugging, Hacking und/oder Penetrationstests von eingebetteter Hardware verwendet werden kann.
- Ausnutzen: Ein Open-Source-Framework zum Testen und Ausnutzen der Sicherheit des Internets der Dinge (IoT).
- FACT (The Firmware Analysis and Comparison Tool): Framework zur Automatisierung der Sicherheitsanalyse von Firmware.
- Routersploit: Ein Open-Source-Exploit-Framework für eingebettete Geräte.
- Firmadyne: Open-Source-System zur Emulation und dynamischen Analyse von Linux-basierter Embedded-Firmware.
Woran mangelt es bei modernen eingebetteten Sicherheitslösungen?
Obwohl verschiedene Lösungen zum Debuggen, Ausnutzen und Testen von eingebetteten Lösungen zur Verfügung stehen, werden sie nicht ohne weiteres eingesetzt. Ein großer Schwerpunkt liegt nach wie vor auf der physischen Absicherung des Geräts, aber es wird nicht genug für den Schutz vor softwarebezogenen Angriffen getan. Selbst die einfachsten und leicht vermeidbaren Sicherheitsrisiken und Schwachstellen von Anwendungen sind bei modernen eingebetteten Geräten immer noch weit verbreitet.
Ein wichtiger Grund dafür ist das mangelnde Bewusstsein der Entwickler für eingebettete Sicherheit. Laut einer von Tripwire durchgeführten Umfrage glauben 68 % der IT-Fachleute, dass ihre Mitarbeiter nicht ausreichend über potenzielle Sicherheitslücken informiert sind.
Die Entwickler wissen nicht, welche Sicherheitsprotokolle zu wählen sind, welche Frameworks zu vermeiden sind, welche Hardwarekomponenten abgetrennt werden müssen, wie mit sensiblen Daten umzugehen ist und welcher Verschlüsselungsalgorithmus der sicherste ist. Dieser allgemeine Mangel an Wissen und die Missachtung bewährter Verfahren machen Anwendungen, die auf eingebetteten Geräten laufen, anfällig für Kompromisse.
Die Zukunft der eingebetteten Sicherheit
Auf dem Markt für eingebettete Sicherheit wird viel gearbeitet. Experten gehen davon aus, dass die durchschnittliche jährliche Wachstumsrate (CAGR) des Marktes im Zeitraum von 2021 bis 2026 einen Wert von 5,5 % erreichen kann . Da immer mehr IoT-Geräte auf den Markt kommen, ist zu erwarten, dass sich neue eingebettete Sicherheitsstandards etablieren werden.
Die zunehmende Verbreitung von tragbaren medizinischen Geräten wird auch die Nachfrage nach zuverlässigen eingebetteten Sicherheitslösungen erhöhen. Damit die Geräte sensible medizinische Daten enthalten und verarbeiten können, müssen sie bestimmte Sicherheitschecklisten erfüllen, und wir hoffen, dass Anbieter und Ingenieure sich deshalb stärker auf die Sicherheit konzentrieren werden.
In Zukunft werden wir vielleicht auch Lösungen haben, die eine Fernsicht, -überwachung und -steuerung der wichtigsten Software- und Hardwarekomponenten in eingebetteten Geräten ermöglichen. Dies wird die Welt der Sicherheit eingebetteter Systeme grundlegend verändern.
Digitale Signaturen, die Verschlüsselung von Daten, das Hinzufügen von Firewalls, die Implementierung von Zugriffskontrollen und die Zufallsgenerierung von Operationen reichen letztendlich nur bis zu einem gewissen Punkt. Um wirklich sichere Geräte zu bauen, müssen die Entwickler darin geschult werden, sicheren Code zu schreiben. Die Identifizierung potenzieller Sicherheitsrisiken und deren Abschwächung in der Phase des Anwendungsentwurfs trägt wesentlich dazu bei, dass Systeme von sich aus sicher sind.
Wie Secure Code Warrior helfen kann
Das Vorzeigeprodukt vonSecure Code Warrior- learning platform - bietet zahlreiche interaktive Herausforderungen, courses, und Bewertungen, die Entwicklern helfen können, sicheren C/C++-Code zu schreiben. Der Inhalt der Plattform ist rahmenspezifisch und sehr ansprechend. Unsere C/C++:Embed-Codieraufgaben wurden sowohl von MISRA C, AUTOSAR C++ (MISRA C++) als auch von IEC inspiriert.
Entwickler können sich auf eine persönliche Lernreise begeben, auf der sie C/C++-spezifische Schwachstellen erkennen und - was noch wichtiger ist - lernen, diese Fehler zu beheben. In diesem Prozess können die Entwickler ihre Fortschritte verfolgen, um ihre Schwachstellen zu erkennen, und sogar einen freundschaftlichen Programmierwettbewerb mit Gleichgesinnten austragen. Erfahren Sie mehr darüber, wie wir die Automobil- und Transportbranche mit unseren Lösungen unterstützen.
Möchten Sie herausfinden, wie interaktiv und einbettungsorientiert unsere Challenges sind? Probieren Sie noch heute einige C/C++:Embed-Herausforderungen auf learning platform aus!

Eingebettete Systeme tragen zu einem Großteil der modernen Technologie bei. Vom adaptiven Geschwindigkeitsregler in Ihrem Auto bis hin zum Wifi in Ihrem intelligenten Kühlschrank. Mit der Zunahme von Cyberangriffen ist die Sicherung dieser Systeme von entscheidender Bedeutung geworden.
Eingebettete Geräte sind ein ideales Ziel für Hacker, denn ein erfolgreicher Angriff kann Eindringlingen Zugang zu den von ihnen erzeugten, empfangenen und verarbeiteten Daten verschaffen. Dies kann oft schwerwiegende Folgen für das größere System haben, das von dem eingebetteten Gerät betrieben wird. So kann z. B. die Abschaltung eines eingebetteten Geräts in einem F-15-Kampfjet, das Daten von verschiedenen Kameras und Sensoren sammelt, die Verteidigung des Jets erheblich beeinträchtigen.
In diesem Artikel finden Sie alles, was Sie für die Entwicklung sicherer eingebetteter Systeme benötigen. Hier finden Sie, was enthalten ist:
- Was ist eingebettete Sicherheit?
- Herausforderungen bei der Implementierung eingebetteter Sicherheit.
- Was macht ein eingebettetes System "sicher"?
- Warum End-to-End-Sicherheit in einem eingebetteten Ökosystem wichtig ist.
- Einige eingebettete Sicherheitstools.
- Was fehlt den typischen eingebetteten Lösungen?
- Die Zukunft der eingebetteten Sicherheit.
Was ist eingebettete Sicherheit?
Embedded Security bietet die Tools, Prozesse und Best Practices zur Sicherung der Software und Hardware von Embedded-Geräten.
Da die Hardware-Module eingebetteter Systeme klein sind, unterliegen sie verschiedenen Beschränkungen in Bezug auf den Speicher und die Speicherung. Die Integration von Sicherheitsmaßnahmen in diese Systeme ist daher eine große Herausforderung für das Design. Doch so schwierig dies auch sein mag, es ist ein Gebot der Stunde.
Viele der von eingebetteten Geräten betriebenen Gadgets und Maschinen sind auch mit dem Internet verbunden. Das bedeutet, dass Hacker unbefugten Zugang zu ihnen erhalten und bösartigen Code ausführen können.
Ein Hack in einem eingebetteten Gerät kann sich oft auf andere angeschlossene Komponenten ausbreiten und/oder das gesamte System lahmlegen. Nehmen wir zum Beispiel an, dass ein Angreifer die Kontrolle über ein eingebettetes Gerät erlangt, mit dem der Fahrer sein Auto auf Autopilot schalten kann. Der Hacker kann das Auto dann von der Straße weg oder in den Verkehr hinein steuern und so möglicherweise großen Schaden anrichten.
Kritische Herausforderungen für die Sicherheit eingebetteter Systeme
Die Sicherheit eingebetteter Systeme erhält nicht die Aufmerksamkeit, die sie verdient. Hier sind ein paar Gründe dafür:
- Mangelndes Bewusstsein der Entwickler:
Die Entwickler kennen in der Regel nicht die besten Verfahren für die Entwicklung sicherer eingebetteter Geräte. Das liegt zum einen an Punkt 2 und zum anderen daran, dass eingebettete Anwendungen weitaus komplizierter sind als herkömmliche Softwareanwendungen. Es kann eine Herausforderung sein, die Auswirkungen auf die Sicherheit zu verstehen und sicheren, leistungsfähigen Code für alle Anwendungsfälle zu schreiben, und das auch noch in einer eingeschränkten Mikrocomputerumgebung.
- Mangelnde Standardisierung:
Es fehlt an Cybersicherheitsstandards für eingebettete Systeme. Auch wenn die Autoindustrie langsam versucht, dies zu ändern. In den letzten Jahren haben Forscher eine ganze Reihe von Publikationen veröffentlicht, die sich mit der Cybersicherheit von intelligenten Fahrzeugen befassen. Einige davon sind SAE J3061, "Cybersecurity Guidebook for Cyber-Physical Vehicle Systems", und UNECE WP.29 Regulation on Cyber Security and Software Update Processes.
- Verwendung von Komponenten Dritter
Viele eingebettete Geräte benötigen Hardware- und Softwarekomponenten von Drittanbietern, um zu funktionieren. Oft werden diese Komponenten verwendet, ohne dass sie auf Sicherheitsmängel und Schwachstellen getestet wurden.
- Veraltete Software
Eine veraltete Firmware ist in der Regel mit Fehlern und potenziell ausnutzbaren Schwachstellen behaftet. Auch wenn es besonders schwierig sein kann, die Firmware eines kleinen, eingebetteten Geräts regelmäßig zu aktualisieren, kann dies nicht ignoriert werden.
- Direkte Internetverbindung
Viele eingebettete Systeme und Geräte sind direkt mit dem Internet verbunden. Dies bedeutet, dass sie nicht über den Schutz von Unternehmensfirewalls verfügen, die Netzwerkangriffe erkennen und verhindern können. Da die Ressourcen knapp sind, ist es sehr schwierig, in einer derart eingeschränkten Umgebung strenge Sicherheitsstandards zu implementieren.
- Angriff in großem Maßstab
Eingebettete Geräte werden in der Regel in großem Maßstab hergestellt. Das bedeutet, dass eine einzige Schwachstelle oder ein Fehler Millionen von Geräten betreffen kann, manchmal sogar weltweit. Die Eindämmung der Auswirkungen eines Angriffs auf eingebettete Systeme kann daher eine große Herausforderung darstellen.
Was macht ein eingebettetes System sicher?
In den folgenden Abschnitten werden wir einige Software- und Hardware-Merkmale sicherer eingebetteter Systeme betrachten.
Bewährte Hardware-Sicherheitspraktiken
Ein sicheres eingebettetes System hat:
- Eine vertrauenswürdige Ausführungsumgebung
Eine vertrauenswürdige Ausführungsumgebung (TEE) ermöglicht die Isolierung sicherheitskritischer Vorgänge auf Hardwareebene. So kann beispielsweise die Benutzerauthentifizierung in einem separaten Bereich ausgeführt werden, was einen besseren Schutz sensibler Informationen ermöglicht.
- Angemessen partitionierte Hardwareressourcen
Verschiedene Hardwarekomponenten wie Prozessor(en), Cache, Speicher, Netzwerkschnittstellen usw. sollten angemessen getrennt sein und ihre Funktionen so unabhängig wie möglich ausführen. Dadurch wird verhindert, dass sich ein Fehler in einer Komponente auf andere Komponenten ausbreitet.
- Schutz des ausführbaren Speicherplatzes (ESP)
Der Schutz des ausführbaren Speichers (Executable Space Protection, ESP) besteht darin, bestimmte Speicherbereiche als nicht ausführbar zu markieren. Wenn jemand versucht, Code innerhalb dieser markierten Bereiche auszuführen, wird eine Ausnahme ausgelöst.
Bewährte Software-Sicherheitspraktiken
Bei der Entwicklung von eingebetteter Software sollten die folgenden bewährten Verfahren beachtet werden:
- Sicheres Booten verwenden:
Wenn ein eingebettetes Gerät hochfährt, wird das Boot-Image mithilfe kryptografischer Algorithmen überprüft. Dadurch wird sichergestellt, dass die Boot-Sequenz korrekt ist und dass die Software (Firmware und andere relevante Daten) nicht manipuliert wurde.
- Verwendung eines Mikrokernel-Betriebssystems
Ein Mikrokernel-Betriebssystem ist viel kleiner als ein herkömmliches Betriebssystem und enthält nur eine Teilmenge seiner Funktionen. Der Kernelbereich ist winzig, und viele Benutzerdienste (wie die Dateisystemverwaltung usw.) werden in einem separaten Bereich, dem so genannten Benutzerbereich , gehalten . Da im Kernelbereich weniger Code und Operationen ausgeführt werden, ist die Angriffsfläche deutlich geringer.
- ordnungsgemäß verpackte Softwareanwendungen verwenden
Jede Softwareanwendung sollte in sich geschlossen und ordnungsgemäß verpackt sein. Wenn eine Anwendung z. B. eine Abhängigkeit von einem Drittanbieter erfordert, sollte diese nicht global auf dem Betriebssystem installiert werden. Vielmehr sollte sie Teil des Anwendungspakets/Containers sein.
- Alle Eingaben validieren
Alle von externen und/oder nicht vertrauenswürdigen Quellen empfangenen Daten sollten ordnungsgemäß bereinigt und validiert werden, bevor sie an kritische Software- und/oder Hardwarekomponenten weitergeleitet werden.
Wenn eine Anwendung Daten von einer externen API-Integration abruft und darauf basierend eine Einstellung umschaltet, sollten die empfangenen Daten streng validiert werden, bevor die Einstellung geändert wird.
- Schutz der Daten im Ruhezustand:
Die gesamte sensible Software, Daten, Konfigurationsdateien, sichere Schlüssel und Passwörter usw., die auf einem eingebetteten Gerät gespeichert sind, sollten geschützt werden. Dies geschieht in der Regel durch Verschlüsselung. Die privaten Schlüssel, die zur Verschlüsselung der Daten verwendet werden, müssen in spezieller, eigens dafür entwickelter Sicherheitshardware gespeichert werden.
Die Sicherheitspyramide - End-to-End-Sicherheit für eingebettete Systeme
Vorbei sind die Zeiten, in denen Sicherheit ein nachträglicher Gedanke war. Eine nicht-funktionale Anforderung. Heute muss die Sicherheit inhärent sein. Die Geräte müssen von vornherein sicher sein. Zu diesem Zweck ist es unerlässlich, in einer eingebetteten Umgebung durchgängige Sicherheitsanforderungen zu implementieren. Das bedeutet: Denken Sie bei der Auswahl der Hardware, bei der Definition der Systemarchitektur, beim Entwurf des Systems und natürlich beim Schreiben des Codes an die Sicherheit.
Beginnen Sie bei der Hardware
Wie robust Ihre Software auch sein mag, wenn Ihre Hardware nicht ausreichend geschützt ist, sind Sie anfällig für Angriffe. On-Chip-Sicherheitstechniken können einen sicheren Start und eine effiziente Verwaltung von kryptografischen Funktionen und Geheimnissen ermöglichen. Einige Hardwarekomponenten ermöglichen es dem Betriebssystem auch, verschiedene Sicherheitsfunktionen wie die Erkennung von Systemanomalien bei Systemaufrufen, die Verschlüsselung des Dateisystems und Zugriffskontrollrichtlinien anzubieten.
Ein fehlertolerantes System
Es gibt zahlreiche Gründe, ein fehlertolerantes System zu entwickeln, und die Vermeidung von Angriffen durch differenzielle Fehleranalyse ist nur einer davon. Bei einem solchen Angriff kann ein potenzieller Hacker mithilfe von Fehlerinjektionstechniken versuchen, Fehler in einem eingebetteten Gerät zu erzeugen. Es gibt jedoch mehrere Möglichkeiten, solche Fehler zu erkennen und sich dagegen zu schützen:
- Replizieren Sie die kritischsten Vorgänge, so dass die verschiedenen Ausgaben jederzeit verglichen werden können, um das Auftreten eines Fehlers zu erkennen.
- Standardmäßig fehlschlagen: Bei der Behandlung mehrerer Bedingungen (innerhalb einer If-Bedingung oder eines Switch-Blocks) immer im Standardfall fehlschlagen, d.h. wenn nichts anderes passt.
- Führen Sie ein zufälliges Verhalten ein: Durch das Hinzufügen kleiner, zufälliger Verzögerungen vor wichtigen Operationen wird sichergestellt, dass deren Zeitablauf niemals vorhersehbar ist. Dies ist für die Erkennung von Eindringlingen von entscheidender Bedeutung, da es für Hacker sehr schwierig ist, Betriebsmuster zu ermitteln und Zeitangriffe durchzuführen.
- Schutzabdeckungen: Die Hersteller sollten die wichtigsten Komponenten mit Abdeckungen versehen, um sie vor Manipulationen von außen zu schützen.
- Erkennen Sie abnormale Schwankungen: Erkennen Sie abnormale Schwankungen bei Spannung, Strom oder anderen Werten und lösen Sie entsprechende Ausnahmen aus.
Sichern Sie Ihre Anwendung... und Ihr Betriebssystem
Der Aufbau des Schutzes Ihres Geräts auf der Anwendungsebene beinhaltet:
- Auswahl geprüfter, seriöser Software- und Hardwarekomponenten von Drittanbietern, die regelmäßig aktualisiert werden können.
- Weiterbildung von Entwicklern in den besten Praktiken für die Sicherheit eingebetteter Systeme.
- Verwenden Sie ein Mikrokernel-Betriebssystem, um sicherzustellen, dass nur eine minimale Anzahl von Operationen im Kernelbereich ausgeführt wird.
- Überwachung und Schutz vor Software-Angriffen, einschließlich Viren, Trojanern und Malware.
- Entfernen Sie alle unnötigen Dienste. Ihre Firmware sollte nur das enthalten, was Sie unbedingt benötigen. Wenn Sie z. B. keine Dateien übertragen oder Pakete aufzeichnen müssen, können Sie Dateiübertragungsprotokolle und Netzwerkpakete wie Telnet deaktivieren.
- Verwenden Sie sichere Protokolle wie SFTP, IPsec, SSL, TLS, SSH und DNSSEC.
Tools für die Sicherheit eingebetteter Systeme
Im Folgenden finden Sie eine nicht erschöpfende Liste von Tools, die bei der Sicherung eingebetteter Systeme helfen können:
- Bus-Blaster: Eine Hochgeschwindigkeits-Debugging-Plattform, die mit Hardware-Debug-Ports interagieren kann.
- Salae: Dekodieren Sie verschiedene Protokolle wie Seriell, SPI und I2C usw. Sie können von der Community erstellte Protokollanalysatoren verwenden oder Ihre eigenen erstellen.
- Hydrabus: Open-Source-Multi-Tool-Hardware, die für Debugging, Hacking und/oder Penetrationstests von eingebetteter Hardware verwendet werden kann.
- Ausnutzen: Ein Open-Source-Framework zum Testen und Ausnutzen der Sicherheit des Internets der Dinge (IoT).
- FACT (The Firmware Analysis and Comparison Tool): Framework zur Automatisierung der Sicherheitsanalyse von Firmware.
- Routersploit: Ein Open-Source-Exploit-Framework für eingebettete Geräte.
- Firmadyne: Open-Source-System zur Emulation und dynamischen Analyse von Linux-basierter Embedded-Firmware.
Woran mangelt es bei modernen eingebetteten Sicherheitslösungen?
Obwohl verschiedene Lösungen zum Debuggen, Ausnutzen und Testen von eingebetteten Lösungen zur Verfügung stehen, werden sie nicht ohne weiteres eingesetzt. Ein großer Schwerpunkt liegt nach wie vor auf der physischen Absicherung des Geräts, aber es wird nicht genug für den Schutz vor softwarebezogenen Angriffen getan. Selbst die einfachsten und leicht vermeidbaren Sicherheitsrisiken und Schwachstellen von Anwendungen sind bei modernen eingebetteten Geräten immer noch weit verbreitet.
Ein wichtiger Grund dafür ist das mangelnde Bewusstsein der Entwickler für eingebettete Sicherheit. Laut einer von Tripwire durchgeführten Umfrage glauben 68 % der IT-Fachleute, dass ihre Mitarbeiter nicht ausreichend über potenzielle Sicherheitslücken informiert sind.
Die Entwickler wissen nicht, welche Sicherheitsprotokolle zu wählen sind, welche Frameworks zu vermeiden sind, welche Hardwarekomponenten abgetrennt werden müssen, wie mit sensiblen Daten umzugehen ist und welcher Verschlüsselungsalgorithmus der sicherste ist. Dieser allgemeine Mangel an Wissen und die Missachtung bewährter Verfahren machen Anwendungen, die auf eingebetteten Geräten laufen, anfällig für Kompromisse.
Die Zukunft der eingebetteten Sicherheit
Auf dem Markt für eingebettete Sicherheit wird viel gearbeitet. Experten gehen davon aus, dass die durchschnittliche jährliche Wachstumsrate (CAGR) des Marktes im Zeitraum von 2021 bis 2026 einen Wert von 5,5 % erreichen kann . Da immer mehr IoT-Geräte auf den Markt kommen, ist zu erwarten, dass sich neue eingebettete Sicherheitsstandards etablieren werden.
Die zunehmende Verbreitung von tragbaren medizinischen Geräten wird auch die Nachfrage nach zuverlässigen eingebetteten Sicherheitslösungen erhöhen. Damit die Geräte sensible medizinische Daten enthalten und verarbeiten können, müssen sie bestimmte Sicherheitschecklisten erfüllen, und wir hoffen, dass Anbieter und Ingenieure sich deshalb stärker auf die Sicherheit konzentrieren werden.
In Zukunft werden wir vielleicht auch Lösungen haben, die eine Fernsicht, -überwachung und -steuerung der wichtigsten Software- und Hardwarekomponenten in eingebetteten Geräten ermöglichen. Dies wird die Welt der Sicherheit eingebetteter Systeme grundlegend verändern.
Digitale Signaturen, die Verschlüsselung von Daten, das Hinzufügen von Firewalls, die Implementierung von Zugriffskontrollen und die Zufallsgenerierung von Operationen reichen letztendlich nur bis zu einem gewissen Punkt. Um wirklich sichere Geräte zu bauen, müssen die Entwickler darin geschult werden, sicheren Code zu schreiben. Die Identifizierung potenzieller Sicherheitsrisiken und deren Abschwächung in der Phase des Anwendungsentwurfs trägt wesentlich dazu bei, dass Systeme von sich aus sicher sind.
Wie Secure Code Warrior helfen kann
Das Vorzeigeprodukt vonSecure Code Warrior- learning platform - bietet zahlreiche interaktive Herausforderungen, courses, und Bewertungen, die Entwicklern helfen können, sicheren C/C++-Code zu schreiben. Der Inhalt der Plattform ist rahmenspezifisch und sehr ansprechend. Unsere C/C++:Embed-Codieraufgaben wurden sowohl von MISRA C, AUTOSAR C++ (MISRA C++) als auch von IEC inspiriert.
Entwickler können sich auf eine persönliche Lernreise begeben, auf der sie C/C++-spezifische Schwachstellen erkennen und - was noch wichtiger ist - lernen, diese Fehler zu beheben. In diesem Prozess können die Entwickler ihre Fortschritte verfolgen, um ihre Schwachstellen zu erkennen, und sogar einen freundschaftlichen Programmierwettbewerb mit Gleichgesinnten austragen. Erfahren Sie mehr darüber, wie wir die Automobil- und Transportbranche mit unseren Lösungen unterstützen.
Möchten Sie herausfinden, wie interaktiv und einbettungsorientiert unsere Challenges sind? Probieren Sie noch heute einige C/C++:Embed-Herausforderungen auf learning platform aus!

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenSecure Code Warrior macht sicheres Programmieren zu einer positiven und fesselnden Erfahrung für Entwickler, die ihre Fähigkeiten ausbauen. Wir leiten jeden Programmierer auf seinem bevorzugten Lernpfad an, damit sicherheitskompetente Entwickler zu den täglichen Superhelden unserer vernetzten Welt werden.
Dieser Artikel wurde verfasst von Secure Code Warrior Das Team von Branchenexperten hat es sich zur Aufgabe gemacht, Entwicklern das Wissen und die Fähigkeiten zu vermitteln, die sie brauchen, um von Anfang an sichere Software zu entwickeln. Dabei stützen wir uns auf umfassendes Fachwissen zu sicheren Codierungspraktiken, Branchentrends und Erkenntnissen aus der Praxis.
Eingebettete Systeme tragen zu einem Großteil der modernen Technologie bei. Vom adaptiven Geschwindigkeitsregler in Ihrem Auto bis hin zum Wifi in Ihrem intelligenten Kühlschrank. Mit der Zunahme von Cyberangriffen ist die Sicherung dieser Systeme von entscheidender Bedeutung geworden.
Eingebettete Geräte sind ein ideales Ziel für Hacker, denn ein erfolgreicher Angriff kann Eindringlingen Zugang zu den von ihnen erzeugten, empfangenen und verarbeiteten Daten verschaffen. Dies kann oft schwerwiegende Folgen für das größere System haben, das von dem eingebetteten Gerät betrieben wird. So kann z. B. die Abschaltung eines eingebetteten Geräts in einem F-15-Kampfjet, das Daten von verschiedenen Kameras und Sensoren sammelt, die Verteidigung des Jets erheblich beeinträchtigen.
In diesem Artikel finden Sie alles, was Sie für die Entwicklung sicherer eingebetteter Systeme benötigen. Hier finden Sie, was enthalten ist:
- Was ist eingebettete Sicherheit?
- Herausforderungen bei der Implementierung eingebetteter Sicherheit.
- Was macht ein eingebettetes System "sicher"?
- Warum End-to-End-Sicherheit in einem eingebetteten Ökosystem wichtig ist.
- Einige eingebettete Sicherheitstools.
- Was fehlt den typischen eingebetteten Lösungen?
- Die Zukunft der eingebetteten Sicherheit.
Was ist eingebettete Sicherheit?
Embedded Security bietet die Tools, Prozesse und Best Practices zur Sicherung der Software und Hardware von Embedded-Geräten.
Da die Hardware-Module eingebetteter Systeme klein sind, unterliegen sie verschiedenen Beschränkungen in Bezug auf den Speicher und die Speicherung. Die Integration von Sicherheitsmaßnahmen in diese Systeme ist daher eine große Herausforderung für das Design. Doch so schwierig dies auch sein mag, es ist ein Gebot der Stunde.
Viele der von eingebetteten Geräten betriebenen Gadgets und Maschinen sind auch mit dem Internet verbunden. Das bedeutet, dass Hacker unbefugten Zugang zu ihnen erhalten und bösartigen Code ausführen können.
Ein Hack in einem eingebetteten Gerät kann sich oft auf andere angeschlossene Komponenten ausbreiten und/oder das gesamte System lahmlegen. Nehmen wir zum Beispiel an, dass ein Angreifer die Kontrolle über ein eingebettetes Gerät erlangt, mit dem der Fahrer sein Auto auf Autopilot schalten kann. Der Hacker kann das Auto dann von der Straße weg oder in den Verkehr hinein steuern und so möglicherweise großen Schaden anrichten.
Kritische Herausforderungen für die Sicherheit eingebetteter Systeme
Die Sicherheit eingebetteter Systeme erhält nicht die Aufmerksamkeit, die sie verdient. Hier sind ein paar Gründe dafür:
- Mangelndes Bewusstsein der Entwickler:
Die Entwickler kennen in der Regel nicht die besten Verfahren für die Entwicklung sicherer eingebetteter Geräte. Das liegt zum einen an Punkt 2 und zum anderen daran, dass eingebettete Anwendungen weitaus komplizierter sind als herkömmliche Softwareanwendungen. Es kann eine Herausforderung sein, die Auswirkungen auf die Sicherheit zu verstehen und sicheren, leistungsfähigen Code für alle Anwendungsfälle zu schreiben, und das auch noch in einer eingeschränkten Mikrocomputerumgebung.
- Mangelnde Standardisierung:
Es fehlt an Cybersicherheitsstandards für eingebettete Systeme. Auch wenn die Autoindustrie langsam versucht, dies zu ändern. In den letzten Jahren haben Forscher eine ganze Reihe von Publikationen veröffentlicht, die sich mit der Cybersicherheit von intelligenten Fahrzeugen befassen. Einige davon sind SAE J3061, "Cybersecurity Guidebook for Cyber-Physical Vehicle Systems", und UNECE WP.29 Regulation on Cyber Security and Software Update Processes.
- Verwendung von Komponenten Dritter
Viele eingebettete Geräte benötigen Hardware- und Softwarekomponenten von Drittanbietern, um zu funktionieren. Oft werden diese Komponenten verwendet, ohne dass sie auf Sicherheitsmängel und Schwachstellen getestet wurden.
- Veraltete Software
Eine veraltete Firmware ist in der Regel mit Fehlern und potenziell ausnutzbaren Schwachstellen behaftet. Auch wenn es besonders schwierig sein kann, die Firmware eines kleinen, eingebetteten Geräts regelmäßig zu aktualisieren, kann dies nicht ignoriert werden.
- Direkte Internetverbindung
Viele eingebettete Systeme und Geräte sind direkt mit dem Internet verbunden. Dies bedeutet, dass sie nicht über den Schutz von Unternehmensfirewalls verfügen, die Netzwerkangriffe erkennen und verhindern können. Da die Ressourcen knapp sind, ist es sehr schwierig, in einer derart eingeschränkten Umgebung strenge Sicherheitsstandards zu implementieren.
- Angriff in großem Maßstab
Eingebettete Geräte werden in der Regel in großem Maßstab hergestellt. Das bedeutet, dass eine einzige Schwachstelle oder ein Fehler Millionen von Geräten betreffen kann, manchmal sogar weltweit. Die Eindämmung der Auswirkungen eines Angriffs auf eingebettete Systeme kann daher eine große Herausforderung darstellen.
Was macht ein eingebettetes System sicher?
In den folgenden Abschnitten werden wir einige Software- und Hardware-Merkmale sicherer eingebetteter Systeme betrachten.
Bewährte Hardware-Sicherheitspraktiken
Ein sicheres eingebettetes System hat:
- Eine vertrauenswürdige Ausführungsumgebung
Eine vertrauenswürdige Ausführungsumgebung (TEE) ermöglicht die Isolierung sicherheitskritischer Vorgänge auf Hardwareebene. So kann beispielsweise die Benutzerauthentifizierung in einem separaten Bereich ausgeführt werden, was einen besseren Schutz sensibler Informationen ermöglicht.
- Angemessen partitionierte Hardwareressourcen
Verschiedene Hardwarekomponenten wie Prozessor(en), Cache, Speicher, Netzwerkschnittstellen usw. sollten angemessen getrennt sein und ihre Funktionen so unabhängig wie möglich ausführen. Dadurch wird verhindert, dass sich ein Fehler in einer Komponente auf andere Komponenten ausbreitet.
- Schutz des ausführbaren Speicherplatzes (ESP)
Der Schutz des ausführbaren Speichers (Executable Space Protection, ESP) besteht darin, bestimmte Speicherbereiche als nicht ausführbar zu markieren. Wenn jemand versucht, Code innerhalb dieser markierten Bereiche auszuführen, wird eine Ausnahme ausgelöst.
Bewährte Software-Sicherheitspraktiken
Bei der Entwicklung von eingebetteter Software sollten die folgenden bewährten Verfahren beachtet werden:
- Sicheres Booten verwenden:
Wenn ein eingebettetes Gerät hochfährt, wird das Boot-Image mithilfe kryptografischer Algorithmen überprüft. Dadurch wird sichergestellt, dass die Boot-Sequenz korrekt ist und dass die Software (Firmware und andere relevante Daten) nicht manipuliert wurde.
- Verwendung eines Mikrokernel-Betriebssystems
Ein Mikrokernel-Betriebssystem ist viel kleiner als ein herkömmliches Betriebssystem und enthält nur eine Teilmenge seiner Funktionen. Der Kernelbereich ist winzig, und viele Benutzerdienste (wie die Dateisystemverwaltung usw.) werden in einem separaten Bereich, dem so genannten Benutzerbereich , gehalten . Da im Kernelbereich weniger Code und Operationen ausgeführt werden, ist die Angriffsfläche deutlich geringer.
- ordnungsgemäß verpackte Softwareanwendungen verwenden
Jede Softwareanwendung sollte in sich geschlossen und ordnungsgemäß verpackt sein. Wenn eine Anwendung z. B. eine Abhängigkeit von einem Drittanbieter erfordert, sollte diese nicht global auf dem Betriebssystem installiert werden. Vielmehr sollte sie Teil des Anwendungspakets/Containers sein.
- Alle Eingaben validieren
Alle von externen und/oder nicht vertrauenswürdigen Quellen empfangenen Daten sollten ordnungsgemäß bereinigt und validiert werden, bevor sie an kritische Software- und/oder Hardwarekomponenten weitergeleitet werden.
Wenn eine Anwendung Daten von einer externen API-Integration abruft und darauf basierend eine Einstellung umschaltet, sollten die empfangenen Daten streng validiert werden, bevor die Einstellung geändert wird.
- Schutz der Daten im Ruhezustand:
Die gesamte sensible Software, Daten, Konfigurationsdateien, sichere Schlüssel und Passwörter usw., die auf einem eingebetteten Gerät gespeichert sind, sollten geschützt werden. Dies geschieht in der Regel durch Verschlüsselung. Die privaten Schlüssel, die zur Verschlüsselung der Daten verwendet werden, müssen in spezieller, eigens dafür entwickelter Sicherheitshardware gespeichert werden.
Die Sicherheitspyramide - End-to-End-Sicherheit für eingebettete Systeme
Vorbei sind die Zeiten, in denen Sicherheit ein nachträglicher Gedanke war. Eine nicht-funktionale Anforderung. Heute muss die Sicherheit inhärent sein. Die Geräte müssen von vornherein sicher sein. Zu diesem Zweck ist es unerlässlich, in einer eingebetteten Umgebung durchgängige Sicherheitsanforderungen zu implementieren. Das bedeutet: Denken Sie bei der Auswahl der Hardware, bei der Definition der Systemarchitektur, beim Entwurf des Systems und natürlich beim Schreiben des Codes an die Sicherheit.
Beginnen Sie bei der Hardware
Wie robust Ihre Software auch sein mag, wenn Ihre Hardware nicht ausreichend geschützt ist, sind Sie anfällig für Angriffe. On-Chip-Sicherheitstechniken können einen sicheren Start und eine effiziente Verwaltung von kryptografischen Funktionen und Geheimnissen ermöglichen. Einige Hardwarekomponenten ermöglichen es dem Betriebssystem auch, verschiedene Sicherheitsfunktionen wie die Erkennung von Systemanomalien bei Systemaufrufen, die Verschlüsselung des Dateisystems und Zugriffskontrollrichtlinien anzubieten.
Ein fehlertolerantes System
Es gibt zahlreiche Gründe, ein fehlertolerantes System zu entwickeln, und die Vermeidung von Angriffen durch differenzielle Fehleranalyse ist nur einer davon. Bei einem solchen Angriff kann ein potenzieller Hacker mithilfe von Fehlerinjektionstechniken versuchen, Fehler in einem eingebetteten Gerät zu erzeugen. Es gibt jedoch mehrere Möglichkeiten, solche Fehler zu erkennen und sich dagegen zu schützen:
- Replizieren Sie die kritischsten Vorgänge, so dass die verschiedenen Ausgaben jederzeit verglichen werden können, um das Auftreten eines Fehlers zu erkennen.
- Standardmäßig fehlschlagen: Bei der Behandlung mehrerer Bedingungen (innerhalb einer If-Bedingung oder eines Switch-Blocks) immer im Standardfall fehlschlagen, d.h. wenn nichts anderes passt.
- Führen Sie ein zufälliges Verhalten ein: Durch das Hinzufügen kleiner, zufälliger Verzögerungen vor wichtigen Operationen wird sichergestellt, dass deren Zeitablauf niemals vorhersehbar ist. Dies ist für die Erkennung von Eindringlingen von entscheidender Bedeutung, da es für Hacker sehr schwierig ist, Betriebsmuster zu ermitteln und Zeitangriffe durchzuführen.
- Schutzabdeckungen: Die Hersteller sollten die wichtigsten Komponenten mit Abdeckungen versehen, um sie vor Manipulationen von außen zu schützen.
- Erkennen Sie abnormale Schwankungen: Erkennen Sie abnormale Schwankungen bei Spannung, Strom oder anderen Werten und lösen Sie entsprechende Ausnahmen aus.
Sichern Sie Ihre Anwendung... und Ihr Betriebssystem
Der Aufbau des Schutzes Ihres Geräts auf der Anwendungsebene beinhaltet:
- Auswahl geprüfter, seriöser Software- und Hardwarekomponenten von Drittanbietern, die regelmäßig aktualisiert werden können.
- Weiterbildung von Entwicklern in den besten Praktiken für die Sicherheit eingebetteter Systeme.
- Verwenden Sie ein Mikrokernel-Betriebssystem, um sicherzustellen, dass nur eine minimale Anzahl von Operationen im Kernelbereich ausgeführt wird.
- Überwachung und Schutz vor Software-Angriffen, einschließlich Viren, Trojanern und Malware.
- Entfernen Sie alle unnötigen Dienste. Ihre Firmware sollte nur das enthalten, was Sie unbedingt benötigen. Wenn Sie z. B. keine Dateien übertragen oder Pakete aufzeichnen müssen, können Sie Dateiübertragungsprotokolle und Netzwerkpakete wie Telnet deaktivieren.
- Verwenden Sie sichere Protokolle wie SFTP, IPsec, SSL, TLS, SSH und DNSSEC.
Tools für die Sicherheit eingebetteter Systeme
Im Folgenden finden Sie eine nicht erschöpfende Liste von Tools, die bei der Sicherung eingebetteter Systeme helfen können:
- Bus-Blaster: Eine Hochgeschwindigkeits-Debugging-Plattform, die mit Hardware-Debug-Ports interagieren kann.
- Salae: Dekodieren Sie verschiedene Protokolle wie Seriell, SPI und I2C usw. Sie können von der Community erstellte Protokollanalysatoren verwenden oder Ihre eigenen erstellen.
- Hydrabus: Open-Source-Multi-Tool-Hardware, die für Debugging, Hacking und/oder Penetrationstests von eingebetteter Hardware verwendet werden kann.
- Ausnutzen: Ein Open-Source-Framework zum Testen und Ausnutzen der Sicherheit des Internets der Dinge (IoT).
- FACT (The Firmware Analysis and Comparison Tool): Framework zur Automatisierung der Sicherheitsanalyse von Firmware.
- Routersploit: Ein Open-Source-Exploit-Framework für eingebettete Geräte.
- Firmadyne: Open-Source-System zur Emulation und dynamischen Analyse von Linux-basierter Embedded-Firmware.
Woran mangelt es bei modernen eingebetteten Sicherheitslösungen?
Obwohl verschiedene Lösungen zum Debuggen, Ausnutzen und Testen von eingebetteten Lösungen zur Verfügung stehen, werden sie nicht ohne weiteres eingesetzt. Ein großer Schwerpunkt liegt nach wie vor auf der physischen Absicherung des Geräts, aber es wird nicht genug für den Schutz vor softwarebezogenen Angriffen getan. Selbst die einfachsten und leicht vermeidbaren Sicherheitsrisiken und Schwachstellen von Anwendungen sind bei modernen eingebetteten Geräten immer noch weit verbreitet.
Ein wichtiger Grund dafür ist das mangelnde Bewusstsein der Entwickler für eingebettete Sicherheit. Laut einer von Tripwire durchgeführten Umfrage glauben 68 % der IT-Fachleute, dass ihre Mitarbeiter nicht ausreichend über potenzielle Sicherheitslücken informiert sind.
Die Entwickler wissen nicht, welche Sicherheitsprotokolle zu wählen sind, welche Frameworks zu vermeiden sind, welche Hardwarekomponenten abgetrennt werden müssen, wie mit sensiblen Daten umzugehen ist und welcher Verschlüsselungsalgorithmus der sicherste ist. Dieser allgemeine Mangel an Wissen und die Missachtung bewährter Verfahren machen Anwendungen, die auf eingebetteten Geräten laufen, anfällig für Kompromisse.
Die Zukunft der eingebetteten Sicherheit
Auf dem Markt für eingebettete Sicherheit wird viel gearbeitet. Experten gehen davon aus, dass die durchschnittliche jährliche Wachstumsrate (CAGR) des Marktes im Zeitraum von 2021 bis 2026 einen Wert von 5,5 % erreichen kann . Da immer mehr IoT-Geräte auf den Markt kommen, ist zu erwarten, dass sich neue eingebettete Sicherheitsstandards etablieren werden.
Die zunehmende Verbreitung von tragbaren medizinischen Geräten wird auch die Nachfrage nach zuverlässigen eingebetteten Sicherheitslösungen erhöhen. Damit die Geräte sensible medizinische Daten enthalten und verarbeiten können, müssen sie bestimmte Sicherheitschecklisten erfüllen, und wir hoffen, dass Anbieter und Ingenieure sich deshalb stärker auf die Sicherheit konzentrieren werden.
In Zukunft werden wir vielleicht auch Lösungen haben, die eine Fernsicht, -überwachung und -steuerung der wichtigsten Software- und Hardwarekomponenten in eingebetteten Geräten ermöglichen. Dies wird die Welt der Sicherheit eingebetteter Systeme grundlegend verändern.
Digitale Signaturen, die Verschlüsselung von Daten, das Hinzufügen von Firewalls, die Implementierung von Zugriffskontrollen und die Zufallsgenerierung von Operationen reichen letztendlich nur bis zu einem gewissen Punkt. Um wirklich sichere Geräte zu bauen, müssen die Entwickler darin geschult werden, sicheren Code zu schreiben. Die Identifizierung potenzieller Sicherheitsrisiken und deren Abschwächung in der Phase des Anwendungsentwurfs trägt wesentlich dazu bei, dass Systeme von sich aus sicher sind.
Wie Secure Code Warrior helfen kann
Das Vorzeigeprodukt vonSecure Code Warrior- learning platform - bietet zahlreiche interaktive Herausforderungen, courses, und Bewertungen, die Entwicklern helfen können, sicheren C/C++-Code zu schreiben. Der Inhalt der Plattform ist rahmenspezifisch und sehr ansprechend. Unsere C/C++:Embed-Codieraufgaben wurden sowohl von MISRA C, AUTOSAR C++ (MISRA C++) als auch von IEC inspiriert.
Entwickler können sich auf eine persönliche Lernreise begeben, auf der sie C/C++-spezifische Schwachstellen erkennen und - was noch wichtiger ist - lernen, diese Fehler zu beheben. In diesem Prozess können die Entwickler ihre Fortschritte verfolgen, um ihre Schwachstellen zu erkennen, und sogar einen freundschaftlichen Programmierwettbewerb mit Gleichgesinnten austragen. Erfahren Sie mehr darüber, wie wir die Automobil- und Transportbranche mit unseren Lösungen unterstützen.
Möchten Sie herausfinden, wie interaktiv und einbettungsorientiert unsere Challenges sind? Probieren Sie noch heute einige C/C++:Embed-Herausforderungen auf learning platform aus!
Inhaltsübersicht
Secure Code Warrior macht sicheres Programmieren zu einer positiven und fesselnden Erfahrung für Entwickler, die ihre Fähigkeiten ausbauen. Wir leiten jeden Programmierer auf seinem bevorzugten Lernpfad an, damit sicherheitskompetente Entwickler zu den täglichen Superhelden unserer vernetzten Welt werden.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Aussagekräftige Daten über den Erfolg von Secure-by-Design-Initiativen zu finden, ist bekanntermaßen schwierig. CISOs stehen oft vor der Herausforderung, den Return on Investment (ROI) und den Geschäftswert von Sicherheitsprogrammen sowohl auf Mitarbeiter- als auch auf Unternehmensebene nachzuweisen. Ganz zu schweigen davon, dass es für Unternehmen besonders schwierig ist, Erkenntnisse darüber zu gewinnen, wie ihre Organisation im Vergleich zu aktuellen Branchenstandards abschneidet. Die Nationale Cybersicherheitsstrategie des Präsidenten forderte die Beteiligten auf, "Sicherheit und Widerstandsfähigkeit durch Design" zu erreichen. Der Schlüssel zum Erfolg von Secure-by-Design-Initiativen liegt nicht nur darin, Entwicklern die nötigen Fähigkeiten zu vermitteln, um sicheren Code zu gewährleisten, sondern auch darin, den Aufsichtsbehörden zu versichern, dass diese Fähigkeiten vorhanden sind. In dieser Präsentation stellen wir eine Vielzahl von qualitativen und quantitativen Daten vor, die aus verschiedenen Primärquellen stammen, darunter interne Daten von über 250.000 Entwicklern, datengestützte Kundeneinblicke und öffentliche Studien. Auf der Grundlage dieser gesammelten Daten wollen wir eine Vision des aktuellen Stands von Secure-by-Design-Initiativen in verschiedenen Branchen vermitteln. Der Bericht zeigt auf, warum dieser Bereich derzeit nicht ausreichend genutzt wird, welche erheblichen Auswirkungen ein erfolgreiches Schulungsprogramm auf die Minderung von Cybersecurity-Risiken haben kann und welches Potenzial zur Beseitigung von Schwachstellen in einer Codebasis besteht.
Professionelle Dienstleistungen - Beschleunigen Sie mit Fachwissen
Das PSS-Team (Program Strategy Services) von Secure Code Warriorunterstützt Sie beim Aufbau, der Verbesserung und der Optimierung Ihres Programms für sichere Codierung. Ganz gleich, ob Sie neu anfangen oder Ihren Ansatz verfeinern möchten, unsere Experten bieten Ihnen maßgeschneiderte Beratung.
Themen und Inhalte der Schulung zu sicherem Code
Unsere branchenführenden Inhalte werden ständig weiterentwickelt, um sie an die sich ständig verändernde Softwareentwicklungslandschaft anzupassen und Ihre Rolle zu berücksichtigen. Die Themen reichen von KI bis XQuery Injection und werden für eine Vielzahl von Rollen angeboten, von Architekten und Ingenieuren bis hin zu Produktmanagern und QA. Verschaffen Sie sich einen kleinen Überblick über die Inhalte, die unser Katalog nach Thema und Rolle bietet.
Quests: Branchenführendes Lernen, damit die Entwickler immer einen Schritt voraus sind und Risiken minimiert werden.
Quests ist eine learning platform , die Entwicklern hilft, Software-Sicherheitsrisiken zu verringern, indem sie ihre Fähigkeiten zur sicheren Programmierung verbessern. Mit kuratierten Lernpfaden, praktischen Herausforderungen und interaktiven Aktivitäten befähigt sie Entwickler, Schwachstellen zu erkennen und zu vermeiden.
Ressourcen für den Einstieg
Wird Vibe Coding Ihre Codebasis in eine Verbindungsparty verwandeln?
Vibe Coding ist wie eine College-Verbindungsparty, und AI ist das Herzstück aller Festivitäten, das Fass. Es macht eine Menge Spaß, sich auszutoben, kreativ zu werden und zu sehen, wohin die eigene Fantasie einen führen kann, aber nach ein paar Bierfässern ist das Trinken (oder die Verwendung von KI) in Maßen zweifellos die sicherere langfristige Lösung.
Das Jahrzehnt der Defenders: Secure Code Warrior Zehnte Runde
Secure Code WarriorDas Gründungsteam von SCW ist zusammengeblieben und hat das Schiff ein ganzes Jahrzehnt lang durch alle Lektionen, Triumphe und Rückschläge gesteuert. Wir vergrößern uns und sind bereit für unser nächstes Kapitel, SCW 2.0, als führendes Unternehmen im Risikomanagement für Entwickler.