AMD untersucht eine mit Zen 3 eingef체hrte Spectre-like Schwachstelle

Im Gro짯횩en und Gan짯zen hat die neue Zen-3-Archi짯tek짯tur von AMD viel Lob ein짯ge짯heimst: aber짯mals ver짯bes짯ser짯te IPC bei gleich geblie짯be짯nem Takt, deut짯lich ver짯bes짯ser짯te Spie짯le-Per짯for짯mance dank 체ber짯ar짯bei짯te짯ter Cache-Archi짯tek짯tur, etli짯che neue Fea짯tures und Funk짯tio짯nen und das alles bei erheb짯lich nied짯ri짯ge짯rem Strom짯ver짯brauch trotz h철he짯rer Anzahl an Ker짯nen gegen짯체ber den j체ngs짯ten Intel-CPUs.

Doch es gab auch ein paar schie짯fe Zwi짯schen짯t철짯ne. Da w채re zum einen die man짯gel짯haf짯te Ver짯f체g짯bar짯keit der Ryzen 5000. Daf체r zeig짯ten Kun짯den und Medi짯en aller짯dings wei짯test짯ge짯hend Ver짯st채nd짯nis. Wer fremd짯fer짯ti짯gen l채sst wie AMD es tut und sich im Vor짯feld auf eine bestimm짯te Anzahl an Wafer fest짯le짯gen muss, die er bucht, fin짯det sich dann eben in der Fal짯le, wenn ein Pro짯dukt auf짯grund guter Leis짯tun짯gen st채r짯ker nach짯ge짯fragt wird als vermutet/erhofft. Mit ein짯zel짯nen Model짯len wird das erst jetzt, mehr als 4 Mona짯te nach der Markt짯ein짯f체h짯rung, lang짯sam bes짯ser. Noch immer liegt der Stra짯횩en짯preis jedoch 체ber der UVP.

Der zwei짯te Punkt betrifft die Aspek짯te WHEA-Errors im Event짯log ggf. flan짯kiert von Abst체r짯zen, sowie USB-Pro짯ble짯men mit den neu짯en Chip짯s채t짯zen der 500er Serie, die wom철g짯lich ihren gemein짯sa짯men Ursprung in den erwei짯ter짯ten Strom짯spar짯tech짯ni짯ken haben, die mit Zen 3 ein짯ge짯f체hrt wur짯den. AMD unter짯sucht das gera짯de und die letz짯ten AGE짯SA-Ver짯sio짯nen brach짯ten wohl Lin짯de짯rung, was zeigt, dass AMD auf der rich짯ti짯gen Spur ist.

Nun jedoch hat AMD selbst ein White짯pa짯per ver짯철f짯fent짯licht, aus짯ge짯rech짯net zur Markt짯ein짯f체h짯rung der Ser짯ver-Ver짯si짯on von Zen 3 namens Milan, das eine mit Zen 3 neu ein짯ge짯f체hr짯te Schwach짯stel짯le beschreibt, die 채hn짯lich wie Spect짯re V4 ein짯zu짯stu짯fen ist. Wir erin짯nern uns: Anfang 2018 wur짯de eine neue Klas짯se an Schwach짯stel짯len in moder짯nen Pro짯zes짯so짯ren bekannt, die deren leis짯tungs짯stei짯gern짯de Fea짯tures wie Spe짯cu짯la짯ti짯ve Exe짯cu짯ti짯on, Branch Pre짯dic짯tion und Out of Order Exe짯cu짯ti짯on f체r Sei짯ten짯ka짯nal-Angrif짯fe aus짯nut짯zen. Inzwi짯schen sind ein Dut짯zend die짯ser Schwach짯stel짯len in bestimm짯ten Vari짯an짯ten bekannt. Ziel ist es dabei stets, Daten eines Tasks, Pro짯zes짯ses oder einer Instanz abzu짯grei짯fen, auf den/die man eigent짯lich kei짯nen Zugriff haben sollte.

