Sicherheit durch Separation

Quarantäne für die Software

18. April 2017, 14:58 Uhr | Von Majid Bemanian
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Vertrauen in einer virtuellen Umgebung herstellen

Der MIPS M5150 kann in vier Bereiche oder Quadranten unterteilt werden, basierend auf zwei Achsen. Dies steht im Gegensatz zum herkömmlichen einachsigen Betrieb des User- und Kernel-Bereichs. Die User- und Kernel-Bereiche sind in Root- und Gast-Kontexte unterteilt.

  • Gast-User: Niedrigster privilegierter Status, in dem Anwendungen in der Regel ausgeführt werden
  • Gast-Kernel: Typischer Kernel-Raum einer CPU, in dem privilegierte Tasks auf OS-Ebene ausgeführt werden. Beispiele sind Linux, I/Os, Interrupt Handling und Speicherbelegung.
  • Root-User: Ein einziger privilegierter Status der CPU, der geschützte Anwendungen ausführt
  • Root-Kernel: Der höchste privilegierte Ausführungszustand der CPU, in dem privilegierte Befehle ausgeführt werden. Ausnahmen von einem Verstoß können in diesem Zustand behandelt werden. Speichermanagement auf zweiter Ebene kommt zum Schutz von Ressourcen zum Einsatz, die ebenfalls in diesem Zustand verwaltet werden. Ein vertrauenswürdiger Hypervisor kann den Betrieb vertrauenswürdiger Anwendungen und aller anderen geschützten Gäste verwalten.

passend zum Thema

Die vier Quadranten, die erforderlich sind, um Sicherheit durch Trennung und eine vertrauenswürdige Umgebung herzustellen
Bild 3. Die vier Quadranten, die erforderlich sind, um Sicherheit durch Trennung und eine vertrauenswürdige Umgebung herzustellen.
© Imagination Technologies

Sowohl der Gast-User als auch der Gast-Kernel können repliziert werden, um mehrere isolierte Domänen zu schaffen. Bild 3 beschreibt die vier Quadranten, die erforderlich sind, um Sicherheit durch Trennung und eine vertrauenswürdige Umgebung herzustellen. Die Gast-Kontexte werden in parallele Domänen oder Umgebungen vervielfältigt, die jeweils durch einen Hardware-Mechanismus isoliert werden. Beim M5150 lassen sich bis zu sieben Gast-Kontexte aufbauen, was die Gesamtzahl der Kontexte auf acht erhöht.

Der Root-Kontext führt einen privilegierten Status im M5150 aus. Damit lassen sich privilegierte Befehle, Software-Routinen, Interrupts und Ausnahmen innerhalb dieses Kontexts ausführen, was Steuerung, Verwaltung und Beendigung von Gast-Diensten nach Bedarf ermöglicht. Zugriffe von jedem Gast auf die Root-Ressourcen können durch Hardware untersagt werden. Der Root-Kontext kann jedoch als Proxy fungieren, um indirekten Zugriff auf beschränkte oder geschützte Ressourcen zu gewähren.

Der Root-Kontext kann einen isolierten Zustand beibehalten – um jedoch Vertrauen aufzubauen und zu erhalten, kann eine „Root of Trust“ (RoT) implementiert werden, um das System nach dem Einschalten in einen bekannten Zustand zu versetzen. Die Komplexität der RoT kann sich von Anwendung zu Anwendung unterscheiden und ist eine Funktion des Angriffs- und Schutzprofils

Dual-Core-Funktionen auf einem Single-Core-Chip

Neben einer Basis für Sicherheit durch Trennung bietet die Hardware-Virtualisierung weitere wichtige Vorteile. In einem Embedded-System verringert sie den CPU-Overhead, weist dynamisch CPU-Bandbreite pro Anwendung zu, erhöht die Hardware-Ausnutzung und bietet ein flexibleres Systemmanagement. Bei vielen industriellen sowie vernetzten Home- und Fahrzeuganwendungen lassen sich Kosten einsparen, indem mehrere CPU-Cores durch einen einzigen Core ersetzt werden.
Dual-Core-Mikrocontroller eignen sich ideal für Anwendungen, die mehrere Funktionen steuern. Ein Core mit niedrigerer Performance deckt die Funktionen auf unterer Ebene ab, z.B. die Steuerung von Sensoren, während ein anderer hochleistungsfähiger Core komplexere Aufgaben wie die Audioverarbeitung oder andere Multimedia-Anwendungen übernimmt. Diese Art von Konfiguration findet sich in vielen Wearables, IoT- und Embedded-Anwendungen.

Dual-Core-Funktionen auf einem Single-Core-Chip – dank Virtualisierung
Bild 4. Dual-Core-Funktionen auf einem Single-Core-Chip – dank Virtualisierung.
© Imagination Technologies

