SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Wenn gute Mikrowellen schlecht werden: Warum die Sicherheit eingebetteter Systeme zur nächsten Herausforderung für Entwickler wird

Matias Madou, Ph.D.
Veröffentlicht Aug 30, 2021
Zuletzt aktualisiert am 09. März 2026

In der Popkultur gibt es viele Anspielungen auf schurkische KI und Roboter sowie auf Geräte, die sich gegen ihre menschlichen Herren wenden. Es ist stark von Science-Fiction-Spaß und Fantasie durchdrungen, aber mit der zunehmenden Verbreitung von IoT und vernetzten Geräten in unseren Haushalten sollte auch das Gespräch über Cybersecurity und Sicherheit geführt werden. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all die cleveren Dinge zu tun, die uns so viel Innovation und Komfort bieten. Ähnlich wie bei webbasierter Software, APIs und mobilen Geräten kann anfälliger Code in eingebetteten Systemen ausgenutzt werden, wenn er von einem Angreifer in freier Wildbahn entdeckt wird. 

Es ist zwar unwahrscheinlich, dass eine Armee von Mikrowellen kommt, um die Menschheit zu versklaven (obwohl der Tesla-Bot etwas beunruhigend ist), aber bösartige Cyberangriffe sind dennoch möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte sind auf komplizierte eingebettete Systemcodes angewiesen, um wichtige Aufgaben zu erfüllen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell lebensbedrohlich.

Wie bei jeder anderen Software auch, gehören die Entwickler zu den ersten, die den Code gleich zu Beginn der Erstellungsphase anfassen. Und wie bei jeder anderen Software kann dies der Nährboden für heimtückische, allgemeine Schwachstellen sein, die unentdeckt bleiben könnten, bevor das Produkt in Betrieb geht. 

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte von ihnen erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem weitaus stärkeren Arsenal ausgestattet werden, um die Art von Bedrohungen zu bekämpfen, die für sie relevant sind. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden immer häufiger zum Einsatz kommen, da sich unsere technischen Anforderungen ständig weiterentwickeln, und eine spezielle Sicherheitsschulung der Entwickler für die Tools in dieser Umgebung ist unerlässlich. 

Explodierende Fritteusen, bösartige Fahrzeuge... Sind wir leichte Beute?

Es gibt zwar einige Standards und Vorschriften für die sichere Entwicklung, um uns zu schützen, aber wir müssen weitaus präzisere und sinnvollere Schritte in Richtung aller Arten von Softwaresicherheit unternehmen. Es mag weit hergeholt erscheinen, an ein Problem zu denken, das dadurch verursacht wird, dass sich jemand in eine Fritteuse hackt, aber es ist in Form eines Angriffs zur Remote-Code-Ausführung (der es dem Bedrohungsakteur ermöglicht, die Temperatur auf ein gefährliches Niveau zu erhöhen) bereits geschehen, ebenso wie Schwachstellen, die zu Fahrzeugübernahmen führen.

Vor allem Fahrzeuge sind besonders komplex, da sie mehrere eingebettete Systeme an Bord haben, die sich jeweils um Mikrofunktionen kümmern - von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer ständig wachsenden Anzahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsmöglichkeiten ausgesetzt ist. Und bei 76,3 Millionen vernetzten Fahrzeugen, die bis 2023 weltweit auf den Straßen unterwegs sein sollen, stellt dies einen Monolithen an Verteidigungsgrundlagen dar, die für echte Sicherheit gelegt werden müssen.

MISRA ist eine der wichtigsten Organisationen im Kampf gegen die Bedrohungen eingebetteter Systeme. Sie hat Richtlinien entwickelt, die die Codesicherheit, die Sicherheit, die Portabilität und die Zuverlässigkeit im Zusammenhang mit eingebetteten Systemen erleichtern. Diese Richtlinien sind der Nordstern unter den Standards, die jedes Unternehmen bei seinen Projekten für eingebettete Systeme anstreben muss.

Um jedoch Code zu erstellen und auszuführen, der diesem Goldstandard entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die mit den Werkzeugen vertraut sind - ganz zu schweigen vom Sicherheitsbewusstsein -. 

Warum ist die Weiterbildung im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben betagt, werden aber nach wie vor häufig verwendet. Sie bilden den funktionierenden Kern der Codebasis für eingebettete Systeme, und Embedded C/C++ genießt ein glänzendes, modernes Leben als Teil der Welt der vernetzten Geräte.

