Mit <kes>+ lesen

Vertrauen ist gut, … : Aktuelle Ansätze zum Trusted Computing

Schon seit geraumer Zeit sollen standardisierte Sicherheitsanker in der Hardware von Computersystemen dabei helfen, eine vertrauenswürdige Umgebung bereitzustellen. Unser Autor fasst die verbreiteten Ansätze für das „Trusted Computing“ kurz zusammen.

Lesezeit 10 Min.

Seit den Anfängen des Computerzeitalters gibt es immer wieder Überlegungen, das Vertrauensproblem grundlegend zu klären, um möglichst viele Angriffe von vornherein auszuschließen. Trusted Computing versucht letztlich, genau das zu ermöglichen: eine Cybercrime-freie IT-Welt durch vertrauenswürdige Komponenten und Software. Kerngedanke des Konzepts ist es, jede Komponente (sowie ggf. deren aktuellen Status) von der Hardware aufwärts zu verifizieren und zu bestätigen, bevor Benutzer auf sie zugreifen können.

Für eine vertrauenswürdige Computer-Umgebung und -Nutzung benötigen Anwender den folgenden, aufeinander aufbauenden Vertrauenspfad:

  • sichere Hardware
  • sicherer Start
  • sicheres Laden des Betriebssystems
  • sicheres Laden von Sicherheitssoftware
  • sichere Anmeldungen
  • sichere Anwendungen
  • sichere Netzwerke

Sind all diese Punkte nachweisbar gegeben, ist schon einmal viel gewonnen: Alle Elemente sind dann immerhin in einem „ordnungsgemäßen“ Zustand und nicht manipuliert. Dennoch bleiben sie alle natürlich nur die grundlegenden Komponenten für die Gewährleistung einer möglichst sicheren Datenverarbeitungsumgebung: Selbst wenn all diese Komponenten nachweisbar vertrauenswürdig sind, gibt es noch eine Menge Dinge, die schiefgehen können (z. B. durch Social-Engineering, Fehlkonfigurationen, unbekannte Schwachstellen bzw. Zero-Day-Exploits usw.).

Ein grober, allgemeiner Weg für jede beteiligte Komponente sieht etwa so aus:

  • Übernahme der Kontrolle über den Betrieb
  • Verifikation der aktuellen Komponente – also die Prüfung, dass sie mit hoher Integrität dem Sollzustand entspricht; in der Regel auf der Grundlage vertrauenswürdiger Hash-Werte der Komponenten der aktuellen Ebene, die in der nächstniedrigeren Komponente gespeichert wurden
  • Durchführung der erforderlichen Operationen
  • Erstellen, Verifizieren und Speichern eines Hashwerts der nächsthöheren Vertrauenskomponenten
  • Initialisierung der nächsthöheren Vertrauenskomponenten und Übergabe der Kontrolle
  • Wiederholung dieses Zyklus durch die nächste Ebene

Etliche vertrauenswürdige Computerkomponenten verfügen über geschützte Elemente und/oder Speicher und bieten hardwarebeschleunigte und manipulationsgesicherte kryptografische Funktionen an – quasi wie ein „großer Bruder“ von Smartcards, die entsprechende Verfahren und Speicher für den persönlichen mobilen Einsatz bereitstellen.

Trusted Computing Group

