SCW-Symbole
Held-Hintergrund ohne Trennlinie
Blog

Wenn Mikrowellen nicht richtig funktionieren: Warum die Sicherheit eingebetteter Systeme die nächste Herausforderung für Entwickler ist

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

Es gibt zahlreiche Verweise in der Populärkultur auf KI und unehrliche Roboter sowie auf Geräte, die sich gegen ihre menschlichen Besitzer wenden. Diese sind stark von Science-Fiction und Fantasy geprägt, aber da das Internet der Dinge und vernetzte Geräte in unseren Haushalten immer mehr Verbreitung finden, sollte dies auch für Diskussionen über Cybersicherheit und Sicherheit gelten. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all diese intelligenten Aufgaben auszuführen, die uns so viel Innovation und Komfort bringen. Genau wie Web-Software, APIs und mobile Geräte kann auch der anfällige Code eingebetteter Systeme ausgenutzt werden, wenn er von einem Angreifer entdeckt wird.

Obwohl es unwahrscheinlich ist, dass eine Armee von Mikrowellen die Menschheit versklaven wird (auch wenn der Tesla-Roboter etwas beunruhigend ist), sind nach einem Cyberangriff böswillige Cyberereignisse immer möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte stützen sich ebenfalls auf einen komplexen Code integrierter Systeme, um wichtige Aufgaben auszuführen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell tödlich.

Wie bei allen anderen Arten von Software gehören Entwickler zu den ersten, die zu Beginn der Entwicklungsphase mit dem Code arbeiten. Und wie bei jeder anderen Art von Software kann auch diese zu heimtückischen und häufigen Schwachstellen führen, die vor der Inbetriebnahme des Produkts unbemerkt bleiben könnten.

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem viel leistungsfähigeren Arsenal ausgestattet werden, um den für sie relevanten Bedrohungen zu begegnen. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden mit der Weiterentwicklung unserer technologischen Anforderungen immer häufiger zum Einsatz kommen, weshalb eine spezielle Sicherheitsschulung für Entwickler zu den Tools dieser Umgebung unerlässlich ist.

Explodierende Heißluftfritteusen, betrügerische Fahrzeuge... Sind wir leichte Beute?

Obwohl es einige Normen und Vorschriften für jede sichere Entwicklung gibt, müssen wir, um unsere Sicherheit zu gewährleisten, viel präzisere und bedeutendere Fortschritte in allen Bereichen der Softwaresicherheit erzielen. Es mag übertrieben erscheinen, an ein Problem zu denken, das durch das Hacken einer Heißluftfritteuse verursacht werden könnte, aber genau das ist in Form eines Remote-Code-Execution-Angriffs passiert (der es dem Angreifer ermöglichte, die Temperatur auf gefährliche Werte zu erhöhen), ebenso wie Schwachstellen, die zur Übernahme der Kontrolle über Fahrzeuge führten.

Insbesondere Fahrzeuge sind besonders komplex, da sie mit zahlreichen integrierten Systemen ausgestattet sind, von denen jedes einzelne Mikro-Funktionen übernimmt, von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer wachsenden Zahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsvektoren ausgesetzt ist. Und da bis 2023 weltweit voraussichtlich 76,3 Millionen vernetzte Fahrzeuge unterwegs sein werden, muss eine monolithische Verteidigungsbasis geschaffen werden, um echte Sicherheit zu gewährleisten.

MISRA ist eine wichtige Organisation, die sich wirksam gegen Bedrohungen im Zusammenhang mit eingebetteten Systemen einsetzt und Richtlinien entwickelt hat, die die Sicherheit, Portabilität und Zuverlässigkeit von Code im Kontext eingebetteter Systeme verbessern sollen. Diese Richtlinien bilden den Grundstein für die Normen, die jedes Unternehmen im Rahmen seiner Projekte mit eingebetteten Systemen einhalten muss.

Um jedoch Code zu erstellen und auszuführen, der dieser Referenznorm entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die Vertrauen in diese Tools haben, ganz zu schweigen von deren Sicherheitsniveau.