Obwohl diese Sprachen recht alte Wurzeln haben - und ein ähnliches Verhalten gegenüber Schwachstellen in Bezug auf häufige Probleme wie Injektionsfehler und Pufferüberläufe aufweisen - müssen Entwickler, um wirklich erfolgreich Sicherheitslücken in eingebetteten Systemen zu entschärfen, praktische Erfahrungen mit Code sammeln, der die Umgebungen nachahmt, in denen sie arbeiten. Eine generische C-Schulung in allgemeinen Sicherheitspraktiken ist einfach nicht so wirkungsvoll und einprägsam, wie wenn zusätzliche Zeit und Sorgfalt in die Arbeit in einem Embedded C-Kontext investiert wird.

Da ein modernes Fahrzeug zwischen einem Dutzend und mehr als hundert eingebettete Systeme enthält, ist es unerlässlich, dass die Entwickler genau wissen, worauf sie achten müssen und wie sie die Probleme beheben können, und zwar direkt in der IDE.

Wie sieht ein Fehler in der Geschäftslogik in eingebettetem C/C++ aus? Werfen Sie einen Blick darauf und sehen Sie, ob Sie ihn wie ein Profi erkennen und beheben können.

Der Schutz eingebetteter Systeme von Grund auf liegt in der Verantwortung aller

Der Status quo in vielen Unternehmen ist, dass die Entwicklungsgeschwindigkeit die Sicherheit übertrumpft, zumindest wenn es um die Verantwortung der Entwickler geht. Sie werden selten nach ihrer Fähigkeit beurteilt, sicheren Code zu produzieren, aber die schnelle Entwicklung toller Funktionen ist der goldene Standard. Die Nachfrage nach Software wird nur noch steigen, aber diese Kultur hat uns auf einen aussichtslosen Kampf gegen Schwachstellen und die daraus resultierenden Cyberangriffe eingestellt. 

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, und es ist eine Lücke, die jemand im AppSec-Team füllen helfen muss, indem er die richtigen, zugänglichen (ganz zu schweigen von bewertbaren) Weiterbildungsprogramme für die gesamte Entwicklergemeinschaft empfiehlt. Gleich zu Beginn eines Softwareentwicklungsprojekts muss das Thema Sicherheit ganz oben auf der Agenda stehen, und jeder - vor allem die Entwickler - muss das bekommen, was er braucht, um seine Rolle zu spielen. 

Praktische Erfahrungen mit Sicherheitsproblemen bei eingebetteten Systemen

Pufferüberläufe, Injektionsfehler und Fehler in der Geschäftslogik sind häufige Fallstricke bei der Entwicklung eingebetteter Systeme. Wenn sie tief in einem Labyrinth von Mikrocontrollern in einem einzigen Fahrzeug oder Gerät verborgen sind, kann dies aus der Sicherheitsperspektive eine Katastrophe bedeuten.

Pufferüberlauf ist besonders häufig, und wenn Sie einen tiefen Einblick in die Kompromittierung der Fritteuse, über die wir zuvor gesprochen haben, erhalten möchten (und die Remotecodeausführung ermöglicht), lesen Sie diesen Bericht über CVE-2020-28592.

Jetzt ist es an der Zeit, sich mit einer Pufferüberlaufschwachstelle in echtem eingebettetem C/C++-Code auseinanderzusetzen. Spielen Sie diese Herausforderung, um zu sehen, ob Sie die schlechten Codierungsmuster, die zu diesem heimtückischen Fehler führen, lokalisieren, identifizieren und beheben können:

Pufferüberlauf-Historie erstellen.



Wie haben Sie abgeschnitten? Besuchen Sie www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Ressourcen anzeigen
Ressourcen anzeigen

Wie bei webbasierter Software, APIs und Mobilgeräten kann auch bei eingebetteten Systemen anfälliger Code von Angreifern ausgenutzt werden, wenn dieser entdeckt wird.

Sind Sie an weiteren Informationen interessiert?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbaren
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Matias Madou, Ph.D.
Veröffentlicht Aug 30, 2021

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

