Datenleck über den Ringbus der Intel-CPU

Ein Forscherteam der University of Illinois hat eine neue Seitenkanal-Angriffstechnik entwickelt, die Informationslecks über die Ringverbindung von Intel-Prozessoren manipuliert. Der Angriff ermöglicht es Ihnen, Informationen zur Speichernutzung in einer anderen Anwendung hervorzuheben und Informationen zum Tastenanschlag-Timing zu verfolgen. Die Forscher veröffentlichten Tools zur Durchführung entsprechender Messungen und mehrere Prototyp-Exploits.

Es wurden drei Exploits vorgeschlagen, die Folgendes ermöglichen:

  • Stellen Sie einzelne Bits von Verschlüsselungsschlüsseln wieder her, wenn Sie RSA- und EdDSA-Implementierungen verwenden, die anfällig für Seitenkanalangriffe sind (wenn Berechnungsverzögerungen von den verarbeiteten Daten abhängen). Beispielsweise reicht der Verlust einzelner Bits mit Informationen über den Initialisierungsvektor (Nonce) von EdDSA aus, um mit Angriffen den gesamten privaten Schlüssel sequentiell wiederherzustellen. Der Angriff ist in der Praxis schwer umzusetzen und kann unter großen Vorbehalten durchgeführt werden. Beispielsweise wird ein erfolgreicher Vorgang angezeigt, wenn SMT (HyperThreading) deaktiviert ist und der LLC-Cache zwischen CPU-Kernen segmentiert ist.
  • Definieren Sie Parameter für Verzögerungen zwischen Tastenanschlägen. Die Verzögerungen hängen von der Position der Tasten ab und ermöglichen durch statistische Analyse die Wiederherstellung der über die Tastatur eingegebenen Daten mit einer gewissen Wahrscheinlichkeit (zum Beispiel geben die meisten Leute normalerweise „s“ nach „a“ viel schneller ein als „g“ danach "S").
  • Organisieren Sie einen versteckten Kommunikationskanal, um Daten mit einer Geschwindigkeit von etwa 4 Megabit pro Sekunde zwischen Prozessen zu übertragen, ohne gemeinsam genutzten Speicher, Prozessor-Cache und CPU-Kern-spezifische Ressourcen und Prozessorstrukturen zu nutzen. Es wird darauf hingewiesen, dass die vorgeschlagene Methode zur Schaffung eines verdeckten Kanals mit bestehenden Methoden zum Schutz vor Seitenkanalangriffen nur sehr schwer zu blockieren ist.

Exploits erfordern keine erhöhten Berechtigungen und können von normalen, nicht privilegierten Benutzern verwendet werden. Es wird darauf hingewiesen, dass der Angriff möglicherweise angepasst werden könnte, um Datenlecks zwischen virtuellen Maschinen zu organisieren. Dieses Problem lag jedoch außerhalb des Rahmens der Studie und Tests von Virtualisierungssystemen wurden nicht durchgeführt. Der vorgeschlagene Code wurde auf einer Intel i7-9700-CPU in Ubuntu 16.04 getestet. Generell wurde die Angriffsmethode auf Desktop-Prozessoren der Intel Coffee Lake- und Skylake-Familie getestet und ist potenziell auch auf Xeon-Serverprozessoren der Broadwell-Familie anwendbar.

Die Ring Interconnect-Technologie erschien in Prozessoren, die auf der Sandy Bridge-Mikroarchitektur basieren, und besteht aus mehreren Schleifenbussen, die zur Verbindung von Computer- und Grafikkernen, einer Serverbrücke und einem Cache verwendet werden. Der Kern der Angriffsmethode besteht darin, dass Speicheroperationen in einem Prozess aufgrund der Bandbreitenbeschränkung des Ringbusses den Zugriff auf den Speicher eines anderen Prozesses verzögern. Durch die Identifizierung von Implementierungsdetails durch Reverse Engineering kann ein Angreifer eine Last erzeugen, die Verzögerungen beim Speicherzugriff in einem anderen Prozess verursacht, und diese Verzögerungen als Seitenkanal nutzen, um Informationen zu erhalten.

Angriffe auf interne CPU-Busse werden durch mangelnde Informationen über die Architektur und Betriebsweise des Busses sowie durch ein hohes Maß an Rauschen erschwert, was die Isolierung nützlicher Daten erschwert. Es war möglich, die Funktionsprinzipien des Busses durch Reverse Engineering der Protokolle zu verstehen, die bei der Datenübertragung über den Bus verwendet wurden. Ein auf Methoden des maschinellen Lernens basierendes Datenklassifizierungsmodell wurde verwendet, um nützliche Informationen von Rauschen zu trennen. Das vorgeschlagene Modell ermöglichte es, die Überwachung von Verzögerungen bei Berechnungen in einem bestimmten Prozess zu organisieren, wenn mehrere Prozesse gleichzeitig auf den Speicher zugreifen und ein bestimmter Teil der Daten aus Prozessor-Caches zurückgegeben wird.

Darüber hinaus können wir die Identifizierung von Spuren der Nutzung eines Exploits für die erste Variante der Spectre-Schwachstelle (CVE-2017-5753) bei Angriffen auf Linux-Systeme feststellen. Der Exploit nutzt Seitenkanal-Informationslecks, um einen Superblock im Speicher zu finden, den Inode der Datei /etc/shadow zu bestimmen und die Speicherseitenadresse zu berechnen, um die Datei aus dem Festplatten-Cache abzurufen.

Source: opennet.ru

Kommentar hinzufügen