ARM TrustZone

Sicherheit für Android-basierte Smartphones und Tablets

Seite: 2/2

Anbieter zum Thema

Cortex-Prozessoren sind auf TrustZone-Betrieb eingestellt

TrustZone ist eine ARM-eigene Funktion seiner Applikationsprozessor-Cores vom Typ ARM1176, Cortex-A5, Cortex-A8 und Cortex-A9. Zu beachten ist jedoch, dass nicht alle SoCs auf Basis dieser Cores auch TrustZone voll ermöglichen. Der Chip-Hersteller muss eine sichere Bereichspartitionierung des Speichers und I/O-Peripherie-Interrupts im gesamten SoC-Komplex erlauben. Der Chip-Anbieter muss den sicheren Bereich auch für vertrauenswürdige Betriebssysteme und Anwendungen von Drittanbietern zugänglich machen. Beispiele TrustZone-fähiger Mobile-SoCs sind Freescales i.MX53 (Cortex-A8) und Texas Instruments’ OMAP 4430 (Cortex-A9).

Green Hills Software hat mit diesen Chip-Herstellern und anderen Anbietern TrustZone-fähiger Prozessoren zusammengearbeitet, um ein voll funktionsfähiges und sicherheitszertifiziertes Betriebssystem und Software Development Kit (SDK) anzubieten. Damit lassen sich vertrauenswürdige, auf offenen Standards basierende Anwendungen für mobile Geräte entwickeln.

Zu dieser vertrauenswürdigen Software zählen Verschlüsselungsalgorithmen, Netzwerksicherheitsprotokolle (wie SSL/TLS) und Keying-Material, Digital Rights Management (DRM) Software, virtuelle Tastaturen für vertrauenswürdige Eingaben, mobile Bezahl-Subsysteme, elektronische Identitätsdaten und alles andere, was ein Dienstanbieter, Hersteller von Mobiltelefonen und/oder Anbieter von Mobile-SoCs für schützenswert von der Benutzerumgebung hält.

Verringerter Aufwand für Zertifizierung

Neben der höheren Sicherheit kann TrustZone auch die Kosten und Time-to-Market tragbarer Geräte verringern, die beim Einsatz in Banking- oder anderen kritischen Umgebungen eine Zertifizierung erfordern. Mit TrustZone kann die Bank (oder Zertifizierungsbehörde) den Zertifizierungsaufwand des sicheren Bereichs begrenzen und die Komplexität (wenn nicht Unmöglichkeit) beim Zertifizieren der Multimedia-Betriebssystemumgebung vermeiden.

Ein zertifiziertes Betriebssystem für den sicheren Bereich kann die Kosten und den Zertifizierungsaufwand weiter senken – und zwar aus zwei Gründen:

Erstens, weil das zertifizierte Betriebssystem bereits vertrauenswürdig ist. Die Design- und Test-Artefakte stehen der Zertifizierungsbehörde zur Verfügung, und die Kosten sowie der Zeitaufwand zur Zertifizierung der Betriebsumgebung im sicheren Bereich werden vermieden.

Zweitens, weil der sichere Bereich ein vollständiger ARM-Logik-Core ist. Das sichere OS kann seine MMU (Memory Management Unit) verwenden und Funktionen partitionieren, um den sicheren Bereich in weitere Metazonen zu unterteilen (Bild 2). So kann zum Beispiel eine Bank die Zertifizierung der Verschlüsselungs-Metazone verlangen, um Banktransaktionsnachrichten zu authentifizieren und zu verschlüsseln. Die Bank kümmert sich aber nicht um die Zertifizierung einer Multimedia-DRM-Metazone, die zwar für das Gesamtgerät entscheidend ist, aber nicht für Banktransaktionen verwendet wird und durch das sichere OS garantiert keine anderen Abläufe stört.

Der Separationskernel enthält die Sicherheitsarchitektur

Bild 2: Kürzere Zertifizierungsdauer und geringere Kosten durch Metazonen innerhalb von TrustZone
Bild 2: Kürzere Zertifizierungsdauer und geringere Kosten durch Metazonen innerhalb von TrustZone
(Grafik: Green Hills Software)

