Mentor Graphics Sicherung und Schutz von Daten auf vernetzten IoT-Geräten

Bild 1. Die TrustZone-Technologie von ARM ermöglicht es Entwicklern, Funktionen innerhalb eines SoC als „sichere Welt“ oder „normale Welt“ zu bestimmen
Bild 1. Die TrustZone-Technologie von ARM ermöglicht es Entwicklern, Funktionen innerhalb eines SoC als „sichere Welt“ oder „normale Welt“ zu bestimmen

Durch Verwendung von ARMs TrustZone-Technologie zusammen mit einem Type-1-Hypervisor können Entwickler eine starke, robuste und sichere Basis für SoC-Designs zur Verfügung stellen, die den Anforderungen der ständig wachsenden IoT-Welt gerecht wird.

Der Funktionsumfang von vernetzten IoT-Geräten nimmt rapide zu. Dementsprechend steigt auch der Wert der auf diesen Geräten gespeicherten Informationen beziehungsweise von Informationen, auf die über diese Geräte zugegriffen werden kann. Die meisten der heute verwendeten Geräte sind mit mindestens einer Art von Netzwerk oder Dienst verbunden. Autos werden üblicherweise über Bluetooth oder mobile Datennetze mit Geräten verbunden. Tragbare medizinische Geräte verbinden sich untereinander, mit dem Netzwerk eines Krankenhauses oder mit der Cloud. Das intelligente Stromnetz ist eine weitere Art von IoT-Netzwerk, das Energieversorgungsunternehmen mit zahlreichen Geräten in den Haushalten verbindet.

Datenschutz an mehreren Fronten

Wenn es um die Absicherung eines eingebetteten vernetzten Gerätes geht, dann muss zunächst die „Oberfläche“ betrachtet werden, die für Angriffe anfällig ist. Diese Angriffsfläche variiert von Gerät zu Gerät. In der Regel ist es aber so, dass je weiterentwickelter ein Gerät ist, desto mehr Angriffsfläche bietet es. Zweitens ist es wichtig zu verstehen, dass heute die meisten Bedrohungen, die auf Daten abzielen, es nicht auf die Dateninhalte abgesehen haben, sondern auf die Möglichkeit, Daten zu manipulieren. Und drittens ist es entscheidend, ein Gerät zu konzipieren und zu entwickeln, das durch Verwendung verschiedener Sicherheitsfunktionen sowohl robust als auch sicher ist.

Wie Daten manipuliert werden

Ein Beispiel für die Manipulation von Daten ist ein Angriff auf einen Algorithmus, der den Betrieb eines Systems beeinflusst, auf dessen Betrieb er selbst angewiesen ist. Beispiele hierfür sind eine Bankanwendung an einem Geldautomaten, ein Kassenterminal beim Auschecken oder die Parameter, die die Funktionsweise von Geräten in einem Automobil festlegen. Wenn es um den Schutz der Daten geht, müssen sich Entwickler der drei kritischen Phasen von Daten bewusst sein: gespeicherte Daten, verwendete Daten und Daten, die übertragen werden.

Gespeicherte Daten

Diese lassen sich am besten anhand eines ausgeschalteten Geräts beschreiben. Zu den Überlegungen in diesem Stadium gehören:

  • Wo ist das bootfähige Abbild gespeichert?
  • Gibt es Maßnahmen zum Schutz vor unbefugten Manipulationen, die zur Warnung eines Gerätes verwendet werden können, wenn es manipuliert wird und gibt es eine Möglichkeit, um das Booten in einen ungeschützten Zustand zu verhindern?
  • Wurden die ausführbaren Dateien verschlüsselt oder kann jemand der Zugriff erhält, Daten aus dem EEPROM entfernen, den Speicher leeren oder versuchen, die Anwendung zurück zu entwickeln?

Verwendete Daten

Dieser Begriff bezieht sich auf ein Gerät, das normal arbeitet und Daten generiert und verarbeitet:

  • Wurden für sensible Daten Verschleierungsmethoden verwendet?
  • Wird das Gerät in einem validierten Zustand ausgeführt? Wurde eine Vertrauenskette etabliert?

Daten, die übertragen werden

Dieser Modus betrifft Daten, die in ein Gerät gelangen oder dieses verlassen. Ein gutes Design sollte folgende Bereiche abdecken:

  • Wie werden Daten im Falle eines Diebstahls geschützt?
  • Sind Verschlüsselungen oder Tunnelprotokolle vorhanden?
  • Wurden Firewalls eingesetzt und was sind die Strategien im Falle eines Denial-of-Service-Angriffs?

Erstellen von Sicherheitsschichten

Wenn es um den Schutz der Schichten innerhalb eines IoT-Gerätes geht, dann hört der Entwickler möglicherweise „Verteidigung in der Tiefe“ oder „mehrstufige Sicherheit“. Unabhängig von der Terminologie läuft es auf die Generierung von Sicherheitsschichten hinaus, die vor Angriffen schützen können oder zumindest das Eindringen der Angriffe in die nachfolgenden Schichten verzögern. Das mehrschichtige Sicherheitsmodell enthält häufig:

  • Richtlinien und Verfahren: Regeln für den Zugriff und die Nutzung eines Gerätes
  • Physikalisch: Buchstäblich eine physikalische Barriere wie ein Zaun, eine Wache oder eine verschlossene Tür
  • Netzwerk: Sicherung der Konnektivität zur Außenwelt
  • Anwendung: Sicherstellen, dass schädliche Anwendungen das System nicht gefährden
  • Daten: Gewährleistung der Integrität der im System verwendeten oder gespeicherten Daten

Ein Ansatz für mehrstufige Sicherheit

Die in einem System-on-Chip (SoC) implementierte ARM-TrustZone-Technologie kann zur Adressierung des Netzwerks, der Anwendungen und der Datenaspekte des mehrstufigen Sicherheitsmodells verwendet werden. Die ARM-TrustZone-Architektur bietet eine Lösung zur Unterteilung der SoC-Hardware. Dazu definiert sie Prozesse, Periperiekomponenten, Speicheradressen und sogar Bereiche des L2-Cache als „sicher“ und „nicht sicher“ ablaufende Hardware. Ein SoC, der die TrustZone-Technologie nutzt, erlaubt sicherer Software dynamisch den vollständigen Zugriff auf dessen Ressourcen, normaleSoftware wird mit eingeschränkten Rechten ausgeführt (Bild 1).