Bitrauschen: Bockige CPU-Zufallszahlen und offene Befehlssatzarchitekturen

AMD kämpft seit Monaten mit Zufallszahlengeneratoren in mehreren Prozessorgenerationen. IBM legt mit der OpenPOWER Foundation die Power-ISA offen und bringt sie bei der Linux Foundation unter.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Bitrauschen: Bockige CPU-Zufallszahlen und offene Befehlssatzarchitekturen
Lesezeit: 5 Min.

Wie der Zufall so spielt: AMD doktert an den eingebauten Zufallszahlengeneratoren gleich mehrerer Prozessorgenerationen herum. Der Bug in der RDRAND-Funktion des aktuellen Ryzen 3000 sorgte für Ärger, weil deshalb einige Linux-Distributionen nicht booten wollten und manche Windows-Programme den Start verweigerten. Das ließ sich zwar durch BIOS-Updates beheben, bescherte der Linux-Gemeinde jedoch ein Déjà-Vu: Bereits im Februar war beim Einsatz einer neuen systemd-Version aufgefallen, dass die RDRAND-Funktion einiger älterer AMD-Prozessoren nach dem Aufwachen aus dem Standby versagte.

Daran könnte ebenfalls das jeweilige BIOS schuld haben, falls es beim schnellen Standby-Start vergisst, auch RDRAND wieder zu aktivieren – anders als beim Neustart. Der sogenannte S3-Resume-Bootpfad ist seit 20 Jahren berüchtigt für Pannen und Sicherheitslücken. Unklar ist bisher aber, ob AMD geschlampt hat oder die jeweiligen Mainboard-Hersteller, die ihre BIOSe nicht gründlich genug testen. Jedenfalls holte AMD nun den Holzhammer raus, um die RDRAND-Funktion bei jüngeren Bulldozer-Prozessoren (Typ 15h ab Excavator) und einigen Billigprozessoren (ab Puma, Typ 16h 30h-3Fh) zu „reparieren“: Ein Kernel-Patch schaltet RDRAND unter Linux schlichtweg ab. AMD mag anscheinend nicht darauf vertrauen, dass die PC- und Mainboard-Hersteller BIOS-Updates für die alte Hardware ausliefern.

Doch andere Kernel-Entwickler kritisieren die Holzhammermethode harsch: Sie warnen davor, den Linux-Kernel zur Reparatur kaputter Hardware-Funktionen zu missbrauchen. Wenn jeder Chiphersteller Code-Patches für vermurkste Features in den Kernel kippt, drohe ein Fass ohne Boden.

Die Diskussion rückt wieder einmal in den Blick, dass schlecht durchdachte „Featuritis“ schwere Probleme aufwirft, deren nachträgliche Reparatur dann Ressourcen frisst. AMD steht mit den RDRAND-Pannen auch nicht alleine da, denn Intel war damit schon 2012 bei Ivy Bridge (Core i-3000) auf die Nase gefallen. Intel hatte den Zufallsgenerator nach Vorgaben des US-Standards NIST SP800-90 umgesetzt, dem die NSA jedoch eine absichtlich geschwächte Unterfunktion Dual_EC_DRBG untergeschoben hatte, wie seinerzeit in c’t 21/2013 berichtet. Das BSI empfiehlt bis heute, sich bei Zufallswerten für sichere Schlüssel nicht alleine auf RDRAND zu verlassen – und das tut Linux auch nicht, sondern bezieht auch andere Zufallsquellen mit ein.

Der Random Number Generator (RNG) zog in AMD-Prozessoren wohl nicht zufällig 2015 mit dem ebenfalls kritisierten Platform Security Processor (PSP) auf Basis eines ARM Cortex-A5 ein, den AMD zwischenzeitlich in AMD Secure Processor umbenannte. Auch bei Zen-Prozessoren wie dem Ryzen 3000 liefert die Zufallszahlen ein „Cryptographic Coprocessor CCP 5.0“, der laut Erklärung von AMD-Entwicklern auf der Linux-Kernel-Mailingliste wiederum Teil des „Secure Processor“ ist. Linux-Mastermind Linus Torvalds halten AMDs Zufallsprobleme nicht davon ab, einen Ryzen-PC bauen zu wollen – letzteres verkündete er im Forum bei RealWordTech.

Das US Department of Energy (DoE) steckt 600 Millionen US-Dollar in einen weiteren Exaflops-Supercomputer für die Atomwaffenforschung: Die HPE-Tochter Cray soll den „El Capitan“ ab Ende 2022 am Lawrence Livermore National Laboratory (LLNL) installieren. Es soll ein hybrides System mit CPUs und GPUs werden – aber welche, ist noch offen. Die Entscheidung will man später treffen, weil es bei diesen Chips derzeit rasche, schwer vorhersagbare Entwicklungen gibt. Da müssen sich die „üblichen Verdächtigen“ AMD, Intel und Nvidia jetzt ins Zeug legen. Dabei fällt auf, dass von IBMs Power9 derzeit wenig zu hören ist in Bezug auf Supercomputer. Zwar sind die aktuellen Top500-Spitzenreiter Summit und Sierra mit der IBM-CPU bestückt, aber sonst nur vier weitere Systeme. Googles einst mit großen Hoffnungen gestartetes „Zaius“-Projekt für offene Power9-Cloudserver kommt zwar wohl tatsächlich zum Einsatz, scheint aber eher Nischen zu füllen. Inspur – der drittgrößte Serverhersteller der Welt – verkauft nach eigenen Angaben immerhin viele Power9-Maschinen in China.

2023 soll der Supercomputer „El Capitan“ dem US-LLNL über 1,5 Exaflops Rechenleistung liefern – aber mit welchen Chips, ist noch offen.

(Bild: LLNL)

IBM und die OpenPOWER Foundation entwickeln unterdessen fleißig weiter, etwa an OpenCAPI-Erweiterungen wie dem Open Memory Interface (OMI). Nun hat die OpenPOWER Foundation nicht nur die Power-Befehlssatzarchitektur (ISA) offengelegt, sondern ist auch unters Dach der Linux Foundation geschlüpft. Dort, nämlich bei der CHIPS Alliance, nisten unter anderem auch Förderer der offenen RISC-V-ISA, über die Sie ab Seite 134 in dieser c’t mehr lesen können.

Dieser Beitrag stammt aus c't 19/2019. (ciw)