Der Vorstoß in Richtung einer vertrauenswürdigen Datenverarbeitung erhielt 2003 einen großen Schub, als 13 Tech-Unternehmen (u. a. Microsoft, Intel, IBM, HP, AMD und Sony) die Trusted Computing Group (TCG, https://trustedcomputinggroup.org/) gründeten, um globale Standards für Trusted Computing zu schaffen. Der erste Standard für vertrauenswürdige Datenverarbeitung, den die TCG entwickelt hat, war die Spezifikation eines „Trusted Platform Module“ (TPM), das – in aktualisierter Version – bis heute in einem Großteil der Computer eingebaut ist.

TPM-Chips tragen zu einem vertrauenswürdigeren Startvorgang (System-Boot) bei, indem sie eine sichere, vertrauenswürdige „Enklave“ bilden, auf die sich andere Vertrauensprozesse und -messungen stützen können (Vertrauens-Anker).

Eine solche sichere Enklave ist allem voran ein geschützter Speicher, der für Angreifer nur sehr schwer zu kompromittieren oder zu missbrauchen ist – vielleicht nicht unmöglich, aber doch viel schwieriger als bei „normaler“ Software oder auch Hardware. Aus diesem Grund war der TPM-Chip ein großer Erfolg, der zu einem weitaus vertrauenswürdigeren Bootvorgang geführt hat.

Ein weiterer TCG-Erfolg ist die Selbstverschlüsselung von Festplatten: Viele Betriebssysteme und Anwendungen ermöglichen die Verschlüsselung der Daten auf Festplatten, aber diese übergeordneten Komponenten sind immer in dem beschränkt, was kontrolliert und verschlüsselt werden kann – selten lässt sich die gesamte Festplatte von einer übergeordneten Komponente aus verschlüsseln. „Selbstverschlüsselnde“ Festplatten chiffrieren den gesamten Festplatteninhalt, sodass sogar bei einem Diebstahl aus dem Computer, in dem sie normalerweise untergebracht sind, eine „unknackbare“ Verschlüsselung erhalten bleibt, die nicht auf die Kooperation von Betriebssystem und/oder Anwendungen angewiesen ist.

Die meisten Experten sind sich einig, dass sich Konzepte für vertrauenswürdige Computer als nützlich erwiesen haben, um Geräte, Anwendungen und Daten besser zu schützen. Aus diesem Grund wird es in Zukunft wahrscheinlich noch mehr „vertrauenswürdige“ Computerkomponenten geben. Zwischenzeitlich haben die TCG und ihre Mitglieder sowie Unterstützer eine große Zahl von Standards für vertrauenswürdige Komponenten, Protokolle und Verfahren für Systeme und Netzwerke entwickelt und bleiben weiterhin ein wesentlicher Treiber für die Umsetzung des Konzepts einer nachweisbar gesicherten Computing-Umgebung.

Weitere Ansätze

Doch nicht nur die TCG arbeitet daran, Computer und Netzwerke vertrauenswürdiger zu gestalten: Es gibt zahlreiche – teils konkurrierende – Gruppen und viele Hersteller entwickeln ihre eigenen, proprietären Trusted-Computing-Komponenten. Die Grundprinzipien bleiben dieselben: das Schaffen kleinerer, vertrauenswürdiger Komponenten, auf denen höhere Schichten ihre eigene vertrauenswürdige, sichere „Erfahrung“ aufbauen können. Einige weitere Beispiele für derartige Systeme sind im Folgenden aufgeführt.

Universelle erweiterbare Firmware-Schnittstelle (UEFI)

Das „Unified Extensible Firmware Interface“ (UEFI) ist im Wesentlichen ein Ersatz für frühere „Basic Input/Output Systems“ (BIOS) von Computer-Plattformen, allem voran PCs. Letztlich verfügen alle Computer über einen Firmware-Chip, der regelt, wie der Computer hochfährt und welche Operationen einer Komponente der höheren Schicht erlaubt sind. Die meisten Computernutzer können zu Beginn des Startvorgangs eine bestimmte Tastenkombination drücken, um in den „BIOS“-Konfigurationsbereich zu gelangen, wo sich verschiedene Start- und grundlegende Konfigurationseinstellungen aktivieren oder deaktivieren lassen. So konnten Benutzer beispielsweise schon früh ein optionales Boot-Passwort aktivieren, dass man eingeben musste, um die Hardware des Computers überhaupt hochfahren zu können – das also noch weit früher eingreift, als das Betriebssystem startet oder Nutzer zur Anmeldung auffordert. Ein weiteres Beispiel für die BIOS-Konfiguration war die Festlegung, an welcher Schnittstelle sich die primäre Festplatte des Geräts – mit dem gewünschten Betriebssystem – befand. Außerdem konnten Benutzer an dieser Stelle oft auch eine Hardware-Diagnose-Routine ausführen, um festzustellen, ob die Speicherchips oder anderen Elemente des Systems Fehler aufwiesen.

Jeder Computer hatte sein eigenes, maßgeschneidertes BIOS. Ein erhebliches Sicherheitsproblem bestand irgendwann darin, dass Angreifer oder Malware das BIOS verändern konnten: Sie schleusten Befehle ein oder verursachten einen „fatalen“ Fehler, der ein erfolgreiches Booten des Computers verhinderte, ohne dass die BIOS-Firmware neu geschrieben wurde. Der Versuch, BIOS-Updates einzuspielen, erforderte für jeden Hersteller und jede BIOS-Version ein anderes Update. In einem Fortune-500-Unternehmen gab es beispielsweise über 900 verschiedene BIOS-Versionen, die zu verfolgen und zu aktualisieren naturgemäß ein wahrer Albtraum war.

UEFI wurde dafür geschaffen, all diese individuellen „BIOSse“ durch eine gemeinsame, besser strukturierte Boot-Plattform zu ersetzen. Alle UEFI-Aktualisierungen ließen sich nunmehr über einen gemeinsamen Prozess durchführen. Noch wichtiger ist, dass sich kein bestehender UEFI-Code ändern oder überschreiben lässt, sofern der Code, der diese Änderung vornehmen will, nicht vom Hersteller digital signiert ist. So wurde eine ganze Klasse von „Firmware-Malware“ gestoppt und auch ein einfaches böswilliges Überschreiben verhindert. Das soll nicht heißen, dass UEFI keinerlei eigene Probleme und Fehler hätte – aber Computer mit UEFI sind wesentlich schwieriger böswillig zu verändern als Computer der früheren Generation mit individuellem BIOS.

Apple Secure-Enclave-Chip

Seit einigen Jahren verfügen Apple-Geräte ebenfalls über ein spezielles Chip-Subsystem (Coprozessor), das als Apple Secure Enclave bekannt ist (vgl. etwa https://support.apple.com/guide/security/secure-enclave-sec59b0b31ff/web). Der Hersteller beschreibt es wie folgt:
„Die Secure Enclave ist vom Hauptprozessor isoliert, um eine zusätzliche Sicherheitsebene zu bieten, und wurde entwickelt, um sensible Benutzerdaten zu schützen, selbst wenn der Kernel des Anwendungsprozessors kompromittiert wird. … Der Secure-Enclave-Prozessor führt eine von Apple angepasste Version des L4-Mikrokernels aus. Er ist so konzipiert, dass er mit einer niedrigeren Taktfrequenz effizient arbeitet, was ihn vor Takt- und Stromversorgungsangriffen schützt. Der Secure-Enclave-Prozessor, beginnend mit dem A11 und S4, beinhaltet eine speichergeschützte Engine und verschlüsselten Speicher mit Anti-Replay-Fähigkeiten, sicherem Boot, einem dedizierten Zufallszahlengenerator und einer eigenen AES-Engine.“

Hardware-Sicherheitsmodule (HSMs)

Viele Unternehmen erzeugen und/oder speichern wichtige kryptografische Schlüssel auf spezieller Hardware, die man als Hardware-Sicherheitsmodule (HSMs) bezeichnet. So werden beispielsweise viele kryptografische Schlüssel für Stammzertifizierungsstellen von Public-Key-Infrastructures (PKIs) auf HSMs gespeichert. HSMs sind ebenfalls „sichere Enklaven“, die für die Erzeugung und Speicherung kryptografischer Schlüssel bestimmt sind. Oft müssen sich ein oder mehrere Administratoren mit individuellen Smartcards anmelden, um auf die Funktionen eines HSM zugreifen zu können.

HSMs können kryptografische Operationen innerhalb ihres sicheren Speichers durchführen und das Ergebnis an die entsprechende anfragende Software oder Hardware zurückgeben. Dadurch ist es für einen böswilligen Eindringling weitaus schwieriger, darin „gekapselte“ kryptografische Schlüssel zu kompromittieren oder kryptografische Prozesse zu stören. Häufig besitzen HSMs auch besondere Sicherungen gegen physische Angriffe auf das Gerät selbst.

Bedenken beim Trusted Computing

Neben den klaren Vorzügen von Trusted-Computing-Komponenten gibt es allerdings auch Bedenken – zumindest gegenüber bestimmten Systemen in ihrer heutigen Form. Dazu gehören unter anderem:

Single Points of Failure (SPoF)

Ein gemeinsamer Standard führt auch zu dem Paradoxon eines einzigen neuralgischen Punkts: Eine Norm macht es zwar einfacher, stärkere vertrauenswürdigere Komponenten auf den Markt zu bringen, aber wenn jemand einen Fehler in einer solchen Komponente findet, erhöht sich das Risiko einer Kompromittierung für alles, was diese Komponente nutzt.

UEFI erschwert es beispielsweise Angreifern und Malware, den Startcode von Computergeräten zu kompromittieren. Sobald jedoch ein UEFI-Fehler gefunden wird (und seit der Einführung wurden bereits mehrere Schwachstellen öffentlich), bedeutet dies, dass jedes Gerät, das UEFI verwendet, bis zur Behebung sofort verwundbar ist. Bei den früheren BIOS-Angriffen funktionierten die meisten indessen nur gegen eine einzige BIOS-Version oder bestenfalls gegen die Produkte eines bestimmten Herstellers: Wenn ein Angreifer via BIOS-Attacke alle Computer in einem Zielunternehmen ausschalten wollte, hätte er möglicherweise hunderte bis tausende angepasster Malware-Programme entwickeln müssen, die jeweils nur eine bestimmte BIOS-Version kompromittieren konnten. Mit UEFI ist es jedoch möglich, dass eine einzige Schwachstelle beziehungsweise eine einzige Malware alle Geräte via UEFI erfolgreich angreifen kann.

Schwieriges Patchen von Hardware

Viele vertrauenswürdige Computerkomponenten sind Chips und Hardwarekomponenten. Was von Vorteil ist, um sich gegen Manipulationen zu schützen, wird zum Problem, wenn doch noch eine Schwachstelle gefunden wird: Diese lässt sich dann oft nicht durch ein Software- oder Firmware-Update beheben – manchmal ist es erforderlich, den Chip oder die Komponente physisch auszutauschen oder mit dem Fehler während der gesamten Lebensdauer des Geräts zu leben. 2020 wurde beispielsweise bei einer bestimmten Revision eines Apple-SicherheitsChips ein entsprechendes Problem gefunden (siehe etwa https://ironpeak.be/blog/crouching-t2-hidden-danger/).

Turm-von-Babel-Normen

Die meisten Spezifikationen für vertrauenswürdige Computer versuchen, einen universellen globalen Standard zu schaffen, den alle Computersysteme implementieren und verwenden können. Leider gibt es kein Gesetz, das vorschreibt, dass jeder Hersteller einen bestimmten Chip oder Standard für die vertrauenswürdige Datenverarbeitung verwenden muss. Letztlich hat sich gezeigt, dass kein einzelner Standard für das Trusted Computing von allen Geräteherstellern gleichermaßen angenommen wurde.

Stattdessen gibt es viele konkurrierende Standards und viele proprietäre Implementierungen. Selbst wenn Gerätehersteller sich bereit erklären, einen der globalen Standards zu verwenden, implementieren nicht selten einige noch eine ältere Version, während andere schnell die neueste Version desselben Standards verwenden. Dabei kann der Einsatz älterer, womöglich bekanntermaßen fehlerbehafteter Versionen eines Standards genauso schlecht sein, als würde man überhaupt keiner Norm folgen. Die Benutzerfreundlichkeit und die „breite“ Möglichkeit, auf normierten Komponenten aufzusetzen, die jeder globale Standard verspricht, wird durch die schiere Menge verschiedener Versionen und Implementierungen wieder aufgehoben, was die Sicherheit insgesamt erschwert.

Viele Open-Source-Befürworter haben sich etwa darüber beschwert, dass die vielen gut gemeinten vertrauenswürdigen Sicherheitsstandards – teils unbeabsichtigt – auch legale Anpassungen verhindert haben. Damit zum Beispiel UEFI funktioniert, wird das System vom Hersteller mit einem „Master“-Schlüssel ausgeliefert, welchen der Anbieter, der das Gerät entwickelt hat, erstellt und verwendet. UEFI ist dabei oft so konfiguriert, dass es nur mit einem vorgesehenen Betriebssystem, beispielsweise Microsoft Windows, funktioniert. Um das Betriebssystem zu wechseln, müsste man den UEFI-Hauptschlüssel ändern – und das kann nur der Hersteller. Das hindert also beispielsweise einen Benutzer, der einen Laptop mit vorinstalliertem Microsoft Windows gekauft hat, daran, stattdessen Linux zu installieren – selbst wenn das an sich legal und vom Gerät unterstützt wäre.

Bislang gibt es überdies keine „Beweise“ dafür, dass sichere Enklaven für vertrauenswürdige Computer wirklich dazu beitragen, Schwachstellen und Angriffe insgesamt zu verringern. Es ist zwar wahrscheinlich, dass sie das tun – aber letztlich hat die Anzahl erfolgreicher Attacken durch Malware und Angreifer doch zugenommen, obwohl Trusted-Computing-Komponenten eingeführt und implementiert wurden.

Fazit

Trotz dieser Bedenken ist es sehr wahrscheinlich, dass künftige Geräte mehr vertrauenswürdige Komponenten enthalten werden. Denn die meisten Experten sind sich einig, dass es ohne Trusted Computing schwieriger sein wird, den Traum von einem „hackerfreien“ Internet zu verwirklichen – frei von cyberkriminellen Aktivitäten wie sie aktuell zu beobachten sind.

Roger A. Grimes ist Data-Driven Defense Advocate bei KnowBe4.

Diesen Beitrag teilen: