Cybersecurity Sicherheit von Anfang an

Smarte, vernetzte Produkte im Internet der Dinge bringen neue Risiken. Hersteller müssen neben der Produktsicherheit auch Risiken durch den Einsatz von Software und durch die Vernetzung mit dem Internet bedenken. Einige Designprinzipien und bewährte Praktiken helfen dabei.

Smarte, vernetzte Produkte vor Cyber-Attacken abzusichern ist eine anspruchsvolle Aufgabe. Doch einige grundlegende Maßnahmen verstehen sich eigentlich von selbst. Ein Beispiel: IoT-fähige Geräte sollten keine unveränderlichen und im Klartext gespeicherten Standard-Passwörter in der Firmware besitzen. Trotzdem gelangten solche Geräte in den Markt. Bereits 2016 entdeckten Security-Experten, dass viele IP-Kameras eine entsprechende Schwachstelle in der Firmware hatten. Dies heißt aber noch lange nicht, dass die Hersteller die erforderlichen Anpassungen auch tatsächlich vorgenommen haben: Kürzlich kam heraus, dass weiterhin Kameras mit dieser Schwachstelle verkauft werden.

Dieses Sicherheitsproblem geht sogar noch tiefer, denn der eigentliche Verursacher ist der Entwickler der Firmware, der selbst gar keine Kameras auf dem Markt anbietet. So etwas kann Herstellern passieren, die einfach verschiedene Komponenten zusammenbauen oder sogar nur Fertigungsaufträge an Dritte vergeben. Denn eine Besonderheit smarter, vernetzter Produkte ist, dass sie häufig aus Hard- und Software-Komponenten von zahlreichen Zulieferern bestehen. So kommt das Betriebssystem von Hersteller A, die Bibliothek mit den Verschlüsselungsroutinen von Anbieter B und die Vernetzungssoftware von Firma C. Es ist also nicht selten, dass selbst einfach wirkende Geräte ein gutes Dutzend unterschiedliche Module besitzen.

Der Hersteller wird zum Systemintegrator, der für jede dieser Komponenten eigene Anforderungen an die Cyber-Sicherheit definieren muss. Die Komplexität dieses Themas bedeutet aber nicht, dass es keine allgemeinen Richtlinien gibt.

Wie das Beispiel mit der Firmware für eine vernetzte Kamera verdeutlicht, ist Sicherheit direkt bei der Entwicklung und Herstellung eines Produktes zu berücksichtigen. Dieses Prinzip lautet Security by Design. Feste Passwörter zu vermeiden ist ein wichtiger Aspekt dabei, aber nur einer von vielen.

Geräteindividuelle Passwörter und Schlüssel

Einige wichtige Grundregeln für Security by Design haben sich aus der langjährigen Erfahrung von UL (Underwriters Laboratories) beim Testen von vernetzten Produkten aller Art herausgebildet und im Standard UL 2900 niedergeschlagen. Für Entwickler von IoT-basierten Produkten gibt es demnach einige grundlegende Prinzipien, beispielsweise wie sich die Vernetzung auf die basale Produktsicherheit auswirkt. So ist erstens denkbar, dass vernetzte Funktionen ausfallen können, weil die Internetverbindung aktuell nicht funktioniert. Dies darf aber nicht zu einem Schaden beim Benutzer führen. Ein Beispiel wäre ein IoT-Thermostat, das ohne Internetzugang nicht geregelt werden kann. Es sollte mindestens eine manuelle Übersteuerung oder eine Temperaturbegrenzung geben, um böse Überraschungen zu vermeiden.

Ein zweites Designprinzip betrifft Benutzerauthentifizierung und kryptografische Informationen. Für die Inbetriebnahme von IoT-Geräten müssen Benutzernamen, Passwörter und kryptografische Schlüssel bekannt sein – andernfalls könnte der Nutzer nichts mit dem Gerät anfangen. Deshalb müssen diese Informationen immer pro Gerät eindeutig sein und sind während der Herstellung für jedes Gerät individuell in der Firmware zu speichern – verschlüsselt und nicht im Klartext natürlich. Für die Erstkonfiguration des Gerätes benötigt der Nutzer natürlich das Passwort. Dazu dienen Aufkleber auf der Unterseite des Gerätes oder bei schwer zugänglichen Geräten auf der inneren Umschlagseite eines Handbuches oder einer Kurzanleitung.

Sinnvoll ist zudem, die Anwender in der Benutzeroberfläche durch eindeutige Meldungen darüber aufzuklären, dass er nun aus Sicherheitsgründen ein eigenes Passwort vergeben soll. Doch Passwörter werden häufig vergessen, etwa wenn das Gerät weitgehend automatisch arbeitet und ein Aufruf der Benutzeroberfläche nur sehr selten notwendig ist. Deshalb sollten Vorkehrungen zur Passwort-Wiederherstellung in das Gerät integriert sein. Eine gute Methode ist der Einbau einer physischen Reset-Taste, die beim Drücken beispielsweise die Werkseinstellungen mit dem integrierten Firmware-Passwort wiederherstellt.

