1. applicability = Anwendbarkeit.
2. vulnerability was observed = Verletzlichkeit wurde beobachtet.
Du kannst jetzt gerne Wortklauberei betreiben und dich an solchen Deatils aufhängen. Ist nicht wirklich mein Problem und mir auch relativ egal.
Ich möchte einfach mal konkret nachlesen, welchen Erfolg der Spectre V1-Angriff verspricht, oder ob die Ergebnisse überhaupt ankommen.
Das Problem bei der ganzen Sache ist, dass nicht jeder Angriff auf jeder CPU erfolgreich ist. Sogar die unterschiedlichen Produktreihen bei Intel verhalten sich individuell bei verschiedenen Angriffen (steht auch irgendwo so im spectre oder meltdown pdf, aber kein Bock die Stelle zu suchen). Die meisten kopieren einfach nur verfügbare PoC 1:1 und können diese nicht anpassen, was aber für manche CPUs einfach nötig ist.
Hier kann man das z.B. ganz gut erkennen, wenn man sich die ganzen Kommentare durchliest. Mit kleineren und auch größeren Tweaks war es dann ein paar Usern auf einmal doch möglich Daten erfolgreich auszulesen. Es sind auch User dabei, die berichten, dass dies auf ihren Systemen mit Threadripper und Ryzen funktioniert hat.
Hier hat jemand den PoC für seinen AMD GX-412TC SOC angepasst:
GitHub - crozone/SpectrePoC: Proof of concept code for the Spectre CPU exploit.
Zu erkennen ist, dass das
Secret erfolgreich ausgelesen wurde.
Plötzlich keine Angst mehr wegen Links gebannt zu werden?
Um nämlich eine AMD-CPU erfolgreich mit Spectre V1 attackieren zu können, muss BPF JIT im Kernel aktiviert sein. Ansonsten passiert nix:
Quelle:
Project Zero: Reading privileged memory with a side-channel
Ich habe bis heute
keinen sichtbaren PoC für Spectre V1 auf AMD-CPUs gefunden, wenn im Kernel BPF JIT deaktiviert ist - was
standardmäßig der Fall ist.
Bei Intel hingegen klappt
einfach alles.
Auch das hast du falsch verstanden...
Für Variante 1 wurden unterschiedliche PoCs getestet. Bei dem ersten PoC war der Angriff erfolgreich, unabhängig davon, ob
eBPF JIT aktiviert oder deaktiviert wurde. Aber wichtig bei diesem PoC anzumerken:
This PoC only tests for the ability to read data inside mis-speculated execution within the same process, without crossing any privilege boundaries.
Bei dem zweiten PoC musste dafür BPF JIT aktiviert werden.
This section describes in more detail how variant 1 can be used to leak Linux kernel memory using the eBPF bytecode interpreter and JIT engine. While there are many interesting potential targets for variant 1 attacks, we chose to attack the Linux in-kernel eBPF JIT/interpreter because it provides more control to the attacker than most other JITs.
Spectre ist nicht abhängig von dem
eBPF JIT! Dieser ist aber nur einer von vielen Möglichkeiten, über den angegriffen werden kann.
Gibt auch bisher keinen Nachweis dafür, lass dich von ihm nicht verrückt machen.
Wie du anhand meiner Verlinkungen sehen kannst, gibt es dafür eben doch Nachweise.
Es geht mir nicht darum hier irgendwen verrückt zu machen, sondern nur
nicht so ganz korrekte Informationen zu korrigieren.
Diese ganzen PoCs dürften auf Systemen mit den aktuellsten Patches eh nicht mehr funktionieren. Für Spectre V1 sollen ja Software-Updates genügen, um diese Lücke zu fixen. Für Spectre V2 sind zusätzlich noch MCUs nötig, aber diese hat Intel ja schon released und bei AMD sollen die ja wohl auch demnächst veröffentlicht werden.
Aber ich bin mal raus hier, da von fortunes nichts wirklich sinnvolles kommt, ist es eher mühig zu
diskutieren.