Software & Security Festung Embedded

12.02.2013

Bisher waren Embedded-Systeme meist in sich geschlossen und galten als sicher. Im Zeitalter von Cloud-Computing müssen sie sich öffenen - und sind damit neuen Gefahren ausgesetzt.

Die Sicherheit von Embedded-Systemen schien lange Zeit vernachlässigbar zu sein. Proprietäre Software und geschlossene Kommunikationssysteme haben ihren Teil dazu beigetragen, dass der Sicherheits-Gedanke an dieser Stelle zu kurz kam. Spätestens durch die Vernetzung in der Cloud müssen sich die Embedded-Systeme öffnen - und diese Öffnung bedeutet neben allen Vorteilen, die sie mit sich bringt, auch eine Gefahr. So kann beispielsweise aus dem Internet geladene Software die Funktionsfähigkeit eines Gerätes beeinträchtigen; ein ungeschützter Fernzugriff kann die Manipulation von Befehlen oder Messdaten ermöglichen oder Sicherheitsfunktionen in der Software werden umgangen oder limitiert. Aber auch der Gefahr des Diebstahls von Intellectual Property (IP) werden Tür und Tor geöffnet. Was in der Consumer-Welt ärgerlich ist, kann in Embedded-Systemen schnell zu einem Sicherheitsrisiko mit fatalen Folgen werden. Wenn man beispielsweise an Geräte in sicherheitskritischer Infrastruktur wie Strom- und Gasnetz, Wasserversorgung oder öffentlicher Verkehr denkt, aber auch an Steuersysteme in Autos, kann man sich das Potential dieser Gefährdung leicht ausmalen. Dabei sind die Möglichkeiten zum Schutz vorhanden - es bedarf nur des Willens und des nötigen Bewusstseins für die Gefahrenpotentiale, um sie einzusetzen.

Ohne Vertrauen geht es nicht

Ein hardware-basierter Ansatz ist das von der 2007 gegründeten Trusted Computing Group (TCG), zu deren Mitgliedern unter anderem Intel, AMD, Infineon, Hewlett-Packard, IBM und Microsoft gehören, ins Leben gerufene Trusted Computing. Durch offene, hersteller-neutrale und weltweit akzeptierte Standards will man eine Vertrauenswürdigkeit bei Informationssystemen schaffen. Die einzige Möglichkeit, um sicherzustellen, dass ein System nicht verändert wurde, ist die Sammlung von Daten. Diese werden dann bei jedem Systemstart mit der Messbasis abgeglichen. So weiß ein Nutzer, ob er dem System trauen kann. Wenn die Konfigurationsdaten der Messbasis erfasst sind, werden sie verschlüsselt. Die verschlüsselten Daten und der Schlüssel werden so getrennt voneinander aufbewahrt, dass nur ein registrierter (und damit vertrauenswürdiger) Nutzer Zugriff darauf hat.

Trusted Platform Modul