In der Popkultur gibt es viele Anspielungen auf schurkische KI und Roboter sowie auf Geräte, die sich gegen ihre menschlichen Herren wenden. Es ist stark von Science-Fiction-Spaß und Fantasie durchdrungen, aber mit der zunehmenden Verbreitung von IoT und vernetzten Geräten in unseren Haushalten sollte auch das Gespräch über Cybersecurity und Sicherheit geführt werden. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all die cleveren Dinge zu tun, die uns so viel Innovation und Komfort bieten. Ähnlich wie bei webbasierter Software, APIs und mobilen Geräten kann anfälliger Code in eingebetteten Systemen ausgenutzt werden, wenn er von einem Angreifer in freier Wildbahn entdeckt wird. 

Es ist zwar unwahrscheinlich, dass eine Armee von Mikrowellen kommt, um die Menschheit zu versklaven (obwohl der Tesla-Bot etwas beunruhigend ist), aber bösartige Cyberangriffe sind dennoch möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte sind auf komplizierte eingebettete Systemcodes angewiesen, um wichtige Aufgaben zu erfüllen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell lebensbedrohlich.

Wie bei jeder anderen Software auch, gehören die Entwickler zu den ersten, die den Code gleich zu Beginn der Erstellungsphase anfassen. Und wie bei jeder anderen Software kann dies der Nährboden für heimtückische, allgemeine Schwachstellen sein, die unentdeckt bleiben könnten, bevor das Produkt in Betrieb geht. 

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte von ihnen erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem weitaus stärkeren Arsenal ausgestattet werden, um die Art von Bedrohungen zu bekämpfen, die für sie relevant sind. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden immer häufiger zum Einsatz kommen, da sich unsere technischen Anforderungen ständig weiterentwickeln, und eine spezielle Sicherheitsschulung der Entwickler für die Tools in dieser Umgebung ist unerlässlich. 

Explodierende Fritteusen, bösartige Fahrzeuge... Sind wir leichte Beute?

Es gibt zwar einige Standards und Vorschriften für die sichere Entwicklung, um uns zu schützen, aber wir müssen weitaus präzisere und sinnvollere Schritte in Richtung aller Arten von Softwaresicherheit unternehmen. Es mag weit hergeholt erscheinen, an ein Problem zu denken, das dadurch verursacht wird, dass sich jemand in eine Fritteuse hackt, aber es ist in Form eines Angriffs zur Remote-Code-Ausführung (der es dem Bedrohungsakteur ermöglicht, die Temperatur auf ein gefährliches Niveau zu erhöhen) bereits geschehen, ebenso wie Schwachstellen, die zu Fahrzeugübernahmen führen.

Vor allem Fahrzeuge sind besonders komplex, da sie mehrere eingebettete Systeme an Bord haben, die sich jeweils um Mikrofunktionen kümmern - von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer ständig wachsenden Anzahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsmöglichkeiten ausgesetzt ist. Und bei 76,3 Millionen vernetzten Fahrzeugen, die bis 2023 weltweit auf den Straßen unterwegs sein sollen, stellt dies einen Monolithen an Verteidigungsgrundlagen dar, die für echte Sicherheit gelegt werden müssen.

MISRA ist eine der wichtigsten Organisationen im Kampf gegen die Bedrohungen eingebetteter Systeme. Sie hat Richtlinien entwickelt, die die Codesicherheit, die Sicherheit, die Portabilität und die Zuverlässigkeit im Zusammenhang mit eingebetteten Systemen erleichtern. Diese Richtlinien sind der Nordstern unter den Standards, die jedes Unternehmen bei seinen Projekten für eingebettete Systeme anstreben muss.

Um jedoch Code zu erstellen und auszuführen, der diesem Goldstandard entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die mit den Werkzeugen vertraut sind - ganz zu schweigen vom Sicherheitsbewusstsein -. 

Warum ist die Weiterbildung im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben betagt, werden aber nach wie vor häufig verwendet. Sie bilden den funktionierenden Kern der Codebasis für eingebettete Systeme, und Embedded C/C++ genießt ein glänzendes, modernes Leben als Teil der Welt der vernetzten Geräte.

Obwohl diese Sprachen recht alte Wurzeln haben - und ein ähnliches Verhalten gegenüber Schwachstellen in Bezug auf häufige Probleme wie Injektionsfehler und Pufferüberläufe aufweisen - müssen Entwickler, um wirklich erfolgreich Sicherheitslücken in eingebetteten Systemen zu entschärfen, praktische Erfahrungen mit Code sammeln, der die Umgebungen nachahmt, in denen sie arbeiten. Eine generische C-Schulung in allgemeinen Sicherheitspraktiken ist einfach nicht so wirkungsvoll und einprägsam, wie wenn zusätzliche Zeit und Sorgfalt in die Arbeit in einem Embedded C-Kontext investiert wird.