W채h짯rend Zen 3 und Zen 2 eini짯ge Miti짯ga짯tio짯nen in Hard짯ware erhiel짯ten zur Absi짯che짯rung gegen die alten, bekann짯ten Spect짯re-like L체cken, hat AMD bei Zen 3 offen짯bar eine neue Schwach짯stel짯le auf짯ge짯ris짯sen. Die Rede ist dabei von Pre짯dic짯ti짯ve Store For짯war짯ding (PSF), eine Tech짯no짯lo짯gie, die ein짯ge짯f체hrt wur짯de, um Abh채n짯gig짯kei짯ten zwi짯schen Load und Store auf짯zu짯l철짯sen und dem Pro짯zes짯sor damit die M철g짯lich짯keit zu er철ff짯nen, spe짯ku짯la짯tiv wei짯ter vor짯aus짯zu짯rech짯nen mit dem Ziel, die Leis짯tung zu erh철짯hen. Die짯ses Fea짯ture schafft jedoch laut AMD zwei M철g짯lich짯kei짯ten f체r einen Angrei짯fer 채hn짯lich wie bei Spect짯re V4 체ber Umwe짯ge an Daten zu gelan짯gen, die ihn nichts angehen:

CAUSES OF INCORRECT PSF
Incor짯rect PSF pre짯dic짯tions can occur due to at least the fol짯lo짯wing two reasons. First, it is pos짯si짯ble that the store/load pair had a depen짯den짯cy for a while but later stops having a depen짯den짯cy. This can occur if the address of eit짯her the store or load chan짯ges during the exe짯cu짯ti짯on of the program.

The second source of incor짯rect PSF pre짯dic짯tions can occur if the짯re is an ali짯as in the PSF pre짯dic짯tor struc짯tu짯re. The PSF pre짯dic짯tor is desi짯gned to track stores/load pairs based on por짯ti짯ons of their RIP. It is pos짯si짯ble that a store/load pair which does have a depen짯den짯cy may ali짯as in the pre짯dic짯tor with ano짯ther store/load pair which does not. This may result in incor짯rect spe짯cu짯la짯ti짯on when the second store/load pair is executed.

[..]
SECURITY ANALYSIS
Pre짯vious rese짯arch has shown that when CPUs spe짯cu짯la짯te on non-archi짯tec짯tu짯ral paths it can lead to the poten짯ti짯al of side chan짯nel attacks. In par짯ti짯cu짯lar, pro짯grams that imple짯ment iso짯la짯ti짯on, also known as 쁲and짯boxing, enti짯re짯ly in soft짯ware may need to be con짯cer짯ned with incor짯rect CPU spe짯cu짯la짯ti짯on, which can occur due to bad PSF predictions.

Becau짯se PSF spe짯cu짯la짯ti짯on is limi짯t짯ed to the cur짯rent pro짯gram con짯text, the impact of bad PSF spe짯cu짯la짯ti짯on is simi짯lar to that of spe짯cu짯la짯ti짯ve store bypass (e.g., Spect짯re v4). In both cases, a secu짯ri짯ty con짯cern ari짯ses if code exists that imple짯ments some kind of secu짯ri짯ty con짯trol which can be bypas짯sed when the CPU spe짯cu짯la짯tes incor짯rect짯ly. This may occur if a pro짯gram (such as a web brow짯ser) hosts pie짯ces of untrus짯ted code and the untrus짯ted code is able to influence how the CPU spe짯cu짯la짯tes in other regi짯ons in a way that results in data leaka짯ge. This is simi짯lar to the secu짯ri짯ty risk with other Spect짯re-type attacks.

In dem White짯pa짯per beschreibt AMD auch, wie PSF per MSR-Regis짯ter-횆nde짯run짯gen deak짯ti짯viert wer짯den kann, emp짯fiehlt jedoch nicht, dies gene짯rell zu tun.

In der Zwi짯schen짯zeit hat die auf Linux spe짯zia짯li짯sier짯te Web짯sei짯te Pho짯ro짯nix eini짯ge Tests durch짯ge짯f체hrt mit akti짯vier짯tem und deak짯ti짯vier짯tem PSF. Die짯se zei짯gen im Mit짯tel eine ver짯nach짯l채s짯sig짯ba짯re Aus짯wir짯kung auf die Per짯for짯mance (59,38 vs. 59,19, also nicht ein짯mal 1 Pro짯zent). Bei ein짯zel짯nen Auf짯ga짯ben k철n짯nen die Aus짯wir짯kun짯gen aller짯dings durch짯aus gr철짯횩er sein, die Ein짯zel짯wer짯te der Bench짯mark-Suite hat Pho짯ro짯nix lei짯der nicht ein짯zeln aufgeschl체sselt.

 

AMD_Predictive_Store_Forwarding_01

AMD_Predictive_Store_Forwarding_01
Bild 1 von 6