Es wurde eine Angriffsmethode vorgeschlagen, um Speicherfragmente auf dem Server aus der Ferne zu ermitteln

Eine Forschergruppe der Technischen Universität Graz (Österreich), die bereits für die Entwicklung der Angriffe MDS, NetSpectre, Throwhammer und ZombieLoad bekannt ist, hat eine neue Seitenkanalangriffsmethode (CVE-2021-3714) gegen die Speicherdeduplizierungs-Engine veröffentlicht. Dieser Angriff ermöglicht es, das Vorhandensein bestimmter Daten im Speicher zu ermitteln, ein byteweises Speicherleck zu erzeugen oder das Speicherlayout zu bestimmen, um die adressbasierte Randomisierung (ASLR) zu umgehen. Die neue Methode unterscheidet sich von bisherigen Angriffen auf die Deduplizierungs-Engine dadurch, dass sie von einem externen Host aus durchgeführt wird. Als Kriterium dienen dabei Änderungen der Antwortzeiten auf Anfragen, die der Angreifer über die Protokolle HTTP/1 und HTTP/2 sendet. Die Durchführbarkeit des Angriffs wurde für Server demonstriert, die auf … basieren. Linux и Windows.

Angriffe auf den Speicherdeduplizierungsmechanismus nutzen die unterschiedliche Verarbeitungszeit eines Schreibvorgangs als Kanal für Informationslecks, wenn Datenänderungen zum Klonen einer deduplizierten Speicherseite mithilfe des Copy-On-Write-Mechanismus (COW) führen. Während des Betriebs erkennt der Kernel identische Speicherseiten verschiedener Prozesse und führt sie zusammen. Dabei werden identische Speicherseiten einem einzigen Bereich des physischen Speichers zugeordnet, um nur eine Kopie zu speichern. Versucht einer der Prozesse, die mit den deduplizierten Seiten verknüpften Daten zu ändern, tritt eine Ausnahme (Seitenfehler) auf. Anschließend wird mithilfe des Copy-On-Write-Mechanismus automatisch eine separate Kopie der Speicherseite erstellt und dem Prozess zugewiesen. Der Kopiervorgang benötigt zusätzliche Zeit, was auf eine Datenänderung hinweisen kann, die sich mit einem anderen Prozess überschneidet.

Die Forscher zeigten, dass Verzögerungen, die durch den COW-Mechanismus entstehen, nicht nur lokal, sondern auch durch die Analyse von Änderungen der Antwortlaufzeit im Netzwerk erkannt werden können. Es werden verschiedene Methoden zur Bestimmung des Speicherinhalts eines Remote-Hosts durch Analyse der Ausführungszeit von Anfragen über die Protokolle HTTP/1 und HTTP/2 vorgeschlagen. Zum Speichern der ausgewählten Vorlagen werden typische Webanwendungen verwendet, die die in Anfragen empfangenen Informationen im Speicher speichern.

Das allgemeine Prinzip des Angriffs besteht darin, Lücken zu füllen Server Speicherseiten mit Daten, die möglicherweise den Inhalt einer bereits vorhandenen Speicherseite auf dem Server duplizieren. Der Angreifer wartet dann, bis der Kernel die Speicherseite dedupliziert und zusammengeführt hat. Anschließend modifiziert er die kontrollierten Duplikate und wertet die Antwortzeit aus, um den Erfolg des Angriffs zu bestimmen.

Es wurde eine Angriffsmethode vorgeschlagen, um Speicherfragmente auf dem Server aus der Ferne zu ermitteln

Während der Experimente betrug die maximale Informationsleckrate 34.41 Bytes pro Stunde bei Angriffen über ein globales Netzwerk und 302.16 Bytes pro Stunde bei Angriffen über ein lokales Netzwerk, was schneller ist als andere Methoden zum Extrahieren von Daten über Nebenkanäle (beispielsweise beträgt die Datenübertragungsrate während eines NetSpectre-Angriffs 7.5 Bytes pro Stunde).

Es wurden drei funktionierende Angriffsvarianten vorgeschlagen. Die erste Variante ermöglicht die Identifizierung von Daten im Speicher. WebserverDer Angriff nutzt Memcached. Dabei werden bestimmte Datensätze in den Memcached-Speicher geladen, ein deduplizierter Block gelöscht, dasselbe Element überschrieben und durch Modifizierung des Blockinhalts Bedingungen für eine Copy-on-Write-Operation (COW) geschaffen. Im Experiment mit Memcached konnte die auf dem in einer virtuellen Maschine laufenden System installierte libc-Version in 166.51 Sekunden ermittelt werden.

Die zweite Option ermöglichte es, den Inhalt von Datensätzen im MariaDB-DBMS bei Verwendung von InnoDB-Speicher durch Byte-für-Byte-Rekonstruktion herauszufinden. Der Angriff erfolgt durch das Senden speziell modifizierter Anfragen, die zu Einzelbyte-Fehlpaarungen in Speicherseiten führen. Anschließend wird die Reaktionszeit analysiert, um die Richtigkeit der Vermutung über den Byte-Inhalt zu überprüfen. Die Geschwindigkeit eines solchen Lecks ist gering und beträgt bei einem Angriff aus einem lokalen Netzwerk 1.5 Bytes pro Stunde. Der Vorteil dieser Methode besteht darin, dass damit unbekannte Speicherinhalte wiederhergestellt werden können.

Die dritte Option ermöglichte es, den KASLR-Schutzmechanismus innerhalb von 4 Minuten vollständig zu umgehen und Informationen über den Offset im Speicher des Kernel-Images der virtuellen Maschine zu erhalten, wobei sich die Offset-Adresse auf einer Speicherseite befindet, deren sonstige Daten unverändert bleiben. Der Angriff wurde von einem Host aus durchgeführt, der 14 Transit-Übergänge (Hops) vom angegriffenen System entfernt war. Codebeispiele zur Implementierung der vorgestellten Angriffe werden voraussichtlich auf GitHub veröffentlicht.

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster