NEWS

Intel

Neues Microcode-Update verhindert Erratum im Instruction-Cache (2. Update)

Portrait des Authors


Neues Microcode-Update verhindert Erratum im Instruction-Cache (2. Update)
105

Werbung

Es gibt Neuigkeiten bei den Sicherheitslücken, die Intel in den vergangenen Monaten schon schwer zu schaffen gemacht haben. ZombieLoad ist in der Variante 2 auch dann gefährlich, wenn Prozessoren gegen Attacken wie MDS, RIDL oder Fallout bereits abgesichert sind.

Zusammen mit den Entdeckern von MDS, RIDL und Fallout hat Intel heute Details zur neuen Sicherheitslücke veröffentlicht. Dazu wurde auch eine Mitigation-Strategie veröffentlicht. Hintergrund von ZombieLoad v2 ist ein sogenanntes Jump Conditional Code (JCC) Erratum. Problematisch sind Jump-Instruktionen, die im decodierten Instruction Cache über die Grenzen von 32 Bit hinaus Instruktionen aufrufen wollen bzw. solche Aufrufen auf Instruktionen zeigen, die an die 32-Bit-Grenze im Cache verweisen. Per Software bzw. einem Microcode-Update kann dies verhindert werden, doch dies bedeutet einen Verlust an Leistung.

Betroffen sind die folgenden Prozessor-Generationen:

  • Amber Lake
  • Cascade Lake
  • Coffee Lake
  • Comet Lake
  • Kaby Lake
  • Skylake
  • Whiskey Lake

Damit sind die wichtigsten aktuellen Desktop- und Server-Architekturen betroffen. Der durch das Microcode-Update womöglich verringerten Leistung kann im Assembler durch ein Update in der Compiler-Toolchain gegengesteuert werden. Dies soll fehlerhafte Jump-Instruktionen verhindern, so dass auf Seiten der Hardware keine Anpassungen im decodierten Instruction Cache oder Decoded Streaming Buffer mehr gemacht werden müssen.

Durch die Microcode-Updates spricht Intel von einem Leistungsverlust von 0 bis 4 %. Unter gewissen Umständen sollen es auch mehr als 4 % sein. Während eine Mitigation von Spectre, Meltdown, L1TF und MDS aber nur bestimmte Anwendungen betrifft, soll das JCC-Erratum weitaus größere Auswirkungen haben, da viele User-Space-Workloads davon betroffen sind. Phoronix hat die ersten Benchmarks erstellt und vergleicht alte und neue Prozessoren mit und ohne dem Microcode-Update.

Intel hat zum JCC-Erratum einen Einseiter, einen ausführlichen Deep Dive und ein Security Advisory Disclosure veröffentlicht. Welche Auswirkungen das JCC-Erratum für den Endnutzer hat, ist derzeit noch nicht bekannt.

Die Auswirkungen der MDS-Mitigation haben wir uns im Rahmen der Xeon-Platinum-Prozessoren der 8180- und 8280-Serie bereits angeschaut.

1. Update:

Phoronix liefert die ersten Spiele-Benchmarks nach und vor dem Microcode-Update. Je nach Spiel ist der Einfluss auf die Leistung mal größer und mal kaum spürbar. Wenn jedes FPS eine Rolle spielt, spielt die Mitigation des JCC-Erratum aber durchaus eine Rolle. Wann Intel damit beginnen wird die Microcode-Updates über die BIOS-Updates zu verteilen, ist derzeit nicht bekannt.

2. Update:

Zunächst einmal müssen wir auf einen Fehler im Text hinweisen, denn ZombieLoad v2 hat nichts mit dem JCC-Erratum zu tun. ZombieLoad v2 ist eine weitere Sicherheitslücke, die von Intel als TSX Asynchronous Abort (TAA) geführt wird. Intel hat insgesamt 77 teils kritische Lücken veröffentlicht, zwei davon sind eben ZombieLoad v2 und das JCC-Erratum.

Die Problematik zu ZombieLoad v2 bzw. TSX Asynchronous Abort (TAA) ergibt sich für Intel vor allem aus dem Umstand, dass man die Xeon-Scaleable-Prozessoren der zweiten Generation alias Cascade Lake-SP und -AP als in Hardware gesichert gegen solche Lücken beworben hat, diese Absicherung im Falle des TAA aber nicht greift und Intel davon schon im April wusste. Als Responsible Disclosure wurde die Lücke allerdings bis gestern nicht öffentlich gemacht.

Für TAA anfällig sind ebenfalls alle Skylake-Derivate, darunter der Coffee-Lake-Refresh für die aktuellen Desktop-Prozessoren und eben auch die zukünftigen Core-X-Prozessoren auf Basis von Cascade Lake. Viel schwerwiegender ist aber, dass die aktuellen Xeon-Prozessoren, ebenfalls basierend auf Cascade Lake, betroffen sind, wenn Intels Transactional Synchronization Extensions (TSX) aktiviert sind.