Embedded Security

Sicherheit durch Hypervisor und Hardware-Virtualisierung

Seite: 2/4

Firma zum Thema

Hardwaregestützter Hypervisor und sicherer Hypervisor

In einem Embedded-System wird ein TLB (Translation Lookaside Buffer) von der Memory Management Hardware in hierarchischer Weise verwendet, um die Übersetzungsgeschwindigkeit der virtuellen Adresse zu verbessern.

In Systemen mit hardwaregestützter Virtualisierung ermöglicht eine 2-stufige TLB eine Isolation bei vergleichbarer Leistungsfähigkeit. Die Hierarchie besteht aus zwei Ebenen: erstens, dem Gast-TLB; und zweitens, dem Root TLB. Jede/r VM/Gast arbeitet im herkömmlichen User Mode (siehe Bildergalerie; Bild 1a; linke Seite), wobei der Gast-TLB (G.TLB) genauso konfiguriert wird wie ein herkömmlicher TLB.

Bildergalerie
Bildergalerie mit 5 Bildern

Dabei sind nur wenig oder gar keine Änderungen am Gast-Kernel erforderlich. Der Hypervisor steuert im privilegierten Modus den Root TLB (R.TLB) und leitet den Gast-Zugriff auf die richtige physikalische Adresse um. Damit überwacht der Hypervisor alle CPU-Bus-Transaktionen durch vorgegebene Zugriffsrechte und stellt sicher, dass jeder Gast innerhalb der vom Hypervisor vorgegebenen Grenzen arbeitet.

In anderen Worten: der Root TLB, als Teil der Hierarchie der Memory Management Units (Root MMU) und unter der Kontrolle des Hypervisors, sorgt für die Isolation zwischen den Gästen. Die Gast-MMU wird dabei vollständig vom Gast-OS verwaltet, um Gast-Anwendungen/User zu isolieren.

Die Isolation zwischen der Gast-Anwendung und dem privilegierten Root Kernel ist der erste Schritt bei der Sicherung des Hypervisors. Es muss auch sichergestellt sein, dass die „Attack Surface Area“ des Root-Kernels so klein wie möglich ist und alle Root-Kernel-Zugänge durch den Vorder- und Hintereingang eingeschränkt sind und unter strenger Beobachtung des Hypervisors stehen.

Für eine Embedded-Plattform ist daher ein Hypervisor mit kleiner Codegröße wünschenswert. Dafür stehen heute viele Hypervisor von Drittanbietern zur Verfügung.

Bild 2 beschreibt, wie R.TLB einen unerlaubten Zugriff des benachbarten Gasts verhindert. Der R.TLB wird so konfiguriert, dass DDR-Speicherbereiche für jeden Gast-n und Gast-m vollständig isoliert sind.

Der Gast-n Write Request (WR-req) an den Gast-n DDR-Speicherbereich wird genehmigt, während der Gast-m Read Request (RD-req) vom Gast-n DDR-Speicherbereich durch das R.TLB blockiert wird. Eine Ausnahme kann für den Hypervisor erzeugt werden, um entsprechende Aktionen vorzunehmen (Bild 2; siehe Bildergalerie).

(ID:43651299)