Gibt es eine Möglichkeit, Cache-Daten von Ubuntu zu erhalten?

311
G.Sangeetha

Gibt es eine Möglichkeit, Cache-Daten von Ubuntu zu erhalten?

Wie kann ich L3-Cache-Daten von der virtuellen Ubuntu-Maschine erhalten?

Der Hypervisor ist entweder XEN-Hypervisor oder VMWARE

-1
Warum willst du das? Sind es nicht nur Daten, die die CPU gerade verwendet hat / hat, wissen Sie also schon, was die CPU gesendet und zurückgegeben wurde? Xen2050 vor 6 Jahren 0
Vielen Dank für Ihre Antwort ... Bei einem Cross-VM-Side-Channel-Angriff müssen wir wissen, was sich im Cache befindet, nachdem er von der VM des Opfers verwendet wurde. G.Sangeetha vor 6 Jahren 0

1 Antwort auf die Frage

1
Mokubai

Du nicht

Aus diesem Grund werden sie als "Seitenkanal" -Angriffe bezeichnet, da Sie die Werte im Cache nicht direkt lesen können (was das Sicherheitsäquivalent wäre, wenn Sie Ihre Passwörter auf ein Whiteboard vor Ihrer Haustür schreiben), aber Sie können daraus schließen das Vorhandensein von Daten durch die Art und Weise, dass CPU-Anweisungen mehr oder weniger Zeit in Anspruch nehmen, je nachdem, was sich im Cache befindet.

Das Lesen des CPU-Cache wäre noch wahnsinniger als Spectre und Meltdown bereits und würde jeden Schutz, den VMs aus Sicherheitsgründen völlig wertlos machen, sofort aufheben.

Absolut keine normale Aufgabe sollte brauchen kümmern, was in den CPU - Caches ist, stattdessen kümmern sie über Registerzustände und Lesen / Schreiben von Speicherstellen, wenn ein Wert aus dem Cache kommt Ihnen ein Speed-up, aber Sie nicht brauchen, die lesen Cache während des normalen Gebrauchs.

Ich kann nicht einmal sehen, jeden wirklichen Grund ein Administrator oder auch der OS - Kernel sollten muß CPU - Cache - Zeilen lesen. Ich kann mehrere Gründe sehen, dass aus Sicht der Sicherheit, die absolut kein Programm in dem System soll den Zugriff auf Cache - Zeilen haben aber nur vage Bequemlichkeit Gründe, warum es sollte erlaubt sein.

Ich würde erwarten, dass der explizite Zugriff auf die Cachezeile nicht zulässig ist oder zumindest dem höchsten Prozessorzugriffsstatus verweigert wird, sofern dies überhaupt zulässig ist. Eine VM könnte niemals in diesem Status ausgeführt werden, sodass jeglicher Cache-Zugriff verweigert wird.


Ich glaube, dass VMs als Ring 3 behandelt werden, da sie lediglich als "noch eine weitere" Anwendung für den Host behandelt werden. Das Host-Betriebssystem selbst wird in Ring 0 ausgeführt, wobei direkter Hardwarezugriff zulässig ist. Anwendungen selbst werden jedoch mit viel niedrigeren Berechtigungen ausgeführt.

Jeder Zugriff von einer VM auf privilegierte Anweisungen wird von der VM-Software und nicht von der tatsächlichen CPU- oder Systemhardware abgefangen und behandelt.

Vielen Dank für Ihre wertvolle Antwort ... Ich akzeptiere, dass ich Cache-Daten nicht direkt lesen kann. Aber so viele Autoren haben diesen Cross-Side-Channel-Angriff in Papieren implementiert. Wie ist es möglich? In der Zeitung, sie Ich habe die Informationen nicht gelesen, aber sie haben festgestellt, wie viele Cache-Fehler oder Cache-Treffer aufgetreten sind. Ist es möglich, diese Informationen zu lesen ... G.Sangeetha vor 6 Jahren 0
Beim Prime + Probe-Angriff füllt der Angreifer zuerst seine eigenen Daten im Cache, bevor die VM des Opfers auf den Cache zugreift. Nach dem Zugriff des Opfers zählt der Angreifer den Cache-Miss oder den Cache-Treffer, während er dieselben Daten liest ... G.Sangeetha vor 6 Jahren 0
@ G.Sangeetha Das Spectre Attack Paper dokumentiert den Prozess und erklärt es besser als ich könnte: https://spectreattack.com/spectre.pdf Mokubai vor 6 Jahren 0