Embedded Security

Sicherheit durch Hypervisor und Hardware-Virtualisierung

Seite: 3/4

Firma zum Thema

Verankerung des Embedded-Systems

Ein vertrauenswürdiger Hypervisor ist entscheidend für die Gesamtsicherheit der Embedded-Plattform. Um einen solchen Hypervisor zu erhalten, ist jedoch zusätzliches IP erforderlich (Bild 3; siehe Bildergalerie). Weitere Bestandteile wie ein sicheres NoC, eine sichere GPU etc. spielen eine wichtige Rolle bei der Entwicklung eines sicheren SoC. Um eine Embedded-Plattform zu sichern, ist ein vertrauenswürdiger Anker erforderlich. In diesem Fall fungiert die Root of Trust (RoT) als Anker (Bild 3).

Die RoT soll folgendes erzwingen:

Bildergalerie
Bildergalerie mit 5 Bildern
  • Authentifizierung des Ursprungs und der Integrität der Hypervisor Images vor der Ausführung;
  • Booten des Systems im sicheren Hypervisor-Zustand und sicherstellen, dass nur vertrauenswürdiger Code läuft; anschließend wird der Hypervisor als Vertrauenskette aufgebaut.

Sicherheit durch Hypervisor-Einsatz

Bild 4 (siehe Bildergalerie) beschreibt den Aufbau eines Embedded-Systems, das mehrere isolierte und sichere Umgebungen benötigt. Der Hypervisor und alle gemeinsamen Treiber und Bibliotheken sind von den Gast-Kernels und zugehörigen Nutzerumgebungen isoliert und geschützt. Anschließend wird jeder Gast von den benachbarten Gästen isoliert und geschützt.

Wie bereits erwähnt, erfolgt dies durch die MMU-/TLB-Hierarchie (Gast und Root TLB). Hinzu kommt, dass die durch das Trusted Element verankerte RoT (Bild 4) die gleiche oder eine höhere Berechtigungsstufe hat als der Hypervisor, der die Vertrauenskette durchsetzt.

Vertrauen in den Hypervisor: sichere Boot-Sequenz

Die in Bild 5 (siehe Bildergalerie) aufgeführten Schritte beschreiben, wie ein Hypervisor in einen vertrauenswürdigen oder sicheren Zustand gebootet wird. Danach erfolgt das Erstellen verschiedener isolierter VM/Gäste in mehreren sicheren Umgebungen.

Auf diese Art wird der Hypervisor unter der Kontrolle des Trusted Element geladen und mit der SoC RoT verankert. Der Hypervisor lädt und authentifiziert zugehörige Software für jede/n VM/Gast und nutzt dabei den gleichen sicheren Boot-Vorgang.

Der schrittweise Prozess läuft wie folgt ab:

  • Root-Kernel Modus-Ausführung
  • Erster Boot Loader wird am Reset Exception Vector platziert – entspricht der ersten Ausführung aus dem ROM oder OTP-ROM
  • Der erste Boot Loader lädt den zweiten Boot Loader in das On-Chip RAM (OCM)
  • Der erste Boot Loader authentifiziert den zweiten Boot Loader
  • Die Kontrolle wird nun an den zweiten Boot Loader übergeben, der sich nun im OCM befindet
  • Der zweite Boot Loader lädt den Hypervisor in das für ihn vorgesehene RAM
  • Der zweite Boot Loader authentifiziert das Hypervisor Image mit dem Trusted Element
  • Die Kontrolle wird an den Hypervisor als Vertrauenskette übergeben, der nun im isolierten Bereich des DRAM läuft
  • Der Hypervisor erstellt die Root TLB für mehrere VMs/Gäste
  • Der Hypervisor lädt das Linux-0 Image in das für VM0 vorgesehene DRAM
  • Der Hypervisor authentifiziert das Linux-0 Image mit dem Trusted Element
  • Schritte (a) & (b) werden für VM1/Linux-1 wiederholt
  • Schritte (a) & (b) werden für VM2/Linux-2 wiederholt
  • Schritte (a) & (b) werden für VM3/Linux-3 wiederholt
  • Der Hypervisor betreibt das VM/Gast Context Switching (CS) nach den festgelegten Richtlinien

(ID:43651299)