Da ein modernes Fahrzeug zwischen einem Dutzend und mehr als hundert eingebettete Systeme enthält, ist es unerlässlich, dass die Entwickler genau wissen, worauf sie achten müssen und wie sie die Probleme beheben können, und zwar direkt in der IDE.

Wie sieht ein Fehler in der Geschäftslogik in eingebettetem C/C++ aus? Werfen Sie einen Blick darauf und sehen Sie, ob Sie ihn wie ein Profi erkennen und beheben können.

Der Schutz eingebetteter Systeme von Grund auf liegt in der Verantwortung aller

Der Status quo in vielen Unternehmen ist, dass die Entwicklungsgeschwindigkeit die Sicherheit übertrumpft, zumindest wenn es um die Verantwortung der Entwickler geht. Sie werden selten nach ihrer Fähigkeit beurteilt, sicheren Code zu produzieren, aber die schnelle Entwicklung toller Funktionen ist der goldene Standard. Die Nachfrage nach Software wird nur noch steigen, aber diese Kultur hat uns auf einen aussichtslosen Kampf gegen Schwachstellen und die daraus resultierenden Cyberangriffe eingestellt. 

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, und es ist eine Lücke, die jemand im AppSec-Team füllen helfen muss, indem er die richtigen, zugänglichen (ganz zu schweigen von bewertbaren) Weiterbildungsprogramme für die gesamte Entwicklergemeinschaft empfiehlt. Gleich zu Beginn eines Softwareentwicklungsprojekts muss das Thema Sicherheit ganz oben auf der Agenda stehen, und jeder - vor allem die Entwickler - muss das bekommen, was er braucht, um seine Rolle zu spielen. 

Praktische Erfahrungen mit Sicherheitsproblemen bei eingebetteten Systemen

Pufferüberläufe, Injektionsfehler und Fehler in der Geschäftslogik sind häufige Fallstricke bei der Entwicklung eingebetteter Systeme. Wenn sie tief in einem Labyrinth von Mikrocontrollern in einem einzigen Fahrzeug oder Gerät verborgen sind, kann dies aus der Sicherheitsperspektive eine Katastrophe bedeuten.

Pufferüberlauf ist besonders häufig, und wenn Sie einen tiefen Einblick in die Kompromittierung der Fritteuse, über die wir zuvor gesprochen haben, erhalten möchten (und die Remotecodeausführung ermöglicht), lesen Sie diesen Bericht über CVE-2020-28592.

Jetzt ist es an der Zeit, sich mit einer Pufferüberlaufschwachstelle in echtem eingebettetem C/C++-Code auseinanderzusetzen. Spielen Sie diese Herausforderung, um zu sehen, ob Sie die schlechten Codierungsmuster, die zu diesem heimtückischen Fehler führen, lokalisieren, identifizieren und beheben können:

Pufferüberlauf-Historie erstellen.



Wie haben Sie abgeschnitten? Besuchen Sie www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Ressourcen anzeigen
Ressourcen anzeigen

Um den Bericht herunterzuladen, füllen Sie bitte das folgende Formular aus.

Wir bitten um Ihre Zustimmung, Ihnen Informationen zu unseren Produkten und/oder verwandten Themen der Sicherheitscodierung zukommen zu lassen. Wir behandeln Ihre personenbezogenen Daten stets mit größter Sorgfalt und verkaufen sie niemals zu Marketingzwecken an andere Unternehmen.

Einreichung
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte das „Analytics“-Cookie. Nach Abschluss können Sie es jederzeit wieder deaktivieren.

In der Popkultur gibt es viele Anspielungen auf schurkische KI und Roboter sowie auf Geräte, die sich gegen ihre menschlichen Herren wenden. Es ist stark von Science-Fiction-Spaß und Fantasie durchdrungen, aber mit der zunehmenden Verbreitung von IoT und vernetzten Geräten in unseren Haushalten sollte auch das Gespräch über Cybersecurity und Sicherheit geführt werden. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all die cleveren Dinge zu tun, die uns so viel Innovation und Komfort bieten. Ähnlich wie bei webbasierter Software, APIs und mobilen Geräten kann anfälliger Code in eingebetteten Systemen ausgenutzt werden, wenn er von einem Angreifer in freier Wildbahn entdeckt wird. 

