TPM-2.0-Spezifikationen: Angreifer könnten Schadcode auf TPM schmuggeln

In die Spezifikation der TPM-2.0-Referenzbibliothek haben sich Fehler eingeschlichen. Angreifer könnten verwundbaren Implementierungen eigenen Code unterjubeln.

In Pocket speichern vorlesen Druckansicht 48 Kommentare lesen

(Bild: wk1003mike/Shutterstock.com)

Lesezeit: 3 Min.
Von

IT-Forscher von Quarkslab haben in der TPM-Referenz-Spezifikation zwei Schwachstellen bei der Verarbeitung bestimmter Parameter von TPM-Befehlen entdeckt. Angreifer könnten dadurch unbefugt sensible Informationen auslesen oder Daten in der TPM-Firmware überschreiben – unter anderem die geschützten kryptografischen Schlüssel. So könnten sie sogar eigenen Code auf dem TPM laufen lassen.

Die Trusted-Platform-Modul-Technik (TPM) soll Hardware-basiert kryptografische Funktionen für Betriebssysteme auf modernen Rechnern bieten, die etwa vor Manipulationen geschützt sind. Die aktuelle TPM-2.0-Spezifikation der Trusted Computing Group (TCG) in Version 01.59 stammt aus dem November 2019. "Hersteller von TPM-Hardware und -Software nutzen diese Spezifikationen, um Firmware zu entwickeln, die den Standards entspricht und eine sichere Schnittstelle zu sensiblen kryptografischen Daten bietet. TPM wird in einer Vielzahl von Geräten eingesetzt, von spezialisierter Hardware für Unternehmen bis hin zu Geräten für das Internet der Dinge (IoT)", führt das CERT in einer Sicherheitsmeldung aus.

Die sicherheitsrelevanten Fehler finden sich in der TPM-Library-Spezifikation "Session-based encryption" und der darauf basierenden normativen Referenzimplementation. Ein kryptografischer Client kann damit diverse Operationen ausführen, unter anderem die Verschlüsselung von Parametern. Diese soll deren Vertraulichkeit sichern. Das Betriebssystem verlässt sich dabei auf das TPM, das diese Funktionen wie Cipher Feedback (CFB) für Blockchiffre- oder Streaming-Hash-basierte XOR-Verschleierung der vorgesehenen Parameter-Nutzdaten sicher bereitstellt.

Wie das CERT weiter ausführt, kann in der Funktion CryptParameterDecryption() ein Speicherzugriff außerhalb der eigentlichen Grenzen (Out-of-bound, OOB) auftreten. Dabei könnten zwei Bytes an Daten gelesen werden, die nicht Teil der aktuellen Session sind. Die Lücken erlauben auch, zwei Bytes hinter dem Ende des aktuellen Befehls-Puffers zu schreiben, was zu Speicherverwürfelungen führt. Die Lücken haben bereits CVE-Einträge erhalten. Allerdings gibt es noch keine Risikoeinstufung gemäß CVSS für die Schwachstellen CVE-2023-1017 (Out-of-bounds-Write) und CVE-2023-1018 (Out-of-bounds-Read).

Konkreter erläutern die Autoren der Sicherheitsmeldung, dass "authentifizierte, lokale Angreifer manipulierte Befehle an ein verwundbares TPM senden und so Zugriff auf sensible Daten erhalten könnten. In einigen Fällen können die Angreifer auch geschützte Daten in der TPM-Firmware überschreiben. Dies kann zu einem Absturz oder zur Ausführung von eingeschleustem Code innerhalb des TPMs führen. Da die Nutzdaten der Angreifer innerhalb des TPMs zur Ausführung gelangen, können sie von anderen Komponenten des betroffenen Rechners nicht erkannt werden."

Die TCG hat die Errata zur TPM 2.0-Library-Spezifikation aktualisiert. Sie beschreibt darin, wie sich die Schwachstellen ausbessern lassen. Um die Sicherheit ihrer Systeme zu gewährleisten, sollten Nutzer alle Aktualisierungen der Hardware- und Software-Hersteller so schnell wie möglich auf deren Auslieferungskanälen herunterladen und anwenden, drängt das CERT. Aktualisierungen der TPM-Chips könnten nötig sein, was sowohl Betriebssystemhersteller als auch OEMs vornehmen können. Dabei könnten TPMs auf ihren Auslieferungszustand zurückgesetzt werden.

Die betroffenen Hersteller listet die CERT-Meldung am Ende ebenfalls auf. Viele der 1608 Anbieter werden jedoch noch analysiert. Zum Zeitpunkt der Meldung sind lediglich sechs Anbieter (libtpms, NixOS, Red Hat, Squid, SUSE Linux und Trusted Computing Group) als verwundbar und 142 als nicht betroffen eingestuft.

(dmk)