Sicherheitsarchitektur für IoT-Lösungen
Wenn Sie eine IoT-Lösung entwerfen und entwerfen, ist es wichtig, die potenziellen Bedrohungen zu verstehen und geeignete Abwehrmaßnahmen einzuschließen. Wenn Sie wissen, wie ein Angreifer ein System kompromittiert, können Sie sicherstellen, dass die entsprechenden Gegenmaßnahmen von Anfang an vorhanden sind.
Bedrohungsmodellierung
Microsoft empfiehlt die Verwendung eines Bedrohungsmodellierungsprozesses als Teil Ihres IoT-Lösungsdesigns. Wenn Sie mit der Bedrohungsmodellierung und dem sicheren Entwicklungslebenszyklus nicht vertraut sind, lesen Sie:
Sicherheit im Internet der Dinge (IoT)
Es ist hilfreich, Ihre IoT-Architektur als Teil der Bedrohungsmodellierungsübung in mehrere Zonen aufzuteilen:
- Sicherungsmedium
- Bereichsgateway
- Cloudgateway
- Dienst
Jede Zone verfügt häufig über eigene Daten und Authentifizierungs- und Autorisierungsanforderungen. Mithilfe von Zonen können Sie Schäden isolieren und die Auswirkungen von Zonen mit geringer Vertrauensebene auf Zonen mit höherer Vertrauensebene begrenzen.
Alle Zonen sind durch eine Vertrauensgrenze getrennt. Diese ist im nachstehenden Diagramm als rote Linie dargestellt. Sie gibt den Übergang der Daten von einer Quelle zur anderen an. Während dieses Übergangs könnten die Daten den folgenden Bedrohungen unterliegen:
- Spoofing
- Manipulation
- Verfälschung
- Veröffentlichung von Informationen
- Denial of Service
- Rechteerweiterungen
Weitere Informationen finden Sie im Artikel zum STRIDE-Modell.
Sie können STRIDE verwenden, um die Bedrohungen für jede Komponente innerhalb jeder Zone zu modellieren. In den nachstehenden Abschnitten werden die einzelnen Komponenten und jeweiligen Sicherheitsbedenken und sowie die Lösungen, für die gesorgt werden sollte, näher erläutert.
Im restlichen Teil dieses Artikels werden die Bedrohungen und Entschärfungsmaßnahmen für diese Zonen und Komponenten ausführlicher erläutert.
Gerätezone
Die Geräteumgebung ist der Bereich um das Gerät herum, in dem der physische Zugang und der digitale Zugriff auf das Gerät über das „lokale Netzwerk“ möglich ist. Es wird angenommen, dass ein lokales Netzwerk von – aber potenziell überbrückt – vom öffentlichen Internet getrennt und isoliert wird. Die Geräteumgebung enthält alle funktechnischen Kurzstreckentechnologien, die Peer-to-Peer-Kommunikation von Geräten ermöglichen. Sie umfasst keine Netzwerkvirtualisierungstechnologie, die die Illusion eines solchen lokalen Netzwerks schafft. Sie umfasst keine Netzwerke öffentlicher Betreiber, die erfordern, dass zwei Geräte über den öffentlichen Netzwerkraum kommunizieren können, wenn sie eine Peer-to-Peer-Kommunikationsbeziehung eingeben würden.
Bereichsgateway-Zone
Ein Bereichsgateway ist ein Gerät bzw. eine Appliance oder eine Servercomputersoftware für allgemeine Zwecke, das bzw. die zum Ermöglichen der Kommunikation und unter Umständen auch als Gerätekontrollsystem und Hub für die Verarbeitung von Gerätedaten dient. Die Bereichsgateway-Zone enthält das Bereichsgateway selbst und alle Geräte, die daran angeschlossen sind. Gateways arbeiten außerhalb von dedizierten Datenverarbeitungseinrichtungen. Sie sind normalerweise standortgebunden, können physischen Angriffen ausgesetzt sein und verfügen über eine eingeschränkte Betriebsredundanz. Ein Feldgateway ist in der Regel eine Sache, die ein Angreifer physisch sabotieren könnte, wenn sie physischen Zugriff erhalten haben.
Ein Bereichsgateway unterscheidet sich von einem Datenverkehrsrouter darin, dass es eine aktive Rolle beim Verwalten des Zugriffs und des Informationsflusses hat. Das Bereichsgateway hat zwei getrennte Oberflächenbereiche. Ein Gateway sieht die angeschlossenen Geräte und stellt die Innenseite der Zone dar. Das andere stellt sich allen externen Parteien gegenüber und befindet sich am der Rand der Zone.
Cloudgateway-Zone
Ein Cloudgateway ist ein System, das die Remotekommunikation von und zu Geräten oder Feldgateways ermöglicht, die an mehreren Standorten bereitgestellt werden. Das Cloudgateway ermöglicht in der Regel ein cloudbasiertes Steuerungs- und Datenanalysesystem oder einen Verbund solcher Systeme. In einigen Fällen ist mit einem Cloudgateway der unmittelbare Zugriff über Terminals wie Tablets oder Smartphones auf Geräte für spezielle Zwecke möglich. In der Cloudgatewayzone verhindern betriebliche Maßnahmen außerdem den zielgerichteten physischen Zugriff, und sie ist nicht unbedingt für eine Public Cloud-Infrastruktur verfügbar.
Ein Cloudgateway kann auch einem Overlay für die Netzwerkvirtualisierung zugeordnet werden, um das Cloudgateway und alle verbundenen Geräte oder Bereichsgateways von anderem Netzwerkdatenverkehr zu isolieren. Das Cloudgateway selbst ist weder ein Gerätesteuerungssystem noch eine Verarbeitungs- oder Speichereinrichtung für Gerätedaten. Diese Einrichtungen sind über Schnittstellen mit dem Cloudgateway verbunden. Die Cloudgateway-Zone enthält das Cloudgateway selbst sowie alle Bereichsgateways und Geräte, die direkt oder indirekt damit verbunden sind. Der Edgebereich der Zone ist ein separater Oberflächenbereich, über den alle externen Parteien kommunizieren.
Dienstzone
Ein Dienst in diesem Kontext ist jede Softwarekomponente oder jedes Modul, die über ein Feld oder Cloudgateway mit Geräten verbunden ist. Ein Dienst kann Daten von den Geräten sammeln und diese Geräte steuern und kontrollieren. Ein Dienst ist ein Mediator, der unter seiner Identität gegenüber Gateways und anderen Subsystemen agiert, um:
- Speichern und Analysieren von Daten
- Befehle an Geräte basierend auf Datenerkenntnissen oder Zeitplänen auszugeben
- Informationen und Steuerungsfunktionen für autorisierte Endbenutzer verfügbar zu machen
IoT-Geräte
IoT-Geräte sind oft Gerät für spezielle Zwecke, z.B. einfache Temperatursensoren bis hin zu komplexen Produktionslinien in Fabriken mit Tausenden von Komponenten. Beispiele für IoT-Gerätefunktionen umfassen Folgende:
- Messen und Melden von Umweltbedingungen
- Drehen von Ventilen
- Steuern von Servos
- Auslösen von Alarmen
- Ein- oder Ausschalten von Licht
Der Zweck dieser Geräte bestimmt ihr technisches Design und das verfügbare Budget für den Produktions- und geplanten Lebensdauerbetrieb. Aus der Kombination dieser Faktoren ergibt sich eine Einschränkung des verfügbaren Budgets für die Betriebsenergie und des physischen Platzbedarfs und somit auch der verfügbaren Speicher-, Compute- und Sicherheitsfunktionen.
Zu den Dingen, die mit einem automatisierten oder remote gesteuerten IoT-Gerät schiefgehen können, gehören:
- Physische Defekte
- Steuerungslogikfehler
- Unbefugte Eindringung und Manipulation.
Die Folgen dieser Misserfolge könnten schwer sein, z. B. zerstörte Produktionsmengen, niedergebrannte Gebäude oder Verletzungen und Tod. Daher gibt es eine hohe Sicherheitsleiste für Geräte, die Dinge verschieben oder Sensordaten melden, die zu Befehlen führen, die dazu führen, dass Elemente verschoben werden.
Interaktionen der Gerätesteuerung und der Gerätedaten
Verbundene Geräte für spezielle Zwecke verfügen über eine erhebliche Anzahl von potenziellen Interaktionsoberflächen-Bereichen und Interaktionsmustern. Diese müssen alle berücksichtigt werden, um ein geeignetes Framework zum Schützen des digitalen Zugriffs auf diese Geräte bereitzustellen. Der digitale Zugriff bezieht sich auf Vorgänge, die über Software und Hardware durchgeführt werden, anstatt über direkten physischen Zugriff auf das Gerät. So könnte beispielsweise der physische Zugang gesteuert werden, indem das Gerät in einen Raum mit einer Sperre an der Tür versetzt wird. Der physische Zugriff kann zwar nicht mit Software und Hardware verhindert werden, aber es können Maßnahmen ergriffen werden, um zu verhindern, dass der physische Zugriff zu einem Eingriff in das System führt.
Während Sie die Interaktionsmuster untersuchen, wenden Sie die gleiche Aufmerksamkeit auf Gerätesteuerung und Gerätedaten an. Gerätesteuerung bezieht sich auf alle Informationen, die einem Gerät zur Verfügung gestellt werden, mit der Absicht, sein Verhalten zu ändern. „Gerätedaten“ beziehen sich auf Informationen, die von einem Gerät in Bezug auf seinen Zustand und den beobachteten Zustand seiner Umgebung an andere Parteien weitergegeben werden.
Durchführen der Bedrohungsmodellierung für die Azure IoT-Referenzarchitektur
Dieser Abschnitt verwendet die Azure IoT-Referenzarchitektur, um zu veranschaulichen, wie Sie über die Bedrohungsmodellierung für IoT nachdenken und die identifizierten Bedrohungen beseitigen können:
Das folgende Diagramm bietet eine vereinfachte Ansicht der Referenzarchitektur mithilfe eines Datenflussdiagrammmodells:
Die Architektur trennt die Geräte- und Feldgatewayfunktionen. Mit diesem Ansatz können Sie sicherere Feldgatewaygeräte verwenden. Feldgatewaygeräte können mit dem Cloudgateway über sichere Protokolle kommunizieren, die in der Regel eine größere Verarbeitungsleistung erfordern als ein einfaches Gerät, z. B. ein Thermometer, alleine bereitstellen könnten. In der Zone für Azure-Dienste im Diagramm ist der Azure IoT Hub-Dienst das Cloudgateway.
Basierend auf der zuvor beschriebenen Architektur zeigen die folgenden Abschnitte einige Beispiele für die Bedrohungsmodellierung. Die Beispiele konzentrieren sich auf die Kernelemente eines Bedrohungsmodells:
- Prozesse
- Kommunikation
- Speicher
Prozesse
Hier sind einige Beispiele für Bedrohungen in dieser Prozesskategorie aufgeführt: Die Bedrohungen werden basierend auf dem STRIDE-Modell kategorisiert:
Spoofing (Identitätsverschleierung): Ein Angreifer kann kryptografische Schlüssel von einem Gerät extrahieren, entweder auf Software- oder Hardwareebene. Die angegriffenen Schlüssel greifen dann mithilfe der Identität des ursprünglichen Geräts auf das System von einem anderen physischen oder virtuellen Gerät aus zu.
Denial of Service: Ein Gerät kann so manipuliert werden, dass es nicht mehr funktionsfähig ist oder kommunizieren kann, indem Funkfrequenzen gestört oder Kabel durchschnitten werden. Beispielsweise liefert eine Überwachungskamera, deren Stromversorgung oder Netzwerkverbindung absichtlich unterbrochen wurde, überhaupt keine Daten mehr.
Tampering (Manipulation): Ein Angreifer kann die Software auf dem Gerät teilweise oder vollständig ersetzen. Wenn die kryptografischen Schlüssel des Geräts für den Angreifercode verfügbar sind, kann es die Identität des Geräts verwenden.
Manipulation: Eine Überwachungskamera, die den sichtbaren Bereich eines leeren Flurs zeigt, kann auf ein Foto des Flurs gerichtet werden. Ein Rauch- oder Feuermelder kann ausgelöst werden, indem eine Person ein Feuerzeug darunter hält. In beiden Fällen ist das Gerät gegenüber dem System in technischer Hinsicht vertrauenswürdig, meldet jedoch manipulierte Informationen.
Tampering (Manipulation): Ein Angreifer verwendet möglicherweise extrahierte kryptografische Schlüssel, um vom Gerät gesendete Daten abzufangen und zu unterdrücken und durch falsche Daten zu ersetzen, die mit den gestohlenen Schlüsseln authentifiziert wurden.
Offenlegung von Daten: Wenn auf dem Gerät manipulierte Software ausgeführt wird, können mit dieser Software unter Umständen Daten an unbefugte Personen weitergegeben werden.
Information Disclosure (Veröffentlichung von Informationen): Ein Angreifer verwendet möglicherweise extrahierte kryptografische Schlüssel, um Code in den Kommunikationspfad zwischen Gerät und Bereichsgateway oder Cloudgateway einzufügen und somit Informationen abzuschöpfen.
Denial of Service: Das Gerät kann ausgeschaltet oder in einen Modus geschaltet werden, in dem die Kommunikation nicht möglich ist (dies ist bei vielen Maschinen in der Industrie beabsichtigt).
Manipulation: Das Gerät kann umkonfiguriert werden, damit es in einem für das Steuersystem unbekannten Zustand betrieben wird (außerhalb der bekannten Kalibrierungsparameter), und so Daten liefern, die fehlinterpretiert werden können.
Rechteerweiterungen: Ein Gerät, das eine bestimmte Funktion erfüllt, kann dazu gebracht werden, eine andere Funktion auszuführen. Für ein Ventil, das für das halbe Öffnen programmiert ist, kann beispielsweise erreicht werden, dass es ganz geöffnet wird.
Spoofing/Manipulation/Nichtanerkennung: Wenn ein Gerät nicht geschützt ist (bei Fernbedienungen für Verbraucher häufig der Fall), kann ein Angreifer den Zustand des Geräts anonym manipulieren. Ein gutes Beispiel ist eine Fernbedienung, die jeden Fernseher ausschalten kann.
Die folgende Tabelle zeigt Beispielminderungen für diese Bedrohungen. Die Werte in der Bedrohungsspalte sind Abkürzungen:
- Spoofing (S)
- Manipulation (M)
- Nichtanerkennung (R)
- Offenlegung von Daten (O)
- Denial of Service (D)
- Rechteerweiterungen (R)
Komponente | Bedrohung | Abmilderung | Risiko | Implementierung |
---|---|---|---|---|
Sicherungsmedium | E | Zuweisen der Identität zum Gerät und Authentifizieren des Geräts | Ersetzen des Geräts oder eines Teils der Geräts durch ein anderes Gerät. Woher wissen Sie, dass Sie mit dem richtigen Gerät kommunizieren? | Authentifizieren des Geräts per Transport Layer Security (TLS) oder IPSec. Die Infrastruktur sollte die Verwendung eines vorinstallierten Schlüssels (Pre-Shared Key, PSK) auf den Geräten unterstützen, bei denen keine vollständige asymmetrische Verschlüsselung möglich ist. Verwenden Sie Microsoft Entra ID, OAuth. |
TRID | Wenden Sie überlistungssichere Mechanismen auf das Gerät an, indem Sie z. B. das Extrahieren von Schlüsseln und anderem kryptografischen Material von dem Gerät schwierig bis unmöglich machen. | Das Risiko besteht darin, dass das Gerät manipuliert wird (physischer Eingriff). Wie können Sie sicher sein, dass niemand das Gerät manipuliert hat? | Die effektivste Gegenmaßnahme ist ein vertrauenswürdiges Plattformmodul (TPM). Ein TPM speichert Schlüssel, lässt aber nicht zu, dass sie gelesen werden. Das TPM selbst kann jedoch die Schlüssel für kryptografische Vorgänge verwenden. Speicherverschlüsselung für das Gerät. Schlüsselverwaltung für das Gerät. Signieren des Codes. | |
E | Verwenden der Zugriffssteuerung für das Gerät, Autorisierungsschema | Wenn es für das Gerät zulässig ist, dass einzelne Aktionen basierend auf den Befehlen einer externen Quelle oder sogar über kompromittierte Sensoren durchgeführt werden, sind bei einem Angriff Vorgänge möglich, die sonst nicht zugänglich sind. | Ein Autorisierungsschema für das Gerät. | |
Bereichsgateway | S | Authentifizieren des Bereichsgateways gegenüber dem Cloudgateway (z.B. zertifikat-, PSK- oder anspruchsbasiert) | Wenn das Bereichsgateway per Spoofing übernommen wird, kann sich der Angreifer als jedes Gerät ausgeben. | TLS RSA/PSK, IPSec, RFC 4279. Alle üblichen Schlüsselspeicherungs- und Nachweisaspekte von Geräten. Am besten ist TPM geeignet. 6LowPAN-Erweiterung für IPSec zur Unterstützung von Wireless Sensor Networks (WSN). |
TRID | Schützen des Bereichsgateways vor Manipulation (TPM) | Spoofingangriffe, die das Cloudgateway dazu bringen, zu denken, dass es mit dem Bereichsgateway spricht, können zur Veröffentlichung von Informationen und zur Manipulation von Daten führen | Speicherverschlüsselung, TPMs, Authentifizierung. | |
E | Zugriffssteuerungsmechanismus für Bereichsgateway |
Kommunikation
Hier sind einige Beispiele für Bedrohungen in der Kommunikationskategorie. Die Bedrohungen werden basierend auf dem STRIDE-Modell kategorisiert:
Denial of Service: Eingeschränkte Geräte befinden sich in der Regel unter DoS-Bedrohung, wenn sie aktiv auf eingehende Verbindungen oder unerwünschte Datagramme in einem Netzwerk lauschen. Ein Angreifer kann viele Verbindungen parallel öffnen und weder sie bedienen noch sie langsam bedienen oder das Gerät mit unerwünschtem Datenverkehr überfluten. In beiden Fällen kann dies dazu führen, dass das Gerät im Netzwerk nicht mehr betriebsbereit ist.
Spoofing, Offenlegung von Daten: Eingeschränkte Geräte und spezielle Geräte verfügen häufig über eins für alle Sicherheitseinrichtungen wie Kennwort- oder PIN-Schutz. Manchmal vertrauen sie ganz auf das Netzwerk und gewähren Zugriff auf Informationen auf jedem Gerät im selben Netzwerk. Wenn das Netzwerk durch einen freigegebenen Schlüssel geschützt ist, der offengelegt wird, kann ein Angreifer das Gerät steuern oder die übertragenen Daten beobachten.
Spoofing (Identitätsverschleierung): Ein Angreifer kann die übermittelten Informationen abfangen oder teilweise außer Kraft setzen und den Absender nachahmen.
Tampering (Manipulation): Ein Angreifer kann die übermittelten Informationen abfangen oder teilweise außer Kraft setzen und falsche Informationen senden.
Information Disclosure (Veröffentlichung von Informationen): Ein Angreifer kann eine Übertragung abhören und Informationen ohne Autorisierung abrufen.
Denial of Service: Ein Angreifer kann das Übertragungssignal stören und die Übermittlung von Informationen ablehnen.
Die folgende Tabelle zeigt Beispielminderungen für diese Bedrohungen:
Komponente | Bedrohung | Abmilderung | Risiko | Implementierung |
---|---|---|---|---|
Vom Gerät zum IoT Hub | TID | (D)TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs | Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem Gateway | Sicherheit auf der Protokollebene. Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann. In den meisten Fällen erfolgt die Kommunikation vom Gerät zum IoT Hub (Gerät initiiert die Verbindung). |
Gerät zu Gerät | TID | (D)TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs | Lesen von Daten bei der Übermittlung zwischen Geräten. Manipulation der Daten. Überladen des Geräts mit neuen Verbindungen. | Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP). Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann. Die Lösung für die DoS-Bedrohung ist das Peering von Geräten über ein Cloud- oder Bereichsgateway und die ausschließliche Nutzung als Clients gegenüber dem Netzwerk. Nachdem das Gateway die Peeringverbindung hergestellt hat, kann eine direkte Verbindung zwischen den Peers vorliegen. |
Von externer Entität zum Gerät | TID | Starke Kopplung der externen Entität mit dem Gerät | Abhören der Verbindung mit dem Gerät. Beeinträchtigen der Kommunikation mit dem Gerät. | Sichere Kopplung der externen Entität mit dem Gerät (NFC/Bluetooth LE). Steuern des Betriebsbereichs des Geräts (physisch). |
Vom Bereichsgateway zum Cloudgateway | TID | TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs | Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem Gateway | Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP). Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann. |
Vom Gerät zum Cloudgateway | TID | TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs | Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem Gateway | Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP). Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann. |
Speicher
Die folgende Tabelle zeigt Beispielminderungen für Speicherbedrohungen:
Komponente | Bedrohung | Abmilderung | Risiko | Implementierung |
---|---|---|---|---|
Speicher des Geräts | TRID | Speicherverschlüsselung, Signieren der Protokolle | Lesen von Daten aus dem Speicher, Manipulieren von Telemetriedaten. Manipulieren von Befehlssteuerungsdaten in der Warteschlange oder im Cache. Die Manipulation von Konfigurations- oder Firmwareupdate-Paketen im lokalen Cache bzw. in der Warteschlange kann dazu führen, dass Komponenten des Betriebssystems oder des Systems kompromittiert werden. | Verschlüsselung, Nachrichtenauthentifizierungscode (Message Authentication Code, MAC) oder digitale Signatur. Falls möglich, strenge Zugriffssteuerung mit Zugriffssteuerungslisten oder Berechtigungen für Ressourcen. |
Betriebssystemimage des Geräts | TRID | Manipulation des Betriebssystems/Austausch von Betriebssystemkomponenten | Schreibgeschützte Betriebssystempartition, signiertes Betriebssystemimage, Verschlüsselung | |
Bereichsgatewayspeicher (Einreihen von Daten in die Warteschlange) | TRID | Speicherverschlüsselung, Signieren der Protokolle | Lesen von Daten aus dem Speicher, Manipulieren von Telemetriedaten, Manipulieren von Befehlssteuerungsdaten in der Warteschlange oder im Cache. Die Manipulation von Konfigurations- oder Firmwareupdate-Paketen (für Geräte oder das Bereichsgateway bestimmt) im lokalen Cache bzw. in der Warteschlange kann dazu führen, dass Komponenten des Betriebssystems oder des Systems kompromittiert werden. | BitLocker |
Betriebssystemimage des Bereichsgateways | TRID | Manipulation des Betriebssystems/Austausch von Betriebssystemkomponenten | Schreibgeschützte Betriebssystempartition, signiertes Betriebssystemimage, Verschlüsselung |
Nächste Schritte
Weitere Informationen zur IoT-Sicherheit finden Sie unter: