Internet der Dinge – SicherheitsarchitekturInternet of Things security architecture

Beim Entwerfen eines Systems ist es wichtig zu verstehen, welche potenziellen Bedrohungen es für das System gibt. Anschließend müssen beim Entwerfen und Zusammenstellen des Systems die richtigen Abwehrmaßnahmen ergriffen werden.When designing a system, it is important to understand the potential threats to that system, and add appropriate defenses accordingly, as the system is designed and architected. Es ist besonders wichtig, schon zu Beginn des Entwurfsprozesses für das Produkt an die Sicherheit zu denken. Indem ein Verständnis entwickelt wird, wie Angreifer ein System unter Umständen kompromittieren können, wird sichergestellt, dass von Anfang an für geeignete Lösungen gesorgt ist.It is important to design the product from the start with security in mind because understanding how an attacker might be able to compromise a system helps make sure appropriate mitigations are in place from the beginning.

Sicherheit beginnt mit einem BedrohungsmodellSecurity starts with a threat model

Microsoft nutzt schon seit langer Zeit Bedrohungsmodelle für seine Produkte und hat den Bedrohungsmodellprozess des Unternehmens öffentlich verfügbar gemacht.Microsoft has long used threat models for its products and has made the company’s threat modeling process publically available. Die Unternehmenserfahrung zeigt, dass mit der Modellierung unerwartete Vorteile verbunden sind. Diese Vorteile reichen über das reine Verständnis hinaus, welche Bedrohungen am gefährlichsten sind.The company experience demonstrates that the modeling has unexpected benefits beyond the immediate understanding of what threats are the most concerning. Beispielsweise wird auch ein Weg für eine offene Diskussion mit anderen Personen außerhalb des Entwicklungsteams bereitet, die zu neuen Ideen und Produktverbesserungen führen kann.For example, it also creates an avenue for an open discussion with others outside the development team, which can lead to new ideas and improvements in the product.

Das Ziel der Bedrohungsmodellierung besteht darin zu verstehen, wie ein Angreifer ein System kompromittieren kann, und anschließend für die richtigen Lösungen zu sorgen.The objective of threat modeling is to understand how an attacker might be able to compromise a system and then make sure appropriate mitigations are in place. Bei der Bedrohungsmodellierung muss das Designteam Lösungen schon während des Entwurfsprozesses im Blick haben, anstatt erst nach der Bereitstellung des Systems.Threat modeling forces the design team to consider mitigations as the system is designed rather than after a system is deployed. Diese Tatsache ist von entscheidender Bedeutung, da das Ausstatten von unzähligen Geräten im Feld mit Sicherheitsmaßnahmen übermäßig kompliziert, fehleranfällig und für Kunden risikoreich ist.This fact is critically important, because retrofitting security defenses to a myriad of devices in the field is infeasible, error prone and leaves customers at risk.

Viele Entwicklungsteams leisten hervorragende Arbeit, was die Erfassung der Funktionsanforderungen für das System betrifft, die für Kunden Vorteile bedeuten.Many development teams do an excellent job capturing the functional requirements for the system that benefit customers. Die Identifizierung von nicht offensichtlichen Wegen, auf denen Personen das System missbrauchen können, stellt eine größere Herausforderung dar.However, identifying non-obvious ways that someone might misuse the system is more challenging. Anhand der Bedrohungsmodellierung können Entwicklungsteams besser verstehen, was ein Angreifer unternehmen kann und warum dies möglich ist.Threat modeling can help development teams understand what an attacker might do and why. Die Bedrohungsmodellierung ist ein strukturierter Prozess, bei dem Diskussionen zu folgenden Punkten angestoßen werden: Sicherheitsentwurfsentscheidungen im System und Änderungen am Entwurf, die während des Prozesses vorgenommen werden und die Sicherheit betreffen.Threat modeling is a structured process that creates a discussion about the security design decisions in the system, as well as changes to the design that are made along the way that impact security. Ein Bedrohungsmodell ist zwar lediglich ein Dokument, aber diese Dokumentation ist auch ein idealer Weg, um die Kontinuität des Wissens sicherzustellen, Erkenntnisse aufzuzeichnen und neue Teams schneller einzuarbeiten.While a threat model is simply a document, this documentation also represents an ideal way to ensure continuity of knowledge, retention of lessons learned, and help new team onboard rapidly. Ein weiteres Ergebnis der Bedrohungsmodellierung ist, dass Sie auch andere Sicherheitsaspekte berücksichtigen können, z.B. welche Sicherheitszusagen Sie gegenüber Ihren Kunden machen möchten.Finally, an outcome of threat modeling is to enable you to consider other aspects of security, such as what security commitments you wish to provide to your customers. Diese Zusagen liefern zusammen mit der Bedrohungsmodellierung die Informationen und die Grundlage für das Testen Ihrer Lösung für das Internet der Dinge (IoT).These commitments in conjunction with threat modeling inform and drive testing of your Internet of Things (IoT) solution.

Zeitpunkt der Erstellung eines BedrohungsmodellsWhen to threat model

Die Bedrohungsmodellierung hat den größten Nutzen, wenn sie in die Entwurfsphase eingebunden wird.Threat modeling offers the greatest value when you incorporate it into the design phase. Beim Entwerfen haben Sie die größtmögliche Flexibilität, um Änderungen vorzunehmen, mit denen Bedrohungen beseitigt werden sollen.When you are designing, you have the greatest flexibility to make changes to eliminate threats. Das gewünschte Ergebnis ist, Bedrohungen standardmäßig zu beseitigen.Eliminating threats by design is the desired outcome. Dies ist viel einfacher als das Hinzufügen von Abhilfemaßnahmen, das Testen dieser Maßnahmen und die Sicherstellung, dass sie stets aktuell sind. Außerdem ist eine Beseitigung auf diese Art nicht immer möglich.It is much easier than adding mitigations, testing them, and ensuring they remain current and moreover, such elimination is not always possible. Es wird schwieriger, Bedrohungen zu beseitigen, wenn ein Produkt einen höheren Entwicklungsgrad erreicht. Darüber hinaus sind letztendlich mehr Arbeitsschritte und deutlich mehr Kompromisse als bei der Bedrohungsmodellierung zu einem frühen Zeitpunkt der Entwicklung erforderlich.It becomes harder to eliminate threats as a product becomes more mature, and in turn ultimately requires more work and a lot harder tradeoffs than threat modeling early on in the development.

Ausrichtung des BedrohungsmodellsWhat to threat model

Sie sollten das Bedrohungsmodell für die gesamte Lösung entwerfen und sich zudem auf die folgenden Bereiche konzentrieren:You should threat model the solution as a whole and also focus in the following areas:

  • Sicherheits- und DatenschutzfeaturesThe security and privacy features
  • Features, deren Ausfall sicherheitsrelevant istThe features whose failures are security relevant
  • Features, die eine Vertrauensgrenze betreffenThe features that touch a trust boundary

Wer erstellt Bedrohungsmodelle?Who threat models

Die Bedrohungsmodellierung ist ein Vorgang wie jeder andere.Threat modeling is a process like any other. Es ist ratsam, das Bedrohungsmodell-Dokument genau wie andere Komponenten der Lösung zu behandeln und zu validieren.It is a good idea to treat the threat model document like any other component of the solution and validate it. Viele Entwicklungsteams leisten hervorragende Arbeit, was die Erfassung der Funktionsanforderungen für das System betrifft, die für Kunden Vorteile bedeuten.Many development teams do an excellent job capturing the functional requirements for the system that benefit customers. Die Identifizierung von nicht offensichtlichen Wegen, auf denen Personen das System missbrauchen können, stellt eine größere Herausforderung dar.However, identifying non-obvious ways that someone might misuse the system is more challenging. Anhand der Bedrohungsmodellierung können Entwicklungsteams besser verstehen, was ein Angreifer unternehmen kann und warum dies möglich ist.Threat modeling can help development teams understand what an attacker might do and why.

Vorgehensweise für BedrohungsmodelleHow to threat model

Der Vorgang zum Erstellen von Bedrohungsmodellen besteht aus den folgenden vier Schritten:The threat modeling process is composed of four steps; the steps are:

  • Modellieren der AnwendungModel the application
  • Auflisten von BedrohungenEnumerate Threats
  • Minimieren von RisikenMitigate threats
  • Überprüfen der AbwehrmaßnahmenValidate the mitigations

ProzessschritteThe process steps

Befolgen Sie beim Erstellen eines Bedrohungsmodells diese drei Faustregeln:Three rules of thumb to keep in mind when building a threat model:

  1. Erstellen Sie ein Diagramm der Referenzarchitektur.Create a diagram out of reference architecture.
  2. Beginnen Sie mit einem „breiten“ Ansatz.Start breadth-first. Verschaffen Sie sich einen Überblick, und entwickeln Sie ein Verständnis des gesamten Systems, bevor Sie in die Tiefe gehen.Get an overview, and understand the system as a whole, before deep-diving. Durch diese Herangehensweise ist sichergestellt, dass Sie an den richtigen Stellen in die Tiefe gehen.This approach helps ensure that you deep-dive in the right places.
  3. Treiben Sie den Prozess voran, und lassen Sie sich nicht vom Prozess vorantreiben.Drive the process, don’t let the process drive you. Falls in der Modellierungsphase ein Problem auftritt und Sie dieses untersuchen möchten, dann tun Sie es!If you find an issue in the modeling phase and want to explore it, go for it! Sie müssen die angegebenen Schritte nicht sklavisch ausführen.Don’t feel you need to follow these steps slavishly.

BedrohungenThreats

Die vier Kernelemente eines Bedrohungsmodells sind:The four core elements of a threat model are:

  • Prozesse wie Webdienste, Win32-Dienste oder *nix-Daemons.Processes such as web services, Win32 services, and *nix daemons. Einige komplexe Entitäten (z.B. Bereichsgateways und Sensoren) können als Prozess abstrahiert werden, wenn in diesen Bereichen kein technischer Drilldown möglich ist.Some complex entities (for example field gateways and sensors) can be abstracted as a process when a technical drill-down in these areas is not possible.
  • Datenspeicher (alle Speicherorte von Daten, z.B. eine Konfigurationsdatei oder eine Datenbank)Data stores (anywhere data is stored, such as a configuration file or database)
  • Datenfluss (Daten werden zwischen anderen Elementen in der Anwendung verschoben)Data flow (where data moves between other elements in the application)
  • Externe Entitäten (alle Elemente, die mit dem System interagieren, aber nicht von der Anwendung kontrolliert werden, z.B. Benutzer und Satelliten-Feeds)External Entities (anything that interacts with the system, but is not under the control of the application, examples include users and satellite feeds)

Alle Elemente im Architekturdiagramm unterliegen verschiedenen Bedrohungen. In diesem Artikel wird der mnemonische STRIDE-Code verwendet.All elements in the architectural diagram are subject to various threats; this article the STRIDE mnemonic. Weitere Informationen zu den STRIDE-Elementen finden Sie unter Threat Modeling Again, STRIDE (Noch einmal Bedrohungsmodellierung: STRIDE).Read Threat Modeling Again, STRIDE to know more about the STRIDE elements.

Verschiedene Elemente des Anwendungsdiagramms unterliegen bestimmten STRIDE-Bedrohungen:Different elements of the application diagram are subject to certain STRIDE threats:

  • Prozesse unterliegen STRIDEProcesses are subject to STRIDE
  • Datenflüsse unterliegen TIDData flows are subject to TID
  • Datenspeicher unterliegen TID und manchmal R, wenn die Datenspeicher Protokolldateien sind.Data stores are subject to TID, and sometimes R, when the data stores are log files.
  • Externe Entitäten unterliegen SRDExternal entities are subject to SRD

Sicherheit im Internet der Dinge (IoT)Security in IoT

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.Connected special-purpose devices have a significant number of potential interaction surface areas and interaction patterns, all of which must be considered to provide a framework for securing digital access to those devices. Der Begriff „digitaler Zugriff“ wird hier zur Unterscheidung von allen Vorgängen verwendet, die per direkter Geräteinteraktion durchgeführt werden, bei der die Zugriffssicherheit durch eine physische Zugangskontrolle erreicht wird.The term “digital access” is used here to distinguish from any operations that are carried out through direct device interaction where access security is provided through physical access control. Ein Beispiel hierfür ist die Anordnung des Geräts in einem Raum, dessen Tür mit einem Schloss verriegelt werden kann.For example, putting the device into a room with a lock on the door. Der physische Zugang kann zwar nicht mit Software und Hardware verhindert werden, aber es können Maßnahmen ergriffen werden, um zu verhindern, dass der physische Zugang zu einem Eingriff in das System führt.While physical access cannot be denied using software and hardware, measures can be taken to prevent physical access from leading to system interference.

Wenn Sie die Interaktionsmuster untersuchen, wenden Sie die gleiche Aufmerksamkeit auf „Gerätesteuerung“ und „Gerätedaten“ an.As you explore the interaction patterns, look at “device control” and “device data” with the same level of attention. „Gerätesteuerung“ kann als alle Informationen klassifiziert werden, die für ein Gerät von einer Partei mit dem Ziel bereitgestellt werden, sein Verhalten gegenüber seinem Zustand oder dem Zustand der Umgebung zu beeinflussen.“Device control” can be classified as any information that is provided to a device by any party with the goal of changing or influencing its behavior towards its state or the state of its environment. „Gerätedaten“ können als alle Informationen deklariert werden, die von einem Gerät in Bezug auf seinen Zustand und den beobachteten Zustand seiner Umgebung an andere Parteien weitergegeben werden.“Device data” can be classified as any information that a device emits to any other party about its state and the observed state of its environment.

Um die für die Sicherheit relevanten bewährten Methoden zu optimieren, wird empfohlen, eine typische IoT-Architektur im Rahmen der Bedrohungsmodellierung in mehrere Komponenten/Zonen zu unterteilen.In order to optimize security best practices, it is recommended that a typical IoT architecture is divided into several component/zones as part of the threat modeling exercise. Diese Zonen werden in diesem Abschnitt umfassend beschrieben und lauten:These zones are described fully throughout this section and include:

  • Gerät,Device,
  • Bereichsgateway,Field Gateway,
  • Cloudgateways undCloud gateways, and
  • Dienste.Services.

Zonen sind ein allgemeiner Ansatz zum Segmentieren einer Lösung. Jede Zone verfügt darüber hinaus häufig über eigene Anforderungen an Daten, Authentifizierung und Autorisierung.Zones are broad way to segment a solution; each zone often has its own data and authentication and authorization requirements. Zonen können auch verwendet werden, um Schäden zu isolieren und die Auswirkungen von niedrigeren Vertrauenszonen auf höher angeordnete Vertrauenszonen zu begrenzen.Zones can also be used to isolation damage and restrict the impact of low trust zones on higher trust zones.

Alle Zonen sind durch eine Vertrauensgrenze getrennt. Diese ist im nachstehenden Diagramm als rote Linie dargestellt.Each zone is separated by a Trust Boundary, which is noted as the dotted red line in the following diagram. Sie gibt den Übergang der Daten/Informationen von einer Quelle zur anderen an.It represents a transition of data/information from one source to another. Bei diesem Übergang können die Daten/Informationen Angriffen vom Typ Spoofing, Manipulation, Nichtanerkennung, Offenlegung von Daten, Denial of Service und Rechteerweiterungen (STRIDE) ausgesetzt sein.During this transition, the data/information could be subject to Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service and Elevation of Privilege (STRIDE).

IoT-Sicherheitszonen

Die Komponenten, die innerhalb der einzelnen Grenzen dargestellt sind, werden auch einem STRIDE-Vorgang unterzogen, sodass eine vollständige 360-Grad-Ansicht der Bedrohungsmodellierung möglich ist.The components depicted within each boundary are also subjected to STRIDE, enabling a full 360 threat modeling view of the solution. 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.The following sections elaborate on each of the components and specific security concerns and solutions that should be put into place.

In den nachstehenden Abschnitten werden Standardkomponenten beschrieben, die in diesen Zonen normalerweise angeordnet sind.The following sections discuss standard components typically found in these zones.

GerätezoneThe Device Zone

Die Geräteumgebung ist der direkte physische Bereich um das Gerät herum, in dem der physische Zugang bzw. der digitale Peer-to-Peer-Zugriff auf das Gerät über das „lokale Netzwerk“ möglich ist.The device environment is the immediate physical space around the device where physical access and/or “local network” peer-to-peer digital access to the device is feasible. Ein „lokales Netzwerk“ wird als Netzwerk angesehen, das vom öffentlichen Internet getrennt und isoliert ist – aber ggf. über ein Brücke zum Internet verfügt – und über eine drahtlose Funktechnik für den Nahbereich verfügt, um die Peer-to-Peer-Kommunikation von Geräten zu ermöglichen.A “local network” is assumed to be a network that is distinct and insulated from – but potentially bridged to – the public Internet, and includes any short-range wireless radio technology that permits peer-to-peer communication of devices. Es enthält keine Technologie für die Netzwerkvirtualisierung, mit der die Illusion eines lokalen Netzwerks erzeugt wird. Außerdem umfasst es keine öffentlichen Betreibernetzwerke, bei denen zwei Geräte über das öffentliche Netzwerk kommunizieren müssen, wenn sie eine Peer-to-Peer-Kommunikationsbeziehung eingehen möchten.It does not include any network virtualization technology creating the illusion of such a local network and it does also not include public operator networks that require any two devices to communicate across public network space if they were to enter a peer-to-peer communication relationship.

Bereichsgateway-ZoneThe Field Gateway 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.Field gateway is a device/appliance or some general-purpose server computer software that acts as communication enabler and, potentially, as a device control system and device data processing hub. Die Bereichsgateway-Zone enthält das Bereichsgateway selbst und alle Geräte, die daran angeschlossen sind.The field gateway zone includes the field gateway itself and all devices that are attached to it. Wie der Name schon sagt, arbeiten Gateways außerhalb von dedizierten Datenverarbeitungseinrichtungen. Sie sind normalerweise standortgebunden, können physischen Angriffen ausgesetzt sein und verfügen über eine eingeschränkte Betriebsredundanz.As the name implies, field gateways act outside dedicated data processing facilities, are usually location bound, are potentially subject to physical intrusion, and has limited operational redundancy. Dies bedeutet also, dass ein Bereichsgateway meist ein Element ist, das berührt und sabotiert werden kann, sofern seine Funktion bekannt ist.All to say that a field gateway is commonly a thing one can touch and sabotage while knowing what its function is.

Ein Bereichsgateway unterscheidet sich von einem reinen Datenverkehrsrouter darin, dass es beim Verwalten des Zugriffs- und Informationsflusses eine aktive Rolle spielt. Dies bedeutet, dass es sich um eine Entität mit Anwendungsadressierung sowie eine Netzwerkverbindung oder ein Sitzungsterminal handelt.A field gateway is different from a mere traffic router in that it has had an active role in managing access and information flow, meaning it is an application addressed entity and network connection or session terminal. Ein NAT-Gerät oder eine Firewall können dagegen nicht als Bereichsgateways dienen, da es keine expliziten Verbindungs- oder Sitzungsterminals sind, sondern sie leiten eher Verbindungen oder Sitzungen weiter (oder blockieren den Vorgang).An NAT device or firewall, in contrast, does not qualify as field gateways since they are not explicit connection or session terminals, but rather a route (or block) connections or sessions made through them. Das Bereichsgateway hat zwei getrennte Oberflächenbereiche.The field gateway has two distinct surface areas. Einer ist auf die Geräte ausgerichtet, die damit verbunden sind, und repräsentiert den Innenbereich der Zone. Der andere ist auf alle externen Parteien ausgerichtet und dient als Edgebereich der Zone.One faces the devices that are attached to it and represents the inside of the zone, and the other faces all external parties and is the edge of the zone.

Cloudgateway-ZoneThe cloud gateway zone

Das Cloudgateway ist ein System, das die Remotekommunikation von und zu Geräten oder Bereichsgateways von mehreren unterschiedlichen Standorten über das öffentliche Netzwerk ermöglicht. Dies erfolgt normalerweise auf Grundlage eines cloudbasierten Systems für die Steuerung und Datenanalyse bzw. eines Partnerverbunds dieser Systeme.Cloud gateway is a system that enables remote communication from and to devices or field gateways from several different sites across public network space, typically towards a cloud-based control and data analysis system, a federation of such systems. In einigen Fällen ist mit einem Cloudgateway der unmittelbare Zugriff von Terminals wie Tablets oder Smartphones auf Geräte für spezielle Zwecke möglich.In some cases, a cloud gateway may immediately facilitate access to special-purpose devices from terminals such as tablets or phones. Im hier beschriebenen Kontext ist mit „Cloud“ ein dediziertes Datenverarbeitungssystem gemeint, das nicht an denselben Standort wie die verbundenen Geräte oder Bereichsgateways gebunden ist.In the context discussed here, “cloud” is meant to refer to a dedicated data processing system that is not bound to the same site as the attached devices or field gateways. In einer Cloudzone verhindern betriebliche Maßnahmen außerdem den zielgerichteten physischen Zugriff, und sie ist nicht unbedingt für eine Public Cloud-Infrastruktur verfügbar.Also in a Cloud Zone, operational measures prevent targeted physical access and are not necessarily exposed to a “public cloud” infrastructure.

Ein Cloudgateway kann auch einem Overlay für die Netzwerkvirtualisierung zugeordnet werden, um das Cloudgateway und alle verbundenen Geräte oder Bereichsgateways gegenüber anderem Netzwerk-Datenverkehr zu isolieren.A cloud gateway may potentially be mapped into a network virtualization overlay to insulate the cloud gateway and all of its attached devices or field gateways from any other network traffic. 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.The cloud gateway itself is not a device control system or a processing or storage facility for device data; those facilities interface with the cloud gateway. Die Cloudgateway-Zone enthält das Cloudgateway selbst sowie alle Bereichsgateways und Geräte, die direkt oder indirekt damit verbunden sind.The cloud gateway zone includes the cloud gateway itself along with all field gateways and devices directly or indirectly attached to it. Der Edgebereich der Zone ist ein separater Oberflächenbereich, über den alle externen Parteien kommunizieren.The edge of the zone is a distinct surface area where all external parties communicate through.

DienstzoneThe services zone

Ein „Dienst“ ist in diesem Kontext als eine beliebige Softwarekomponente oder ein Modul definiert, die bzw. das mit Geräten über ein Bereichs- oder Cloudgateway für die Datenerfassung und -analyse sowie für Befehls- und Steuerungszwecke zusammenarbeitet.A “service” is defined for this context as any software component or module that is interfacing with devices through a field- or cloud gateway for data collection and analysis, as well as for command and control. Dienste fungieren als Vermittler.Services are mediators. Sie arbeiten unter ihrer Identität gegenüber Gateways und anderen Subsystemen, speichern und analysieren Daten, geben autonom Befehle an Geräte aus, die auf Datenerkenntnissen oder Zeitplänen basieren, und machen Informationen und Steuerfunktionen für autorisierte Endbenutzer verfügbar.They act under their identity towards gateways and other subsystems, store and analyze data, autonomously issue commands to devices based on data insights or schedules and expose information and control capabilities to authorized end users.

Vergleich von Informationsgeräten und Geräten für spezielle EinsatzgebieteInformation-devices versus special-purpose devices

PCs, Smartphones und Tablets sind in erster Linie interaktive Informationsgeräte.PCs, phones, and tablets are primarily interactive information devices. Smartphones und Tablets sind explizit auf die Maximierung der Akkulebensdauer ausgelegt.Phones and tablets are explicitly optimized around maximizing battery lifetime. Vorzugsweise werden sie teilweise ausgeschaltet, wenn keine direkte Interaktion mit einer Person erfolgt oder keine Dienste wie das Wiedergeben von Musik oder das Leiten des Besitzers an einen bestimmten Ort genutzt werden.They preferably turn off partially when not immediately interacting with a person, or when not providing services like playing music or guiding their owner to a particular location. Aus Systemsicht dienen diese IT-Geräte hauptsächlich als Proxys für Menschen.From a systems perspective, these information technology devices are mainly acting as proxies towards people. Sie sind quasi das „Stellglied für den Menschen“, das Aktionen vorschlägt, und der „Sensor für den Menschen“, über den Eingaben erfasst werden.They are “people actuators” suggesting actions and “people sensors” collecting input.

Geräte für spezielle Zwecke, z.B. einfache Temperatursensoren bis hin zu komplexen Produktionslinien in Fabriken mit Tausenden von Komponenten, unterscheiden sich hiervon.Special-purpose devices, from simple temperature sensors to complex factory production lines with thousands of components inside them, are different. Diese Geräte sind viel stärker auf einen bestimmten Zweck zugeschnitten, und auch wenn sie über eine Benutzeroberfläche verfügen, sind sie eher dafür ausgelegt, mit Ressourcen der physischen Welt zu interagieren bzw. in diese integriert zu werden.These devices are much more scoped in purpose and even if they provide some user interface, they are largely scoped to interfacing with or be integrated into assets in the physical world. Sie dienen zum Messen und Melden von Umgebungszuständen, Betreiben von Ventilen, Steuern von Servomotoren, Auslösen von Alarmen, Schalten von Beleuchtungseinrichtungen und vielem mehr.They measure and report environmental circumstances, turn valves, control servos, sound alarms, switch lights, and do many other tasks. Sie werden für Arbeitsschritte verwendet, für die ein IT-Gerät zu allgemein, zu teuer, zu groß oder zu fehleranfällig ist.They help to do work for which an information device is either too generic, too expensive, too large, or too brittle. Der konkrete Zweck gibt eindeutig das technische Design sowie das verfügbare Budget für die Produktion und die geplante Lebensdauer vor.The concrete purpose immediately dictates their technical design as well the available monetary budget for their production and scheduled lifetime operation. Aus der Kombination dieser beiden Schlüsselfaktoren 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.The combination of these two key factors constrains the available operational energy budget, physical footprint, and thus available storage, compute, and security capabilities.

Wenn bei automatisierten oder remote gesteuerten Geräten ein Fehler auftritt, kann dies beispielsweise zu physischen Schäden oder einer Beschädigung der Steuerlogik und sogar zu unbefugten Eindringversuchen und Manipulationen führen.If something “goes wrong” with automated or remote controllable devices, for example, physical defects or control logic defects to willful unauthorized intrusion and manipulation. Fertigungslose können zerstört werden, Gebäude können geplündert oder in Brand gesetzt werden, und Menschen können verletzt werden oder sogar zu Tode kommen.The production lots may be destroyed, buildings may be looted or burned down, and people may be injured or even die. Dies ist eine ganz und gar andere Schadensdimension als das Leerräumen einer gestohlenen Kreditkarte.This is a whole different class of damage than someone maxing out a stolen credit card's limit. Die Sicherheitsebene für Geräte, mit denen physische Abläufe ausgeführt werden, und für Sensordaten, die zu Befehlen für Abläufe dieser Art führen, muss höher als für alle E-Commerce- oder Bankszenarien sein.The security bar for devices that make things move, and also for sensor data that eventually results in commands that cause things to move, must be higher than in any e-commerce or banking scenario.

Interaktionen der Gerätesteuerung und der GerätedatenDevice control and device data interactions

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.Connected special-purpose devices have a significant number of potential interaction surface areas and interaction patterns, all of which must be considered to provide a framework for securing digital access to those devices. Der Begriff „digitaler Zugriff“ wird hier zur Unterscheidung von allen Vorgängen verwendet, die per direkter Geräteinteraktion durchgeführt werden, bei der die Zugriffssicherheit durch eine physische Zugangskontrolle erreicht wird.The term “digital access” is used here to distinguish from any operations that are carried out through direct device interaction where access security is provided through physical access control. Ein Beispiel hierfür ist die Anordnung des Geräts in einem Raum, dessen Tür mit einem Schloss verriegelt werden kann.For example, putting the device into a room with a lock on the door. Der physische Zugang kann zwar nicht mit Software und Hardware verhindert werden, aber es können Maßnahmen ergriffen werden, um zu verhindern, dass der physische Zugang zu einem Eingriff in das System führt.While physical access cannot be denied using software and hardware, measures can be taken to prevent physical access from leading to system interference.

Wenn Sie bei der Bedrohungsmodellierung die Interaktionsmuster untersuchen, wenden Sie die gleiche Aufmerksamkeit auf „Gerätesteuerung“ und „Gerätedaten“ an.As you explore the interaction patterns, look at “device control” and “device data” with the same level of attention while threat modeling. „Gerätesteuerung“ kann als alle Informationen klassifiziert werden, die für ein Gerät von einer Partei mit dem Ziel bereitgestellt werden, sein Verhalten gegenüber seinem Zustand oder dem Zustand der Umgebung zu beeinflussen.“Device control” can be classified as any information that is provided to a device by any party with the goal of changing or influencing its behavior towards its state or the state of its environment. „Gerätedaten“ können als alle Informationen deklariert werden, die von einem Gerät in Bezug auf seinen Zustand und den beobachteten Zustand seiner Umgebung an andere Parteien weitergegeben werden.“Device data” can be classified as any information that a device emits to any other party about its state and the observed state of its environment.

Durchführen der Bedrohungsmodellierung für die Azure IoT-ReferenzarchitekturThreat modeling the Azure IoT reference architecture

Microsoft nutzt das zuvor beschriebene Framework, um die Bedrohungsmodellierung für Azure IoT durchzuführen.Microsoft uses the framework outlined previously to do threat modeling for Azure IoT. Im nachstehenden Abschnitt wird daher das konkrete Beispiel der Azure IoT-Referenzarchitektur verwendet, um zu veranschaulichen, wie die Bedrohungsmodellierung für IoT angegangen und den identifizierten Bedrohungen begegnet werden sollte.The following section uses the concrete example of Azure IoT Reference Architecture to demonstrate how to think about threat modeling for IoT and how to address the threats identified. In diesem Beispiel werden vier Hauptbereiche identifiziert:This example identifies four main areas of focus:

  • Geräte und Datenquellen,Devices and Data Sources,
  • Datentransport,Data Transport,
  • Geräte und Ereignisverarbeitung undDevice and Event Processing, and
  • PräsentationPresentation

Bedrohungsmodellierung für Azure IoT

Das nachstehende Diagramm enthält eine vereinfachte Ansicht der IoT-Architektur von Microsoft. Es wird ein Modell für ein Datenflussdiagramm verwendet, das vom Microsoft Threat Modeling Tool genutzt wird:The following diagram provides a simplified view of Microsoft’s IoT Architecture using a Data Flow Diagram model that is used by the Microsoft Threat Modeling Tool:

Bedrohungsmodellierung für Azure IoT mit dem Threat Modeling Tool von Microsoft

Es ist wichtig zu beachten, dass in der Architektur die Geräte- und Gatewayfunktionen getrennt sind.It is important to note that the architecture separates the device and gateway capabilities. Diese Herangehensweise ermöglicht Benutzern, Gatewaygeräte mit höherer Sicherheit zu nutzen, die mit dem Cloudgateway über sichere Protokolle kommunizieren können. Dies erfordert normalerweise einen höheren Verarbeitungsaufwand, der von einem nativen Gerät – z.B. einem Thermostat – allein nicht bewältigt werden kann.This approach enables the user to leverage gateway devices that are more secure: they are capable of communicating with the cloud gateway using secure protocols, which typically requires greater processing overhead that a native device - such as a thermostat - could provide on its own. In den Azure-Dienstzonen wird davon ausgegangen, dass das Cloudgateway durch den Azure IoT Hub-Dienst repräsentiert wird.In the Azure services zone, assume that the Cloud Gateway is represented by the Azure IoT Hub service.

Geräte und Datenquellen bzw. DatentransportDevice and data sources/data transport

In diesem Abschnitt wird die zuvor beschriebene Architektur aus Sicht der Bedrohungsmodellierung betrachtet, und Sie erhalten eine Übersicht darüber, wie einige damit verbundene Probleme gelöst werden.This section explores the architecture outlined previously through the lens of threat modeling and gives an overview of how to address some of the inherent concerns. In diesem Beispiel werden hauptsächlich die Kernelemente eines Bedrohungsmodells betrachtet:This example focuses on the core elements of a threat model:

  • Prozesse (von Ihnen kontrollierte und externe Elemente)Processes (both under your control and external items)
  • Kommunikation (auch als Datenflüsse bezeichnet)Communication (also called data flows)
  • Speicher (auch als Datenspeicher bezeichnet)Storage (also called data stores)

ProzesseProcesses

In jeder Kategorie der Azure IoT-Architektur wird in diesem Beispiel versucht, den unterschiedlichen Bedrohungen auf den einzelnen Daten- und Informationsebenen zu begegnen: Prozess, Kommunikation und Speicherung.In each of the categories outlined in the Azure IoT architecture, this example tries to mitigate a number of different threats across the different stages data/information exists in: process, communication, and storage. Im Folgenden finden Sie eine Übersicht über die häufigsten Bedrohungen für die Kategorie „Prozess“, gefolgt von einer Übersicht darüber, welche Lösungen für diese Bedrohungen am besten geeignet sind:Following is an overview of the most common ones for the “process” category, followed by an overview of how these threats could be best mitigated:

Spoofing (S): Ein Angreifer kann kryptografische Schlüsseldaten auf Software- oder Hardwareebene von einem Gerät entwenden und dann mit einem anderen physischen oder virtuellen Gerät unter der Identität des Geräts zugreifen, von dem die Schlüsseldaten gestohlen wurden.Spoofing (S): An attacker may extract cryptographic key material from a device, either at the software or hardware level, and subsequently access the system with a different physical or virtual device under the identity of the device the key material has been taken from. Ein gutes Beispiel hierfür sind Fernbedienungen, mit denen alle Fernseher bedient werden können und die daher gern für Scherze verwendet werden.A good illustration is remote controls that can turn any TV and that are popular prankster tools.

Denial of Service (D): 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.Denial of Service (D): A device can be rendered incapable of functioning or communicating by interfering with radio frequencies or cutting wires. Beispielsweise liefert eine Überwachungskamera, deren Stromversorgung oder Netzwerkverbindung absichtlich unterbrochen wurde, überhaupt keine Daten mehr.For example, a surveillance camera that had its power or network connection intentionally knocked out cannot report data, at all.

Manipulation (T): Ein Angreifer kann die auf dem Gerät ausgeführte Software teilweise oder vollständig austauschen. Unter Umständen kann mit der neuen Software dann die echte Identität des Geräts genutzt werden, falls die Schlüsseldaten oder die Kryptografieeinrichtungen mit den Schlüsseldaten für das unzulässige Programm verfügbar sind.Tampering (T): An attacker may partially or wholly replace the software running on the device, potentially allowing the replaced software to leverage the genuine identity of the device if the key material or the cryptographic facilities holding key materials were available to the illicit program. Beispielsweise kann ein Angreifer entwendete Schlüsseldaten ggf. nutzen, um Daten vom Gerät abzufangen und im Kommunikationspfad zu unterdrücken und durch falsche Daten zu ersetzen, die mit den gestohlenen Schlüsseldaten authentifiziert werden.For example, an attacker may leverage extracted key material to intercept and suppress data from the device on the communication path and replace it with false data that is authenticated with the stolen key material.

Offenlegung von Daten (I): 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 (I): If the device is running manipulated software, such manipulated software could potentially leak data to unauthorized parties. Ein Angreifer kann beispielsweise entwendete Schlüsseldaten nutzen, um sich in den Kommunikationspfad zwischen dem Gerät und einem Controller oder Bereichsgateway oder Cloudgateway einzuschalten und Informationen abzuschöpfen.For example, an attacker may leverage extracted key material to inject itself into the communication path between the device and a controller or field gateway or cloud gateway to siphon off information.

Rechteerweiterungen (E): Ein Gerät, das eine bestimmte Funktion erfüllt, kann dazu gebracht werden, eine andere Funktion auszuführen.Elevation of Privilege (E): A device that does specific function can be forced to do something else. Für ein Ventil, das für das halbe Öffnen programmiert ist, kann beispielsweise erreicht werden, dass es ganz geöffnet wird.For example, a valve that is programmed to open half way can be tricked to open all the way.

