MSfree hat geschrieben: 
04.01.2018 21:09:31
Zumindest im dritten Link ist noch die Rede davon, daß es noch nicht klar ist, ob AMD und ARM von Meltdown betroffen sind oder nicht. Insofern würde ich die beiden noch nicht endgültig aus der Untersuchungshaft entlassern.
Hier lohnt ein Blick in's Meltdown-Paper, insbesondere Punkt 3 "A Toy Example":
Da wird ein simpler Codeschnipsel präsentiert, der mittels Out-of-Order-Execution einen Cache-Miss generiert in dessen Folge potentiell ein Datenleck entsteht:
Code: Alles auswählen
raise_exception();
// the line below is never reached
access(probe_array[data * 4096]);
In Punkt 6.4 "Limitations on ARM and AMD" wird dann erwähnt, dass das vollständige Meltdown-Szenario mit Kernel-Leak zwar so wie präsentiert auf AMD nicht funktioniert hat, allerdings von den Autoren nicht ausgeschlossen werden kann, dass es prinzipiell funktioniert und der Fehlschlag nur auf Unzulänglichkeiten ihrer Implementierung beruht, denn das "Spielzeugsbeispiel" hat ja auch auf AMD funktioniert.
Das ist soweit erstmal eine sinnvoll vorsichtige Einschätzung, ABER man muss dabei im Auge behalten, dass das Spielzeugbeispiel nicht den Kern von Meltdown trifft, sondern lediglich eine Vorüberlegung implementiert. Der Kern von Meltdown ist der erfolgreiche Angriff des Kernelspeichers beim Kontextwechsel zwischen User- und Kernelspace. Genau das leistet das Spielzeugbeispiel nicht. Eigentlich ist es eher ein Spezialfall von Spectre, von dem ja niemand ernsthaft behauptet, dass AMD nicht auch prinzipiell betroffen sei.
Vor diesem Hintergrund muss man dann die Aussage von Lendacky bewerten:
AMD processors are not subject to the types of attacks that the kernel
page table isolation feature protects against. The AMD microarchitecture
does not allow memory references, including speculative references, that
access higher privileged data when running in a lesser privileged mode
when that access would result in a page fault.
Er sagt also, dass AMD-CPUs prinzipiell keine Speicherreferenzen durch unprivilegierten Code auf privilegierten Speicher erlauben, wenn das Ergebnis einen Speicherfehler auslösen würde.
Falls das stimmt, dann stirbt damit der Kern von Meltdown auf AMD. Die entscheidende Frage ist nun, ob Lendackys Aussage richtig ist. Ich kann diese Frage nicht beantworten. Daher schreibe ich zum Thema Meltdown und AMD immer "laut AMD".
reox hat geschrieben: 
04.01.2018 21:49:35
Aber ich hatte irgendwo gelesen, dass es gar nicht per Microcode update patchbar ist?
Nachdem ich beide Paper mehr oder weniger gründlich gelesen habe würde ich ohne irgendeine Fachkenntnis zu besitzen vermuten, dass Microcode-Fixes prinzipiell möglich sein könnten.
So ein Fix müsste wohl für Meltdown darauf hinauslaufen, Kernel- und Userspace in der CPU vollständig voneinander zu trennen. Aus Nutzersicht würde das vermutlich so aussehen, dass man einen oder mehrere Kerne und einen Teil des Caches an den Kernelspace verliert. Ich halte das für praktikabel, bezweifle aber, dass diese Lösung in der Praxis besser wäre als KPTI.
Für einen Spectre-Fix müsste wohl sämtliche Out-of-Order-Funktionalität abgeschaltet werden. Abgesehen von der taktratenbedingten Leistungssteigerung und Mehrkernigkeit wirft uns das im Wesentlichen auf 486er-Niveau zurück. Das ist natürlich völlig praxisfern.