Allvarligt säkerhetshål upptäckt i Intels processorer

Permalänk
Medlem
Skrivet av pa1983:

Som jag skrev tidigare, vem testar 1080P och 4K med Utra settings och maxad AA?
Trodde kunskapen på swec var lite högre än så alltså, det ända han gör där ar att stressa skiten ur GPU:n, vi vet inte om processorn ens jobbar för fult efter patchen, gör den inte det så är det inte konstigt om resultatet blir oförändrat.

Nu undersöker dom dessutom hur Online spel påverkas då nätverkstrafiken tydligen innebär en hel del systemanrop precis som lagring tex nvme, så att spel inte skulle påverkas vet vi inte för igen har gjort ett korrekt test vad jag kan se.

Tills någon testar 720p på low utan AA i spel och testar spel som är mer nätverk och lagrings beroende så vet vi inte alls om påverkan är 0% eller inte.

https://www.sweclockers.com/test/24653-nvidia-geforce-gtx-107...

ja...undra vem...

Visa signatur

GamingRig: Cooler Master NR200P/ASUS ROG STRIX B550-I GAMING/AMD Ryzen 5 5700G/Noctual NH-D12L/Corsair SF750 Platinum/Crucial Ballistix Elite 2x8GB 3600MHz/

Permalänk
Medlem

Det där är ett GPU-test...

Man testar inte CPU:er och GPU:er på samma sätt.

Visa signatur

CPU: i9-13900K + Cooler Master ML360L ARGB V2 || GPU: Gainward RTX 4090 Phantom GS.
MoBo: Asus Rog Strix Z790-F Gaming || RAM 32 GB Kingston Fury Beast CL40 DDR5 RGB 5600 MHz.
PSU: Corsair RMe 1000W 80+ Gold || Chassi: Phanteks Eclipse P500A D-RGB.
Lagring: Kingston Fury Renegade M.2 NVME 2TB + Samsung 860 QVO 1TB.
Skärmar: 27" 1440p 144 Hz IPS G-sync + 27" 1440p 155 Hz VA || OS: Win 11 Home.

Permalänk
Medlem
Skrivet av celoz:

Känns lagom kul att ha lagt ner pengar på en 7900x för att få sig en 5-30% performance hit ett halvår efter. Och jag bryr mig inte bara om spel, så även om det inte spelar någon större roll i spel så är det förjävligt. Jag behöver all CPU jag kan få. Fyfan.

Än så länge är både tester och resultat känns rätt luddiga tycker jag, annars hade jag nog stått bredvid dig och viftat med högaffeln och facklan i högsta hugg jag avvaktar lite....

Permalänk
Medlem

@inquam:
Det finns något som kallas shitposts, som +1 poster. Värdelöst slander utan källor. Trådar i stil med "RIP Intel, Ryzen king of gaming" med en drös människor som håller med att Intel är sämst för spel nu. Det här är en några dagar gammal nyhet, shitpostingen sker tidigt innan de ersätts av seriösa trådar och skiten städas bort. r/amd var ett hemskt ställe, Vega lanseringen vände på bordet dock .

Att du inte hänger med betyder inte att det inte finns.

Oavsett så verkar spelprestanda inte påverkas överhuvudtaget? Från tidiga tester men på Linux, hur Microsoft implementerar fixen och om det påverkar återstår att se.

Permalänk
Hjälpsam
Skrivet av inquam:

Njae, om man endast spelar spel på sin PC så kan man andas ut. Men det är långt ifrån alla Intel-system i världen vars användningsområde är så pass nischat.

Jag håller med.
Var menat till alla de som anser att spel är absolut viktigast.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem
Skrivet av inquam:

https://www.theregister.co.uk/2015/08/11/memory_hole_roots_in...

Känns som att Intel borde kunna få en rätt stor class action law suit för detta.

Prestandaförlust:

Enligt 9to5mac så talas det om att fixen för OSX kan ge "5 percent and 30 percent slowdown".

https://9to5mac.com/2018/01/02/intel-cpu-bug-fix-slowdown-for...

