Sicherheit im ARM-Ökosystem
Es ist weithin bekannt, daß trotz des Aufkommens alternativer Mikroprozessorarchitekturen ARM-Prozessoren immernoch den Markt für Embedded-Silizium-IP-Prozessoren dominieren.
Untermauert wird dies durch die umfangreiche Menge an System-IP (Intellectual Property) und Peripherie, die für SoCs (System-on-Chips) auf Basis von ARM-Prozessoren und der Advanced Microcontroller Bus Architecture (AMBA) Businfrastruktur zur Verfügung stehen.
Ein Thema, das in den letzten Jahren viel Aufmerksamkeit erhalten hat, ist die Sicherheit.
Das war im ARM-Ökosystem nicht anders, was zur Einführung der TrustZone-Sicherheits-Erweiterungen für den Prozessor, der Veröffentlichung den ARM Trusted Base System Architecture (TBSA) Dokumenten und dem ARM Platform Security Architecture (PSA) Zertifizierungsschema führte.
PSA definiert ab Ebene / Level 2 eine eingebaute Vertrauenswurzel (Root of Trust) der Zertifizierungsstelle (Certification Authority – CA), die Schutz vor Software- (L2) und Hardware-Angriffen (Ebene / Level L3) bietet. Das PSA-Schema definiert die folgenden Sicherheitsziele für eine eingebettete Root of Trust:
Sicherheitsziel Beschreibung
Eindeutige Identifizierung
Um mit einem bestimmten Gerät interagieren zu können, sollte dem Gerät eine eindeutige Identität zugewiesen werden, und diese Identität sollte belegbar sein. Diese Identität ermöglicht eine vertrauenswürdige Interaktion mit dem Device, z.B. den Austausch von Daten und die Verwaltung des Geräts innerhalb des IoT (Internet-of-Things / Internet-der-Dinge).
Sicherheitslebenszyklus
Geräte sollten einen Sicherheitslebenszyklus unterstützen, der von den Softwareversionen, dem Laufzeitstatus, der Hardwarekonfiguration, dem Status der Debug-Ports und der Produkt-Lebenszyklusphase abhängt. Jeder Sicherheitsstatus des Sicherheitslebenszyklus sollte attestierbar sein und kann den Zugriff auf das Gerät beeinflussen.
Attestierung
Die Attestierung ist der Nachweis der Eigenschaften des Geräts, einschließlich der Identität und des Sicherheitszustands im Lebenszyklus des Geräts. Die Geräteidentifikations- und Attestierungsdaten sollten Teil eines Geräteverifizierungsprozesses sein, der von einer vertrauenswürdigen dritten Partei durchgeführt wird.
Secure Boot / Sicherer Systemstart
Um sicherzustellen, daß nur autorisierte Software auf einem Gerät ausgeführt werden kann, sind sichere Boot- und sichere Ladeprozesse erforderlich. Nicht autorisierter Boot-Code sollte erkannt und Firmware Over-The-Air (FOTA) Updates verhindert werden. Wenn die Software das Gerät nicht kompromittieren kann, kann nicht autorisierte Software zugelassen werden.
Sicheres Update
Sichere Updates sind erforderlich, um Geräte mit Sicherheits- oder Funktionsupdates zu versorgen. Nur authentische und legitime Firmware sollte auf dem Gerät aktualisiert werden. Eine Authentifizierung zum Zeitpunkt des Downloads kann durchgeführt werden, die Ausführung des Updates muß jedoch über Secure Boot autorisiert werden.
Anti-Rollback
Das Verhindern eines Rollbacks zu früheren Softwareversionen ist wichtig, um sicherzustellen, daß frühere Versionen des Codes nicht wiederhergestellt werden können. Ein Rollback sollte zu Wiederherstellungszwecken nur möglich sein, wenn er autorisiert ist.
Isolierung
Die Isolierung soll verhindern, daß ein Dienst andere Dienste kompromittiert. Dies geschieht durch die Isolierung von vertrauenswürdigen Diensten untereinander, von weniger vertrauenswürdigen Diensten und von nicht vertrauenswürdigen Diensten.
Interaktion
Geräte sollten die Interaktion über Isolationsgrenzen hinweg unterstützen, damit die isolierten Dienste funktionsfähig sind. Die Schnittstellen dürfen nicht zulassen, daß das System kompromittiert wird. Es kann erforderlich sein, die Daten vertraulich zu behandeln. Die Interaktion sollte sowohl innerhalb des Geräts als auch zwischen dem Gerät und der Außenwelt berücksichtigt werden.
Sichere Speicherung
Um zu verhindern, daß private Daten geklont oder außerhalb des vertrauenswürdigen Dienstes oder Geräts offengelegt werden, müssen sie eindeutig an diese gebunden sein. Die Vertraulichkeit und Integrität privater Daten wird typischerweise durch Schlüssel erreicht, die ihrerseits an das Gerät und den Dienst gebunden sein müssen.
Kryptographische/vertrauenswürdige Dienste
Ein minimaler Satz von vertrauenswürdigen Diensten und kryptographischen Operationen sollte als Bausteine eines vertrauenswürdigen Geräts implementiert werden. Diese sollten kritische Funktionen wie Sicherheitslebenszyklus, Isolation, sichere Speicherung, Attestierung, sicheres Booten, sicheres Laden und Binden von Daten unterstützen.
Die von der PSA-Zertifizierung verwendeten Profile wurden auch auf das GlobalPlatform Security Evaluation Standard for IoT Platforms (SESIP) Zertifizierungsschema abgebildet.
Root of Trust für Plattformsicherheit
Obwohl die PSA die Root of Trust als eine Hardware- oder Softwarekomponente definiert, die potenziell mit der ARM-eigenen TrustZone-Technologie implementiert werden kann, gibt es gute Gründe, eine diskrete “Hardware Root of Trust” zu nutzen, die weiteren Schutz gegen Software- und Hardware-Angriffe bietet, sogar von Akteuren innerhalb der “sicheren Welt” des TEE (Trusted Execution Environment). In dem im TEE laufenden Secure OS wurden mehrfach Schwachstellen gefunden, die zu einer Beeinträchtigung der Systemsicherheit und zum Abfließen sensibler Daten führten. Das Vorhandensein einer Hardware-Vertrauenswurzel (Root of Trust) erhöht die Sicherheit der Plattform und bietet eine zusätzliche Schutzebene, die die Vertraulichkeit und Unveränderlichkeit von Schlüsselmaterial schützt, selbst wenn die TEE Secure World kompromittiert wird.
Referenzen
ARM (2020, 24. Februar). Was sind die 10 Sicherheitsziele von PSA Zertifizierungen? Abgerufen von psacertified.org: https://www.psacertified.org/blog/psa-certified-10-security-goals-explained/