News Meltdown & Spectre: Details und Bench­marks zu den Sicherheits­lücken in CPUs

Weiß man eigentlich wie es mit den Ryzen Pro CPU´s aussieht? Sind diese auch von Spectre betroffen?
Die werden ja unter anderem mit mehr Sicherheit auf Hardware Level angepriesen.
 
DFFVB schrieb:
Aber auch hier: Das sagt einer der Entdecker... natürlich wird der einen Teufel tun seine Lücke klein zu reden... je größer und gefährlicher die Lücke desto mehr Reputation und auch Forschungsgelder für ihn... Schwierig

Beide, Schwarz und Gruss haben mit Spectre nix am Hut. Zumindest gibts auf der meltdownattack.com keinen "credit" dafür
 
karl_laschnikow schrieb:
Weiß man eigentlich wie es mit den Ryzen Pro CPU´s aussieht? ...

Auch hier wieder
8 Conclusions and Future Work
https://spectreattack.com/spectre.pdf

... AMD states that its Ryzen processors have “an
artificial intelligence neural network that learns to pre-
dict what future pathway an application will take based
on past runs” [3, 5], implying even more complex spec-
ulative behavior. As a result, while the stop-gap coun-
termeasures described in the previous section may help
limit practical exploits in the short term, there is currently
no way to know whether a particular code construction
is, or is not, safe across today’s processors – much less
future designs. ...

Hier "Simple Translate":
... AMD gibt an, dass seine Ryzen-Prozessoren "eine
neuronales Netzwerk der künstlichen Intelligenz, das lernt,
Diktieren Sie, welchen zukünftigen Weg eine Anwendung nehmen wird
auf vergangenen Läufen "[3, 5], was noch komplexere Spe-
ulatives Verhalten. Als Folge davon, während das Stop-Gap-Land ** ^^
Die im vorherigen Abschnitt beschriebenen Maßnahmen können hilfreich sein
praktische Exploits auf kurze Sicht begrenzen, gibt es derzeit
keine Möglichkeit zu wissen, ob eine bestimmte Code-Konstruktion
ist oder ist nicht sicher über die heutigen Prozessoren - viel weniger
zukünftige Designs. ...

** stop-gap countermeasures ~ Notlösung Gegenmaßnahme (soll wohl alles um den CPU Microcode bedeuten).
Denn, wie bei der Diesel Abgaswerte Manipulation hilft nur ein HW-Fix, also kein Software-Update.

Bedeutet also für den Ryzen, man weiß es noch nicht.
 
Zuletzt bearbeitet:
h00bi schrieb:
Beide, Schwarz und Gruss haben mit Spectre nix am Hut. Zumindest gibts auf der meltdownattack.com keinen "credit" dafür

Dafür hat sich Gruss aber ziemlich ausführlich dazu geäußert ;-)
 
Nach und nach sickern ja doch auch informationen durch die für Laien einigermaßen verständlich machen warum sich AMD hier vs Spectre relativ sicher fühlt wenngleich auch niemand hergeht und ausschließen kann das man nicht in der Zukunft doch noch einen ANDEREN Exploit (a la Spectre) entwickeln kann der dann AMDs Mechanismen aushebelt.

Hier eine kurze Diskussion von stackoverflow:
"The indirect branch predictor of Intel CPUs only uses the lowermost 12 bits of the source instruction, thus it is easy to poison all 2^12 possible prediction histories with user-controlled memory addresses. These can then, when the indirect jump is predicted within the kernel, be speculatively executed with kernel privileges. Using the cache-timing side-channel, you can thus leak arbitrary kernel memory."

Ich fasse das mal so zusammen - bitte verzeiht ich bin Laie, kann also sein dass ich manche Punkte nicht sehr korrekt wiedergebe:
Der vermutete Grund warum AMD soviel weniger von Spectre betroffen ist liegt in der Art und weise wie das Adressmanagement im Branch Target Buffer (BTB) durchgeführt wird.
Intel speichert hier nur einen Teil der exakten Adressposition und lässt quasi 2^12 Bit Adresspositionen pro Eintrag zu. Das führt dazu dass man relativ schnell den Adressraum "scannen" kann, was letztlich dazu führt dass man den Branch-Predictor trainieren kann, was dann letztlich den Exploit darstellt.

