Forscher der NCC Group
Erinnern wir uns daran, dass Sie mit der ARM TrustZone-Technologie hardwareisolierte, geschützte Umgebungen erstellen können, die vollständig vom Hauptsystem getrennt sind und auf einem separaten virtuellen Prozessor unter Verwendung eines separaten spezialisierten Betriebssystems ausgeführt werden. Der Hauptzweck von TrustZone besteht darin, die isolierte Ausführung von Prozessoren für Verschlüsselungsschlüssel, biometrische Authentifizierung, Zahlungsdaten und andere vertrauliche Informationen bereitzustellen. Die Interaktion mit dem Hauptbetriebssystem erfolgt indirekt über die Dispatch-Schnittstelle. Private Verschlüsselungsschlüssel werden in einem hardwareisolierten Schlüsselspeicher gespeichert, der bei ordnungsgemäßer Implementierung ihre Offenlegung verhindern kann, wenn das zugrunde liegende System kompromittiert wird.
Die Schwachstelle ist auf einen Fehler in der Implementierung des Algorithmus zur Verarbeitung elliptischer Kurven zurückzuführen, der zum Verlust von Informationen über den Fortschritt der Datenverarbeitung führte. Forscher haben eine Seitenkanal-Angriffstechnik entwickelt, die es ermöglicht, bestehende indirekte Lecks zu nutzen, um den Inhalt von privaten Schlüsseln wiederherzustellen, die sich in einer Hardware-isolierten Umgebung befinden
Die Hauptursache des Problems ist die gemeinsame Nutzung gemeinsamer Hardwarekomponenten und des Caches für Berechnungen in der TrustZone und im Hauptsystem – die Isolierung erfolgt auf der Ebene der logischen Trennung, jedoch unter Verwendung gemeinsamer Recheneinheiten und mit Spuren von Berechnungen und Informationen über die Verzweigung Adressen werden im gemeinsamen Prozessor-Cache abgelegt. Mit der Prime+Probe-Methode, die auf der Bewertung von Änderungen in der Zugriffszeit auf zwischengespeicherte Informationen basiert, ist es möglich, durch Überprüfung des Vorhandenseins bestimmter Muster im Cache Datenflüsse und Anzeichen der Codeausführung im Zusammenhang mit den Berechnungen digitaler Signaturen zu überwachen TrustZone mit ziemlich hoher Genauigkeit.
Die meiste Zeit zum Generieren einer digitalen Signatur mithilfe von ECDSA-Schlüsseln in Qualcomm-Chips wird damit verbracht, Multiplikationsoperationen in einer Schleife unter Verwendung eines Initialisierungsvektors durchzuführen, der für jede Signatur unverändert bleibt (
Im Fall von Qualcomm wurden im Multiplikationsalgorithmus zwei Stellen identifiziert, an denen solche Informationen durchsickerten: bei der Durchführung von Suchoperationen in Tabellen und im bedingten Datenabrufcode basierend auf dem Wert des letzten Bits im „Nonce“-Vektor. Obwohl der Qualcomm-Code Maßnahmen zur Bekämpfung von Informationslecks über Kanäle Dritter enthält, können Sie mit der entwickelten Angriffsmethode diese Maßnahmen umgehen und mehrere Bits des „Nonce“-Werts ermitteln, die ausreichen, um 256-Bit-ECDSA-Schlüssel wiederherzustellen.
Source: opennet.ru