Tester i PostgreSQL visar best case 17% förlust och worst case 23%

https://twitter.com/TheRegister/status/948342806367518720?ref...

Låter som att fixen för linux är rent skit☺ undrar vad prestandaförlusten i windows blir om nu microsoft redan rullat ut till insiders borde väl tester redan finnas

Skickades från m.sweclockers.com

Permalänk
Medlem

Visa signatur

Gaming: CM storm sniper, FSP Aurum 750W, Asrock X370 Taichi, Ryzen 5 1600, 2x8GB Crucial Tactical 3000Mhz, ASUS Radeon RX Vega 56 ROG Strix, Soundblaster ZBrandvägg: SUGO SG13B-Q, Corsair SF450 450Watt, Noctua NH-L9x65, Xeon e3-1220L 1,1Ghz, 2xSAMSUNG 4GB DDR3L ECC RAM, 2.5 HDD WD AV-25 320GBLab Server:Yeong Yang yy-0221, antec signature 650W, TYAN S2469, 2xOpteron 2600 Noctua NH-U9DO, 8x1GB ECC REGHTPC: Silverstone GD09, AsRock Killer x370, Ryzen 2400g, 2x8GB Crucial Tactical 3000Mhz

Permalänk
Medlem
Skrivet av aholman:

Låter som att fixen för linux är rent skit☺ undrar vad prestandaförlusten i windows blir om nu microsoft redan rullat ut till insiders borde väl tester redan finnas

Skickades från m.sweclockers.com

Fixen är väll inte "optimal". Men den påverkar ju som sagt inte spel i någon direkt stor utsräckning. Men alla program som gör en massa systemanrop som kräver context switching blir deffinitivt påverkade. Hur mycket I/O verkar påverkas under Linux kan jag tänka mig blir lite av ett issues för stora datahallar.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem
Skrivet av MinscS2:

Någon som inte har en susning om hur man testar en CPU.
Testar man i Ultra och 4K, då är det inte CPU:n man stressar...

Tyvärr är det många som inte har en susning om hur man benchmarkar en CPU för spel, kolla bara så många som (fortfarande) gör narr av SweC-redaktionen för att dom testar nyare CPU:er i 720p och Low.
"Köp Intel om du spelar i 720p och vill ha 400 fps, höhö"

Jo precis, 720p tester på Ryzen har ju ofta använts som argument att Ryzen suger för spel, det gör den inte MEN man kan säga att intel processorn per kärna och tråd i alla fall är starkare vilket kan betyda att de står sig bättre med framtida grafikkort tex set till prestanda per tråd.

Men att intel är 10% snabbare i spel eller vad det nu ligger på gör ju tex inte att Ryzen suger, gör den enbart intel bäst helt enkelt men om detta är relevant beror ju också på val av grafikkort kontra CPU modell, i mitt fall tex har jag så klent grafikkort att oavset CPU val så är grafikkortet flaskhalsen.
Alla har inte råd med 1080ti eller titan, jag har inte ens plats för ett just nu utan är singel slot begränsad.

Fördelen med att man i alla fall varit med i över 20 år vad det gäller datorspel är att man lärde sig tidigt att testa olika grafik inställningar för att hitta en balans mellan CPU och GPU, att hitta när man var CPU respektive GPU begränsad var A och O för att få till dom optimala grafik inställningarna i sina spel på 90 och tidigt 00 tal, i dag är ofta inställningarna mer begränsat och förståelsen för hur man testar CPU respektive GPU i spel verkar blir allt mindre vanlig.

Grafikkorts test där drar man så klart på med inställningar, i bland till den grad att man når under 10 fps enbart för att maxa grafikkortet, detta är såklart helt ospelbart men jag såg flera sådan tester när jag kollade efter tex RX460 kort och man gör det enbart för att kunna testa skillnaden mot snabbare kort tex RX480 eller 1080ti eller liknande.

Permalänk
Medlem

AMD FTW, nästa uppgradering blir en AMD rigg som på den gamla goda tiden!

Visa signatur

