Bild 1: Komplexe IoT-Systeme enthalten mehrere Subsysteme und Schnittstellen.

Bild 1: Komplexe IoT-Systeme enthalten mehrere Subsysteme und Schnittstellen. Green Hills Software

Da die Ära des Internet der Dinge (IoT) weiter voranschreitet, nimmt auch die Diskussion rund um das Thema Sicherheit und Zuverlässigkeit zu. Einige nehmen immer noch an, dass dies die gleichen Embedded-Systeme seien, die Green Hills Software seit Jahren schützt. Andere wissen, dass dieser neue Markt eine Herausforderung ist und die Effizienz dieser neuen Klasse vernetzter Geräte unbestritten ist.

Unabhängig vom jeweiligen Standpunkt wird das IoT weiter wachsen. IoT-Innovation ist die Verschmelzung aus Internet und Embedded-Systemen. Früher eingeschränkte Hardware ist heute robust genug, um die Software-Ebenen zu unterstützen, die erforderlich sind, um umfassende IoT-Anwendungen zu unterstützen. Jede Software-Ebene bringt jedoch ein erhöhtes Fehlerrisiko mit sich, wenn etwas schief geht. Wir vertrauen unseren Geräten: Fahrzeuge, Infusionspumpen, Kreditkarten-Lesegeräte, Sicherheitssysteme für zuhause und Telefone – wir erwarten Zuverlässigkeit. Falls diese Zuverlässigkeit ausfällt, ergeben sich als Gegenreaktionen Empörung und Schlagzeilen auf den Titelseiten. Da IoT-Geräte für unser Leben immer wichtiger werden, gilt dies auch für deren Sicherheit und zuverlässigen Betrieb. Wenn die Vorteile des IoT mit der Zahl der Geräte Schritt halten sollen, tragen IoT-Entwickler die Verantwortung, dass das Vertrauen über eine durchgehende Sicherheitsstrategie garantiert wird.

Eckdaten

Durchgehende Sicherheit ist die Grundlage für eine Welt der vernetzten Dinge. Damit die vielen Geräte bei zunehmender Vernetzung zuverlässig funktionieren und Datenmissbrauch ausgeschlossen ist, sind vielfältige Sicherheits-maßnahmen wie Verschlüsselung, Authentifizierung, Zertifikate, digitale Signaturen und viele weitere erforderlich. Das Sicherheitsdesign beginnt bereits vor der Hardware- und Software-Auswahl, indem die Auswirkungen von Bedrohungen bewertet werden.

Sicher vernetzt

Laut Zahlen von Machina Research, die auf dem Security of Things Forum 2015 präsentiert wurden, steigt die Anzahl vernetzter Dinge von 5 Milliarden im Jahr 2014 auf 27 Milliarden im Jahr 2024. Dafür sorgen vor allem die weltweite Maschine-zu-Maschine-Vernetzung mit Fernsteuerungen, Überwachung und Antrieben sowie die zugehörigen Aggregations-Systeme. Protokolle wie MQTT, CoAP und XMPP; sowie Programmiersprachen wie Javascript, Python und PHP ermöglichen die Entwicklung von Vernetzungs-Code für IoT-Systeme, ohne die Details der zugrunde liegenden Hardware- und Softwareplattformen wissen zu müssen. In dieser aufstrebenden Umgebung von Open-Source-Protokollen und -Plattformen sind IoT-Einrichtungen zu allererst immer noch Embedded-Systeme. Vielleicht wird nicht mehr in C programmiert, aber die gleichen Zuverlässigkeits- und Sicherheitsbedenken, wie sie zuvor in den Bereichen Telekommunikation, Avionik und Militärtechnik adressiert werden mussten, müssen nun im IoT angewendet werden – wenn nicht sogar noch strenger geregelt.

IoT-Geräte sind Embedded-Systeme. Unter ihren Software-Ebenen finden sich Eingänge, Ausgänge, Zustandsmaschinen und Daten, die einen bestimmten Zweck erfüllen sollen. Komplexe Systeme enthalten mehrere Subsysteme, die von mehreren Partnern entwickelt wurden und alle ihre eigenen externen Netzwerkschnittstellen aufweisen. Das IoT besteht auch aus mehreren vernetzten Geräten, die Daten als Sensor und Controller austauschen und die bezüglich Größe, Gewicht und Stromaufnahme begrenzt sind. Ob intelligente Energienetze oder Netzwerktechnik, Automotive oder Wearables – Vertrauen hängt von Sicherheit und Zuverlässigkeit während des Betriebs ab.

Tabelle 1: Best-Practice-Embedded-Sicherheit schützt gegen Netzwerk- und physikalische Attacken.

Tabelle 1: Best-Practice-Embedded-Sicherheit schützt gegen Netzwerk- und physikalische Attacken. Green Hills Software

Arten von Attacken

Durchgehende Sicherheitsarchitekturen verteidigen Embedded-Systeme gegen drei wesentliche Arten von Attacken: Sniffing, Spoofing und Injection. Hacker beziehungsweise Angreifer verwenden eine Kombination aller drei Arten, um Zugriff auf sensible Daten zu erhalten und Funktionen zu ändern (Tabelle 1). Netzwerkangriffe werden auf der Black-Box-Ebene durchgeführt – über die externen Schnittstellen des Netzwerks. Darüber erfolgt der Zugriff auf das Betriebssystem, Stacks und Anwendungen. Physikalische Angriffe werden auf exponierter Hardware innerhalb des Gehäuses durchgeführt. Während Netzwerkangriffe weitreichend und gefährlicher sind, sind physikalische Attacken schwerer zu verhindern. Ist das System abgeschaltet, kann Software gar nichts dazu beitragen, Malware zu blockieren.

Bild 2: Ein verfälschtes IoT-Gerät hat Zugriff auf das gesamte lokale Netzwerk.

Bild 2: Ein verfälschtes IoT-Gerät hat Zugriff auf das gesamte lokale Netzwerk. Green Hills Software

Risikobewertung

Ein durchgehendes Sicherheitsdesign beginnt vor der Hardware- und Softwareauswahl, indem die Auswirkungen dieser Bedrohungen bewertet werden. Je nach Betriebskonzept müssen nicht unbedingt alle Bedrohungen auftreten. So begrenzen beispielsweise die Reparatur-Richtlinien für Fahrzeuge, wie ein OEM die Authentifizierung an der Diagnoseschnittstelle vornimmt. Daten auf medizinischen Geräten sind sensibel und sollten verschlüsselt werden, während der Status eines intelligenten Kühlschranks weniger kritisch ist. Jedes System ist anders, also muss die Risikobewertung für jedes Gerät entsprechend ausgelegt sein.

Während einer Risikobewertung untersuchen Sicherheitsexperten Daten, Schnittstellen und Software gegen Netzwerk- und physikalische Angriffe innerhalb der Zielumgebung:

  • Sensibilität der Daten: Welchen Einfluss kann jemand ausüben, der die Daten einsehen oder ändern kann? Dazu zählen der Netzwerkverkehr (Data-in-Transit) als auch die Daten im Speicher (Data-in-Storage). Sowohl die Nutzerdaten als auch das geistige Eigentum (IP; Intellectual Property) sollten bei der Verschlüsselung berücksichtigt werden.
  • Sensibilität der Schnittstellen: Was ist der Zweck jeder externen Schnittstelle? Nach der Implementierung garantiert eine Schwachstellen-Überprüfung, dass zusätzliche Ports durch das Betriebssystem oder Dienste nicht offen gelassen werden. Wie authentifiziert das Gerät den Nutzer und umgekehrt? Wie verhindert man ein Sniffing im Netzwerk und das Erstellen von Anwendungen, um Befehle wiederholen zu können?
  • Sensibilität der Software: Welchen Einfluss erlangt jemand, der Software in das System einbringt oder ersetzt? Welche Peripherie ist zugänglich? Betrachtung des Zielnetzwerks und Bestimmung, welche anderen Systeme nun anfällig für einen Angriff sind.

Man stelle sich ein einfaches IoT-Gerät wie einen intelligenten Toaster vor. Die Sensibilität der Daten ist sehr gering. Der Einfluss gefälschter Befehle ist ebenfalls minimal. Welchen Einfluss übt jedoch bösartige Software aus? Netzwerk-Überwachung, Internet Backdoors und die Möglichkeit, andere Geräte zu beeinflussen oder anzugreifen: der wirtschaftliche Schaden nimmt plötzlich dramatisch zu. Nicht nur ein Embedded-System wird dabei angegriffen. Es geht um die große Menge anderer Geräte, die an das System angeschlossen sind. Embedded-Systeme wie Medizingeräte, Fahrzeuge, Alarmanlagen, Heimcomputer sind nicht länger isolierte Geräte. Sie sind Eintrittspunkte in unser gesamtes vernetztes Leben.