Meine Interpretation (auch in Zusammenschau anderer Artikel zu dem Thema)
AMD scheint hier im BTB jeweils immer nur exakte Positionen zuzulassen. Meinem Verständnis nach führt das dann dazu dass man zwar nach wie vor mit dem Exploit den Adressraum "scannen" kann - aber nur mit 2^1 Adresse pro Cyclus....das könnte dann echt ein Weilchen dauern hier relevante Sprungadresse im Adressraum zu finden.

Das deckt sich auch ziemlich mit der Beschreibung bei Ars-Technica:
Und auch diesem deutsschsprachigen Fachartikel von Leuten die mit ARM-CPUs zu tun haben der zu ganz ähnlichen Schlussfolgerungen bzgl. Intel kommt (AMD wir hier nicht wirklich beleuchtet, es wird nur gesagt dass es prinzipiell wohl auch anfällig sind da ja Speculative Execution auch benutzt wird).

Dies wird auch deutlich an den offengelegten "Differenzen" in der Herangehensweise an Spectre 2 - Patches.
Ein paar Details dazu hat das Red Hat Team benannt:
"Intel Defaults:
pti 1 ibrs 1 ibpb 1 -> fix variant#1 #2 #3
pti 1 ibrs 0 ibpb 0 -> fix variant#1 #3 (for older Intel systems with no microcode update available

AMD Defaults:
Due to the differences in underlying hardware implementation, AMD X86 systems are not vulnerable to variant #3. The correct default values will be set on AMD hardware based on dynamic checks during the boot sequence.
pti 0 ibrs 0 ibpb 2 -> fix variant #1 #2 if the microcode update is applied
pti 0 ibrs 2 ibpb 1 -> fix variant #1 #2 on older processors that can disable indirect branch prediction without microcode update

EDIT: variant #1 = Spectre 1
EDIT: variant #2 = Spectre 2
EDIT: variant #3 = Meltdown

PTI = Page-Table Isolation Patch gegen Meltdown
0 = DEAKTIVIERT
1 = AKTIVIERT

Was genau die Unterschiede jedoch in 2,1,0 für IBRS und IBPB sind muss ich komplett passen derzeit.

Es scheint aber so (erste Benchmarks @Phoronix für Intel und AMD) dass der Performance drop @AMD vs Spectre in den meisten Fällen doch deutlich kleiner ausfällt als bei Intel.
Dazu kommt dass nur Intel Performance Drops wegen Meltdown sieht.
Außerdem gibt es wohl noch ein Problem mit den neueren CPUs von Intel Skylake/Kabylake(/CoffeeLake(?))

Siehe Stackoverflow-Link von oben:
"Retpoline as a mitigation strategy swaps indirect branches for returns, to avoid using predictions which come from the BTB, as they can be poisoned by an attacker. The problem with Skylake+ is that an RSB underflow falls back to using a BTB prediction, which allows the attacker to take control of speculation."

Hier muss also Retpoline + IBRS aktiviert werden was bei Spectre 2 dann wohl nochmal mehr Leistung kostet...

Es bleibt also spannend - ich hoffe es gibt bald mal Architekturübergreifend erste Benchmarks wo mal die Patches getrennt und gesammelt getestet werden....
 
Zuletzt bearbeitet:
Iscaran schrieb:
Dazu kommt dass nur Intel Performance Drops wegen Meltdown sieht.

Liegt vermutlich daran, dass nur Intel (und ein paar ARM) von Meltdown betroffen sind ;-)
 
Liegt vermutlich daran, dass nur Intel (und ein paar ARM) von Meltdown betroffen sind ;-)

Ist bekannt - ich wollte die ollen Kamellen nicht nochmal aufwärmen. Aber in dem Kontext mit Benchmarks wahr es schon sinnvoll zu erwähnen dass Intel CPUs hier einen zusätzlichen "Hit" haben.
 