Es ist zwar unwahrscheinlich, dass eine Armee von Mikrowellen kommt, um die Menschheit zu versklaven (obwohl der Tesla-Bot etwas beunruhigend ist), aber bösartige Cyberangriffe sind dennoch möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte sind auf komplizierte eingebettete Systemcodes angewiesen, um wichtige Aufgaben zu erfüllen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell lebensbedrohlich.

Wie bei jeder anderen Software auch, gehören die Entwickler zu den ersten, die den Code gleich zu Beginn der Erstellungsphase anfassen. Und wie bei jeder anderen Software kann dies der Nährboden für heimtückische, allgemeine Schwachstellen sein, die unentdeckt bleiben könnten, bevor das Produkt in Betrieb geht. 

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte von ihnen erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem weitaus stärkeren Arsenal ausgestattet werden, um die Art von Bedrohungen zu bekämpfen, die für sie relevant sind. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden immer häufiger zum Einsatz kommen, da sich unsere technischen Anforderungen ständig weiterentwickeln, und eine spezielle Sicherheitsschulung der Entwickler für die Tools in dieser Umgebung ist unerlässlich. 

Explodierende Fritteusen, bösartige Fahrzeuge... Sind wir leichte Beute?

Es gibt zwar einige Standards und Vorschriften für die sichere Entwicklung, um uns zu schützen, aber wir müssen weitaus präzisere und sinnvollere Schritte in Richtung aller Arten von Softwaresicherheit unternehmen. Es mag weit hergeholt erscheinen, an ein Problem zu denken, das dadurch verursacht wird, dass sich jemand in eine Fritteuse hackt, aber es ist in Form eines Angriffs zur Remote-Code-Ausführung (der es dem Bedrohungsakteur ermöglicht, die Temperatur auf ein gefährliches Niveau zu erhöhen) bereits geschehen, ebenso wie Schwachstellen, die zu Fahrzeugübernahmen führen.

Vor allem Fahrzeuge sind besonders komplex, da sie mehrere eingebettete Systeme an Bord haben, die sich jeweils um Mikrofunktionen kümmern - von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer ständig wachsenden Anzahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsmöglichkeiten ausgesetzt ist. Und bei 76,3 Millionen vernetzten Fahrzeugen, die bis 2023 weltweit auf den Straßen unterwegs sein sollen, stellt dies einen Monolithen an Verteidigungsgrundlagen dar, die für echte Sicherheit gelegt werden müssen.

MISRA ist eine der wichtigsten Organisationen im Kampf gegen die Bedrohungen eingebetteter Systeme. Sie hat Richtlinien entwickelt, die die Codesicherheit, die Sicherheit, die Portabilität und die Zuverlässigkeit im Zusammenhang mit eingebetteten Systemen erleichtern. Diese Richtlinien sind der Nordstern unter den Standards, die jedes Unternehmen bei seinen Projekten für eingebettete Systeme anstreben muss.

Um jedoch Code zu erstellen und auszuführen, der diesem Goldstandard entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die mit den Werkzeugen vertraut sind - ganz zu schweigen vom Sicherheitsbewusstsein -. 

Warum ist die Weiterbildung im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben betagt, werden aber nach wie vor häufig verwendet. Sie bilden den funktionierenden Kern der Codebasis für eingebettete Systeme, und Embedded C/C++ genießt ein glänzendes, modernes Leben als Teil der Welt der vernetzten Geräte.

Obwohl diese Sprachen recht alte Wurzeln haben - und ein ähnliches Verhalten gegenüber Schwachstellen in Bezug auf häufige Probleme wie Injektionsfehler und Pufferüberläufe aufweisen - müssen Entwickler, um wirklich erfolgreich Sicherheitslücken in eingebetteten Systemen zu entschärfen, praktische Erfahrungen mit Code sammeln, der die Umgebungen nachahmt, in denen sie arbeiten. Eine generische C-Schulung in allgemeinen Sicherheitspraktiken ist einfach nicht so wirkungsvoll und einprägsam, wie wenn zusätzliche Zeit und Sorgfalt in die Arbeit in einem Embedded C-Kontext investiert wird.