Bild 3: Authentifizierung der Software von Grund auf.

Bild 3: Authentifizierung der Software von Grund auf. Green Hills Software

Vertrauen im IoT aufbauen

Vertrauen in die Embedded-Sicherheit bezieht sich auf die Integritätserwartung, dass ein System wie vorgesehen arbeitet. Die Software vertraut darauf, dass die Hardware ordnungsgemäß arbeitet. Anwendungen vertrauen darauf, dass das Betriebssystem keine Daten verfälscht. Fernsysteme vertrauen auf die Identität der angeschlossenen Geräte.

Vertrauen gründet auf Authentifizierung. Die Root-of-Trust eines Systems ist der Punkt, an dem die Authentifizierung beginnt und sich über jede Software-Ebene weiter ausbreitet. Hochsichere Lösungen unterstützen eine Root-of-Trust in Hardware oder mittels unveränderlichem Speicher, sodass sie nicht verändert werden kann.

Bei jedem Einschalten verifiziert sicheres Booten die Authentizität jeder Software-Ebene, bevor deren Ausführung erlaubt wird. Damit wird eine Verfälschung der Software verhindert, da sie von einer gültigen Quelle stammt. Eine Komponente wird niemals ausgeführt, sofern sie sich nicht als vertrauenswürdig erweist.

Der Zweck des sicheren Bootens ist der Ausschluss des Risikos von Netzwerk- und physikalischen Code-Injections. Dabei wird überprüft, ob beim Einschalten des Systems die Software frei von Malware ist. Zahlreiche Kompromisse sind zu berücksichtigen: die Boot-Zeit, welche Komponenten überprüft werden müssen und wie die Wiederherstellung vonstatten geht. In PCs, in denen sich die Daten und Anwendungen ständig ändern, stellt ein UEFI Secure Boot sicher, dass das BIOS und der Kernel nicht modifiziert werden, um Rootkits zu entfernen. Embedded-Systeme unterscheiden sich, da die Software kompakt und statisch ist. Damit lässt sich das gesamte Image authentifizieren.

Bild 4: Über eine Man-in-the-Middle-Attacke kann ein Sniffing und Spoofing an Schnittstellen stattfinden.

Bild 4: Über eine Man-in-the-Middle-Attacke kann ein Sniffing und Spoofing an Schnittstellen stattfinden. Green Hills Software

Vertrauen aus der Ferne erweitern

Netzwerken sollte niemals vertraut werden. Man sollte immer davon ausgehen, dass außerhalb jedes Steckers ein Angreifer ist, der versucht, Daten abzugreifen, Befehle einzubringen und somit den Man-in-the-Middle bei Ihren Geräten zu spielen. Bild 4 beschreibt eine solche Man-in-the-Middle-Attacke. Ein Angreifer kann zumindest alle Daten und Befehle zwischen zwei Geräten (Laptop und Kamerasystem) einsehen. Die Kommunikation zwischen den Endpunkten kann an Backdoor-Sammelsysteme weitergeleitet werden. Angreifer können bei beiden Geräten gleichzeitig auch ein Spoofing durchführen; die Kamera abschalten und einen falschen Status vortäuschen und den Videostream der Kamera austauschen.

PKI-Verschlüsselung (Public Key Infrastructure) beseitigt die Man-in-the-Middle-Bedrohung, da Zertifikate zur gegenseitigen Authentifizierung der Endpunkte verwendet werden. Eine Zertifizierungsstelle (CA; Certificate Authority) erzeugt die Zertifikate für jedes Gerät und bürgt für die Identität jedes Geräts, indem das Zertifikat digital signiert wird. Digitale Signaturen, die über einen privaten Schlüssel ausgegeben werden, lassen sich nur von der entsprechenden Gegenseite verifizieren. Mit einem CA-Zertifikat kann also jedes Gerät die Identität eines anderen Systems authentifizieren, bevor Daten angenommen werden.

