News Spectre lebt: Seitenkanalangriffe auf AMD Ryzen und Intel Core möglich

davidzo schrieb:
Das ist ein heftiger Schlag gegen x86.

Die brauchen nämlich diese Verrenkungen wie microop cache und makroop fusion um mit so einem schmalen frontend und relativ kleinen caches auszukommen.

Gegenbeispiel AMD64: Tremont; hat keinen uop-Cache.
Gegenbeispiel ARM: Cortex-A77 und A78: haben einen uop-Cache.

Aber andere Caches stellen auch einen side channel dar.

Das liegt daran dass die Assoziativität immer der Cachegröße geteilt durch Pagesize entsprechen muss.

Gegenbeispiel: AMD K7, K8, K10: 64KB L1, 2-way set-associative.

Da x86 aber nur feste Pagesizes von 4KB, 2MB, und 1GB unterstützt

Gegenbeispiel: Ein Cyrix-Prozessor (6x86? M1?) hat alle Zweierpotenzen ab 4K unterstuetzt; hat sich aber nicht durchgesetzt.

Arm dagegen auch 64kb, müssen größere caches auch eine sehr große assoziativität bekommen, was reichlich energie frisst.

ARM selbst arbeitet aber mit 4KB-Seiten. Ein interessanter Fall ist RISC-V, die sie auf 4K festgelegt haben, die meinen also offenbar, dass groessere Seiten keine nennenswerten Vorteile bieten.
 
  • Gefällt mir
Reaktionen: cbtestarossa und Lamaan
mae schrieb:
Gegenbeispiel AMD64: Tremont; hat keinen uop-Cache.
Gegenbeispiel ARM: Cortex-A77 und A78: haben einen uop-Cache.

Aber andere Caches stellen auch einen side channel dar.
Ich habe auch nicht gesagt das ARM gegen side channel immun ist. Ich habe lediglich festgestellt dass die x86 big cores sehr auf µop Caches angewiesen sind, da variable instruction length decoder einfach riesig und kompliziert sind. Die sind daher nur 4-wide, ohne decoder recycling geht nicht nur power draw stark nach oben, sondern wird auch die pipeline superbreiter cores wie willow cove, golden cove, etc. nicht ausreichend gefüllt.
Das ARM cores meistens keinen µop cache brauchen liegt ja eben daran dass es keine fetteb cores sind wie die x86 "big-core" designs. Außerdem können die decoder für fixed instruction length ohnehin viel einfacher sein, viel weniger energie verbrauchen und große caches ohne vielen aufwand und großem power draw realisiert werden.

ARM hat den µop $ erst mit Hercules/A78 eingeführt weil es vorher einfach keinen bedarf gab und mit 1,5K entries ist der auch gerademal auf sandybridge niveau. Man hätte stattdessen auch 5-wide oder 6-wide decode gehen können, da man seit dem a76 das frontend nicht verbreitert hat. Das heißt nicht dass Dinge wie µopcache und instruction fuse die x86 seit Jahren machen für ARM keinen Sinn machen. Irgednwann werden die das auch brauchen wenn die Cores immer breiter werden. Aber während x86 darauf jetzt schon angewiesen ist um das frontend nicht zum bottleneck werden zu lassen ist das bei ARM einfach nicht so dringend notwendig.

Und Tremont ist ein small Core und noch dazu eine Krücke, das ist eher ein Argument pro µop-cache.

mae schrieb:
Gegenbeispiel: AMD K7, K8, K10: 64KB L1, 2-way set-associative.
ja und IPC, effizienz-technisch weit abgeschlagen in 2021. Das heißt dass mit pech jede menge zeug geladen wird welches man nicht braucht und nur in sonderfällen werden die 64kb gut ausgenutzt. Und die line size ist trotzdem 64byte.
Ein wichtiger Faktor für die Effizienzgewinne von Zen1 gegenüber Bulldozer war die Einführung des µop caches.

mae schrieb:
Gegenbeispiel: Ein Cyrix-Prozessor (6x86? M1?) hat alle Zweierpotenzen ab 4K unterstuetzt; hat sich aber nicht durchgesetzt.
Interessant! Das hat bei Cyrix aber andere Gründe dass die es nicht geschafft haben. Wie setzen die das um wenn die x86 ISA das nicht anbietet?
mae schrieb:
ARM selbst arbeitet aber mit 4KB-Seiten. Ein interessanter Fall ist RISC-V, die sie auf 4K festgelegt haben, die meinen also offenbar, dass groessere Seiten keine nennenswerten Vorteile bieten.
Ja, der cache unterstützt variable page sizes. Apple kann zwischen 64, 32, 16 und 4kb hin und her schalten und legt dann die jeweiligen ungenutzten blöcke schlafen. So nutzen sie immer die gesamte Assoziativität aus, anders wäre der zusammen 384kb große L1 Cache (größer als der Comet Lake L2 cache!) gar nicht möglich in einem Iphone-Power Budget.

Alle aktuellen ARM CPUs verwenden größere page sizes als 4KB und haben größere Caches mit geringerer assoziativität als aktuelle x86 CPUs.
Aktuelle x86 cores haben 32kb/8way I und Data caches mit tigerlake als ausnahme mit 48kb 12-way

ARM cpus bis zum A76, A77, A78 haben traditionell je 64kb I- und Data Cache mit lediglich 4-way Assoziativität. Das kostet weniger Diefläche und Energie, hat aber dank 16kb page size eine ähnlich gute vllt. sogar bessere hitrate.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: cbtestarossa und kryzs
der Unzensierte schrieb:
Schon am Anfang der Geschichte bei Spectre war ja einer der workarounds das deaktivieren von SMT.
Das frage ich mich gerade: Hilft das auch bei dieser Lücke?
Den Sicherheitsforschern zufolge funktioniert der Angriff mit Hilfe von „I see dead µOps“ insbesondere auch zwischen zwei Threads, die sich die Ressourcen eines CPU-Kerns mittels Simultaneous Multi-Threading (SMT) teilen.
"...insbesondere auch..." klang für mich jetzt recht schwammig. Ist die Sache gegessen, wenn ich (theoretisch) SMT abschalte, oder gibts da dann immer noch Angriffsmöglichkeiten? (also mit dieser Lücke)
 
SV3N schrieb:
Über die Micro-Op-Caches lassen sich CPUs den Serien AMD Ryzen und Intel Core mittels eines Seitenkanals per Spectre attackieren. Ein Forscherteam der Universität von Virginia hat die neue Sicherheitslücke in allen modernen Prozessoren ab AMD Ryzen 1000 alias Summit Ridge und Intel Core i-2000 alias Sandy Bridge entdeckt.

Zur News: Spectre lebt: Seitenkanalangriffe auf AMD Ryzen und Intel Core möglich
@Sven: Wenn's geht, bei solchen Meldungen bitte vorneweg oder sehr früh im Artikel mitteilen, ob diese Angriffe remote ausführbar sind oder der Böse Onkel (oder die Böse Tante) direkten Zugang zum Computer braucht. M.E. sind Sicherheitslücken die sich über den Browser usw ausnutzen lassen sehr viel relevanter für die meisten von uns, zB die exploits die gerade für Webkit/Safari geschlossen wurden.
 
  • Gefällt mir
Reaktionen: ###Zaunpfahl###
Gibt doch den Staatstrojaner also können sie doch drauf verzichten so was ständig einzubauen?!
 
Tzk schrieb:
Denke nicht das du als Privatanwender die große Zielscheibe auf der Brust hast. Viel interessanter sind Server und PCs die eine sicherheitstechnische Relevanz haben. Wenn man derart viel Aufwand treibt, damit man in deinen PC eindringen kann, dann wäre wohl ein einfacher Einbruch bei dir zuhause weniger aufwändig.

Ich hab auf meinem PC übrigens alle Mitigations gegen Spectre und Meltdown abgeschaltet... ;)
Das lese ich immer wieder. Aber was ist denn mit der indirekten Gefahr? Wenn ich als User dann kompromittierte Dateien von eben diesen Server-PC lade und ausführe - oder auch meine eigenen Dateien, die ich bei Cloud-Dienstleistern gespeichert habe und als sicher ansehe?
Bei Linux-Distris läuft das ja etwas anders übers Package Management, aber auch da sehe ich dann das Risiko bei befallenen Servern (PW auslesen -> einloggen -> kompromittieren). Oder denke ich das falsch/zu einfach oder zu drastisch?
 
Haben die "Forscher" auch aufgezeigt was man damit machen kann?
Vermutlich nicht viel, maximal für Geheimdienste.
Aus https://software.intel.com/security...hannels-against-cryptographic-implementations entnommen:
We can prevent these side channels if we make the code execution time independent of the values in the code (in accordance with the SIR principle). The Intel® Architecture instruction set designers have anticipated this need. Compiling the same C function with optimization enabled generates the following code, with no branch instructions.
Da moderne/aktuelle Software mit aktivierten Optimierungen veröffentlicht wird, ist das alles so gut wie theoretisch möglich und kann m.M.n. auch mit einem Art von Virenscanner überprüft werden.
 
  • Gefällt mir
Reaktionen: Blackfirehawk
areiland schrieb:
Stellt sich eben wie immer die Frage, wieviel Aufwand muss betrieben werden, um diese Lücke unbemerkt ausnutzen zu können? Ich schätze mal, der Aufwand ist so hoch und erfordert soviel KnowHow, dass sich ein solcher Angriff maximal bei besonders exponierten Personen oder Institutionen lohnen würde.
Nein. Der Aufwand ist nicht hoch. Aber bei dir als Privatperson wäre er sehr hoch bis unmöglich...