Da ein modernes Fahrzeug zwischen einem Dutzend und mehr als hundert eingebettete Systeme enthält, ist es unerlässlich, dass die Entwickler genau wissen, worauf sie achten müssen und wie sie die Probleme beheben können, und zwar direkt in der IDE.

Wie sieht ein Fehler in der Geschäftslogik in eingebettetem C/C++ aus? Werfen Sie einen Blick darauf und sehen Sie, ob Sie ihn wie ein Profi erkennen und beheben können.

Der Schutz eingebetteter Systeme von Grund auf liegt in der Verantwortung aller

Der Status quo in vielen Unternehmen ist, dass die Entwicklungsgeschwindigkeit die Sicherheit übertrumpft, zumindest wenn es um die Verantwortung der Entwickler geht. Sie werden selten nach ihrer Fähigkeit beurteilt, sicheren Code zu produzieren, aber die schnelle Entwicklung toller Funktionen ist der goldene Standard. Die Nachfrage nach Software wird nur noch steigen, aber diese Kultur hat uns auf einen aussichtslosen Kampf gegen Schwachstellen und die daraus resultierenden Cyberangriffe eingestellt. 

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, und es ist eine Lücke, die jemand im AppSec-Team füllen helfen muss, indem er die richtigen, zugänglichen (ganz zu schweigen von bewertbaren) Weiterbildungsprogramme für die gesamte Entwicklergemeinschaft empfiehlt. Gleich zu Beginn eines Softwareentwicklungsprojekts muss das Thema Sicherheit ganz oben auf der Agenda stehen, und jeder - vor allem die Entwickler - muss das bekommen, was er braucht, um seine Rolle zu spielen. 

Praktische Erfahrungen mit Sicherheitsproblemen bei eingebetteten Systemen

Pufferüberläufe, Injektionsfehler und Fehler in der Geschäftslogik sind häufige Fallstricke bei der Entwicklung eingebetteter Systeme. Wenn sie tief in einem Labyrinth von Mikrocontrollern in einem einzigen Fahrzeug oder Gerät verborgen sind, kann dies aus der Sicherheitsperspektive eine Katastrophe bedeuten.

Pufferüberlauf ist besonders häufig, und wenn Sie einen tiefen Einblick in die Kompromittierung der Fritteuse, über die wir zuvor gesprochen haben, erhalten möchten (und die Remotecodeausführung ermöglicht), lesen Sie diesen Bericht über CVE-2020-28592.

Jetzt ist es an der Zeit, sich mit einer Pufferüberlaufschwachstelle in echtem eingebettetem C/C++-Code auseinanderzusetzen. Spielen Sie diese Herausforderung, um zu sehen, ob Sie die schlechten Codierungsmuster, die zu diesem heimtückischen Fehler führen, lokalisieren, identifizieren und beheben können:

Pufferüberlauf-Historie erstellen.



Wie haben Sie abgeschnitten? Besuchen Sie www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Webinar ansehen
Beginnen
mehr erfahren

Klicken Sie auf den folgenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Bericht anzeigenDemo-Termin vereinbaren
Ressourcen anzeigen
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Sind Sie an weiteren Informationen interessiert?

Freigabeziel:
LinkedIn-MarkenSozialx Logo
Verfasser
Matias Madou, Ph.D.
Veröffentlicht Aug 30, 2021

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist ein Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung im Bereich der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und kann auf über 10 Patente verweisen. Wenn er nicht am Schreibtisch sitzt, ist Matias als Ausbilder für fortgeschrittene Anwendungssicherheitstrainings courses tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat einen Doktortitel in Computertechnik von der Universität Gent, wo er die Sicherheit von Anwendungen durch Programmverschleierung untersuchte, um die innere Funktionsweise einer Anwendung zu verbergen.

Freigabeziel:
LinkedIn-MarkenSozialx Logo

In der Popkultur gibt es viele Anspielungen auf schurkische KI und Roboter sowie auf Geräte, die sich gegen ihre menschlichen Herren wenden. Es ist stark von Science-Fiction-Spaß und Fantasie durchdrungen, aber mit der zunehmenden Verbreitung von IoT und vernetzten Geräten in unseren Haushalten sollte auch das Gespräch über Cybersecurity und Sicherheit geführt werden. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all die cleveren Dinge zu tun, die uns so viel Innovation und Komfort bieten. Ähnlich wie bei webbasierter Software, APIs und mobilen Geräten kann anfälliger Code in eingebetteten Systemen ausgenutzt werden, wenn er von einem Angreifer in freier Wildbahn entdeckt wird. 