Warum ist die Stärkung der Kompetenzen im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben veraltet, werden aber nach wie vor häufig verwendet. Sie bilden das funktionale Herzstück der Codebasis eingebetteter Systeme, und Embedded C/C++ erfreut sich einer modernen und glänzenden Zukunft in der Welt der vernetzten Geräte.

Obwohl diese Sprachen relativ alte Wurzeln haben und ähnliche Schwachstellen in Bezug auf häufige Probleme wie Injektionsschwachstellen und Pufferüberläufe aufweisen, müssen Entwickler sich mit einem Code vertraut machen, der die Umgebungen imitiert, in denen sie arbeiten, um Sicherheitslücken in eingebetteten Systemen wirklich erfolgreich zu beheben. Eine allgemeine Schulung in C zu allgemeinen Sicherheitspraktiken ist einfach nicht so effektiv und einprägsam, wie wenn Sie mehr Zeit und Sorgfalt in die Arbeit in einem integrierten C-Kontext investieren würden.

Avec une douzaine à plus d'une centaine de systèmes intégrés dans un véhicule moderne, il est impératif que les développeurs reçoivent une formation précise sur ce qu'il faut rechercher et comment y remédier, directement dans l'IDE.

Wie sieht ein Fehler in der Geschäftslogik in integriertem C/C++ aus? Schauen Sie sich das an und versuchen Sie, ihn wie ein Profi zu identifizieren und zu beheben.

Der Schutz eingebetteter Systeme vom Erdgeschoss aus liegt in der Verantwortung aller.

Der Status quo in vielen Organisationen ist, dass die Geschwindigkeit der Entwicklung Vorrang vor der Sicherheit hat, zumindest was die Verantwortung der Entwickler betrifft. Ihre Fähigkeit, sicheren Code zu produzieren, wird selten bewertet, aber die schnelle Entwicklung großartiger Funktionen ist der absolute Maßstab. Die Nachfrage nach Software wird weiter steigen, aber diese Kultur hat uns auf einen verlorenen Kampf gegen Schwachstellen und die damit verbundenen Cyberangriffe vorbereitet.

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, sondern eine Lücke, die ein Mitglied des AppSec-Teams schließen muss, indem es geeignete und zugängliche (um nicht zu sagen bewertbare) Programme zur Kompetenzstärkung für die gesamte Entwickler-Community empfiehlt. Von Beginn eines Softwareentwicklungsprojekts an muss Sicherheit oberste Priorität haben, und jeder, insbesondere die Entwickler, muss die Rolle haben, die er benötigt, um seine Aufgabe zu erfüllen.

Lösung von Sicherheitsproblemen bei eingebetteten Systemen

Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.

Pufferüberläufe kommen besonders häufig vor. Wenn Sie mehr darüber erfahren möchten, wie dies zur Kompromittierung der zuvor erwähnten Heißluftfritteuse beigetragen hat (wodurch die Ausführung von Remote-Code ermöglicht wurde), lesen Sie diesen Bericht zu CVE-2020-28592.

Es ist nun an der Zeit, sich mit einer Pufferüberlauf-Sicherheitslücke in einem echten integrierten C/C++-Code vertraut zu machen. Nehmen Sie diese Herausforderung an, um zu sehen, ob Sie die fehlerhaften Codierungsmuster, die diesen heimtückischen Fehler verursachen, lokalisieren, identifizieren und beheben können:

Erstellen Sie einen Verlauf der Pufferüberläufe.



Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Ressource anzeigen
Ressource anzeigen

Genau wie Web-Software, APIs und mobile Geräte kann auch der anfällige Code eingebetteter Systeme ausgenutzt werden, wenn er von einem Angreifer entdeckt wird.

Möchten Sie mehr erfahren?

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 Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
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.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Es gibt zahlreiche Verweise in der Populärkultur auf KI und unehrliche Roboter sowie auf Geräte, die sich gegen ihre menschlichen Besitzer wenden. Diese sind stark von Science-Fiction und Fantasy geprägt, aber da das Internet der Dinge und vernetzte Geräte in unseren Haushalten immer mehr Verbreitung finden, sollte dies auch für Diskussionen über Cybersicherheit und Sicherheit gelten. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all diese intelligenten Aufgaben auszuführen, die uns so viel Innovation und Komfort bringen. Genau wie Web-Software, APIs und mobile Geräte kann auch der anfällige Code eingebetteter Systeme ausgenutzt werden, wenn er von einem Angreifer entdeckt wird.

