Spectre AMD-Microcodeupdate-Chaos seit 체ber einem Jahr

Anfang 2018 wur짯den diver짯se Hard짯ware-Sicher짯heits짯l체짯cken in Pro짯zes짯so짯ren welt짯be짯kannt und erhiel짯ten die Namen Melt짯down und Spect짯re. W채h짯rend Melt짯down aus짯schlie횩짯lich und bei짯de Vari짯an짯ten von Spect짯re die Intel-CPUs vie짯ler Jah짯re betref짯fen, hat짯te AMD zumin짯dest bei einer Spect짯re-Vari짯an짯te Handlungsbedarf.

Bei짯de gro짯횩e Unter짯neh짯men l철s짯ten die Pro짯ble짯me der alten Pro짯zes짯so짯ren mit짯tels Micro짯co짯de짯up짯dates und plan짯ten Hard짯ware짯l철짯sun짯gen f체r neue, noch nicht fer짯ti짯ge Pro짯zes짯so짯ren ein. AMD hat im Janu짯ar 2018 und Febru짯ar 2018 die erfor짯der짯li짯chen Micro짯co짯de짯up짯dates nach Tests f체r CPUs und APUs der Fami짯ly 15h (Bull짯do짯zer und Abk철mm짯lin짯ge), Fami짯ly 16h (Kabi짯ni und Abk철mm짯lin짯ge) sowie Fami짯ly 17h (Zen und Abk철mm짯lin짯ge) frei짯ge짯ge짯ben. Damit die짯se Micro짯co짯de짯up짯dates aber 체ber짯haupt auf die Ziel짯com짯pu짯ter gelan짯gen k철n짯nen, ist ein Update erfor짯der짯lich, sodass die짯se auch ange짯wandt wer짯den k철nnen.

M철g짯lich짯keit Nr. 1 die Inte짯gra짯ti짯on in ein BIOS-/UE짯FI-Update:

W채h짯rend f체r eini짯ger짯ma짯횩en aktu짯el짯le Sys짯te짯me BIOS-Updates ver짯f체g짯bar sind, gibt es in der Regel f체r Sys짯te짯me, die 채lter als 4 Jah짯re sind, oft kei짯nen Sup짯port, sprich Updates. Bei Main짯boards ist es noch schlim짯mer. Ein Bei짯spiel: das ASRock FM2A68M-DG3+ die짯ses Board hat am 05.03.2019 ein BIOS-Update erhal짯ten, dar짯in ist das erfor짯der짯li짯che Micro짯co짯de짯up짯date f체r Car짯ri짯zo und Bris짯tol Ridge, jedoch kei짯nes der Updates f체r die ande짯ren FM2- sowie FM2+-Prozessoren. Lei짯der wie짯der짯holt sich dies bei ande짯ren Boards und Her짯stel짯lern. Sofern es 체ber짯haupt noch Updates f체r Sockel FM2- oder FM2+-Boards gibt, ist maxi짯mal das Micro짯co짯de짯up짯date f체r die letz짯te Gene짯ra짯ti짯on der Bull짯do짯zer AMD Car짯ri짯zo enthalten.

M철g짯lich짯keit Nr. 2 die Inte짯gra짯ti짯on in einen Bootloader:

Eine wei짯te짯re Opti짯on ist ein pr채짯pa짯rier짯ter Boot짯loa짯der, der die Micro짯co짯de짯up짯dates vor dem Betriebs짯sys짯tem (und des짯sen eige짯nem Boot짯loa짯der) l채dt. Pro짯blem ist hier nur, es ver짯st철횩t gegen den UEFI Secu짯re짯Boot und kann so nicht von Unter짯neh짯men genutzt werden.

M철g짯lich짯keit Nr. 3 die Inte짯gra짯ti짯on in den OS-Kernel:

Die drit짯te und letz짯te funk짯tio짯nie짯ren짯de Vari짯an짯te ist die Inte짯gra짯ti짯on der Micro짯co짯de짯up짯dates in die jewei짯li짯gen Ker짯nels des Betriebssystems.
Beim Win짯dows-Ker짯nel (ntoskrnl.exe) sind die Micro짯co짯de짯up짯dates ab Win짯dows 7 in 2 Datei짯en des Sys짯te짯m32-Ord짯ners enthalten:

  • mcupdate_AuthenticAMD.dll f체r AMD-CPUs
  • mcupdate_GenuineIntel.dll f체r Intel-CPUs

W채h짯rend f체r Intel-CPUs gleich meh짯re짯re Win짯dows-Updates mit aktua짯li짯sier짯ter mcupdate_GenuineIntel.dll ver짯f체g짯bar sind und auch an alle der짯zeit noch im Sup짯port befind짯li짯chen Win짯dows-Ver짯sio짯nen ver짯teilt wur짯den, sieht es bzgl. Updates mit aktua짯li짯sier짯ter mcupdate_AuthenticAMD.dll noch immer d체s짯ter aus.

Wer jetzt denkt, dies sei ein rei짯nes Win짯dows-Pro짯blem und bei Linux g채be es so etwas nicht, hat durch짯aus Recht, denn dort sieht es noch d체s짯te짯rer aus! Linux ben철짯tigt da nur die jewei짯li짯gen Fam-Bins aber auch wenn es da neue짯re Datei짯en gab, feh짯len bei Linux die meis짯ten Updates.

Hier eine klei짯ne 횥bersicht:

AMD_ucodes_xls

Micro짯soft lie짯fert die Micro짯co짯de짯up짯dates f체r Spect짯re bei AMD-CPUs bis짯her nur f체r die ers짯ten Bull짯do짯zer-CPUs (OR-B2 und OR-C0) wie auch f체r die ers짯ten Bull짯do짯zer-APUs (TN-A1 und RL-A1) aus aber auch nur f체r Win짯dows 10 Ver짯si짯on 1809 sowie Ser짯ver 2019 und neu짯er! 횆lte짯re Ver짯sio짯nen erhiel짯ten nichts, auch wenn es Win짯dows-10-LTSB-Vari짯an짯ten sind. Die kom짯men짯de neue Ver짯si짯on von Win짯dows 10, bis짯her als 19H1 bekannt, hat auch kei짯ne wei짯te짯ren Microcodeupdates.

Linux, aus짯ge짯hend vom Ker짯nel-Git lie짯fert bis짯her nur Micro짯co짯de짯up짯dates f체r die ers짯ten Bull짯do짯zer CPUs (OR-B2 und OR-C0) in der microcode_amd_fam15h.bin. Das dar짯in ent짯hal짯te짯ne Update f체r TN-A1 und RL-A1 ist ver짯al짯tet (06001119 aus 2012). Dar짯체ber hin짯aus gibt es noch Updates f체r eini짯ge Zen-basier짯te CPUs (ZP-B2 und Pir-B2) in der microcode_amd_fam17h.bin. Da man bei Linux nur die jewei짯li짯gen .bin-Datei짯en (microcode_amd_fam15h.bin, microcode_amd_fam16h.bin und microcode_amd_fam17h.bin) aus짯tau짯schen m체ss짯te, soll짯te ein Update f체r Linux viel schnel짯ler gehen als bei Win짯dows. Auch hat Linux den Vor짯teil, dass die Bins f체r alle m철g짯li짯chen Ker짯nel genutzt wer짯den k철nn(t)en. Aber seit Mona짯ten ist es still in der lkml.org

Eine gro짯횩e Unbe짯kann짯te bleibt jedoch wei짯ter짯hin Micro짯soft, denn in den ers짯ten Builds (ab 10.0.18836.1000) f체r Win짯dows 10 Ver짯si짯on 20H1 sind alle Micro짯co짯de짯up짯dates von AMD erhal짯ten, auch in 채lte짯ren Builds als man짯che vom kom짯men짯den Win짯dows 10 19H1. Aus짯ge짯hend der bis짯her 체bli짯chen Pra짯xis von Micro짯soft wird jedoch hier짯an bis zum fina짯len Release von Win짯dows 10 Ver짯si짯on 19H1 nichts mehr ge채n짯dert wer짯den, da Micro짯soft nur noch fina짯le Fein짯jus짯tie짯run짯gen macht, immer짯hin ist der Start f체r M채rz/April vor짯ge짯se짯hen. War짯um jedoch Micro짯soft nach 체ber einem Jahr erst anf채ngt, alle Micro짯co짯de짯up짯dates zu inte짯grie짯ren, die dann erst 2 Jah짯re nach Bekannt짯wer짯den von Spect짯re kom짯men, kann nur Micro짯soft selbst beantworten.

Auf bis짯her vier Anfra짯gen an AMD seit April 2018 hier짯zu gab es bis짯lang null Ant짯wor짯ten. Auf die bis짯her drei ver짯sand짯ten Anfra짯gen an Micro짯soft gab es, 횥ber짯ra짯schung, null Antworten

Fazit:
Seit 체ber einem Jahr gibt es Micro짯co짯de짯up짯dates, aber f체r die meis짯ten AMD-CPUs wer짯den ein짯fach kei짯ne ver짯teilt, ein Cha짯os, das f체r den nor짯ma짯len Anwen짯der nicht 체ber, geschwei짯ge denn durch짯schau짯bar ist. Man kann nur hof짯fen, dass dies bal짯digst beho짯ben wird, sp채짯tes짯tens in einem Jahr w채ren dann die AMD-CPUs mit den erfor짯der짯li짯chen Micro짯co짯de짯up짯dates 체ber den Win짯dows-Ker짯nel gesch체tzt. Bei Linux soll짯ten die erfor짯der짯li짯chen Update짯da짯tei짯en auch lang짯sam ver짯teilt werden.

Links:
Pla짯net 3DNow!: Micro짯soft tes짯tet Micro짯co짯de짯up짯dates f체r AMD Bull짯do짯zer in Win짯dows 10 Build 17672
Pla짯to Mavro짯pou짯los: Micro짯code-Extra짯c짯tor und Micro짯code Archiv
Linux Source Git AMD 쨉Code Updates
Pho짯ro짯nix: The Cur짯rent Spect짯re / Melt짯down Miti짯ga짯ti짯on Over짯head Bench짯marks On Linux 5.0