Kern des Schutzmechanismus ist das Trusted Platform Modul (TPM), ein internationaler Standard, der inzwischen in vielen Computern und Embedded-Modulen verbaut wird. Dabei handelt es sich um einen Chip, der grundlegende Sicherheitsfunktionen zur Verfügung stellt. Das TPM wird auf dem Mainboard eines Computers installiert und kommuniziert mit dem System über einen Hardware-Bus. Rechner mit einem TPM können Daten so verschlüsseln, dass sie nur vom TPM entschlüsselt werden können, ein Verfahren, das als Wrapping bezeichnet wird. Jedes TPM hat einen Root-Wrapping-Schlüssel, den so genannten Storage Root Key (SRK), der im Modul selber gespeichert wird. Darüber hinaus können Schlüssel zusätzlich an bestimmte Messwerte gekoppelt werden. Sie lassen sich nur entschlüsseln, wenn das System die gleichen Messwerte aufweist wie zu dem Zeitpunkt, als der Schlüssel erstellt wurde. Dieses Verfahren bezeichnet man als „versiegeln“. Das TPM verarbeitet Kommandos und Daten des Host-Systems und leitet spezifische Antworten über den Hardware-Bus zurück. Ein zweites wichtiges Element ist der Speicher, der sich nur mit Hilfe des SRKs nutzen lässt, der wiederum in das TPM integriert ist. Dieser Schlüssel ist nötig, um den Speicher für Anwendungsdaten freizugeben, und er schützt TPM-Schlüssel, die von Anwendungen erstellt werden, so dass diese nicht ohne das TPM genutzt werden können. Die so genannten selbstverschlüsselnden Laufwerke erleichtern den Umgang mit kritischen Daten, da alles verschlüsselt auf dem Laufwerk abgelegt wird. Der Einsatz der Verschlüsselung erfordert keine Aktivität des Anwenders und wirkt sich auch nicht auf die Leistung eines Systems aus. Entsprechende Laufwerke können auch ohne Probleme entsorgt werden, da ohne Kenntnis des Schlüssels ein Zugriff auf die Daten nicht möglich ist. Das Konzept des Trusted Storage ist vor allem bei der Anbindung an die Cloud von großer Bedeutung.

Root of trust

Der „Root of trust“ beginnt mit dem BIOS-Boot-Block, dem Kern des „Root of trust“, der seine eigene Integrität und die des gesamten BIOS prüft. Die Messdaten werden im „Stored Measurement Log (SML) gespeichert, die Hash-Werte der Integritätsmessung werden zudem im „Platform Configuration Register“ des TPM abgelegt. Hier besteht bereits die Möglichkeit, den Zugriff auf Daten zu verweigern, falls die Boot-Sequenz nicht so abläuft wie erwartet.Im nächsten Schritt übernimmt das BIOS die Kontrolle, prüft die Integrität des Speichers und legt diese Daten entsprechend ab. Die Kontrolle geht nun an den Speicher über, der seine Aufgaben ausführt und die Kontrolle an das BIOS zurückgibt. Das BIOS prüft den OS-Loader und übergibt bei passender Messung die Kontrolle. Der OS-Loader prüft das Betriebssystem und übergibt schließlich die Kontrolle. Auf jeder Ebene werden die Daten in SML und PCR gespeichert.

Run-time Root of trust

Dieses Prozedere gilt nur für den Startvorgang. Da viele Angriffe auf ein System im laufenden Prozess stattfinden, ist zusätzlich ein Run-time Root of trust notwendig. Die Unterstützung von virtuellen Maschinen ermöglicht einen sicheren Boot-Prozess auch für Gast-Betriebssysteme.Wenn alle Funktionen richtig eingesetzt werden, ist Trusted Computing mit einem TPM ein signifikanter Fortschritt für ein sicheres System. Der entscheidende Vorteil besteht in der Möglichkeit, die Komponenten einer Plattform zu messen, dass sie nicht von einem Code umgangen werden können, der nicht vom Root of trust erfasst wird. Während TPMs in erster Linie - wenn auch nicht ausschließlich - vor einem direkten Zugriff auf ein System schützen, besteht die größte Gefahr für Embedded-Systeme in Zukunft in der Anbindung an die Cloud. Dazu hat die TCG das Trusted Network Connect (TNC) entwickelt, ein Framework für die Kontrolle von Netzwerk-Zugriffen. Das grundlegende Ziel von TNC aus der Perspektive der Endpunkt-Integrität ist es, Endpunkten, die nicht bestimmte Mindestanforderungen an die Sicherheit erfüllen, den Netzzugriff zu verweigern. TNC bietet eine wirkungsvolle Benutzerauthentifizierung, ermöglicht Gastzugänge, blockiert den Zugriff auf unsichere Endgeräte, erweitert die Zugriffskontrolle auf Clientlose Endpunkte wie IP-Telefone und Drucker und kann die Sicherheitsvorkehrungen im gesamten Unternehmen koordinieren. Den folgenden Sicherheitsaspekten sollte beim Cloud Computing besondere Aufmerksamkeit gelten.