KomponenteComponent BedrohungThreat LösungMitigation RisikoRisk ImplementierungImplementation
GerätDevice SS Zuweisen der Identität zum Gerät und Authentifizieren des GerätsAssigning identity to the device and authenticating the device Ersetzen des Geräts oder eines Teils der Geräts durch ein anderes Gerät.Replacing device or part of the device with some other device. Woher wissen Sie, dass Sie mit dem richtigen Gerät kommunizieren?How do you know you are talking to the right device? Authentifizieren des Geräts per Transport Layer Security (TLS) oder IPSec.Authenticating the device, using Transport Layer Security (TLS) or 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.Infrastructure should support using pre-shared key (PSK) on those devices that cannot handle full asymmetric cryptography. Nutzung von Azure AD, OAuthLeverage Azure AD, OAuth
TRIDTRID Wenden Sie manipulationssichere Mechanismen auf das Gerät an, z.B. indem es erschwert oder unmöglich gemacht wird, Schlüssel und andere Verschlüsselungsdaten vom Gerät zu entwenden.Apply tamperproof mechanisms to the device, for example, by making it hard to impossible to extract keys and other cryptographic material from the device. Das Risiko besteht darin, dass das Gerät manipuliert wird (physischer Eingriff).The risk is if someone is tampering the device (physical interference). Woher wissen Sie, dass das Gerät nicht manipuliert wurde?How are you sure, that device has not been tampered with. Die effektivste Lösung ist ein Trusted Platform Module (TPM) mit der Möglichkeit, Schlüssel in einem speziellen On-Chip-Verfahren zu speichern. Hierbei können die Schlüssel nicht gelesen, sondern nur für kryptografische Vorgänge verwendet werden, für die der Schlüssel erforderlich ist. Der Schlüssel wird aber niemals offengelegt.The most effective mitigation is a trusted platform module (TPM) capability that allows storing keys in special on-chip circuitry from which the keys cannot be read, but can only be used for cryptographic operations that use the key but never disclose the key. Speicherverschlüsselung für das Gerät.Memory encryption of the device. Schlüsselverwaltung für das Gerät.Key management for the device. Signieren des Codes.Signing the code.
EE Verwenden der Zugriffssteuerung für das Gerät,Having access control of the device. AutorisierungsschemaAuthorization scheme. 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.If the device allows for individual actions to be performed based on commands from an outside source, or even compromised sensors, it allows the attack to perform operations not otherwise accessible. Verwenden Sie ein Autorisierungsschema für das Gerät.Having authorization scheme for the device
BereichsgatewayField Gateway SS Authentifizieren des Bereichsgateways gegenüber dem Cloudgateway (z.B. zertifikat-, PSK- oder anspruchsbasiert)Authenticating the Field gateway to Cloud Gateway (such as cert based, PSK, or Claim based.) Wenn das Bereichsgateway per Spoofing übernommen wird, kann sich der Angreifer als jedes Gerät ausgeben.If someone can spoof Field Gateway, then it can present itself as any device. TLS RSA/PSK, IPSec, RFC 4279.TLS RSA/PSK, IPSec, RFC 4279. Alle üblichen Schlüsselspeicherungs- und Nachweisaspekte von Geräten. Am besten ist TPM geeignet.All the same key storage and attestation concerns of devices in general – best case is use TPM. 6LowPAN-Erweiterung für IPSec zur Unterstützung von Wireless Sensor Networks (WSN).6LowPAN extension for IPSec to support Wireless Sensor Networks (WSN).
TRIDTRID Schützen des Bereichsgateways vor Manipulationen (TPM?)Protect the Field Gateway against tampering (TPM?) Spoofing-Angriffe, bei denen für das Cloudgateway der Eindruck erweckt wird, dass es mit dem Bereichsgateway kommuniziert, können zur Offenlegung und Manipulation von Daten führen.Spoofing attacks that trick the cloud gateway thinking it is talking to field gateway could result in information disclosure and data tampering Speicherverschlüsselung, TPMs, Authentifizierung.Memory encryption, TPM’s, authentication.
EE Zugriffssteuerungsmechanismus für BereichsgatewayAccess control mechanism for Field Gateway

Hier sind einige Beispiele für Bedrohungen in dieser Kategorie aufgeführt:Here are some examples of threats in this category:

Spoofing: Ein Angreifer kann kryptografische Schlüsseldaten von einem Gerät entwenden, entweder auf Software- oder Hardwareebene, und dann mit einem anderen physischen oder virtuellen Gerät unter der Identität des Geräts zugreifen, von dem die Schlüsseldaten gestohlen wurden.Spoofing: An attacker may extract cryptographic key material from a device, either at the software or hardware level, and subsequently access the system with a different physical or virtual device under the identity of the device the key material has been taken from.

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.Denial of Service: A device can be rendered incapable of functioning or communicating by interfering with radio frequencies or cutting wires. Beispielsweise liefert eine Überwachungskamera, deren Stromversorgung oder Netzwerkverbindung absichtlich unterbrochen wurde, überhaupt keine Daten mehr.For example, a surveillance camera that had its power or network connection intentionally knocked out cannot report data, at all.

Manipulation: Ein Angreifer kann die Software, die auf dem Gerät ausgeführt wird, teilweise oder vollständig austauschen. Unter Umständen kann mit der neuen Software dann die echte Identität des Geräts genutzt werden, falls die Schlüsseldaten oder die Kryptografieeinrichtungen mit den Schlüsseldaten für das unzulässige Programm verfügbar sind.Tampering: An attacker may partially or wholly replace the software running on the device, potentially allowing the replaced software to leverage the genuine identity of the device if the key material or the cryptographic facilities holding key materials were available to the illicit program.

Manipulation: Eine Überwachungskamera, die den sichtbaren Bereich eines leeren Flurs zeigt, kann auf ein Foto des Flurs gerichtet werden.Tampering: A surveillance camera that’s showing a visible-spectrum picture of an empty hallway could be aimed at a photograph of such a hallway. Ein Rauch- oder Feuermelder kann ausgelöst werden, indem eine Person ein Feuerzeug darunter hält.A smoke or fire sensor could be reporting someone holding a lighter under it. In beiden Fällen ist das Gerät gegenüber dem System in technischer Hinsicht vollkommen vertrauenswürdig, meldet jedoch manipulierte Informationen.In either case, the device may be technically fully trustworthy towards the system, but it reports manipulated information.

Manipulation: Ein Angreifer kann entwendete Schlüsseldaten ggf. nutzen, um Daten vom Gerät abzufangen, im Kommunikationspfad zu unterdrücken und durch falsche Daten zu ersetzen, die mit den gestohlenen Schlüsseldaten authentifiziert werden.Tampering: An attacker may leverage extracted key material to intercept and suppress data from the device on the communication path and replace it with false data that is authenticated with the stolen key material.

Manipulation: Ein Angreifer kann die auf dem Gerät ausgeführte Software teilweise oder vollständig austauschen. Unter Umständen kann mit der neuen Software dann die echte Identität des Geräts genutzt werden, falls die Schlüsseldaten oder die Kryptografieeinrichtungen mit den Schlüsseldaten für das unzulässige Programm verfügbar sind.Tampering: An attacker may partially or completely replace the software running on the device, potentially allowing the replaced software to leverage the genuine identity of the device if the key material or the cryptographic facilities holding key materials were available to the illicit program.

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: If the device is running manipulated software, such manipulated software could potentially leak data to unauthorized parties.

Offenlegung von Daten: Ein Angreifer kann beispielsweise entwendete Schlüsseldaten nutzen, um sich in den Kommunikationspfad zwischen dem Gerät und einem Controller oder Bereichsgateway oder Cloudgateway einzuschalten und Informationen abzuschöpfen.Information Disclosure: An attacker may leverage extracted key material to inject itself into the communication path between the device and a controller or field gateway or cloud gateway to siphon off information.

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).Denial of Service: The device can be turned off or turned into a mode where communication is not possible (which is intentional in many industrial machines).

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.Tampering: The device can be reconfigured to operate in a state unknown to the control system (outside of known calibration parameters) and thus provide data that can be misinterpreted

Rechteerweiterungen: Ein Gerät, das eine bestimmte Funktion erfüllt, kann dazu gebracht werden, eine andere Funktion auszuführen.Elevation of Privilege: A device that does specific function can be forced to do something else. Für ein Ventil, das für das halbe Öffnen programmiert ist, kann beispielsweise erreicht werden, dass es ganz geöffnet wird.For example, a valve that is programmed to open half way can be tricked to open all the way.

Denial of Service: Das Gerät kann in einen Zustand geschaltet werden, in dem keine Kommunikation möglich ist.Denial of Service: The device can be turned into a state where communication is not possible.

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.Tampering: The device can be reconfigured to operate in a state unknown to the control system (outside of known calibration parameters) and thus provide data that can be misinterpreted.

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.Spoofing/Tampering/Repudiation: If not secured (which is rarely the case with consumer remote controls), an attacker can manipulate the state of a device anonymously. Ein gutes Beispiel hierfür sind Fernbedienungen, mit denen alle Fernseher bedient werden können und die daher gern für Scherze verwendet werden.A good illustration is remote controls that can turn any TV and that are popular prankster tools.