HTPC Lian Li PC-A05FNB | Intel Core i5-13400 | 32 GB DDR5-6000 | 4,5 TB SSD | RTX 4070 12 GB
Laptop Razer Blade 15 Base 2021 | Intel Core i7-10750H | 16 GB DDR4-2933 | 1,5 TB SSD | RTX 3070 8 GB
Laptop Lenovo ThinkPad E585 | AMD Ryzen 5 2500U | 16 GB DDR4-2400 | 756 GB SSD | Radeon Vega 8

Klocka GTX 460 med NiBiTor 5.8

Permalänk
Inaktiv

Någon som kollat upp om man får lämna tillbaka sin CPU mm pga detta?

Permalänk
Inaktiv
Skrivet av anon200632:

Någon som kollat upp om man får lämna tillbaka sin CPU mm pga detta?

Svårigheten är att Intel inte lovar att processorn ska levera en viss prestanda, hade lösningen varit att sänka klock-frekvensen med 30% så hade det varit glasklart återköp.
Hade jag fått lämnat tillbaka min Intel så hade jag gjort det, men samtidigt har jag köpt Xeons till kunder för över 50 000kr de senaste månaderna. Och om de får lämna tillbaka vad ska de sätta dit istället? Epic inte tillräckligt testade, så det får väl bli en Motorola 68000.

Permalänk
Medlem
Skrivet av anon200632:

Någon som kollat upp om man får lämna tillbaka sin CPU mm pga detta?

Tror inte det går att få ett vettigt svar på denna frågan än, det är för tidigt.

Låt Intel/Microsoft/Linux m.fl släppa en officiell fix och därefter se hur pass mycket prestandan ändras. (Någon kanske kommer på en mirakellösning i sista sekunden så att inget förändras.)
Först då lär det på riktigt kunna bli tal på kompensation och återlämning.

Problemet är ju som att @anon159643 skriver ovan att Intel har inte lovat en "specifik prestanda", dom har bara lovat vissa specifikationer (som att en viss processor ska ha en basklocka i en viss frekvens, ett visst antal kärnor, etc.)

Visa signatur

CPU: i9-13900K + Cooler Master ML360L ARGB V2 || GPU: Gainward RTX 4090 Phantom GS.
MoBo: Asus Rog Strix Z790-F Gaming || RAM 32 GB Kingston Fury Beast CL40 DDR5 RGB 5600 MHz.
PSU: Corsair RMe 1000W 80+ Gold || Chassi: Phanteks Eclipse P500A D-RGB.
Lagring: Kingston Fury Renegade M.2 NVME 2TB + Samsung 860 QVO 1TB.
Skärmar: 27" 1440p 144 Hz IPS G-sync + 27" 1440p 155 Hz VA || OS: Win 11 Home.

Permalänk
Hjälpsam
Skrivet av pa1983:

Jo precis, 720p tester på Ryzen har ju ofta använts som argument att Ryzen suger för spel, det gör den inte MEN man kan säga att intel processorn per kärna och tråd i alla fall är starkare vilket kan betyda att de står sig bättre med framtida grafikkort tex set till prestanda per tråd.

Men att intel är 10% snabbare i spel eller vad det nu ligger på gör ju tex inte att Ryzen suger, gör den enbart intel bäst helt enkelt men om detta är relevant beror ju också på val av grafikkort kontra CPU modell, i mitt fall tex har jag så klent grafikkort att oavset CPU val så är grafikkortet flaskhalsen.
Alla har inte råd med 1080ti eller titan, jag har inte ens plats för ett just nu utan är singel slot begränsad.

Fördelen med att man i alla fall varit med i över 20 år vad det gäller datorspel är att man lärde sig tidigt att testa olika grafik inställningar för att hitta en balans mellan CPU och GPU, att hitta när man var CPU respektive GPU begränsad var A och O för att få till dom optimala grafik inställningarna i sina spel på 90 och tidigt 00 tal, i dag är ofta inställningarna mer begränsat och förståelsen för hur man testar CPU respektive GPU i spel verkar blir allt mindre vanlig.