Ein Single-Core ermöglicht die Verwaltung der Aufgaben mit getrennten Ressourcen – sowohl im Speicher als auch hinsichtlich der I/Os. Damit ist eine Aufgabentrennung möglich, ohne komplexe Dual-Cores verwenden zu müssen (Bild 4). Die zusätzliche Performance bietet auch mehr Flexibilität, um neue Anwendungen ohne die festen Grenzen der Dual-Core-Partition skalieren zu können. Im Vergleich zu anderen Dual-Core-Embedded-CPUs bietet der Single-Core MIPS M5150 eine Leistungssteigerung von bis zu 35 %, während der Platzbedarf um bis zu 10 % geringer ausfällt – was letztendlich zu einem effizienteren Betrieb führt. Das virtualisierte Single-Core-Design verringert die Komplexität, den Interconnect-Aufwand und die Debug-Zeit und verbessert sowohl Sicherheit als auch Flexibilität.

Beispiel: Sichere IoT-Kommunikation

Hardware-Virtualisierung ermöglicht die Umsetzung einer Lösung, die sich an die Anforderungen des IoT-Übergangs in die Cloud skalieren und anpassen lässt. Dabei bleiben die Gesamtkosten für die Implementierung, Validierung, Zertifizierung und den Betrieb des Netzwerkübergangs gleich.

Sicherheit durch Trennung bzw. Isolation am IoT-Übergang zur Cloud
Bild 5. Sicherheit durch Trennung bzw. Isolation am IoT-Übergang zur Cloud.
© Imagination Technologies

In Bild 5 handhabt die vertrauenswürdige Anwendung sämtliche sicherheitsbezogenen Aufgaben, wie z.B. die Steuerung der Sensoren, während sensible Daten erfasst, verarbeitet und gespeichert werden. Getrennt davon wird eine sichere Kommunikation zum Host aufgebaut – entweder lokal oder über die Cloud. Die OEM-Anwendung behält die Isolierung von Drittanbieter-Anwendungen bei. Verbleibt eine solche Anwendung in ihrer eigenen Umgebung, vereinfachen sich die Validierung, Bereitstellung und der Widerruf, während eine weitere Sicherheitsebene für die grundlegenden Dienste bereitgestellt wird.

Sicherheit ist entscheidend, um vernetzte Einrichtungen erfolgreich und sicher im Smart Home, in Smart Cities, industriellen Umgebungen, Automotive-Anwendungen, Wearables und vielen anderen Bereichen zu implementieren und zu betreiben. Die Grundlagen der Sicherheit verlangen, dass eine vertrauenswürdige Betriebsumgebung vorliegt, die über eine Root of Trust gestützt wird und nicht anfällig gegen Angriffe ist. Diese stützt sich auf Hardware und bildet die Basis für eine Chain of Trust für alle Subsysteme.

Gut getrennt

Sicherheit durch Trennung, wie sie durch Hardware-Virtualisierung möglich ist, bietet eine zusätzliche Vertrauensebene. Dabei wird sichergestellt, dass Anwendungen und Gast-Betriebssysteme voneinander getrennt bleiben. Die Trennung von Gästen, die in VMs betrieben werden, von der echten Hardware und die Isolierung der VMs voneinander bildet die Grundlage für Sicherheit durch erzwungene Isolation. Der Hypervisor bildet dabei die Basis für Sicherheitsdienste und stellt diese pro VM bereit. Diese Implementierung kann Nutzer- und Anwendungsdaten getrennt voneinander halten und gegen externe Hacker-Angriffe schützen. Zertifizierte Software bleibt getrennt von Nutzeränderungen; Kommunikationsschnittstellen und Anwendungs-Software werden isoliert, um die interne Sicherheit bzw. Privatsphäre zu gewährleisten.

Eine solche Implementierung muss über einen binären Ansatz (ein sicherer, ein nicht sicherer Bereich) hinausgehen. Die Mindestimplementierung in einem vernetzten System stellt getrennte, isolierte Umgebungen für kritische Ressourcen sicher: Kommunikationsschnittstellen und den Software Stack, der darauf läuft; Speicher und andere Ressourcen im System.

Imaginations Multi-Domain-Architektur OmniShield kann weit über diesen binären Ansatz hinaus skaliert werden. Damit kann jede sichere oder nicht sichere Anwendung in ihrer eigenen isolierten Umgebung bestehen, in der sie unabhängig arbeitet. OmniShield findet sich in vielen MIPS-CPUs wie den MIPS-M5100- und M5150-IP-Cores. Damit steht eine Grundlage für Vertrauen zur Verfügung, das in unserer vernetzten Welt immer wichtiger wird – dies gilt auch für die Mikrocontroller von morgen.


Der Autor

Majid Bemanian
ist Mitglied des Lenkungsausschusses der IoT Security Foundation und Marketing-Direktor bei Imagination Technologies. Nach seinem Abschluss an der Universität von Nevada-Reno hatte er verschiedene Engineering- und Managementpositionen bei Applied Micro, LSI, Raytheon Semi und einigen Start-ups inne. Nach über 25 Jahren in der Embedded-Branche ist er Inhaber von zehn Patenten.

 


  1. Quarantäne für die Software
  2. Vertrauen in einer virtuellen Umgebung herstellen

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Imagination Technologies Ltd.

Weitere Artikel zu Funktionale Sicherheit/Safety

Weitere Artikel zu Cyber-Security