Spectre neni moc vyuzitelny, Meltdown je ten, co dela prakticke problemy, jako smirovani hesel a cryptopenezenek. Jestli ma AMD jenom Spectre 1, 2, tak je to relativne v pohode, hur by bylo, kdyby podobne jako Intel, Apple nebo NVidia bylo nachylny na Meltdown (NVidia pouziva super-agresivni branch-prediction v jejich driverech a je hodne poskozena Meltdownem; bude to zrejme masakr :( ):
Problém môže byť v prípade aplikačných výpočtov, na ktoré sa používa GPU (pomocou OpenCL, CUDA, Compute Shaders), tie môžu byť nad citlivými dátami.
Niektoré veci sa vyplatí počítať viac na GPU, hlavne ak sa jedná o ten istý výpočet nad veľkou sadou dát.
Navyše textúra môže tiež obsahovať citlivé dáta. Napríklad je možné vyhodnocovať obsah fotky pomocou AI (konvolučné neurónové siete) na GPU a detekovať tak napr. nevhodný obsah. Problém je ak by sa k súkromným fotkám používateľov dostal v komerčnom cloude kód inej služby.
Řekl bych, že NVIDIA toho využije k tomu, že tuto opravu vytvoří jen pro Teslu čímž ty desktopové vyřadí ze hry u datacenter. Těžko říct jaký v tom je záměr, ale může být i pozitivní tzn. nechtějí poškodit zákazníka. Vysoký výkon ve hrách a povolená těžba cryptoměn (tam je to jedno).
Tím to jejich prohlášení i dává smysl "V podmínkách použití, které musíte odsouhlasit před stažením ovladačů pro karty GeForce, se totiž nyní objevila nová klauzule, která explicitně zakazuje provoz těchto karet v datacentrech."
Mam jenom NVidie :D
Dle NVidie, jejich ovladac zavisi na agresivnim branch prediction v CPU pro vysoky vykon; po fixu na Meltdown, kde se invaliduje hodne velika cast cache a tim zpomaluje branch prediction, zrejme drivery nebudou fungovat docela optimalne, tak jsem zvedav na dopad na hry a vypocty.
Meltdown je konkrétní využití zranitelnosti demonstrované právě na procesorech Intel, Spectre je teoretická zranitelnost a vše se točí kolem jedné vlastnosti procesorů.
Tyhle zranitelnosti nejsou absolutní, naopak to je spíše pandořina skříňka, naprosto nový vektor, čeká nás nejspíš ještě velká řada překvapení. AMD obrací, protože její úvodní reakce byla odmítavá, teď museli otevřeně přiznat, ostatní byli zdrženlivější. Výzkum zatím probíhá.
Nvidia má výhodu, že na ní neběží OS se důvěrnými daty, ale průser to bude u všech procesorů s out of order, kombinace s time attack či jinými kanály je hodně vražedná.
kde jsem psal "nic důvěrného"? Proš obracíš moje tvrzení k úplně jinému významu?
Psal jsem, že tam není OS, který těch důvěrných dat má spousty a nelze je tam nemít. U grafiky mám přece jen lepší kontrolu nad tím, který program jí smí využívat a co tam je za data.
Problém to je i tak.
No nevím, ale pokud hodím do serveru grafiku na výpočty, tak to má asi nějaký důvod - chci ten server na počítání. Patrně na rychlý a složitý výpočty. Jenže:
- Má smysl sdílet HW pro tyhle výpočty? Třeba pět výpočtů na jednom stroji? Pokud jsou ty výpočty náročnější (vytížení přes 80% GPU), nevyplatí se jeden výpočetní server jenom na zpracování těchhle dat?
- Pokud jde o velký objem dat, stejně se jede na bloky a blok je potřeba odněkud natáhnout, zpracovat a pak někam uložit. Proč se nedá smazat cache mezi bloky? Tam je ta režie minimální.
- Pokud tu GPU sdílím mezi několik výpočtů, stejně se to řeší časovým multiplexem, že chvíli se počítá jedno, potom druhý,... Mezi tím je taky čas na úklid.
Požadovat Tesly je nejspíš jen komerční rozhodnutí, ucházejí jim peníze.
Na serverech ale mám snad kontrolu nad tím co tam běží, ne? Dostat do kontrolovaného prostředí cizí kód je krapet složitější než naopak spustit js v prohlížeči. Servery běžně obsahují řadu kritických slabin, které se řeší vnější bariérou, např. pokud je fyzický přístup k serverům, často není velký problém se do nich dostat a propašovat tam svůj kód (od snadného připojení usb disku přes bruteforce hesla na nějakém iLO rozhraní či vložením vlastní zákeřné pci-e karty).
Chybu beru, ale její zneužití je už složitější. GPU dost striktně odděluje data od programu, na rozdíl od CPU, nelze tam tak snadno propašovat data, které si nechám něčím spustit.