Yuuri schrieb:
Hmmm... https://skyfallattack.com/ Mal sehen was die Zukunft bringt.

Klingt definitiv nicht so sexy... kann natürlich auch ne Trittbrettfahrer-Aktion sein... bzw. halt weiterentwickelte POCs / Exploits die zeigen wie das in freier Wildbahn aussieht... ich gehe mal davon aus, dass die hier warten wollen, bis der Großteil gepatcht ist...

Verstehe aber den Namen "Solace" nicht... heißt ja so viel wie "Trost", warum sollte man eine Lücke so nennen? Skyfall wäre von der Nomenklatur ja schon was, wie Göttderdämmerung, scheint mir auch etwas hoch gegriffen...

MS schiebt schon erste Lösungen nach, wird bestimmt nicht das letzte gewesen sein, was wir dazu hören

https://www.golem.de/news/sicherhei...er-baut-schutz-gegen-spectre-1801-132241.html
 
Zuletzt bearbeitet:
Also im Prinzip hilf nur neue HW mehr oder weniger also nur AMD Ryzen2 halt.
 
DFFVB schrieb:
Klingt definitiv nicht so sexy... kann natürlich auch ne Trittbrettfahrer-Aktion sein... […]
Die entsprechenden Registrare der Domains MeltdownAttack & SpectreAttack ist jeweils die domaintechnik.at.
Für SkyfallAttack ist es tucowsdomains.com.

Die Domains MeltdownAttack & SpectreAttack haben weiterhin jeweils die kapitalen Flags clientDeleteProhibited sowie clientTransferProhibited gesetzt, demnach weder löschbar noch übertragbar. Entsprechende Flags hat SkyfallAttack nicht gesetzt, was allumfassend auf entsprechende Seriösität schließen lassen dürfte …


In diesem Sinne

Smartcom
 
DFFVB schrieb:
Verstehe aber den Namen "Solace" nicht... heißt ja so viel wie "Trost", warum sollte man eine Lücke so nennen? Skyfall wäre von der Nomenklatur ja schon was, wie Göttderdämmerung, scheint mir auch etwas hoch gegriffen...

Ich vermute dass man sich hierbei auf die James Bond Filme bezieht. (Skyfall und A Quantum Solace)

Skyfall wird der Exploit sein. Solace der "Patch" dafür.

Meine Idee ist dass es sich um die Problematik auf Skylake und neueren CPUs handelt welche mit dem üblichen Mittel gegen Spectre 2 nicht zu schützen sind da die noch Aggressivere Sprungvorhersage auf diesen CPUs bei einem "leeren" (geflushten) Branch Target Buffer

Ich zitiere von weiter oben: "Siehe Stackoverflow-Link von oben:
"Retpoline as a mitigation strategy swaps indirect branches for returns, to avoid using predictions which come from the BTB, as they can be poisoned by an attacker. The problem with Skylake+ is that an RSB underflow falls back to using a BTB prediction, which allows the attacker to take control of speculation."

Hier muss also Retpoline + IBRS aktiviert werden was bei Spectre 2 dann wohl nochmal mehr Leistung kostet..."

Skyfall könnte also der "Fall" der Skylakes sein bei denen der wenig Performance kostende Retpoline Patch nochmals gedoppelt werden muss....

Solace = "Trost" könnte dann aber die Vorstellung einer Idee sein wie man Skyfall mitigieren kann ohne den Performance drop gleich nochmal zu doppeln oder so ?

NACHTRAG: Der Compiler Patch von MS (ebenso wie andere Compiler Patches) richten sich im wesentlich gegen Spectre 1 !
 
Zuletzt bearbeitet:
Hmmm, könnte schon sein, andererseits schreiben sie da ja auch
Skyfall and Solace are two speculative attacks based on the work highlighted by Meltdown and Spectre.

Also zwei Attacken... Du vergisst auch geflissentlich zu erwähnen, dass auf Skylake+ neue Befehlssätze freigeschalten wurden die unter Umständen zu Performance-Steigerungen führen... auch ist Skylake+ nicht sooo sehr von den Einbrüchen betroffen... (siehe Interview Gruss)...