Das sichere TrustZone-Betriebssystem ist die Implementierung eines Separationskernels. Dieser enthält eine Sicherheitsarchitektur auf Basis von Hochsicherheitskomponenten sowie der strikten Trennung und des kontrollierten Informationsflusses zwischen diesen Komponenten. Der Separationskernel ist ein spezielles Echtzeit-Betriebssystem (RTOS), das höchsten Sicherheitsanforderungen entspricht und eine leistungsstarke Umgebung zum Hosten sicherheitskritischer Echtzeit-Anwendungen bietet.

Die Beurteilung der Softwaresicherheit erfolgt über den internationalen Standard für Produktsicherheitsevaluierung in der Informationstechnik: Common Criteria (ISO/IEC 15408). Common-Criteria-evaluierte Assurance Level (EAL) reichen von 1 bis 7. Die meisten universellen Produkte wie Windows, Android, VMware, Webserver, Firewalls etc. sind mit Level 4 oder darunter zertifiziert und eignen sich daher nur für „unbeabsichtigte oder gelegentliche Versuche, die Systemsicherheit zu durchbrechen“. Die Level 6+/7 entsprechen hoher Sicherheit. Im November 2008 wurde Green Hills Softwares Separationskernel-Technologie Integrity das erste Softwareprodukt, das eine Common-Criteria-Zertifizierung für hohe Sicherheit erhielt.

Zu den Sicherheitsanforderungen auf dieser Ebene zählen zahlreiche rigorose Kontrollen während des Entwicklungsprozesses, formale mathematische Sicherheitsüberprüfungen und NSA-Systemeindringtests mit vollem Zugriff auf den Quellcode. Die gleiche RTOS-Technologie kommt auch in sicherheitskritischen Systemen wie Prozesssteuerungen, Automobilelektronik, Medizintechnik, Avionik und Telekommunikation zum Einsatz.

EAL6+ stellt den Grad „High Robustness“ (hohe Sicherheit) nach Common Criteria für die US-Regierung dar. Dieser Sicherheitsgrad wird empfohlen, wenn ein Kommunikationsgerät wertvolle Informationen in bedrohten Umgebungen verarbeitet. Ist entweder der Informationsgehalt niedrig oder die Umgebung weniger stark bedroht, reicht mittlere Robustheit nach EAL4 aus.

Eine Virtualisierung durch Separationskernel ermöglicht die Koexistenz sicherheitskritischer Anwendungen neben universellen Anwendungen. In einigen Fällen sind diese universellen Subsysteme komplette Gast-Betriebssysteme, die auf einer virtuellen Maschine unter der Kontrolle des Separationskernels laufen. Im Gegensatz zu herkömmlichen Hypervisors kann der Separationskernel native Anwendungen sowie Gast-Anwendungen hosten. Das strenge Ressourcen-Scheduling und die Schutzmechanismen des Separationskernels garantieren, dass die virtuelle Maschine und ihre enthaltenen Anwendungen die Ausführung kritischer Anwendungen nicht beeinträchtigen können.

Koexistenz von Apps diverser Sicherheitsstufen

Der Separationskernel ist die einzige Software, die in dem Prozessormodus mit den höchsten Privilegien läuft (zum Beispiel Secure State, Supervisor Mode in einem TrustZone-fähigem SoC). Der Mechanismus der Systemvirtualisierung hängt von den spezifischen Hardwarefunktionen des Prozessors ab. Immer mehr Embedded-Prozessoren bieten Hardware-Virtualisierung (wie TrustZone): Dies ermöglicht ein virtuelles Maschinen-Management, das so einfach und effizient wie möglich ist. Hinzu kommt, dass der Separationskernel eine Paravirtualisierung von Gast-Betriebssystemen erlaubt, was das Hosten mehrerer Gäste auf einem TrustZone-fähigem SoC ermöglicht.

Der Separationskernel kann einen streng kontrollierten Interprozess-Kommunikationspfad (IPC) zwischen Android und kritischen Diensten bereitstellen, die im sicheren Bereich gehostet sind. So lassen sich Internetprotokolldaten aus dem Android-Netzwerk-Subsystem über die IPC-Pipe an ein Verschlüsselungs-Subsystem übertragen.

Mit TrustZone und der Separationskernel-Virtualisierung lassen sich sicherheitskritische Funktionen sicher in weit verbreitete, offene Mobile-Multimedia-Softwareumgebungen wie Android implementieren.

* * David Kleidermacher ist Chief Technical Officer (CTO) von Green Hills Software.

(ID:37563310)