Wie lässt sich das Lesen des Kernelspeichers in stehlen von Passwörtern mit Sicherheitsanfälligkeit im Zusammenbruch verwandeln?

705
jackyjjc

Ich habe ein grundlegendes Verständnis des Betriebssystems und verstehe den Mechanismus der Sicherheitsanfälligkeit für die Kernschmelze, aber ich brauche Hilfe, um die Lücke zwischen dem Lesen des Kernel-Speichers und dem Diebstahl von Benutzerkennwörtern auszufüllen.

Meltdown ermöglicht einem Userspace-Programm das Lesen des Kernel-Speichers unter Verwendung von Seitenkanal- und spekulativer Ausführung, da der Kernel-Memory für die Leistung in den Adressraum des Userspace abgebildet wird.

Ich verstehe jedoch nicht, warum das Lesen des Kernel-Speichers bedeutet, die Passwörter des Benutzers und die Geheimnisse anderer Programme zu stehlen?

Die Anwendung kann sowohl ihren eigenen Adressraum als auch den Kernel-Space (wegen Kernschmelze) lesen. Soweit ich weiß, wird der Adressraum der anderen Prozesse jedoch nicht aktuell in den Adressraum der aktuellen Anwendung abgebildet. Wie kann die aktuelle Anwendung daher den Speicher anderer Prozesse lesen?

Wenn die Anwendung über einen Adressraum von 4 GB verfügt, ist die Hälfte davon der eigene Speicher der Anwendung und die Hälfte des Speichers des Kernels. Sie können keine virtuelle Adresse erstellen, die sich im Speicher einer anderen Anwendung befindet. Ist dies richtig?

-1
Falsch. Der Exploit erlaubt es ALLE Speicher zu lesen. Keltari vor 6 Jahren 2

1 Antwort auf die Frage

0
Jonathan Laperle

Moderne Betriebssysteme ordnen aus Gründen der Effizienz nur den gesamten physischen Speicher im Kernel-Adressraum zu. Wenn also ein anderes Programm Daten im physischen Speicher hat, kann vom Kernel-Adressraum aus darauf zugegriffen werden. Dies wird in dem Aufschmelzpapier sehr kurz erwähnt .

Offensichtlich müssen Geheimnisse irgendwann in den physischen Speicher gestellt werden, um sie einem Angreifer zugänglich zu machen.