Grafikkorts test där drar man så klart på med inställningar, i bland till den grad att man når under 10 fps enbart för att maxa grafikkortet, detta är såklart helt ospelbart men jag såg flera sådan tester när jag kollade efter tex RX460 kort och man gör det enbart för att kunna testa skillnaden mot snabbare kort tex RX480 eller 1080ti eller liknande.

Jag är inte förtjust i att testa i 720p, 1080p i låga inställningar är dock Ok.
Skall dock bli intressant att se hur buggfixen påverkar i 720p.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem
Skrivet av Commander:

Nån drog fram ett utdrag från mailinglistan om att AMD disablar fixen för sina cpuer så blir inga skillnader för de som kör AMD och Linux.

https://lkml.org/lkml/2017/12/27/2

Den patchen är inte mergad/i kerneln ännu, den har blivit inskickad men är inte accepterad ännu. Just nu får du ange nopti som kernel parameter om du vill slippa patchen. Men förhoppningsvis kommer det vara avstängt default på amd on det inte behövs.

Skickades från m.sweclockers.com

Visa signatur

Ryzen 5800x @ 32gb 3200mhz @ 7tb ssd @ 3060ti Fractal r5 @ Arch
i5 4670k @ 24gb 1600mhz @ Fractal r3 @ 12tb ZFS @ Truenas Scale
Thinkpad T450 @ i5 5300u @ 16gb @ 512gb ssd @ 24+48wh batteri @ Debian

Permalänk
Hjälpsam

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/c...

AMD kämpar mot att deras CPUr skall patchas.
https://www.techpowerup.com/240187/amd-struggles-to-be-exclud...

Misstänker att Intel kämpar för att patchen skall gälla alla.

Visa signatur

AMD Ryzen 7 1700 | Saphire RX 5700 Pulse XT (Silent Mode) | 64 GB Kingston ECC | https://valid.x86.fr/z2ljhr | Stockkylaren | Bitfenix Whisper M 750W.
AMD Ryzen 9 5900X | AMD RX 5700 | 64 GB Micron ECC | https://valid.x86.fr/5krwxf
HTPC | https://valid.x86.fr/uuzli0 |

Permalänk
Medlem
Skrivet av anon159643:

Svårigheten är att Intel inte lovar att processorn ska levera en viss prestanda, hade lösningen varit att sänka klock-frekvensen med 30% så hade det varit glasklart återköp.
Hade jag fått lämnat tillbaka min Intel så hade jag gjort det, men samtidigt har jag köpt Xeons till kunder för över 50 000kr de senaste månaderna. Och om de får lämna tillbaka vad ska de sätta dit istället? Epic inte tillräckligt testade, så det får väl bli en Motorola 68000.

Epyc... hehe
Antar AMD testat dem en hel del med partners osv och var det inte Microsoft som beställde rätt många maskiner till Azure? Vågar de så borde det vara ok. Tror inte de köper utan att ha undersökt.
Visst, något KAN dyka upp... det har ju iaf Intel nu visat prov på

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Avstängd

Jag tycker det är dags för alla att sluta rekommendera Intel CPUer nu de har haft alldeles för många säkerhetshål och dolda fel nu i flera år.

kanske borde Sweclockers ändra sitt betyg för Intels CPUer som berörs av detta.

Visa signatur

New: Asus x370 prime pro, Ryzen 1700 (@3.925ghz) , Ripjaws V 16GB 3600 MHz (@3200mhz 14c). https://valid.x86.fr/curj7r
Radeon VII.

Permalänk
Medlem
Skrivet av Ratatosk:

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/c...

AMD kämpar mot att deras CPUr skall patchas.
https://www.techpowerup.com/240187/amd-struggles-to-be-exclud...

Misstänker att Intel kämpar för att patchen skall gälla alla.

Det är jag helt övertygad om, för Intel spelar alltid fult när de här ryggen mot väggen, men jag tror att de skall passa sig här. De har ett gammalt Consent Decree med FTC (2010, men jag tror att gäller än) om att de absolut inte skall göra sånt här, och EU har också bötfällt dem för det en gång.