Obwohl es unwahrscheinlich ist, dass eine Armee von Mikrowellen die Menschheit versklaven wird (auch wenn der Tesla-Roboter etwas beunruhigend ist), sind nach einem Cyberangriff böswillige Cyberereignisse immer möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte stützen sich ebenfalls auf einen komplexen Code integrierter Systeme, um wichtige Aufgaben auszuführen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell tödlich.

Wie bei allen anderen Arten von Software gehören Entwickler zu den ersten, die zu Beginn der Entwicklungsphase mit dem Code arbeiten. Und wie bei jeder anderen Art von Software kann auch diese zu heimtückischen und häufigen Schwachstellen führen, die vor der Inbetriebnahme des Produkts unbemerkt bleiben könnten.

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem viel leistungsfähigeren Arsenal ausgestattet werden, um den für sie relevanten Bedrohungen zu begegnen. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden mit der Weiterentwicklung unserer technologischen Anforderungen immer häufiger zum Einsatz kommen, weshalb eine spezielle Sicherheitsschulung für Entwickler zu den Tools dieser Umgebung unerlässlich ist.

Explodierende Heißluftfritteusen, betrügerische Fahrzeuge... Sind wir leichte Beute?

Obwohl es einige Normen und Vorschriften für jede sichere Entwicklung gibt, müssen wir, um unsere Sicherheit zu gewährleisten, viel präzisere und bedeutendere Fortschritte in allen Bereichen der Softwaresicherheit erzielen. Es mag übertrieben erscheinen, an ein Problem zu denken, das durch das Hacken einer Heißluftfritteuse verursacht werden könnte, aber genau das ist in Form eines Remote-Code-Execution-Angriffs passiert (der es dem Angreifer ermöglichte, die Temperatur auf gefährliche Werte zu erhöhen), ebenso wie Schwachstellen, die zur Übernahme der Kontrolle über Fahrzeuge führten.

Insbesondere Fahrzeuge sind besonders komplex, da sie mit zahlreichen integrierten Systemen ausgestattet sind, von denen jedes einzelne Mikro-Funktionen übernimmt, von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer wachsenden Zahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsvektoren ausgesetzt ist. Und da bis 2023 weltweit voraussichtlich 76,3 Millionen vernetzte Fahrzeuge unterwegs sein werden, muss eine monolithische Verteidigungsbasis geschaffen werden, um echte Sicherheit zu gewährleisten.

MISRA ist eine wichtige Organisation, die sich wirksam gegen Bedrohungen im Zusammenhang mit eingebetteten Systemen einsetzt und Richtlinien entwickelt hat, die die Sicherheit, Portabilität und Zuverlässigkeit von Code im Kontext eingebetteter Systeme verbessern sollen. Diese Richtlinien bilden den Grundstein für die Normen, die jedes Unternehmen im Rahmen seiner Projekte mit eingebetteten Systemen einhalten muss.

Um jedoch Code zu erstellen und auszuführen, der dieser Referenznorm entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die Vertrauen in diese Tools haben, ganz zu schweigen von deren Sicherheitsniveau.

Warum ist die Stärkung der Kompetenzen im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben veraltet, werden aber nach wie vor häufig verwendet. Sie bilden das funktionale Herzstück der Codebasis eingebetteter Systeme, und Embedded C/C++ erfreut sich einer modernen und glänzenden Zukunft in der Welt der vernetzten Geräte.

Obwohl diese Sprachen relativ alte Wurzeln haben und ähnliche Schwachstellen in Bezug auf häufige Probleme wie Injektionsschwachstellen und Pufferüberläufe aufweisen, müssen Entwickler sich mit einem Code vertraut machen, der die Umgebungen imitiert, in denen sie arbeiten, um Sicherheitslücken in eingebetteten Systemen wirklich erfolgreich zu beheben. Eine allgemeine Schulung in C zu allgemeinen Sicherheitspraktiken ist einfach nicht so effektiv und einprägsam, wie wenn Sie mehr Zeit und Sorgfalt in die Arbeit in einem integrierten C-Kontext investieren würden.

Avec une douzaine à plus d'une centaine de systèmes intégrés dans un véhicule moderne, il est impératif que les développeurs reçoivent une formation précise sur ce qu'il faut rechercher et comment y remédier, directement dans l'IDE.

Wie sieht ein Fehler in der Geschäftslogik in integriertem C/C++ aus? Schauen Sie sich das an und versuchen Sie, ihn wie ein Profi zu identifizieren und zu beheben.

Der Schutz eingebetteter Systeme vom Erdgeschoss aus liegt in der Verantwortung aller.

Der Status quo in vielen Organisationen ist, dass die Geschwindigkeit der Entwicklung Vorrang vor der Sicherheit hat, zumindest was die Verantwortung der Entwickler betrifft. Ihre Fähigkeit, sicheren Code zu produzieren, wird selten bewertet, aber die schnelle Entwicklung großartiger Funktionen ist der absolute Maßstab. Die Nachfrage nach Software wird weiter steigen, aber diese Kultur hat uns auf einen verlorenen Kampf gegen Schwachstellen und die damit verbundenen Cyberangriffe vorbereitet.

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, sondern eine Lücke, die ein Mitglied des AppSec-Teams schließen muss, indem es geeignete und zugängliche (um nicht zu sagen bewertbare) Programme zur Kompetenzstärkung für die gesamte Entwickler-Community empfiehlt. Von Beginn eines Softwareentwicklungsprojekts an muss Sicherheit oberste Priorität haben, und jeder, insbesondere die Entwickler, muss die Rolle haben, die er benötigt, um seine Aufgabe zu erfüllen.

Lösung von Sicherheitsproblemen bei eingebetteten Systemen

Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.

Pufferüberläufe kommen besonders häufig vor. Wenn Sie mehr darüber erfahren möchten, wie dies zur Kompromittierung der zuvor erwähnten Heißluftfritteuse beigetragen hat (wodurch die Ausführung von Remote-Code ermöglicht wurde), lesen Sie diesen Bericht zu CVE-2020-28592.

Es ist nun an der Zeit, sich mit einer Pufferüberlauf-Sicherheitslücke in einem echten integrierten C/C++-Code vertraut zu machen. Nehmen Sie diese Herausforderung an, um zu sehen, ob Sie die fehlerhaften Codierungsmuster, die diesen heimtückischen Fehler verursachen, lokalisieren, identifizieren und beheben können:

Erstellen Sie einen Verlauf der Pufferüberläufe.



Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Ressource anzeigen
Ressource anzeigen

Füllen Sie das untenstehende Formular aus, um den Bericht herunterzuladen.

Wir möchten Ihre Einwilligung einholen, um Ihnen Informationen zu unseren Produkten und/oder zu Themen im Zusammenhang mit sicherer Verschlüsselung zuzusenden. Wir werden Ihre personenbezogenen Daten stets mit größter Sorgfalt behandeln und niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Einreichen
scw Erfolgssymbol
scw-Fehlersymbol
Um das Formular zu senden, aktivieren Sie bitte die „Analytics“-Cookies. Sie können diese nach Abschluss des Vorgangs wieder deaktivieren.

Es gibt zahlreiche Verweise in der Populärkultur auf KI und unehrliche Roboter sowie auf Geräte, die sich gegen ihre menschlichen Besitzer wenden. Diese sind stark von Science-Fiction und Fantasy geprägt, aber da das Internet der Dinge und vernetzte Geräte in unseren Haushalten immer mehr Verbreitung finden, sollte dies auch für Diskussionen über Cybersicherheit und Sicherheit gelten. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all diese intelligenten Aufgaben auszuführen, die uns so viel Innovation und Komfort bringen. Genau wie Web-Software, APIs und mobile Geräte kann auch der anfällige Code eingebetteter Systeme ausgenutzt werden, wenn er von einem Angreifer entdeckt wird.