KommunikationCommunication

Hier geht es um Bedrohungen in Bezug auf den Kommunikationspfad zwischen Geräten und Bereichsgateways sowie Geräten und Cloudgateways.Threats around communication path between devices, devices and field gateways, and device and cloud gateway. Die nachstehende Tabelle enthält einige Hinweise zu geöffneten Sockets des Geräts bzw. zur VPN-Verbindung:The following table has some guidance around open sockets on the device/VPN:

KomponenteComponent BedrohungThreat LösungMitigation RisikoRisk ImplementierungImplementation
Vom Gerät zum IoT HubDevice IoT Hub TIDTID (D)TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs(D)TLS (PSK/RSA) to encrypt the traffic Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem GatewayEavesdropping or interfering the communication between the device and the gateway Sicherheit auf der Protokollebene.Security on the protocol level. Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann.With custom protocols, you need to figure out how to protect them. In den meisten Fällen erfolgt die Kommunikation vom Gerät zum IoT Hub (Gerät initiiert die Verbindung).In most cases, the communication takes place from the device to the IoT Hub (device initiates the connection).
Von Gerät zu GerätDevice Device TIDTID (D)TLS (PSK/RSA) zum Verschlüsseln des Datenverkehrs(D)TLS (PSK/RSA) to encrypt the traffic. Lesen von Daten bei der Übermittlung zwischen Geräten.Reading data in transit between devices. Manipulation der Daten.Tampering with the data. Überladen des Geräts mit neuen Verbindungen.Overloading the device with new connections Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP).Security on the protocol level (MQTT/AMQP/HTTP/CoAP. Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann.With custom protocols, you need to figure out how to protect them. 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.The mitigation for the DoS threat is to peer devices through a cloud or field gateway and have them only act as clients towards the network. Das Peering kann zu einer direkten Verbindung zwischen den Peers führen, nachdem die Vermittlung über das Gateway erfolgt ist.The peering may result in a direct connection between the peers after having been brokered by the gateway
Von externer Entität zum GerätExternal Entity Device TIDTID Starke Kopplung der externen Entität mit dem GerätStrong pairing of the external entity to the device Abhören der Verbindung mit dem Gerät.Eavesdropping the connection to the device. Beeinträchtigen der Kommunikation mit dem Gerät.Interfering the communication with the device Sichere Kopplung der externen Entität mit dem Gerät (NFC/Bluetooth LE).Securely pairing the external entity to the device NFC/Bluetooth LE. Kontrollieren des Bedienbereichs des Geräts (physisch).Controlling the operational panel of the device (Physical)
Vom Bereichsgateway zum CloudgatewayField Gateway Cloud Gateway TIDTID TLS (PSK/RSA) zum Verschlüsseln des DatenverkehrsTLS (PSK/RSA) to encrypt the traffic. Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem GatewayEavesdropping or interfering the communication between the device and the gateway Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP).Security on the protocol level (MQTT/AMQP/HTTP/CoAP). Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann.With custom protocols, you need to figure out how to protect them.
Vom Gerät zum CloudgatewayDevice Cloud Gateway TIDTID TLS (PSK/RSA) zum Verschlüsseln des DatenverkehrsTLS (PSK/RSA) to encrypt the traffic. Abhören oder Beeinträchtigen der Kommunikation zwischen dem Gerät und dem GatewayEavesdropping or interfering the communication between the device and the gateway Sicherheit auf der Protokollebene (MQTT/AMQP/HTTP/CoAP).Security on the protocol level (MQTT/AMQP/HTTP/CoAP). Bei benutzerdefinierten Protokollen müssen Sie ermitteln, wie der Schutz ermöglicht werden kann.With custom protocols, you need to figure out how to protect them.

Hier sind einige Beispiele für Bedrohungen in dieser Kategorie aufgeführt:Here are some examples of threats in this category:

Denial of Service: Eingeschränkte Geräte sind im Allgemeinen für DoS-Bedrohungen anfällig, wenn sie im Netzwerk aktiv auf eingehende Verbindungen oder nicht angeforderte Datagramme lauschen. Ein Angreifer kann dann viele Verbindungen parallel öffnen und nicht oder nur langsam verarbeiten, oder das Gerät kann mit unerwünschtem Datenverkehr geflutet werden.Denial of Service: Constrained devices are generally under DoS threat when they actively listen for inbound connections or unsolicited datagrams on a network, because an attacker can open many connections in parallel and not service them or service them slowly, or the device can be flooded with unsolicited traffic. In beiden Fällen kann dies dazu führen, dass das Gerät im Netzwerk nicht mehr betriebsbereit ist.In both cases, the device can effectively be rendered inoperable on the network.

Spoofing, Offenlegung von Daten: Eingeschränkte Geräte und Geräte für spezielle Zwecke verfügen häufig nur über einen zentralen Sicherheitsmechanismus, z.B. Kennwort- oder PIN-Schutz, oder sie verlassen sich ganz auf die Vertrauenswürdigkeit des Netzwerks. Das bedeutet, dass der Zugriff auf Informationen gewährt wird, wenn sich ein Gerät im selben Netzwerk befindet. Häufig ist das Netzwerk dabei nur mit einem gemeinsam verwendeten Schlüssel geschützt.Spoofing, Information Disclosure: Constrained devices and special-purpose devices often have one-for-all security facilities like password or PIN protection, or they wholly rely on trusting the network, meaning they grant access to information when a device is on the same network, and that network is often only protected by a shared key. Wenn der gemeinsame geheime Schlüssel für das Gerät oder das Netzwerk also offengelegt wird, kann das Gerät gesteuert werden, oder es können vom Gerät übermittelte Daten mitverfolgt werden.That means that when the shared secret to device or network is disclosed, it is possible to control the device or observe data emitted from the device.

Spoofing: Ein Angreifer kann die Übermittlung abfangen oder teilweise außer Kraft setzen und den Absender nachahmen („Man in the middle“).Spoofing: an attacker may intercept or partially override the broadcast and spoof the originator (man in the middle)

Manipulation: Ein Angreifer kann die Übermittlung abfangen oder teilweise außer Kraft setzen und falsche Informationen senden.Tampering: an attacker may intercept or partially override the broadcast and send false information

Offenlegung von Daten: Ein Angreifer kann bei einer Übermittlung mithören und unbefugt Informationen erlangen. Denial of Service: Ein Angreifer kann das Übermittlungssignal blockieren und die Bereitstellung von Daten verhindern.Information Disclosure: an attacker may eavesdrop on a broadcast and obtain information without authorization Denial of Service: an attacker may jam the broadcast signal and deny information distribution

SpeicherStorage

Jedes Gerät und Bereichsgateway verfügt über eine Art von Speicher (temporär für das Einreihen von Daten in die Warteschlange, Betriebssystemimage-Speicher).Every device and field gateway has some form of storage (temporary for queuing the data, operating system (OS) image storage).