Skickades från m.sweclockers.com

Visa signatur

5900X | 6700XT

Permalänk
Medlem

HAHAHA "me secure? i was born secure" *boom*

Skrivet av anon200632:

Någon som kollat upp om man får lämna tillbaka sin CPU mm pga detta?

Kan du påvisa att varan inte är i dess mått som angavs av tillverkaren, JA.

Visa signatur

Det du inte hinner idag hinner du inte imorgon med.

Permalänk
Medlem

Btw nån som hittat nå info gällande vilka som drabbas?
Får en magkänsla, de pratas om datacenter, linux m.m. så får man känsla om VM å de svarar då på anrop att detta inte skall gälla för spelare då VM oftast inte finns som stöd på vanliga konsument CPU.

Visa signatur

Det du inte hinner idag hinner du inte imorgon med.

Permalänk
Avstängd

https://www.techpowerup.com/240187/amd-struggles-to-be-exclud...

Intel verkar Pusha för att förstöra för AMD som vanligt, Åt Helvetet med dem. Om AMD tar skada av Intels Problem så skall Intel förläggas med Försäljnings förbud tills det att de har fixat sitt eget problem så att Inte AMD tar skada av detta.

Bojkotta Intel.

Visa signatur

New: Asus x370 prime pro, Ryzen 1700 (@3.925ghz) , Ripjaws V 16GB 3600 MHz (@3200mhz 14c). https://valid.x86.fr/curj7r
Radeon VII.

Permalänk
Avstängd

Är det bara jag som kan höra hur AMD skrattar åt detta?

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem
Skrivet av Viochee:

Du tror inte Google / Amazon stämmer Intel om deras servrar tappar 30% prestanda?

Om det är så att Intel inte vetat om detta i förväg och inte kunnat ändra det så är det ju lite svag bas att stämma på tycker jag. Är det så att Intel vetat om detta länge och valt att ignorera detta för att tjäna prestanda (samt att det går att bevisa) så kan jag absolut tänka mig att de blir stämda.

Visa signatur

AMD 5800X ▪ MSI B550M Mortar ▪ G.Skill 32GB 3600MHz CL16 ▪ Palit 4070 Ti ▪ 1TB SSD 970 Evo+ ▪ Dark Power 13 1000W ▪ FD Define Mini C ▪ Aorus AD27QD + LG 27GL850

Permalänk
Datavetare
Skrivet av mpat:

Intel har inte petat på reorder-buffern sen Conroe, och det märks ibland. Intel klarar 4 reorder-operationer per cykel, mot 6 för både AMD och Apple, och det är just nu flaskhalsen. Jag har tidigare gissat att Ice Lake skulle behöva en ny ROB, och är det så att det ändå låg i planen så kanske Intel fixade detta i samma veva, men det är inget man gör i handvändning.

Tror du blandat ihop ett par distinkta koncept här. Går igenom den för man måste förstå lite av detta för att greppa vad denna bug har sina rötter i.

Front-line

Tar vi Apples A10/A11, Intels Core samt AMDs Zen har alla en front-end som hanterar instruktioner sekventiellt, d.v.s. detta steg är "in-order". Apples A10/A11 kan hantera hela sex (ARM) instruktioner per cykel, Zen kan hantera fyra x86 instruktioner och från Core2 till Broadwell hanterars fyra x86 medan Skylake hanterar fem x86 instruktioner. Alla dessa är "upp-till".

Dispatch
Nästa steg i processen är avkodning där instruktionerna bryts upp i interna "micro-ops", detta görs numera även på ARM. Dessa interna instruktioner är väldigt lika oavsett om det är x86, ARM eller något annat. I huvudsak delar man upp instruktioner i minnesoperationer, heltalsoperationer samt flyttalsoperationer. Här kan Apples A10 skicka iväg sex micro-op per cykel, AMDs Zen har också en kapacitet på sex micro-ops. För Core skiljer det igen mellan Core2-Broadwell som kan skicka iväg fyra micro-ops. För Skylake beror det vilka instruktioner det handlar om, är sex micro-ops vid träff i micro-op cache annars är det fem micro-ops. Alla dessa är som vanligt "upp till".