Für mich ist das Thema aber auch bald durch... ja man muss noch aufmerksamer hinter Updates hinterher sein (siehe Compiler Microsoft), man sollte noch etwas genauer darauf achten sich keine Malware einzufangen. Aber als End-Customer ist man a) eh nicht so gefährdet und b) gibt es glaube weit mehr und weit gefährlichere Attacken in jedem Kali Linux frei Haus...

Denn SP und MD forschen Passwörter aus. Ein weiterer Grund auf 2FA zu setzen... Beim Banking, Shopping, E-Mail eh standardmäßig aktiviert... und ein popeliger Keylogger ist glaub wesentlich effizienter (wenn auch nicht effektiver)...

​So long...
 
Oh...das mit den 2 Attacks hatte ich irgendwie nicht gelesen.

Na dann. Warten wirs mal ab :-)
Ergänzung ()

Du vergisst auch geflissentlich zu erwähnen, dass auf Skylake+ neue Befehlssätze freigeschalten wurden die unter Umständen zu Performance-Steigerungen führen

Das habe ich nicht geflissentlich vergessen. Die neueren Befehlssätze sorgen dafür dass der Retpoline Patch auf Skylake+ besser performed als auf anderen Archs. ABER leider sorgen sie auch dafür dass der Schutz durch Retpoline zum teil ausgehebelt wird. Weshalb man wiederum IBRS zusätzlich aktivieren muss. Was eben deutlich bremst - damit dürfte man nicht mehr so viel besser dastehen als die älteren Archs bei welchen man nur Retpoline braucht.

Aber dass werden erst Benches zeigen, was wirklich wieviel kostet.
 
Iscaran schrieb:
Meine Idee ist dass es sich um die Problematik auf Skylake und neueren CPUs handelt welche mit dem üblichen Mittel gegen Spectre 2 nicht zu schützen sind da die noch Aggressivere Sprungvorhersage auf diesen CPUs bei einem "leeren" (geflushten) Branch Target Buffer

Vielleicht solltest du dazu anmerken, dass mit "üblichen Mittel" Retpoline gemeint ist und sich das nicht auf die Windows Plattform bezieht.

Mir ist schon klar, dass es hier im Forum auch einige Linux Nutzer gibt. Trotzdem werden hier häufig Begriffe durcheinandergeworfen und sorgen ständig für Verwirrung.

Stand jetzt ist, Microsoft nutzt kein Retpoline sondern ausschließlich die durch Microcode Update bereitgestellten Befehle um das System gegen Spectre 2 zu schützen. Damit nehmen sie in kauf, dass einige PCs ungeschützt bleiben und/oder an Leistung verlieren.

Google/Linux setzt auf Retpoline als Schutz gegen Spectre 2 um stellenweise den Leistungsabfall zu minimieren. Das klappt aber je nach Plattform mehr oder weniger gut und benötigt auf neueren Plattformen ebenfalls ein Microcode Update.

Was die neuen Lücken bringen werden wir sehen.

EDIT:
Variant Two, Branch Target Injection (CVE-2017-5715): Fixing this variant requires a Microcode update from Intel and AMD that is being delivered through their OEM partners (computer and motherboard manufacturers), as well as a patched OS kernel — and potentially a hypervisor, if operating in a virtual machine environment — that leverages the microcode update. Windows kernels have a patch available to leverage the new microcode, and Linux is currently merging such a fix into their mainline kernel for release to distribution. Additionally, Apple also has a patch available. Without the microcode update, Google’s software workaround (the retpoline) can be used, but it requires custom compiler support and recompiled binaries which leverage the technique. GCC as well as Clang/LLVM, the major open source compilers, now have support for generating such retpolines, while Windows and Visual Studio are not currently pursuing this approach.
https://www.crowdstrike.com/blog/ch...vulnerabilities-and-proving-hard-to-mitigate/

Wichtig für viele Leser hier, Retpoline hat nichts mit Windows zu tun!
 
Zuletzt bearbeitet:
Gibt's es eigentlich irgendwo eine gute Übersicht welcher Angriff auf welchem System (CPU+OS) durch welche Strategie(n) abgeblockt werden soll? Insbesondere mit einer Erklärung, was evtl. Microcode Updates genau machen?

Ich hab den Eindruck, dass hier generell ziemlich viel durcheinander geworfen wird.
 
Ich hab das so verstanden das ein ähnliches System wie Retpoline auch auf Windows zum tragen kommt. Klar die jetzt ausgerollten Patches sind Microcode + IBRS oder so. Aber mittelfristig habe ich das schon so verstanden dass Retpoline auch auf Windows kommt - da es viel weniger Performance kostet als die Holzhammer-Methode (welche man aber für Skylake+ wohl trotzdem sogar noch zusätzlich brauchen wird).

Btw. aur reddit gefunden:
https://www.reddit.com/r/Amd/comments/7o2i91/technical_analysis_of_spectre_meltdown

speziell dann die Erläuterungen weiter unten:
https://www.reddit.com/r/Amd/comments/7o2i91/technical_analysis_of_spectre_meltdown/#ds9lo4y

"What's more, several different mitigations are required for Spectre v2, depending on the CPU involved. On Skylake, Kaby Lake and Coffee Lake, even "retpolines" are insufficient, and a combination of a microcode update and something really exotic on the software side are required. For AMD, merely inserting an LFENCE instruction into the indirect-branch sequence immunises it completely (and it was already difficult to attack that way). ARM has actually introduced an extra instruction for their existing CPUs, somehow - probably through the firmware update they've released to go with it - which addresses the problem directly."

Kurzes Transkript ins Deutsche:
Allgemein: Mitigations (also "Erschwerungen/Aufhebungen/Entschärfungen") für Spectre v2 hängen stark von der CPU ab.
Auf Skylake, Kabylake, Coffeelake sind auch "retpolines" unzureichend und eine Kombination aus Microcode und einigen sehr exotischen Software Sachen sind erforderlich. Auf AMD reicht es aus LFENCE-Instruktionen (EDIT: via Compiler ? oder Microcode ?/EDIT) in die indirekte Branch sequenz einzuführen um vollständig zu immunisieren (und dabei war es bereits schwer (EDIT: AMD /EDIT) auf diesem Weg zu attackieren. ARM hat tatsächlich einen neuen Befehl für ihre existierenden CPUs eingeführt (EDIT: via Microcode ? /EDIT) welcher irgendwie - wahrscheinlich mit Hilfe des Firmware updates dass sie zusammen damit released haben - das Problem direkt löst.
 
Microsoft hat neue Patches gegen Meltdown und Spectre bereitgestellt, die geplagten AMD-Nutzern helfen sollen.
Sie sind derzeit allerdings nur für Windows 7 und Windows 8 verfügbar und kaum dokumentiert.
Die Installation bleibt erst einmal ein Risiko. Über Windows Update werden sie noch nicht ausgeliefert.
für Windows 7 und Windows 8, die KB-Nummern KB4073578 sowie KB4073576.
Für Windows 10 gibt es bisher gar keinen Patch.

http://www.pcgameshardware.de/Siche...Microsoft-mit-neuen-Patches-fuer-AMD-1248243/
 
Ah hier hatte ich das gelesen mit "Retpoline" @ Windows:
https://www.reddit.com/r/cpp/comments/7p9l8x/is_msvc_also_being_updated_to_include_the/

und hier mit einer einigermaßen guten Übersicht was/wie gegen welche Variante gemacht werden muss @Windows:
https://cloudblogs.microsoft.com/mi...-and-meltdown-mitigations-on-windows-systems/

Ahhh: Retpoline wirkt generell über C++:
https://support.google.com/faqs/answer/7625886

Ist also nicht Linux spezifisch - das OS und die Software müssen halt mit nem entsprechenden C++ compiler neuübersetzt werden.
 
Zuletzt bearbeitet:
Zurück
Oben