Obwohl es unwahrscheinlich ist, dass eine Armee von Mikrowellen die Menschheit versklaven wird (auch wenn der Tesla-Roboter etwas beunruhigend ist), sind nach einem Cyberangriff böswillige Cyberereignisse immer möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte stützen sich ebenfalls auf einen komplexen Code integrierter Systeme, um wichtige Aufgaben auszuführen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell tödlich.

Wie bei allen anderen Arten von Software gehören Entwickler zu den ersten, die zu Beginn der Entwicklungsphase mit dem Code arbeiten. Und wie bei jeder anderen Art von Software kann auch diese zu heimtückischen und häufigen Schwachstellen führen, die vor der Inbetriebnahme des Produkts unbemerkt bleiben könnten.

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem viel leistungsfähigeren Arsenal ausgestattet werden, um den für sie relevanten Bedrohungen zu begegnen. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden mit der Weiterentwicklung unserer technologischen Anforderungen immer häufiger zum Einsatz kommen, weshalb eine spezielle Sicherheitsschulung für Entwickler zu den Tools dieser Umgebung unerlässlich ist.

Explodierende Heißluftfritteusen, betrügerische Fahrzeuge... Sind wir leichte Beute?

Obwohl es einige Normen und Vorschriften für jede sichere Entwicklung gibt, müssen wir, um unsere Sicherheit zu gewährleisten, viel präzisere und bedeutendere Fortschritte in allen Bereichen der Softwaresicherheit erzielen. Es mag übertrieben erscheinen, an ein Problem zu denken, das durch das Hacken einer Heißluftfritteuse verursacht werden könnte, aber genau das ist in Form eines Remote-Code-Execution-Angriffs passiert (der es dem Angreifer ermöglichte, die Temperatur auf gefährliche Werte zu erhöhen), ebenso wie Schwachstellen, die zur Übernahme der Kontrolle über Fahrzeuge führten.

Insbesondere Fahrzeuge sind besonders komplex, da sie mit zahlreichen integrierten Systemen ausgestattet sind, von denen jedes einzelne Mikro-Funktionen übernimmt, von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer wachsenden Zahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsvektoren ausgesetzt ist. Und da bis 2023 weltweit voraussichtlich 76,3 Millionen vernetzte Fahrzeuge unterwegs sein werden, muss eine monolithische Verteidigungsbasis geschaffen werden, um echte Sicherheit zu gewährleisten.

MISRA ist eine wichtige Organisation, die sich wirksam gegen Bedrohungen im Zusammenhang mit eingebetteten Systemen einsetzt und Richtlinien entwickelt hat, die die Sicherheit, Portabilität und Zuverlässigkeit von Code im Kontext eingebetteter Systeme verbessern sollen. Diese Richtlinien bilden den Grundstein für die Normen, die jedes Unternehmen im Rahmen seiner Projekte mit eingebetteten Systemen einhalten muss.

Um jedoch Code zu erstellen und auszuführen, der dieser Referenznorm entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die Vertrauen in diese Tools haben, ganz zu schweigen von deren Sicherheitsniveau.

Warum ist die Stärkung der Kompetenzen im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben veraltet, werden aber nach wie vor häufig verwendet. Sie bilden das funktionale Herzstück der Codebasis eingebetteter Systeme, und Embedded C/C++ erfreut sich einer modernen und glänzenden Zukunft in der Welt der vernetzten Geräte.

Obwohl diese Sprachen relativ alte Wurzeln haben und ähnliche Schwachstellen in Bezug auf häufige Probleme wie Injektionsschwachstellen und Pufferüberläufe aufweisen, müssen Entwickler sich mit einem Code vertraut machen, der die Umgebungen imitiert, in denen sie arbeiten, um Sicherheitslücken in eingebetteten Systemen wirklich erfolgreich zu beheben. Eine allgemeine Schulung in C zu allgemeinen Sicherheitspraktiken ist einfach nicht so effektiv und einprägsam, wie wenn Sie mehr Zeit und Sorgfalt in die Arbeit in einem integrierten C-Kontext investieren würden.

Avec une douzaine à plus d'une centaine de systèmes intégrés dans un véhicule moderne, il est impératif que les développeurs reçoivent une formation précise sur ce qu'il faut rechercher et comment y remédier, directement dans l'IDE.

