Intel x86 Root of Trust: Vertrauensverlust



Bild: Shutterstock

Hier kommt der Moment, den die Systemarchitekten, Ingenieure und Sicherheitsexperten von Intel am meisten befürchtet haben: Im nicht beschreibbaren Speicherbereich (ROM) der Intel Converged Security and Management Engine wurde ein Fehler gefunden, der Zweifel aufkommen lässt Alle Bemühungen des Unternehmens, die Wurzel des Vertrauens und die Grundlage der Sicherheit auf seinen Plattformen zu schaffen.

Dabei geht es nicht einmal darum, dass die Fehler der Firmware (Firmware), die im On-Board-Speicher des Mask ROM von Mikroprozessoren und Chipsätzen "verdrahtet" sind, nicht behoben werden können, sondern dass der gefundene Fehler die Vertrauenskette der gesamten Plattform zerstört und dies ermöglicht Kompromisse bei der Hardwarebasis eingehen.

Experten von Positive Technologies fanden einen Hardwarefehler in der Intel-Hardware sowie einen Fehler in der Intel CSME-Firmware, der sich in einem sehr frühen Stadium dieses Subsystems in seinem Boot-ROM (Boot-ROM) manifestiert. Es ist bekannt, dass es Intel CSME ist, das die Erstauthentifizierung eines auf Intel-Chips basierenden Systems ermöglicht und die gesamte Firmware moderner Plattformen herunterlädt und überprüft. Beispielsweise stellt Intel CSME in Interaktion mit dem CPU-Mikrocode die Authentizität der UEFI-BIOS-Firmware über die BootGuard-Technologie sicher. Darüber hinaus lädt Intel CSME die Firmware des Power Management Controllers herunter und überprüft sie, der die Spannungsversorgung für jede Hardwareeinheit in Intel-Chips steuert.

Noch wichtiger ist jedoch, dass Intel CSME für die kryptografische Basis solcher von Intel entwickelten und überall verwendeten Hardwareschutztechnologien wie DRM, fTPM und Intel Identity Protection verantwortlich ist. Die Intel CSME-Firmware implementiert ein Remote-Zertifizierungssystem für vertrauenswürdige Systeme namens EPID (Enhanced Privacy ID), mit dem Sie jede bestimmte Instanz eines Computersystems (Computers) eindeutig und anonym identifizieren und viele nützliche Anwendungen finden können, z. B. den Schutz digitaler Inhalte und die Sicherheit von Finanztransaktionen. Zertifizierung des Internet der Dinge. Darüber hinaus verfügt die Intel CSME-Firmware über ein TPM-Softwaremodul, mit dem Sie Verschlüsselungsschlüssel ohne zusätzlichen TPM-Chip speichern können, der weit von jedem Computer entfernt ist.

Und Intel hat versucht, diese Vertrauenswurzel so sicher wie möglich zu machen. Das Sicherheitssystem von Intel-Plattformen ist so konzipiert, dass selbst ein beliebiger Fehler bei der Codeausführung in einem der Intel CSME-Firmware-Module nicht das Risiko birgt, den Sicherheitsstammschlüssel (auch als Chipsatzschlüssel bezeichnet) zu verlieren, sondern nur die spezifischen Funktionen gefährdet, für die das anfällige Modul verantwortlich ist, wenn Auf diese Weise können Sie das Risiko auf einfache Weise verringern, indem Sie die Verschlüsselungsschlüssel mithilfe des Mechanismus für sichere Versionsnummern von SVN ändern. Dies wurde im Jahr 2017 deutlich gezeigt, als im BringUP (bup) -Firmware-Modul, das in Intel SA-00086 beschrieben ist, ein Fehler bei der Ausführung von beliebigem Code festgestellt wurde. Dann führte Intel einfach eine Schlüsselregeneration durch Erhöhen des SVN durch und vermied so leicht das Risiko, EPID-basierte Technologien zu gefährden.

Leider gibt es keine perfekten Sicherheitssysteme, und wie jedes andere hat auch die Sicherheitsarchitektur von Intel ein Achillesferse-Boot-ROM. Ein Fehler im ROM in den frühen Phasen der Ausführung ermöglicht es Ihnen wirklich, den Prozess des Lesens des Chipsatzschlüssels und des Generierens aller anderen Verschlüsselungsschlüssel zu steuern. Einer dieser Schlüssel wird zum Verschlüsseln eines ICVB-Datenarrays (Integrity Control Value Blob) verwendet. Mit diesem Schlüssel können Sie den Code eines der Intel CSME-Firmware-Module fälschen - und das Authentifizierungssystem kann die Fälschung nicht erkennen. Dies ist gleichbedeutend mit einem Verlust des privaten Schlüssels für die digitale Signatur der Intel CSME-Firmware, jedoch für diese bestimmte Plattform.