Zertifizierungsstellen sind in der Internet-Sicherheit allgegenwärtig, um die Identität eines Web-Servers zu überprüfen. Bei der Transport Layer Security (TLS) wird dem Client das Server-Zertifikat während der Verbindung zugesendet. Ein vorinstalliertes CA-Zertifikat authentifiziert den Server, bevor die verschlüsselte Sitzung beginnt. Anstatt der aufwendigen Ausgabe und Verwaltung von Client-Zertifikaten authentifizieren Webseiten den Nutzer über Name und Passwort durch einen verschlüsselten Kanal – trotz bekannter Brute-Force- und Phishing-Attacken.

Bild 5: Sicherheits-Infrastrukturen in Unternehmen bilden mit Zertifizierungsstellen und Code-Signierung Vertrauen in das IoT.

Bild 5: Sicherheits-Infrastrukturen in Unternehmen bilden mit Zertifizierungsstellen und Code-Signierung Vertrauen in das IoT. Green Hills Software

Echtheit der Software

Wie stellt man sicher, dass Software nicht modifiziert wird? Natürlich verhindern Firewalls, Port Scanning, Schwachstellenanalyse, Trennung und Fern-Authentifizierung eventuelle Angriffe auf das Netzwerk während des Betriebs. Was passiert jedoch nach dem Herunterfahren des Systems? Was hindert jemanden daran, den Deckel zu öffnen und auf den Flash-Speicher zuzugreifen, um Code oder Fälschungen einzubringen?

Werden die gleichen PKI-Prinzipien als Zertifikate verwendet, lassen sich Software-Images signieren, um Authentizität beim Hochfahren und während des Betriebs mit sicherem Booten zu garantieren. Code wird auf dem Gerät und während der Laufzeit mittels eines asymmetrischen privaten Schlüssels signiert und verifiziert. Dabei kommt der entsprechende Vertrauensanker (Trust Anchor) zum Einsatz.

Sicherheits-Infrastruktur in Unternehmen

Mit einer Verschlüsselung können IoT-Entwickler Systeme mit vertrauenswürdigen vernetzten Geräten über nicht vertrauenswürdige öffentliche Netzwerke erstellen. Die Umsetzung einer durchgehenden Sicherheitsstrategie erfordert eine Plattform mit Verschlüsselungsmodul, Netzwerk-Sicherheitsprotokollen, Schlüsselschutz und sicherem Booten. Nach all dem Aufwand, das Gerät zu sichern, ist diese Investition immer noch ein Risiko, wenn die Zertifizierungsstelle und Software-Signierschlüssel beeinträchtigt werden.

Bild 6: Eine Sicherheitsinfrastruktur für Unternehmen sorgt für die sichere Nutzung von Schlüsseln in verteilten Versorgungsketten.

Bild 6: Eine Sicherheitsinfrastruktur für Unternehmen sorgt für die sichere Nutzung von Schlüsseln in verteilten Versorgungsketten. Green Hills Software

Eine Beeinträchtigung der Root-PKI-Schlüssel hat Auswirkungen auf jedes Gerät. Mit Zugriff auf den Root-Schlüssel kann ein Hacker bösartige Software signieren und falsche Zertifikate erstellen. Angreifer haben dann die Möglichkeit, sich als gültige Systeme auszugeben und nach Belieben Daten zu sammeln und Befehle auszugeben. Wägt man die Auswirkungen ab (ein Gerät im Vergleich zu allen), ist der Schutz der Root-Schlüssel die wichtigste Funktion des gesamten Systems, die entsprechend priorisiert werden muss.

In den heute komplexen Fertigungs- und Lieferketten reicht eine Workstation mit einem Hardware-Sicherheitsmodul nicht mehr aus. Das IoT vereint verschiedene weltweite Eigen- und Drittanbieter-Fertigungseinrichtungen, wobei alle Partner Software für die Sicherheitsplattform bereitstellen müssen, ohne dabei geistiges Eigentum an den Wettbewerb vor Ort auszuliefern. Die Sicherheitsinfrastruktur bietet allen Beteiligten die Möglichkeit, Schlüssel ohne Gefahrenrisiko einsetzen zu können.

Wenn gute Software böswillig wird