Wie sieht ein Fehler in der Geschäftslogik in integriertem C/C++ aus? Schauen Sie sich das an und versuchen Sie, ihn wie ein Profi zu identifizieren und zu beheben.

Der Schutz eingebetteter Systeme vom Erdgeschoss aus liegt in der Verantwortung aller.

Der Status quo in vielen Organisationen ist, dass die Geschwindigkeit der Entwicklung Vorrang vor der Sicherheit hat, zumindest was die Verantwortung der Entwickler betrifft. Ihre Fähigkeit, sicheren Code zu produzieren, wird selten bewertet, aber die schnelle Entwicklung großartiger Funktionen ist der absolute Maßstab. Die Nachfrage nach Software wird weiter steigen, aber diese Kultur hat uns auf einen verlorenen Kampf gegen Schwachstellen und die damit verbundenen Cyberangriffe vorbereitet.

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, sondern eine Lücke, die ein Mitglied des AppSec-Teams schließen muss, indem es geeignete und zugängliche (um nicht zu sagen bewertbare) Programme zur Kompetenzstärkung für die gesamte Entwickler-Community empfiehlt. Von Beginn eines Softwareentwicklungsprojekts an muss Sicherheit oberste Priorität haben, und jeder, insbesondere die Entwickler, muss die Rolle haben, die er benötigt, um seine Aufgabe zu erfüllen.

Lösung von Sicherheitsproblemen bei eingebetteten Systemen

Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.

Pufferüberläufe kommen besonders häufig vor. Wenn Sie mehr darüber erfahren möchten, wie dies zur Kompromittierung der zuvor erwähnten Heißluftfritteuse beigetragen hat (wodurch die Ausführung von Remote-Code ermöglicht wurde), lesen Sie diesen Bericht zu CVE-2020-28592.

Es ist nun an der Zeit, sich mit einer Pufferüberlauf-Sicherheitslücke in einem echten integrierten C/C++-Code vertraut zu machen. Nehmen Sie diese Herausforderung an, um zu sehen, ob Sie die fehlerhaften Codierungsmuster, die diesen heimtückischen Fehler verursachen, lokalisieren, identifizieren und beheben können:

Erstellen Sie einen Verlauf der Pufferüberläufe.



Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Webinar anzeigen
Beginnen Sie
mehr erfahren

Klicken Sie auf den untenstehenden Link und laden Sie das PDF dieser Ressource herunter.

Secure Code Warrior Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht anzeigenDemo buchen
PDF herunterladen
Ressource anzeigen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Möchten Sie mehr erfahren?

Teilen auf:
LinkedIn-MarkenSozialx Logo
Autor
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.

Teilen auf:
LinkedIn-MarkenSozialx Logo

Es gibt zahlreiche Verweise in der Populärkultur auf KI und unehrliche Roboter sowie auf Geräte, die sich gegen ihre menschlichen Besitzer wenden. Diese sind stark von Science-Fiction und Fantasy geprägt, aber da das Internet der Dinge und vernetzte Geräte in unseren Haushalten immer mehr Verbreitung finden, sollte dies auch für Diskussionen über Cybersicherheit und Sicherheit gelten. Software ist allgegenwärtig, und man vergisst leicht, wie sehr wir uns auf Codezeilen verlassen, um all diese intelligenten Aufgaben auszuführen, die uns so viel Innovation und Komfort bringen. Genau wie Web-Software, APIs und mobile Geräte kann auch der anfällige Code eingebetteter Systeme ausgenutzt werden, wenn er von einem Angreifer entdeckt wird.

Obwohl es unwahrscheinlich ist, dass eine Armee von Mikrowellen die Menschheit versklaven wird (auch wenn der Tesla-Roboter etwas beunruhigend ist), sind nach einem Cyberangriff böswillige Cyberereignisse immer möglich. Einige unserer Autos, Flugzeuge und medizinischen Geräte stützen sich ebenfalls auf einen komplexen Code integrierter Systeme, um wichtige Aufgaben auszuführen, und die Aussicht, dass diese Objekte kompromittiert werden könnten, ist nicht nur alarmierend, sondern potenziell tödlich.

Wie bei allen anderen Arten von Software gehören Entwickler zu den ersten, die zu Beginn der Entwicklungsphase mit dem Code arbeiten. Und wie bei jeder anderen Art von Software kann auch diese zu heimtückischen und häufigen Schwachstellen führen, die vor der Inbetriebnahme des Produkts unbemerkt bleiben könnten.

Entwickler sind keine Sicherheitsexperten, und kein Unternehmen sollte erwarten, dass sie diese Rolle übernehmen, aber sie können mit einem viel leistungsfähigeren Arsenal ausgestattet werden, um den für sie relevanten Bedrohungen zu begegnen. Eingebettete Systeme, die in der Regel in C und C++ geschrieben sind, werden mit der Weiterentwicklung unserer technologischen Anforderungen immer häufiger zum Einsatz kommen, weshalb eine spezielle Sicherheitsschulung für Entwickler zu den Tools dieser Umgebung unerlässlich ist.

Explodierende Heißluftfritteusen, betrügerische Fahrzeuge... Sind wir leichte Beute?

Obwohl es einige Normen und Vorschriften für jede sichere Entwicklung gibt, müssen wir, um unsere Sicherheit zu gewährleisten, viel präzisere und bedeutendere Fortschritte in allen Bereichen der Softwaresicherheit erzielen. Es mag übertrieben erscheinen, an ein Problem zu denken, das durch das Hacken einer Heißluftfritteuse verursacht werden könnte, aber genau das ist in Form eines Remote-Code-Execution-Angriffs passiert (der es dem Angreifer ermöglichte, die Temperatur auf gefährliche Werte zu erhöhen), ebenso wie Schwachstellen, die zur Übernahme der Kontrolle über Fahrzeuge führten.

Insbesondere Fahrzeuge sind besonders komplex, da sie mit zahlreichen integrierten Systemen ausgestattet sind, von denen jedes einzelne Mikro-Funktionen übernimmt, von automatischen Scheibenwischern bis hin zu Motor- und Bremsfunktionen. In Verbindung mit einer wachsenden Zahl von Kommunikationstechnologien wie WLAN, Bluetooth und GPS stellt das vernetzte Fahrzeug eine komplexe digitale Infrastruktur dar, die zahlreichen Angriffsvektoren ausgesetzt ist. Und da bis 2023 weltweit voraussichtlich 76,3 Millionen vernetzte Fahrzeuge unterwegs sein werden, muss eine monolithische Verteidigungsbasis geschaffen werden, um echte Sicherheit zu gewährleisten.

MISRA ist eine wichtige Organisation, die sich wirksam gegen Bedrohungen im Zusammenhang mit eingebetteten Systemen einsetzt und Richtlinien entwickelt hat, die die Sicherheit, Portabilität und Zuverlässigkeit von Code im Kontext eingebetteter Systeme verbessern sollen. Diese Richtlinien bilden den Grundstein für die Normen, die jedes Unternehmen im Rahmen seiner Projekte mit eingebetteten Systemen einhalten muss.

Um jedoch Code zu erstellen und auszuführen, der dieser Referenznorm entspricht, sind Ingenieure für eingebettete Systeme erforderlich, die Vertrauen in diese Tools haben, ganz zu schweigen von deren Sicherheitsniveau.

Warum ist die Stärkung der Kompetenzen im Bereich der Sicherheit eingebetteter Systeme so spezifisch?

Die Programmiersprachen C und C++ sind nach heutigen Maßstäben veraltet, werden aber nach wie vor häufig verwendet. Sie bilden das funktionale Herzstück der Codebasis eingebetteter Systeme, und Embedded C/C++ erfreut sich einer modernen und glänzenden Zukunft in der Welt der vernetzten Geräte.