ROB
Sedan kommer ROB (ReOrder Buffer) in i matchen. Här är också där man går från in-order till att köra saker spekulativt, verkar vara just den spekulativa delen där buggen ligger i (återkommer till det). Storleken på ROB avgör hur många instruktioner som kan vara "in-flight", ju större ROB ju större chans är det att fullt ut kunna nyttja alla beräkningsenheter. ROB är 192 stor i Apples A10 (det taget från Apples LLVM beskrivning av A10, har ingen info för A11). Även Zen har en ROB på 192 platser.

För Core har ROB ändrats väldigt många gånger. Core2 (Conroe) har en ROB på 96, Nehalem/Westmere 128, Sandy/Ivy Bridge 168, Haswell/Broadwell 192 och Skylake har 224 platser i sin ROB.

ROB är en förutsättning för den s.k. Tomasulo tillståndsmaskinen som är metoden man använder för att köra saker "out-of-order" men ändå säkerställa att den externt observerade effekten är som-om man körde allt i sin korrekta sekvens.

Execute
När en instruktion som ligger i ROB har all indata kan den exekveras. Apples A10 kan påbörja upp till nio instruktioner per cykel (4 heltal, 2 minnesoperationer samt 3 flyttal/NEON). Inte helt säker på Zen här (hittar ingen info), men om det inte finns några begränsningar jag missat borde det vara upp till 12(!) instruktioner (som måste bestå av 4 heltal, 2 minnesoperationer samt 4 flyttal). För Core är det Haswell som är vattendelaren för ovanlighets skull. Innan Haswell är det max sex instruktioner (3 heltal/flyttal med valfri mix samt 3 minnesoperationer) medan Haswell och framåt är det åtta instruktioner (4 heltal/flyttal med valfri mix samt 4 minnesoperationer).

Retire
Sista steget är "retire". Tanken (och häri ligger buggen, tanken håller inte riktigt) är att "retire" steget säkerställer att den externt observerbara effekten blir som-om allt kördes in-order hela vägen. Apples A10/A11 kan "retire" 6 micro-ops per cykel, Zen 4 micro-ops per CPU-tråd (så totalt åtta per kärna). För Core är åter igen Skylake annorlunda, är 4 micro-ops (per kärna/tråd) fram till Broadwell medan det är 4 per tråd / 8 totalt per kärna i Skylake.

Lite OT men ändå väldigt intressant: sett över hela pipeline är Apples A10/A11 väsentligt bredare

Buggen
Måste säga direkt: vet inte exakt vad buggen är, den informationen är inte släppt än. Dock sa nog AMD-ingenjören lite mer än vad han egentligen fick i sin förklaring till varför Zen inte har problemet. Han nämnde spekulativ exekvering av kod som ligger på kärnans priviligeringsnivå (ring 0) när man fortfarande befinner sig i en applikation (ring 3). Detta gör det möjligt att göra en rätt kvalificerad gissning.

Hela poängen med ROB är att kunna köra saker i en annan ordning än den sekvens instruktioner faktiskt har. Vidare kan man "gömma" latens genom att "gissa", spekulativt, köra saker. Så länge man inte gör "retire" ändras inget av de tillstånd man normalt kan observera, är därför möjligt att spekulativ köra saker.

Den stora skillnaden mellan "big-core" designer som Core, Zen och Apples ARM och mindre kärnor är till stor del storlek på olika buffertar vilket bl.a. avgör hur mycket spekulativ exekvering som kan göras.

Vad Intel verkar göra och andra inte verkar göra är att spekulativt köra saker även om man spekulativt kör något som befinner sig på en högre priviligeringsnivå än vad man faktiskt befinner sig på.