Es ist zwar unwahrscheinlich, dass eine Armee von Mikrowellen kommt, um die Menschheit zu versklaven (obwohl der Tesla-Bot etwas beunruhigend ist), aber bösartige Cyberangriffe sind dennoch möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte sind auf komplizierte eingebettete Systemcodes angewiesen, um wichtige Aufgaben zu erfüllen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell lebensbedrohlich.

Wie bei jeder anderen Software auch, gehören die Entwickler zu den ersten, die den Code gleich zu Beginn der Erstellungsphase anfassen. Und wie bei jeder anderen Software kann dies der Nährboden für heimtückische, allgemeine Schwachstellen sein, die unentdeckt bleiben könnten, bevor das Produkt in Betrieb geht. 

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte von ihnen erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem weitaus stärkeren Arsenal ausgestattet werden, um die Art von Bedrohungen zu bekämpfen, die für sie relevant sind. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden immer häufiger zum Einsatz kommen, da sich unsere technischen Anforderungen ständig weiterentwickeln, und eine spezielle Sicherheitsschulung der Entwickler für die Tools in dieser Umgebung ist unerlässlich. 

Explodierende Fritteusen, bösartige Fahrzeuge... Sind wir leichte Beute?

Es gibt zwar einige Standards und Vorschriften für die sichere Entwicklung, um uns zu schützen, aber wir müssen weitaus präzisere und sinnvollere Schritte in Richtung aller Arten von Softwaresicherheit unternehmen. Es mag weit hergeholt erscheinen, an ein Problem zu denken, das dadurch verursacht wird, dass sich jemand in eine Fritteuse hackt, aber es ist in Form eines Angriffs zur Remote-Code-Ausführung (der es dem Bedrohungsakteur ermöglicht, die Temperatur auf ein gefährliches Niveau zu erhöhen) bereits geschehen, ebenso wie Schwachstellen, die zu Fahrzeugübernahmen führen.

Vor allem Fahrzeuge sind besonders komplex, da sie mehrere eingebettete Systeme an Bord haben, die sich jeweils um Mikrofunktionen kümmern - von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer ständig wachsenden Anzahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsmöglichkeiten ausgesetzt ist. Und bei 76,3 Millionen vernetzten Fahrzeugen, die bis 2023 weltweit auf den Straßen unterwegs sein sollen, stellt dies einen Monolithen an Verteidigungsgrundlagen dar, die für echte Sicherheit gelegt werden müssen.

MISRA ist eine der wichtigsten Organisationen im Kampf gegen die Bedrohungen eingebetteter Systeme. Sie hat Richtlinien entwickelt, die die Codesicherheit, die Sicherheit, die Portabilität und die Zuverlässigkeit im Zusammenhang mit eingebetteten Systemen erleichtern. Diese Richtlinien sind der Nordstern unter den Standards, die jedes Unternehmen bei seinen Projekten für eingebettete Systeme anstreben muss.

Um jedoch Code zu erstellen und auszuführen, der diesem Goldstandard entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die mit den Werkzeugen vertraut sind - ganz zu schweigen vom Sicherheitsbewusstsein -. 

Warum ist die Weiterbildung im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben betagt, werden aber nach wie vor häufig verwendet. Sie bilden den funktionierenden Kern der Codebasis für eingebettete Systeme, und Embedded C/C++ genießt ein glänzendes, modernes Leben als Teil der Welt der vernetzten Geräte.

Obwohl diese Sprachen recht alte Wurzeln haben - und ein ähnliches Verhalten gegenüber Schwachstellen in Bezug auf häufige Probleme wie Injektionsfehler und Pufferüberläufe aufweisen - müssen Entwickler, um wirklich erfolgreich Sicherheitslücken in eingebetteten Systemen zu entschärfen, praktische Erfahrungen mit Code sammeln, der die Umgebungen nachahmt, in denen sie arbeiten. Eine generische C-Schulung in allgemeinen Sicherheitspraktiken ist einfach nicht so wirkungsvoll und einprägsam, wie wenn zusätzliche Zeit und Sorgfalt in die Arbeit in einem Embedded C-Kontext investiert wird.