Obwohl diese Sprachen relativ alte Wurzeln haben und ähnliche Schwachstellen in Bezug auf häufige Probleme wie Injektionsschwachstellen und Pufferüberläufe aufweisen, müssen Entwickler sich mit einem Code vertraut machen, der die Umgebungen imitiert, in denen sie arbeiten, um Sicherheitslücken in eingebetteten Systemen wirklich erfolgreich zu beheben. Eine allgemeine Schulung in C zu allgemeinen Sicherheitspraktiken ist einfach nicht so effektiv und einprägsam, wie wenn Sie mehr Zeit und Sorgfalt in die Arbeit in einem integrierten C-Kontext investieren würden.

Avec une douzaine à plus d'une centaine de systèmes intégrés dans un véhicule moderne, il est impératif que les développeurs reçoivent une formation précise sur ce qu'il faut rechercher et comment y remédier, directement dans l'IDE.

Wie sieht ein Fehler in der Geschäftslogik in integriertem C/C++ aus? Schauen Sie sich das an und versuchen Sie, ihn wie ein Profi zu identifizieren und zu beheben.

Der Schutz eingebetteter Systeme vom Erdgeschoss aus liegt in der Verantwortung aller.

Der Status quo in vielen Organisationen ist, dass die Geschwindigkeit der Entwicklung Vorrang vor der Sicherheit hat, zumindest was die Verantwortung der Entwickler betrifft. Ihre Fähigkeit, sicheren Code zu produzieren, wird selten bewertet, aber die schnelle Entwicklung großartiger Funktionen ist der absolute Maßstab. Die Nachfrage nach Software wird weiter steigen, aber diese Kultur hat uns auf einen verlorenen Kampf gegen Schwachstellen und die damit verbundenen Cyberangriffe vorbereitet.

Wenn Entwickler nicht geschult sind, ist das nicht ihre Schuld, sondern eine Lücke, die ein Mitglied des AppSec-Teams schließen muss, indem es geeignete und zugängliche (um nicht zu sagen bewertbare) Programme zur Kompetenzstärkung für die gesamte Entwickler-Community empfiehlt. Von Beginn eines Softwareentwicklungsprojekts an muss Sicherheit oberste Priorität haben, und jeder, insbesondere die Entwickler, muss die Rolle haben, die er benötigt, um seine Aufgabe zu erfüllen.

Lösung von Sicherheitsproblemen bei eingebetteten Systemen

Le dépassement de la mémoire tampon, les failles d'injection et les bogues de logique métier sont tous des pièges courants dans le développement de systèmes embarqués. Enfoui au plus profond d'un labyrinthe de microcontrôleurs dans un seul véhicule ou appareil, cela peut être catastrophique du point de vue de la sécurité.

Pufferüberläufe kommen besonders häufig vor. Wenn Sie mehr darüber erfahren möchten, wie dies zur Kompromittierung der zuvor erwähnten Heißluftfritteuse beigetragen hat (wodurch die Ausführung von Remote-Code ermöglicht wurde), lesen Sie diesen Bericht zu CVE-2020-28592.

Es ist nun an der Zeit, sich mit einer Pufferüberlauf-Sicherheitslücke in einem echten integrierten C/C++-Code vertraut zu machen. Nehmen Sie diese Herausforderung an, um zu sehen, ob Sie die fehlerhaften Codierungsmuster, die diesen heimtückischen Fehler verursachen, lokalisieren, identifizieren und beheben können:

Erstellen Sie einen Verlauf der Pufferüberläufe.



Comment t'es-tu débrouillé ? Visitez www.securecodewarrior.com pour une formation précise et efficace sur la sécurité des systèmes embarqués.

Inhaltsverzeichnis

PDF herunterladen
Ressource anzeigen
Möchten Sie mehr erfahren?

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 Ihr Unternehmen dabei, den Code während des gesamten Softwareentwicklungszyklus zu sichern und eine Kultur zu schaffen, in der Cybersicherheit oberste Priorität hat. Ganz gleich, ob Sie für die Anwendungssicherheit verantwortlich sind, Entwickler, IT-Sicherheitsbeauftragter oder in einer anderen Funktion im Bereich Sicherheit tätig sind – wir können Ihrem Unternehmen dabei helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchenHerunterladen
Teilen auf:
LinkedIn-MarkenSozialx Logo
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge
Ressourcenzentrum

Ressourcen, die Ihnen den Einstieg erleichtern

Weitere Beiträge