Covert channel
Åter igen, jag gissar. Men är rätt 100 % säker på att buggen inte är att detta direkt låter "vanliga" applikationer läsa minne som tillhör kärnan. Men om nu spekulativ exekvering av kernel-kod händer när man fortfarande befinner sig i user-space kan det leda till indirekta effekter som kan observeras även om de inte går till "retire".

T.ex. så måste spekulativa läsningar/skrivningar läggas in i cachen. Man "ser" inte dessa innan de verkligen händer, d.v.s. "retire" körs, men bara det faktum att man slänger ut något som redan ligger där påverkar prestanda på ett sätt som kan mätas (kan blir cache-miss som inte skulle hända om den spekulativa koden inte gjorts)!

En sak man kan använda detta till är att få en bild av hur kärnans virtuella adressrymd ser ut. Om man får CPUn att spekulativt läsa en virtuell adress som inte är mappad i kärnan så kommer det inte påverka cache då en sådan access kommer generera ett undantag (ett page-fault som inte kan lösas då minnet faktiskt inte är mappat). Omvänt så kommer en virtuell adress som är mappad i MMU samt ligger i TLB (Translation Lookaside Buffer, cache för virtuellt-till-fysiskt minne) att i vissa fall orsaka en effekt som eventuellt kan observeras redan innan man når kärnan, operationen kanske inte ens händer i praktiken då effekten kommer av spekulativ exekvering.

Optimering
Hur har man då fixat detta problem? Fram till nu har både Windows och Linux (och tydligen även OSX, det var inte sant för 32-bit så måste ha ändrats för 64-bit) alltid en mappning för kärnans virtuella-till-fysiska minne. När man befinner sig i en applikation finns alltså den mappningen, men varje sådan mappning (varje "page") innehåller information om att man bara får läsa/skriva detta RAM om man befinner sig i ring 0.

Illusionen blir då att när man är i en applikation, ring 3, så är det som-om det överhuvudtaget inte finns en mappning för minnet som kärnan använder. Denna illusion faller då om min gissning ovan kring spekulativ exekvering är korrekt -> covert channel som kan utnyttjas till att minska / ta bort effekten av saker som ASLR (Address Space Layout Randomization, något som försvårar att nyttja buffert-overflow och liknande buggar).

Lösningen
Vad man gör för att lösa detta är att ta bort den permanenta mappningen av kärnans virtuella-till-fysisk-mappning. Man förlitar sig då inte längre på illusionen att minnet inte är mappat när man befinner sig i en applikation, kärnans minne är inte ens mappat rent fysiskt för applikationer.

Man hade redan en lösning för detta i Linux sedan något år tillbaka. Man har diskuterat om den alls behövdes innan denna bug, men rätt färdigdiskuterat nu antar jag...

Prestandapåverkan
Varför påverkar fixen prestanda och vad påverkas mest?

På x86 behöver man nu skriva till ett register med namn CR3 varje gång man hoppar mellan kärna/user-space. När man skriver till detta register byter man tabellerna som används för virtuell-till-fysisk minnesmappning. Och skrivning till CR3 flushar också TLB!!!

TLB är en otroligt prestandakritisk del, att göra en flush vid varje byte mellan ring-nivå kostar på.

Hur mycket beror helt på

  • hur många minnesreferenser görs samt hur många "pages" (4kB per page i normalfallet) görs per switch

  • hur ofta hoppar man mellan olika ring-nivåer

Saker som gör många små I/O-operationer kommer behöva hoppa mellan kärnan och applikationen ofta, därför påverkas t.ex. databaser och virtuella maskiner en hel del.

Spel påverkas inte då man av en rad skäl gör saker i batch, d.v.s relativt få switchar som var och en gör rätt mycket jobb -> kostnaden för TLB-flush amorteras över väldigt många operationer -> kostnad per operation är i det närmaste noll.

Att göra spekulativ exekvering i "fel" ring är något som absolut ger en fördel i IPC. Blir intressant att se om man lyckas hitta något som ger samma effekt utan att orsaka en covert-channel. Känns tyvärr rätt osannolikt