KomponenteComponent BedrohungThreat LösungMitigation RisikoRisk ImplementierungImplementation
Speicher des GerätsDevice storage TRIDTRID Speicherverschlüsselung, Signieren der ProtokolleStorage encryption, signing the logs Lesen von Daten aus dem Speicher (personenbezogene Daten), Manipulieren von Telemetriedaten.Reading data from the storage (PII data), tampering with telemetry data. Manipulieren von Befehlssteuerungsdaten in der Warteschlange oder im Cache.Tampering with queued or cached command control data. 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.Tampering with configuration or firmware update packages while cached or queued locally can lead to OS and/or system components being compromised Verschlüsselung, Nachrichtenauthentifizierungscode (Message Authentication Code, MAC) oder digitale Signatur.Encryption, message authentication code (MAC), or digital signature. Falls möglich, strenge Zugriffssteuerung mit Zugriffssteuerungslisten oder Berechtigungen für Ressourcen.Where possible, strong access control through resource access control lists (ACLs) or permissions.
Betriebssystemimage des GerätsDevice OS image TRIDTRID Manipulation des Betriebssystems/Austausch von BetriebssystemkomponentenTampering with OS /replacing the OS components Schreibgeschützte Betriebssystempartition, signiertes Betriebssystemimage, VerschlüsselungRead-only OS partition, signed OS image, Encryption
Bereichsgatewayspeicher (Einreihen von Daten in die Warteschlange)Field Gateway storage (queuing the data) TRIDTRID Speicherverschlüsselung, Signieren der ProtokolleStorage encryption, signing the logs Lesen von Daten aus dem Speicher (personenbezogene Daten), Manipulieren von Telemetriedaten, Manipulieren von Befehlssteuerungsdaten in der Warteschlange oder im Cache.Reading data from the storage (PII data), tampering with telemetry data, tampering with queued or cached command control data. 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.Tampering with configuration or firmware update packages (destined for devices or field gateway) while cached or queued locally can lead to OS and/or system components being compromised BitLockerBitLocker
Betriebssystemimage des BereichsgatewaysField Gateway OS image TRIDTRID Manipulation des Betriebssystems/Austausch von BetriebssystemkomponentenTampering with OS /replacing the OS components Schreibgeschützte Betriebssystempartition, signiertes Betriebssystemimage, VerschlüsselungRead-only OS partition, signed OS image, Encryption

Geräte und Ereignisverarbeitung und CloudgatewayzoneDevice and event processing/cloud gateway zone

Ein Cloudgateway ist ein System, das die Remotekommunikation von und zu Geräten oder Bereichsgateways von mehreren unterschiedlichen Standorten über das öffentliche Netzwerk ermöglicht. Dies erfolgt normalerweise auf Grundlage eines cloudbasierten Systems für die Steuerung und Datenanalyse bzw. eines Partnerverbunds dieser Systeme.A cloud gateway is system that enables remote communication from and to devices or field gateways from several different sites across public network space, typically towards a cloud-based control and data analysis system, a federation of such systems. In einigen Fällen ist mit einem Cloudgateway der unmittelbare Zugriff von Terminals wie Tablets oder Smartphones auf Geräte für spezielle Zwecke möglich.In some cases, a cloud gateway may immediately facilitate access to special-purpose devices from terminals such as tablets or phones. Im hier beschriebenen Kontext ist mit „Cloud“ ein dediziertes Datenverarbeitungssystem gemeint, das nicht wie die verbundenen Geräte oder Bereichsgateways an einen Standort gebunden ist und bei dem der physische Zugang durch betriebliche Maßnahmen verhindert wird. Es geht nicht unbedingt um eine „Public Cloud“-Infrastruktur.In the context discussed here, “cloud” is meant to refer to a dedicated data processing system that is not bound to the same site as the attached devices or field gateways, and where operational measures prevent targeted physical access but is not necessarily to a “public cloud” infrastructure. Ein Cloudgateway kann auch einem Overlay für die Netzwerkvirtualisierung zugeordnet werden, um das Cloudgateway und alle verbundenen Geräte oder Bereichsgateways gegenüber anderem Netzwerk-Datenverkehr zu isolieren.A cloud gateway may potentially be mapped into a network virtualization overlay to insulate the cloud gateway and all of its attached devices or field gateways from any other network traffic. 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.The cloud gateway itself is not a device control system or a processing or storage facility for device data; those facilities interface with the cloud gateway. Die Cloudgateway-Zone enthält das Cloudgateway selbst sowie alle Bereichsgateways und Geräte, die direkt oder indirekt damit verbunden sind.The cloud gateway zone includes the cloud gateway itself along with all field gateways and devices directly or indirectly attached to it.

Beim Cloudgateway handelt es sich meist um eine speziell erstellte Software, die als Dienst ausgeführt wird und verfügbar gemachte Endpunkte aufweist, mit denen das Bereichsgateway und die Geräte Verbindungen herstellen können.Cloud gateway is mostly custom built piece of software running as a service with exposed endpoints to which field gateway and devices connect. Aus diesem Grund muss beim Entwerfen schon von Anfang an die Sicherheit im Blick behalten werden.As such it must be designed with security in mind. Halten Sie sich an den SDL-Prozess zum Entwerfen und Erstellen dieses Diensts.Follow SDL process for designing and building this service.

DienstzoneServices zone

Ein Steuersystem (oder Controller) ist eine Softwarelösung, die mit einem Gerät, Bereichsgateway oder Cloudgateway zusammenarbeitet, um ein oder mehrere Geräte zu steuern oder Gerätedaten zu Darstellungszwecken oder für die nachgelagerte Steuerung zu erfassen, zu speichern und zu analysieren.A control system (or controller) is a software solution that interfaces with a device, or a field gateway, or cloud gateway for the purpose of controlling one or multiple devices and/or to collect and/or store and/or analyze device data for presentation, or subsequent control purposes. Steuersysteme sind die einzigen Entitäten im Rahmen dieser Beschreibung, die eine unmittelbare Interaktion mit Personen ermöglichen.Control systems are the only entities in the scope of this discussion that may immediately facilitate interaction with people. Eine Ausnahme sind zwischengeschaltete Geräteoberflächen für die physische Kontrolle. Dies kann beispielsweise ein Schalter sein, mit dem eine Person das Gerät ausschalten oder andere Eigenschaften ändern kann und für den es keine digital zugängliche Funktionsentsprechung gibt.The exceptions are intermediate physical control surfaces on devices, like a switch that allows a person to turn off the device or change other properties, and for which there is no functional equivalent that can be accessed digitally.

Bei zwischengeschalteten Geräteoberflächen für die physische Kontrolle wird die Funktion der physischen Steueroberfläche durch eine Steuerlogik eingeschränkt, sodass eine gleichwertige Funktion remote initiiert werden kann oder Konflikte in Bezug auf die Remoteeingabe verhindert werden können. Zwischengeschaltete Steueroberflächen dieser Art sind konzeptionell einem lokalen Steuersystem zugeordnet, für das die gleiche zugrunde liegende Funktionalität wie bei jedem anderen Remotesteuersystem genutzt wird, dem das Gerät unter Umständen parallel zugeordnet ist.Intermediate physical control surfaces are those where governing logic constrains the function of the physical control surface such that an equivalent function can be initiated remotely or input conflicts with remote input can be avoided – such intermediated control surfaces are conceptually attached to a local control system that leverages the same underlying functionality as any other remote control system that the device may be attached to in parallel. Informationen zu den wichtigsten Cloud Computing-Bedrohungen finden Sie auf der Seite der Cloud Security Alliance (CSA).Top threats to the cloud computing can be read at Cloud Security Alliance (CSA) page.

Zusätzliche RessourcenAdditional resources

Weitere Informationen finden Sie in den folgenden Artikeln:For more information, see the following articles:

Weitere InformationenSee also

Weitere Informationen zum Schützen Ihrer IoT-Lösung finden Sie unter Schützen Ihrer IoT-Bereitstellung.To learn more about securing your IoT solution, see Secure your IoT deployment.

Sie können auch einige andere Features und Funktionen der vorkonfigurierten IoT Suite-Lösungen ausprobieren:You can also explore some of the other features and capabilities of the IoT Suite preconfigured solutions:

Sie können unter Verwalten des Zugriffs auf IoT Hub im IoT Hub-Entwicklerhandbuch mehr über die Sicherheit von IoT Hub erfahren.You can read about IoT Hub security in Control access to IoT Hub in the IoT Hub developer guide.