Auf Schwachstellen überprüfen

Das dritte Designprinzip heißt Testen. Die Serienversion des Produkts ist intensiv zu testen, um alle Komponenten und Module zu verifizieren. Damit ist nicht nur ein einfacher Funktionstest gemeint, der Programmierfehler aufdeckt. Mehr noch: Hersteller von smarten, vernetzten Produkten sollten vor der Freigabe eines Systems alle verwendeten Hard- und Softwarekomponenten auf bekannte Schwachstellen überprüfen. Eine Möglichkeit dafür sind Dienstleister, die alle Anforderungen der Payment Card Industry (PCI) an Security-Scans erfüllen.

Allerdings lassen sich im Vorfeld viele Sicherheitslücken nicht aufdecken, da sie noch unbekannt sind: die sogenannten Zero-Day-Exploits. Denn unabhängig davon, wie gut eine Software entwickelt oder getestet wird, gibt es immer neue Fehler und Schwachstellen. Daher das vierte Designprinzip: Software-Aktualisierungen. Jedes IoT-Gerät muss Funktionen besitzen, um die Systemsoftware zu aktualisieren. Doch genau diese Schnittstelle ist ein potenzielles Einfallstor für Cyber-Kriminelle. Die Updates sind daher kryptografisch zu authentifizieren, indem man eine digitale Signatur in der Firmware verwendet. Diese Signatur lässt sich vor dem Update überprüfen, sodass sichergestellt ist, dass keine gefälschte Firmware installiert wird. Darüber hinaus ist auch der Versionsstand zu überprüfen, sodass keine ältere Systemsoftware installiert wird.

Ein fünftes Designprinzip sagt, dass alle Verbindungen in die Cloud oder zu anderen Geräten nach Industriestandards und bewährten Praktiken (Best Practices) abzusichern sind. Abhängig von der Art der Kommunikation sollten hier die Protokolle TLS (Internetverbindung) oder WPA2 oder bald WPA3 (Wi-Fi) genutzt werden. Idealerweise wird dabei die gesamte Kommunikation zwischen dem Gerät und einem Cloud-Service verschlüsselt. Hier wie bei allen anderen Komponenten ist es sehr wichtig, jeweils die neuesten, von Fehlern und Schwachstellen bereinigten Versionen der jeweiligen Verschlüsselungsbibliotheken einzusetzen. Ein weiterer wichtiger Aspekt: Die Routinen sind umsichtig und entsprechend der Dokumentation in der Bibliothek zu implementieren. Die Programmierung von verschlüsselten Verbindungen ist ein komplexes Thema, bei dem viele Flüchtigkeitsfehler passieren können. Hier ist also besondere Sorgfalt gefordert.

Aufbau eines Security-Ecosystems

Bereits diese grundlegenden Prinzipien zeigen, dass es nicht ausreicht, wenn ein Hersteller in den von ihm ausgelieferten Gesamtprodukten eine Security by Design berücksichtigt. Er muss ebenso darauf achten, dass Komponentenhersteller und andere Zulieferer die gleichen Sicherheitsstandards einhalten. Dafür muss er den gesamten Lebenszyklus der Produkte beachten – von der Entwicklung der einzelnen Komponenten, über die Integration im endgültigen Produkt bis hin zur Entsorgung, denn auf den Geräten sind häufig kritische Daten gespeichert.

Um diesen gesamten Lebenszyklus abzudecken, empfiehlt sich der Aufbau eines Security-Ecosystems aus vertrauenswürdigen Lieferanten und Servicepartnern. Das Sourcing sollte bei Anbietern und Dienstleistern geschehen, die gängige Sicherheitsstandards berücksichtigen und ebenfalls auf Security by Design setzen. Dies kann durchaus auch Bestandteil von Zuliefererverträgen sein, vor allem bei Auftragsfertigern, die Hard- oder Softwaremodule speziell für ein bestimmtes Produkt entwickeln.

Bei der Auswahl von geeigneten Geschäftspartnern für ein eigenes Security-Ecosystem können dafür konzipierte Normen wie zum Beispiel UL 2900 oder IEC 62443 sowohl zur Prüfung und Bewertung von Geräten als auch zur Zertifizierung eine große Hilfe sein. So sind die Systemintegratoren gut beraten, ausschließlich zertifizierte Hard- und Softwarekomponenten einzusetzen und auch bei Zulieferern auf Security-Maßnahmen zu drängen. Dieses Ecosystem garantiert, dass alle Risiken im Vorfeld betrachtet und Sicherheitslücken sofort geschlossen werden.