Safety meets Security: 5 Regeln für sicheres Embedded-Design
Die offene Vernetzung von Embedded-Systemen dringt in Segmente wie Medizin, Automotive und Industrie vor. Für diese Systeme wird nicht nur die funktionale Sicherheit, sondern auch der Schutz gegen Cyber-Attacken wesentlich. Daneben müssen weitere Bedrohungen berücksichtigt werden.
Anbieter zum Thema

Moderne Embedded-Designs basieren auf standardisierten Protokollen und Schnittstellen. Das reduziert die Zeit bis zur Markteinführung durch die Wiederverwendung von Software-Komponenten und durch Rapid Prototyping und erlaubt eine verstärkte Verbindung zwischen den Geräten.
Das bietet viele Vorteile, birgt aber das Risiko netzbasierter Angriffsmethoden. In den Branchen Medizin, Industrie und Automotive steigen die Anforderungen an die Datensicherheit, jedoch hat jede Branche einen eigenen Fokus.
Sicherheit für das vernetzte Automobil
Im Automobilmarkt wurden viele mechanische Steuerungen bereits seit einiger Zeit durch Mikrocontroller und Mikroprozessoren ersetzt. Manche davon sind sicherheitsrelevante Komponenten wie Brems- und Traktionskontrolle, Motorsteuerungen sowie Airbag-Steuerungen.
Diese Systeme sind über standardisierte Busse wie CAN, MOST und seit kurzem auch Ethernet verbunden und beinhalten in der Regel Debug-Ports für die Wartung. Das Hacken von Autos selbst ist nichts Neues, denn es ist seit langem möglich, sich Aftermarket-Software zu beschaffen, um die Motorleistung zu verändern.
Bis vor kurzem wurde diese Zugangsmöglichkeit nicht als ernstes Sicherheitsproblem gesehen. Das Hinzufügen von Breitbandverbindungen zum Fahrzeug erlaubt es nun, Fahrzeuge unterwegs anzugreifen. Die Situation kompliziert sich noch durch den Trend zur Konvergenz, das heißt, die Konsolidierung von Mikrocontrollern in Multicore-SoCs.
Bei den Instrumenten-Clustern auf dem Armaturenbrett geht der Trend immer mehr zu digitalen Anzeigen, die von Grafikprozessoren gespeist werden, die wiederum Teil von SoCs mit mehreren Kernen sind. Diese Chips sind so leistungsfähig, dass genug Rechenleistung für das In-Vehicle-Infotainment vorhanden ist, weswegen sicherheitskritische Software auf den selben Chips läuft wie das Infotainment.
Da analog zu Moore's Gesetz die Leistung weiter ansteigt, werden auch andere sicherheitskritische Funktionen wie die Motorsteuerung in diesen Prozessoren konsolidiert. Da immer mehr Funktionen auf einem Chip integriert werden, werden die Anforderungen an die Trennung der kritischen und weniger kritischen Funktionen sowohl im Hinblick auf die funktionale als auch auf die Datensicherheit immer komplexer.
Security für die Industrie 4.0
In den vergangenen Jahren hat sich das Design für industrielle Systeme in Richtung der Standardisierung von Protokollen und der verstärkten Vernetzung bewegt, die in der sogenannten vierten industriellen Revolution (Industrie 4.0) gipfelt. Industrie 4.0 nutzt die Zusammenschaltung von Geräten im Fertigungsprozess, um die gesamte Fabrik zu zu optimieren.
Diese gegenseitige Abhängigkeit macht es noch wichtiger, dass Designer industrieller Systeme die Datensicherheit nicht nur im Betrieb, sondern über die gesamte Lebensdauer der Maschine betrachten sowie im Hinblick auf Netzwerke mit älteren Geräten, die möglicherweise kompromittiert wurden.
Industrie 4.0 basiert auf intelligenten Fabriken, die aus modularen Komponenten aufgebaut sind. Diese Komponenten werden über das Internet der Dinge zu Cyber-physischen Systemen zusammengefasst. Diese Systeme überwachen die physikalischen Prozesse und sind in der Lage, die Prozesse auf der Grundlage eines virtuellen Modells der physischen Welt durch dezentrale Entscheidungen zu steuern.
Diese Cyber-physischen Systeme interagieren nicht nur mit Menschen, sondern auch miteinander in Echtzeit, um sowohl innerhalb der Fabrik als auch für externe Kunden zusätzliche Werte zu schaffen.
Industrie 4.0 hängt letztlich davon ab, dass jedes Gerät innerhalb der intelligenten Fabrik vernetzt ist, um einen Echtzeit-Datenfluss über jede von ihren modularen Komponenten herzustellen. Da sich jedes Gerät, einschließlich der sicherheitskritischen Komponenten, im Netzwerk befindet, muss jedes Gerät sicher sein, damit das System als Ganzes sicher ist.
In der Vergangenheit konnten Fabriken durch Malware, die eigentlich gar nicht auf Industriesysteme zielte, zum Erliegen gebracht werden. Diese einfachen Viren befielen Steuerungs-PCs und überfluteten dann das Netzwerk, indem sie sich weiter verteilten.
Das überlastete Netzwerk war dann nicht mehr in der Lage, ausreichend Bandbreite zur Verfügung zu stellen, um das System aufrechtzuerhalten. Im Internet der Dinge, in dem Echtzeit-Produktionsdaten über das Netz bewegt werden, muss das Netzwerk stets betriebsbereit bleiben.
Security in der Medizintechnik
Sicherheitsexperten melden seit mehreren Jahren Schwachstellen in Krankenhaus- und Kliniknetzwerken. Obwohl diese Netzwerke äußerst sensible Patientendaten enthalten und lebenswichtige Geräte daran angeschlossen sind, sind sie weiterhin leicht zu infiltrieren.
Während Netzwerk-Geräte wie Router auf dem aktuellen Stand der Technik sein mögen, sind die medizinischen Geräte oft nur wenig oder gar nicht geschützt. Die Infiltration eines Gerätes mit Malware kann eine Hintertür öffnen, die Hackern den Zugriff auf sensible Daten im Netz erlaubt, und schlimmer noch, dazu führen kann, dass sich das Medizingerät erratisch verhält.
Seit 2015 gibt es in puncto Sicherheit viel regulatorische Aktivität, die das Design von Medizingeräten beeinflusst. Die Verabschiedung der neuen Allgemeinen Geräteschutzverordnung in der EU stellt strenge Anforderungen an den Schutz personenbezogener Daten. Zusätzliche Regelungen, die speziell auf medizinische Geräte zielen, sind bald zu erwarten.
Die Empfehlungen der amerikanischen FDA bieten den Geräteentwicklern nützlichere Handreichungen, wie die Security-Anforderungen zu erfüllen sind. Die FDA hat formale Leitlinien für Pre-Market-Einreichungen und das Post-Market-Management der Security in Medizingeräten erlassen. Ein wichtiger Punkt der Pre-Market-Anleitung ist, dass Sicherheitsaspekte Teil der Risikoanalyse sein sollten, während die Post-Market-Anweisung eindeutig die Notwendigkeit einer sicheren Software-Update-Prozedur betont.
Die Post-Markt-Anweisung besagt, dass die FDA es in der Regel nicht als notwendig ansieht, Änderungen der Software für Medizingeräte zu genehmigen, wenn diese nur dem Zweck dienen, die Cybersecurity-Funktionen im Betrieb zu aktualisieren. Dies dient dazu, schnell auf entstehende Bedrohungen reagieren zu können.
Noch mehr: Die FDA gab erstmals eine Direktive heraus, die von Schwachstellen der Cybersicherheit einer bestimmten Infusionspumpe ausgelöst wurde. Diese Mitteilung empfiehlt, einige zuvor genehmigte Geräte nicht mehr zu verwenden, und zwar nur aufgrund ihrer Verwundbarkeit gegenüber Cyber-Attacken.
Sicherheit für alle eingebetteten Systeme
Es ist wichtig, sich bewusst zu machen, dass netzwerkbasierte Angriffe nicht die einzigen Bedrohungen für ein vernetztes System sind. Daneben müssen weitere Bedrohungen berücksichtigt werden:
- Software-Updates: Update-Mechanismen sind notwendig. Sind diese aber kompromittiert, kann sich Malware installieren.
- Physische Angriffe: Zum Beispiel kann der Zugriff auf einen JTAG-Debug-Port dazu verwendet werden, um ein System umzuprogrammieren und Malware zu injizieren.
- Graumarkt: Verärgerte Mitarbeiter oder unseriöse Auftragsnehmer können unautorisierte Kopien eines legitimen Systemdesigns erstellen, was Umsatzverluste und häufig eine beschädigte Reputation für den ursprünglichen Hersteller nach sich zieht.
Ein sicheres Design sollte auf viele mögliche Bedrohungen vorbereitet sein.
Fünf Regeln für sicheres Embedded-Design
Viele Entwickler von Embedded-Devices haben Erfahrung darin, Systeme zu entwerfen, die die Anforderungen funktionaler Sicherheit erfüllen. Die Cybersicherheit fügt dem Designprozess eine weitere Dimension hinzu. Für diejenigen, die mit diesem Thema nicht sehr vertraut sind, ist es ratsam, Experten zu konsultieren.
Integrity Security Services (ISS), ein Tochterunternehmen von Green Hills Software, hilft den Kunden, FDA- und EU-Anforderungen mit einem End-to-End-Sicherheitsdesign zu erfüllen. ISS unterstützt Entwickler bei der Anwendung der folgenden fünf Security-Regeln:
1. Dem Netzwerk nicht vertrauen
Das alte Konzept der Isolation als Sicherheitsvorkehrung ist nicht mehr gültig. Die Vernetzung wird nicht mehr nur zu Wartungszwecken verwendet, sondern ist die Standard-Betriebsart. Daten, die über die Netzwerke fließen, umfassen kritische Sicherheitsinformationen, wichtige operative Parameter, Kundendaten, proprietäre Informationen und Software-Updates.
Diese Netzwerke können auch Geräte umfassen, die bereits kompromittiert wurden, da viele ältere Geräte nicht für diese Konnektivität ausgelegt waren und viele Geräte vernetzt werden müssen, um Wartung oder Upgrades zu erhalten. Jedes Gerät im Netz kann ein Ziel für Hacker sein, um das Netzwerk zu penetrieren, und dann dazu verwendet werden, einen weiteren Angriff zu starten.
Um eine Sicherheitsverletzung zu verhindern, müssen alle Endpunkte authentifiziert werden, einschließlich des Gerätes selbst, aller Anwender, die damit interagieren, und aller anderen verbundenen Systeme. Früher nahmen Systemdesigner oft irrigerweise an, dass die Anwender und die Steuerungsbefehle korrekt waren, wenn die empfangenen Nachrichten das richtige Format aufwiesen.
Es gibt aber viele Beispiele aus allen möglichen Bereichen, bei denen ein Hacker in der Lage war, sich Zugang zu einem Netzwerk zu verschaffen, das Protokoll zu analysieren und Befehle im richtigen Format abzuschicken, um den Betrieb eines Gerätes zu beeinträchtigen, es zu deaktivieren oder die Sicherheitsparatemeter zu überschreiben.
2. Sicherstellen, dass die Software nicht manipuliert ist
Es gibt viele Möglichkeiten, Malware in ein System zu injizieren, darunter:
- Verwenden einer Hardware-Debugging-Schnittstelle wie JTAG
- Zugriff auf Test- und Debug-Schnittstellen wie Telnet und FTP
- Ausnutzung von Kontrollprotokollen, die ohne Rücksicht auf Sicherheit entwickelt wurden
- Simulieren eines Software-Updates, das sich als vertrauenswürdig ausgibt, ohne verifiziert zu sein
Der Systemsoftware sollte nicht vertraut werden, bis das Gegenteil bewiesen ist. Der Punkt, an dem die Authentifizierung beginnt, heißt „root of trust“, und muss sich bei hochsicheren Systemen entweder in der Hardware oder in einem unveränderlichen Speicher befinden. Ein sicherer Boot-Vorgang beginnt bei der „root of trust“ und prüft die Authentizität jeder Software-Schicht, bevor sie ausgeführt werden darf.
Der sichere Boot-Vorgang überprüft die Quelle und die Integrität der Software mit digitalen Signaturen. Die Software wird bei der Freigabe signiert und bei jedem Laden überprüft. Das garantiert, dass ein Gerät frei von Malware ist und mit der Qualität arbeitet, für die es entwickelt wurde.
Im Ergebnis verhindert der sichere Boot-Vorgang, dass sich Malware einnistet und das Netzwerk insgesamt ins Visier nehmen kann. Das Gerät ist auch in der Lage zu melden, wenn es ungültige Software enthält, was eine Voraussetzung für viele Cybersecurity-Standards ist.
3. Kritische Daten schützen
Sensible Daten und Software müssen nicht nur beim Transport, sondern auch innerhalb des Gerätes geschützt werden. Das geschieht durch ein Sicherheitsdesign, das Trennung und Verschlüsselung vorsieht, um sicherzustellen, dass nur authentifizierte Software und Anwender Zugang zu den Daten haben.
Der Schutz von Daten im Transit erfordert, dass Daten nur durch den richtigen Endpunkt angezeigt werden können. Beachten Sie auch, dass standardmäßige drahtlose Verschlüsselung allein noch keine sichere Kommunikation darstellt: sie schützt nur die Datenverbindung, nicht aber die Daten.
Jedes andere System, das Zugriff auf das Drahtlosnetzwerk erhält, ist in der Lage, die Pakete in entschlüsselter Form einzusehen. Der Schutz der Daten wird durch Sicherheitsprotokolle wie TLS erreicht, die eine sichere Client-Server-Kommunikation durch gegenseitig authentifizierte und eindeutig verschlüsselte Sitzungen ermöglichen.
4. Sichern Sie die Schlüssel
Schlüssel, die für die Verschlüsselung und Authentifizierung verwendet werden, müssen geschützt werden. Denn wenn die Schlüssel kompromittiert sind, kann ein Angreifer die sensiblen Daten aufdecken oder einen gültigen Endpunkt emulieren. Deshalb werden die Schlüssel gegen nicht vertrauenswürdige Software isoliert.
Schlüssel, die im nichtflüchtigen Speicher gesichert sind, sollten immer verschlüsselt werden und nur für die Secure-Boot-Prüfung entschlüsselt werden. Da der Schutz der Kundendaten vordringlich ist, bieten die Verwendung von Hochsicherheits-Kerneln und Sicherheitsmodulen eine mehrschichtige Trennung für ein ausfallsicheres Systemdesign.
Schlüssel müssen während des gesamten Produktlebens durch eine End-to-End-Sicherheitsinfrastruktur geschützt werden. Ist ein Schlüssel jederzeit lesbar, dann sind alle Geräte anfällig, die ihn nutzen.
Eine unternehmensweite Sicherheitsinfrastruktur schützt die Schlüssel und digitale Vertrauens-Assets über verteilte Lieferketten und kann außerdem wirtschaftliche Vorteile über das Software-Update hinaus bieten, zum Beispiel Echtzeitüberwachung des Gerätes, Fälschungsschutz sowie Lizenzdaten, die optionale Funktionen zur Verfügung stellen.
5. Zuverlässiger Betrieb
Die größten Bedrohungen für ein System sind die unbekannten Konstruktionsfehler und Defekte, die während der Entwicklung komplexer Geräte auftreten. Deshalb fördert Green Hills Software folgende Grundsätze für Software-Engineering:
- Minimale Implementierung: Der Code sollte nur die erforderlichen Funktionen ausführen. Spaghetti-Code, der nicht test- oder wartbar ist, ist zu vermeiden.
- Komponentenarchitektur: Softwaresysteme sollten aus Komponenten aufgebaut sein, die klein genug sind, um leicht verstanden und gepflegt werden zu können. Sicherheit und sicherheitskritische Dienste sind von unkritischen zu trennen.
- Minimale Privilegien: Jede Komponente sollte nur Zugriff auf die Komponenten (wie Speicher, Kommunikationskanäle, I/O-Geräte) erhalten, die sie unbedingt benötigt.
- Sicherer Entwicklungsprozess: Sichere Systeme erfordern einen entsprechenden Entwicklungsprozess: Das kann zusätzliche Kontrollen bedeuten, etwa in Bezug auf die Sicherheit der Design- und Entwicklungs-Tools oder sichere Coding-Standards.
- Prüfung durch unabhängige Experten: Für eine Zertifizierung ist häufig eine Auswertung durch eine externe Instanz erforderlich. Wie bei der funktionalen Sicherheit werden bereits für die Cybersicherheit zertifizierte Komponenten als zuverlässige Bausteine für ein neues Design bevorzugt.
Eine End-to-End- Sicherheitslösung entwickeln
Die Entwicklung eines Embedded-Gerätes, das sicher im Umfeld von Industrie 4.0 arbeitet, erfordert ein durchgängiges Sicherheitsdesign, das die Datensicherheit und Zuverlässigkeit des vernetzten Geräts über seine gesamte Lebensdauer gewährleistet. Das bedingt eine Sicherheitsarchitektur, die garantiert, dass Schlüssel, Zertifikate und Sensoren während des ganzen Betriebs durch eine unternehmensweite Infrastruktur geschützt sind.
Die optimale Wahl der Sicherheitslösungen für das Gerät und das Unternehmen hängen vom Geräte- und vom betrieblichen Umfeld ab, aber auch von den Kompromissen, die man einzugehen bereit ist. Daher lohnt es sich, Experten für dieses Gebiet zu konsultieren.
:quality(80)/images.vogel.de/vogelonline/bdb/1359300/1359364/original.jpg)
Linux Secure Boot in der Praxis
:quality(80)/images.vogel.de/vogelonline/bdb/469400/469444/original.jpg)
Software-Design
Grundlagen der Sicherheit bei Embedded-Software
* Mary Sue Haydt ist Field Application Engineer bei Green Hills Software.
(ID:44602409)