Gespeicherte Daten

In vielen Ländern ist die Verschlüsselung gespeicherter Daten inzwischen gesetzlich vorgeschrieben. Daher integrieren viele Festplatten-Hersteller auch die Trusted-Storage-Standards der TCG in ihre Laufwerke, was diese Aufgabe erleichtert. Sich selbst verschlüsselnde Datenspeicher sind mit einer Verschlüsselungs-Hardware ausgestattet, die eine automatische Verschlüsselung mit geringen Kosten und ohne Leistungsverlust ermöglichen. Eine Software-basierte Verschlüsselung ist zwar grundsätzlich auch möglich, sie ist aber langsamer und unsicherer, da der Schlüssel unbemerkt vom System kopiert werden kann.

Übertragene Daten

Auch bei der Datenübertragung sollten Verschlüsselungstechnologien zum Einsatz kommen. Darüber hinaus stellen Authentifizierungsmaßnahmen und ein Integritäts-Schutz sicher, dass die Daten nur dorthin gelangen, wo sie hin sollen und dass sie während der Übertragung nicht modifiziert werden. Hier können bewährte Protokolle wie SSL/TLS zum Einsatz kommen.

Authentifizierung

Die Anwender-Authentifizierung ist in der Regel die Grundlage für eine Zugangskontrolle. Im Umfeld der Cloud gewinnt sie besonders an Bedeutung, da im Internet Daten theoretisch für jeden zugänglich sind. Mit dem IF-MAP(Metadata Access Protokoll)-Standard der TCG kann eine Echtzeit-Kommunikation zwischen den Cloud-Betreiber und dem Nutzer etabliert werden. So ist es möglich, den Status eines Nutzers innerhalb von Sekunden zu ändern und Nutzern beispielsweise sofort den Zugriff zu verweigern oder sie gar aus dem System zu entfernen. Trusted Computing ermöglicht auch die Authentifizierung von Client-PCs.

Trennung von Kunden

Eine fundamentale Anforderung ist eine strikte Trennung der verschiedenen Kunden eines Cloud-Providers. Hier kommen in der Regel Virtuelle Maschinen oder Hypervisoren zum Einsatz. Auch hier kann Trusted-Computing-Technologie helfen, diese Sicherheitsmaßnahmen signifikant zu verbessern. Mit Hilfe eines TPM kann beispielsweise eine hardware-basierte Verifikation der virtuellen Maschine oder des Hypervisors durchgeführt werden.

Information bei Problemen

Auch wenn alle Sicherheitsmaßnahmen ergriffen wurden, ist ein Störfall nie vollständig auszuschließen. Hier ist es notwendig, dass zumindest eine schnelle Information erfolgt. Das IF-MAP-Protokoll ermöglicht die Integration verschiedener Sicherheitssysteme und ermöglicht die Echtzeit-Benachrichtigung bei Vorfällen oder dem Datenmissbrauch durch Anwender.

Bewährte Lösung

Die Vernetzung von Embedded-Systemen ist eine Entwicklung, die sich nicht aufhalten lässt. Und im Hinblick auf die sich bietenden Möglichkeiten ist sie nicht nur wünschenswert, sondern geradezu essentiell. Allerdings muss man bei allen Vorteilen immer auch die Gefahren im Auge behalten und entsprechende Sicherheitsmaßnahmen frühzeitig einplanen. Mit dem Ansatz des Trusted Computing existiert eine Lösung, die sich in der Praxis bereits bewährt hat. Mit der Integration von TPM lassen sich auch in der Cloud Systeme jederzeit auf ihre Integrität prüfen. Mit der Einbindung von TNC-Technologie kann unmittelbar der Zugriff auf Daten beschränkt oder sogar vollständig unterbunden werden.

Verwandte Artikel