Da ein modernes Fahrzeug zwischen einem Dutzend und mehr als hundert eingebettete Systeme enthält, ist es unerlässlich, dass die Entwickler genau wissen, worauf sie achten müssen und wie sie die Probleme beheben können, und zwar direkt in der IDE.

Wie sieht ein Fehler in der Geschäftslogik in eingebettetem C/C++ aus? Werfen Sie einen Blick darauf und sehen Sie, ob Sie ihn wie ein Profi erkennen und beheben können.

Der Schutz eingebetteter Systeme von Grund auf liegt in der Verantwortung aller

Der Status quo in vielen Unternehmen ist, dass die Entwicklungsgeschwindigkeit die Sicherheit übertrumpft, zumindest wenn es um die Verantwortung der Entwickler geht. Sie werden selten nach ihrer Fähigkeit beurteilt, sicheren Code zu produzieren, aber die schnelle Entwicklung toller Funktionen ist der goldene Standard. Die Nachfrage nach Software wird nur noch steigen, aber diese Kultur hat uns auf einen aussichtslosen Kampf gegen Schwachstellen und die daraus resultierenden Cyberangriffe eingestellt. 

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, und es ist eine Lücke, die jemand im AppSec-Team füllen helfen muss, indem er die richtigen, zugänglichen (ganz zu schweigen von bewertbaren) Weiterbildungsprogramme für die gesamte Entwicklergemeinschaft empfiehlt. Gleich zu Beginn eines Softwareentwicklungsprojekts muss das Thema Sicherheit ganz oben auf der Agenda stehen, und jeder - vor allem die Entwickler - muss das bekommen, was er braucht, um seine Rolle zu spielen. 

Praktische Erfahrungen mit Sicherheitsproblemen bei eingebetteten Systemen

Pufferüberläufe, Injektionsfehler und Fehler in der Geschäftslogik sind häufige Fallstricke bei der Entwicklung eingebetteter Systeme. Wenn sie tief in einem Labyrinth von Mikrocontrollern in einem einzigen Fahrzeug oder Gerät verborgen sind, kann dies aus der Sicherheitsperspektive eine Katastrophe bedeuten.

Pufferüberlauf ist besonders häufig, und wenn Sie einen tiefen Einblick in die Kompromittierung der Fritteuse, über die wir zuvor gesprochen haben, erhalten möchten (und die Remotecodeausführung ermöglicht), lesen Sie diesen Bericht über CVE-2020-28592.

Jetzt ist es an der Zeit, sich mit einer Pufferüberlaufschwachstelle in echtem eingebettetem C/C++-Code auseinanderzusetzen. Spielen Sie diese Herausforderung, um zu sehen, ob Sie die schlechten Codierungsmuster, die zu diesem heimtückischen Fehler führen, lokalisieren, identifizieren und beheben können:

Pufferüberlauf-Historie erstellen.



Wie haben Sie abgeschnitten? Besuchen Sie www.securecodewarrior.com für präzise und effektive Schulungen zur Sicherheit eingebetteter Systeme.

Inhaltsverzeichnis

PDF herunterladen
Ressourcen anzeigen
Sind Sie an weiteren Informationen interessiert?

Matias Madou, Ph.D., ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent im Bereich Anwendungssicherheit und konzentrierte sich dabei auf statische Analyselösungen. Später wechselte er zu Fortify in den USA, wo er erkannte, dass es nicht ausreicht, nur Codeprobleme zu erkennen, ohne den Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, den Aufwand für die Sicherheit verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht an seinem Schreibtisch im Team Awesome sitzt, steht er gerne auf der Bühne und hält Vorträge auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

mehr erfahren

Secure Code Warrior ist für Unternehmen da, um den Code während des gesamten Softwareentwicklungszyklus zu schützen und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Unabhängig davon, ob Sie AppSec-Manager, Entwickler, CISO oder in einem anderen Bereich der Sicherheit tätig sind, können wir Ihnen dabei helfen, die Risiken zu reduzieren, die mit unsicherem Code verbunden sind.

Demo-Termin vereinbarenDownload
Freigabeziel:
LinkedIn-MarkenSozialx Logo
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge
Ressourcen-Hub

Hilfreiche Ressourcen für den Einstieg

Weitere Beiträge