Momentan wird die Situation mit EPID durch die Tatsache gemildert, dass der Chipsatzschlüssel in verschlüsselter Form innerhalb der Plattform (in einem speziellen OTP-Speicher, einmalig programmierbarem Speicher) gespeichert ist. Um die EPID vollständig zu gefährden, muss auch der Hardwareschlüssel extrahiert werden, auf dem der Chipsatzschlüssel gespeichert ist, der verschlüsselt ist in speziellem SKS-Speicher (Secure Key Storage). Dieser Schlüssel gilt jedoch nicht nur für die Plattform, sondern für die gesamte Generation von Intel-Chipsätzen. Und da ein gefundener Fehler im ROM es Ihnen ermöglicht, die Codeausführung abzufangen, bis der Mechanismus zur Generierung des Hardwareschlüssels in SKS gesperrt ist, und der Fehler im ROM selbst nicht behoben werden kann, glauben wir, dass dies nur eine Frage der Zeit ist - wann dieser Schlüssel extrahiert wird. Und dann kommt das völlige Chaos: Die Hardware-Identifikation wird gefälscht, digitale Inhalte werden extrahiert, verschlüsselte Informationen von permanenten Medien werden entschlüsselt.
Experten von Positive Technologies fanden daher einen Fehler im Intel CSME-Boot-ROM in allen derzeit veröffentlichten Intel-Chipsätzen und SoC mit Ausnahme von Ice Point (10. Generation von Prozessoren). Mit diesem Fehler können Sie den Chipsatzschlüssel extrahieren sowie einen Teil des Hardwareschlüssels und den Prozess seiner Generierung manipulieren. Derzeit ist es jedoch nicht möglich, seine Hardwarekomponente (in SKS verkabelt) direkt abzurufen. Darüber hinaus können Sie mit diesem Fehler im ROM die Ausführung von beliebigem Code auf der Nullberechtigungsstufe von Intel CSME organisieren.

Ausführlicher werden wir die technischen Details in einem vollständigen Whitepaper beschreiben, das diesem Fehler gewidmet ist und das wir etwas später veröffentlichen möchten. Es sollte beachtet werden, dass Intel, nachdem unsere Spezialisten Intel PSIRT mit einem Bericht über diesen Fehler kontaktiert hatten, berichtete, dass der Fehler bereits bekannt war ( CVE-2019-0090)) Intel ist sich bewusst, dass es unmöglich ist, einen ROM-Fehler in bereits freigegebenen Geräten zu beheben, und blockiert daher einfach alle möglichen Betriebsarten. Der Patch für CVE-2019-0090 korrigiert nur einen der möglichen Angriffsvektoren - über den integrierten Sensor-Hub (Integrated Sensors Hub, ISH). Wir glauben, dass es möglicherweise viele Möglichkeiten gibt, diese Sicherheitsanfälligkeit im ROM auszunutzen. Einige von ihnen erfordern möglicherweise lokalen Zugriff, andere physischen. Um den Schleier der Geheimhaltung ein wenig zu öffnen, sagen wir ein paar Worte über die Verwundbarkeit selbst:

  1. , boot ROM: IOMMU MISA (Minute IA System Agent), SRAM ( ) Intel CSME DMA-, . , , .
  2. Intel CSME boot ROM (page directory), IOMMU. , , SRAM DMA- (DMA CSME, ) SRAM Intel CSME.
  3. Die MISA IOMMU-Parameter werden zurückgesetzt, wenn ein Reset für Intel CSME durchgeführt wird, das nach dem Zurücksetzen die Ausführung erneut über das Boot-ROM startet.

Somit kann jedes Plattformgerät, das DMA-Transaktionen im statischen Speicher von Intel CSME ausführen und gleichzeitig Intel CSME neu starten kann (oder nur auf das Aufwecken von Intel CSME warten), die Systemtabellen der Intel CSME-Seiten und damit ändern Ausführung abfangen.

Gepostet von Mark Ermolov, Führender Spezialist, OS-Technologien und Hardwarelösungen, Positive Technologien.

All Articles