TL;DR buggen verkar vara att en tidigare framgångsrik illusion inte längre fungerar på Intels CPUer.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Själva säkerhetshålet är som jag förstår det att rollbacken av CPU:s interna status som görs när spekulativ exekvering av instruktioner misslyckas inte innefattar cache i kombination med att läsrättigheter inte efterföljs.

Det gör att man under spekulativ exekvering exempelvis skulle kunna göra något i stil med detta:

mov eax, [kernel_pointer] and eax, 1 movzx eax, byte [eax+user_pointer]

Där [kernel_pointer] är en adress som man inte har åtkomst till men som man vill läsa och där [user_pointer] är en adress som man har åtkomst till men är ocachad sedan tidigare och mod 64 = 63 (sista byten i en cache line)

Resultaten av dessa blir sedan rollbackade men adressen som den tredje instruktionen försökte accessa kommer nu vara cachad vilket gör att man kan mäta hur lång tid det tar att accessa [user_pointer] samt [user_pointer+1]. Om den sistnämnda adressen går fortare att läsa innebär det att den lägsta biten i variabeln som [kernel_pointer] pekar på sannolikt är en 1:a. Upprepa proceduren några gånger för att få en väldigt hög träffsäkerhet. Repetera för varje bit man vill läsa.

Visa signatur

Assembly är ett högnivåspråk.

Permalänk
Medlem
Skrivet av Ratatosk:

https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/c...

AMD kämpar mot att deras CPUr skall patchas.
https://www.techpowerup.com/240187/amd-struggles-to-be-exclud...

Misstänker att Intel kämpar för att patchen skall gälla alla.

Kämpar? Patchen att exkludera AMD kom efter..... Techpowerup är fan retarderade.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Inaktiv
Skrivet av Yoshman:

Spel påverkas inte då man av en rad skäl gör saker i batch, d.v.s relativt få switchar som var och en gör rätt mycket jobb -> kostnaden för TLB-flush amorteras över väldigt många operationer -> kostnad per operation är i det närmaste noll.

De som har datorn som ren detekterad spelmaskin klarar sig alltid.
Frågan är dock de som låter maskinen jobba med något och samtidigt spela, där detta kan ligga på samma vm/os.

Det kan vara någon cadfil, excel, videoredigering, kompilering eller whatever. Så det blir intressant att se vad resultatet för heavy loads blir. De som kör små laster har ofta idag inte en cpu flaskhals till att börja med, så jag ser risken att problemet i princip enbart drabbar om de som redan innan hade problem med cpuprestandan.

*edit*
intel i9 7980xe som man redan idag kan fråga vem den är till för, kan man nu verkligen undra om de värsta farhågorna slår till.

Permalänk
Medlem
Skrivet av anon159643:

De som har datorn som ren detekterad spelmaskin klarar sig alltid.
Frågan är dock de som låter maskinen jobba med något och samtidigt spela, där detta kan ligga på samma vm/os.

Det kan vara någon cadfil, excel, videoredigering, kompilering eller whatever. Så det blir intressant att se vad resultatet för heavy loads blir. De som kör små laster har ofta idag inte en cpu flaskhals till att börja med, så jag ser risken att problemet i princip enbart drabbar om de som redan innan hade problem med cpuprestandan.

*edit*
intel i9 7980xe som man redan idag kan fråga vem den är till för, kan man nu verkligen undra om de värsta farhågorna slår till.

Var det inte Ubisoft eller liknande som körde spel i ett VM som standard? I så fall hur påverkas sådana spel som kör antipiratskydd mm genom att hosta spelet i ett VM.
Virtualisering blir allt vanliga oavset.

Många vanliga processorer stödjer viritualisering, lustigt nog har intel primärt uteslutit K modellerna, dock inte alla tex min i7 3930K med C2 stepping är inte exkluderad dock är C0 steppigen det.

Permalänk
Inaktiv
Skrivet av superegg:

Är det bara jag som kan höra hur AMD skrattar åt detta?

Tror de inte skrattar då det verkar påverka de flesta cpuer inkl rycen om du läst tråden.