In der Cloud hostest du eine VM. Hier könnte jede andere VM die auf dem selben Server gehostet ist diesen Angriff gegen deine VM ausführen. Und da liegt dieses extreme Sicherheitsrisiko begraben.. Hier wäre der Aufwand nicht groß und vor allem du als Geschädigter würdest null merken..

Relevanz kann das für dich trotzdem haben auch wenn du selbst nichts im der Cloud hostest. Denn du kommunizierst täglich mit Systemen in der Cloud... Also in der Theorie könnten so sensible Daten von dir angegriffen werden... Das aber eher zufällig... Wenn man gezielt was wollte wurde der Aufwand sehr stark steigen...
 
  • Gefällt mir
Reaktionen: iron-man und Unnu
Shoryuken94 schrieb:
Wundert mich auch etwas. Was war das bei Intel für ein Drama und nun betrachten viele es objektiv, da nicht wirklich praxisrelevant. Das CB Forum ist ein wenig wie der Schulhof einer Grundschule :)
Ja, da habt ihr beiden natürlich vollkommen Recht.

Aber jetzt geht euch noch einmal schnell die Hände waschen, ihr habt jetzt lange genug im Sandkasten gewühlt. Der Unterricht geht auch gleich weiter.
 
  • Gefällt mir
Reaktionen: chartmix und Kodak
Jesterfox schrieb:
Jepp, für Privat-PCs ist der Aufwand der bei der ganzen Spectre-Familie getrieben werden muss um an irgend was zu kommen eigentlich viel zu hoch. Einzige Ausnahme die ich da sehe war Meltdown. Und ich sehe da auch die Möglichkeit dass die Heuristik einer Antiviren-Software entsprechende Schädlinge die das versuchen erkennen kann.

Problematisch ist das halt für Cloud-Hoster wo mehrere VMs auf dem selben Server laufen und man so aus einer VM heraus versuchen kann die anderen anzugreifen.
In Cloud wird XEN eingesetzt da läuft nix mit VMs…
 
@psyabit
Xen (Aussprache: [ˈzɛn]), auch Xen Project (in Abgrenzung zu darauf basierenden kommerziellen Produkten), ist ein Hypervisor, also eine Software, die den Betrieb mehrerer virtueller Maschinen auf einem physischen Computer erlaubt. Sie entstand an der britischen Universität Cambridge und wird heute von dem US-Unternehmen Citrix Systems weiterentwickelt. Der Name leitet sich von der Vorsilbe xeno (zu altgriechisch ξένος xénos „Fremder, Gast“) ab.
https://de.wikipedia.org/wiki/Xen
 
  • Gefällt mir
Reaktionen: iron-man und Unnu
psyabit schrieb:
In Cloud wird XEN eingesetzt da läuft nix mit VMs…
Das erklär‘ mir jetzt bitte etwas genauer ...
Da bin ich gespannt.
 
harrysun schrieb:

Da wird der klassische (vor Spectre) Umgang mit side channels beschrieben: Den Code, der mit den kritischen Daten (v.a. Krypto-Schluessel) umgeht, so schreiben, dass er nichts ueber die bekannten Side Channels preisgibt. Das Problem mit Spectre ist, dass der Angreifer dann ganz anderen Code dazu verwenden kann, um das Geheimnis zu lueften; dann muesste man den Code des ganzen Prozesses so schreiben wie das Intel fuer den Krypto-Code empfiehlt.

Da moderne/aktuelle Software mit aktivierten Optimierungen veröffentlicht wird, ist das alles so gut wie theoretisch möglich und kann m.M.n. auch mit einem Art von Virenscanner überprüft werden.

Nein, Optimierung macht Code nicht immer (noch nicht einmal meistens) sicher gegen (non-Spectre) Side-Channel-Attacken; es macht's halt in dem Beispiel, das Intel da zeigt, mit dem Compiler, den Intel verwendet hat. Code wird oft langsamer, wenn er gegen Side-Channel-Attacks gehaertet wird (ich kann mich da an Berichte von Faktor 2 und mehr erinnern), das macht der Compiler nicht, wenn man die Optimierung einschaltet, und oft muss man auf der Hut davor sein, dass der Optimierer gehaerteten Code wieder weichoptimiert.
 
psyabit schrieb:
In Cloud wird XEN eingesetzt da läuft nix mit VMs…
Und die Firmenwagen sind BMWs, keine Autos?

Und wenn es dir darum gehen sollte das es ein Typ 1 Hypervisor ist: das ist Spectre egal, das ist das eigentlich fatale an diesen Lücken.
 
der Unzensierte schrieb:
das der ganze multi-thread-Ansatz
Wie schaut es denn bei IBM und Ihrem SMT aus? Sind da auch Sicherheitslücken bekannt?
 
Zurück
Oben