Eine Garantie ist nur so gut, wie die zugrundeliegende Software. Digitale Signaturen identifizieren die Software-Quelle, sagen aber nichts über deren Qualität aus. Laut dem Symantec Intelligence Report 2015 wurden im Jahr 2014 monatlich 12 Zero-Day-Attacken und durchschnittlich 512 Schwachstellen berichtet. Angefangen beim Betriebssystem und den Verschlüsselungsbibliotheken: die Zertifizierung über Drittanbieter muss die hohe Zuverlässigkeit unserer Systeme garantieren.

Green Hills Software fördert PHASE – Principles of High-Assurance Software Engineering. PHASE besteht aus einer minimalen Implementierung, Komponenten, Least Privilege, einem sicheren Entwicklungsprozess und einer unabhängigen Überprüfung durch Experten. Diese Prinzipien, die bei der Entwicklung des Echtzeit-Betriebssystems INTEGRITY angewendet wurden, treffen auch auf die Applikationsentwicklung zu, um die Wahrscheinlichkeit und den Einfluss eines Softwarefehlers zu minimieren.

Entwicklung einer durchgehenden Sicherheitsstrategie

Tabelle 2: Durchgehendes Sicherheitsdesign in der Praxis.

Tabelle 2: Durchgehendes Sicherheitsdesign in der Praxis. Green Hills Software

Integrity Security Services (ISS), ein Tochterunternehmen von Green Hills Software, unterstützt den IoT-Markt, indem Kunden mithilfe eines durchgehenden Embedded-Sicherheitsdesigns Vertrauen in ihre Geräte aufbauen können. Nach der Bedrohungsanalyse, mit der die Auswirkungen nicht autorisierter Ereignisse ermittelt werden, können Kunden eine Sicherheitsstrategie entsprechend der ISS-5-Regeln für Embedded-Sicherheit entwickeln.

Durchgehende Sicherheit schützt in allen Lebenszyklusphasen von der Fertigung über den Betrieb, bis hin zur Wartung. Ein Hackerangriff erfolgt nicht erst, nachdem das Produkt verkauft wurde. Mitarbeiter, Partner und Fälscher sind ebenfalls eine Bedrohung. Deshalb ist eine Schlüssel-Management-Infrastruktur mit Null-Gefährdung (Zero-Exposure) entscheidend.

Im Gegensatz zu Fertigungstesteinrichtungen kann die Sicherheitsarchitektur und -infrastruktur über mehrere Produktlinien hinweg wiederverwendet werden. Wird die Infrastrukturlösung zuerst entwickelt, können Kunden das System in mehrere Produkte integrieren und so die Stückkosten senken. Die Kosten für die Sicherheit lassen sich durch Mehrwertfunktionen weiter senken, zum Beispiel über Software-Updates aus der Ferne, Funktionssteuerung und In-App-Käufe. Auf Basis der vertrauenswürdigen Plattform und digitalen Identitäten haben Entwickler die Möglichkeit, eindeutig verschlüsselte Dateien zu übertragen.

Ein Blick in die Zukunft

Das IoT und sein rasantes Wachstum ist eine erstaunliche Innovation und Revolution. Wir befinden uns dabei erst am Anfang. Eltern können zum Beispiel regelmäßige Berichte über den Blutzuckerspiegel ihres diabetischen Kindes erhalten – über einen Sender am Bauch des Kindes und eine Bluetooth-Verbindung zu deren Smartphone. Man kann seine Sicherheitskameras, Heizung, Klimaanlage überwachen, während man sich im Urlaub befindet. Was wir heute sehen, ist nur die Spitze des Eisbergs. Mit der weiteren Entwicklung der IoT-Revolution verbessern wir die Welt, in der wir leben. Wir müssen uns nur im Klaren darüber sein, dass Vertrauen und Zuverlässigkeit dabei die Basis bilden. Die Datenanbindungsmöglichkeiten sind nahezu unbegrenzt. Viele sehen dies heute als selbstverständlich an. Aber in dem Moment, in dem die Zuverlässigkeit versagt, Daten missbraucht und sensible Informationen preisgegeben werden, oder ein Hackerangriff sogar Leben gefährdet, ist das Vertrauen zerstört und Aufmerksamkeit gewiss. Die zahllosen Möglichkeiten durch das IoT und deren Einflüsse sind erstaunlich, aber Sicherheit ist kein Luxus, sondern eine Notwendigkeit und wird vorausgesetzt. Durchgehende Sicherheit ist damit die Grundlage für eine Welt der vernetzten Dinge.