De reden dat Intel zo'n last heeft van deze nieuwe attack vector is omdat Intel veel beter/meer gokjes doet.
Stel je voor dat je de volgende code hebt
code:
1
| if(condition) { executeCommandA(); } else { executeCommandB(); } |
Dan zal een Intel processor gokken dat je eigenlijk commando A wil uitvoeren (dit gebeurt door geinformeerd gokken). De processor rekent dan terwijl hij op het resultaat van `condition` wacht alvast commando A voor je uit. Als de gok goed was kan de processor meteen verder. Als de gok niet goed was is er geen tijd verloren en wordt commando B alsnog uitgevoerd.
Nu kunnen zowel AMD als Intel deze hele simpele vorm. Maar in ingewikkeldere gevallen heeft Intel meer mogelijkheden.
Omdat Intel zo goed kan gokken zit de pijplijn met instructies die de processor moet uitvoeren bij Intel vaker vol. Bij AMD zitten hier vaker gaten in. Maar die gaten kunnen benut worden (opgevuld worden met nuttige instructies) door Simultaneous Multi Threading (Hyper Threading). Je ziet dan ook dat bij AMD SMT meer resultaat oplevert, zo heeft dit nadeel ook weer een voordeel).
Het grote nadeel van dit gokken is dat je natuurlijk wel de resultaten van commando A in je geheugen hebt. Omdat AMD in minder gevallen gokt en daar minder geavanceerde technieken voor gebruikt is het dus veel moeilijker om de CPU 'fout' te laten gokken waardoor je toch resultaten in je geheugen krijgt.
Overigens is het exploiteren van dit soort bugs erg moeilijk. Je kunt niet in 1x een wachtwoord zien. Je moet een processor super vaak fout laten gokken
EN en geheugen kunnen uitlezen waar jouw proces geen rechten toe heeft. Of op een indirecte manier, bijvoorbeeld door timings super vaak te samplen, analyseren wat er uitgerekend is. Daarom raad Intel aan om alleen server machines te patchen en niet gewone consumenten PCs.
Om terug te komen op je vraag. "It's complicated". Intel CPUs zijn precies zo snel als je ziet in de benchmarks op vele honderden tech sites. Maar speculative execution is een klein onderdeel wat deze snelheid mogelijk maakt en het blijkt dat in sommige gevallen dit beveiligings problemen op kan leveren. Ook bij AMD levert dit problemen op. Zo heeft AMD micro-code updates om Spectre tegen te gaan uitgebracht. Maar omdat AMD minder gebruik maakt van deze techniek hebben ze er ook minder last van.
Als er morgen een hack komt die te maken heeft met het exploiteren van SMT heeft AMD er misschien wel meer last.
aaradorn schreef op woensdag 6 maart 2019 @ 10:56:
Dat doe ik altijd, een non bias youtuber kan je bijna niet vinden jammer genoeg. Zelf kijk ik veel op 3D mark als ik een nieuw systeem ga bouwen. Even naar Computers kijken die de zelfde specs hebben als ik wil en vergelijken.
Misschien kun je Anandtech's Bench database eens bekijken. Zij zijn altijd extreem precies in hun proces, en hebben bijvoorbeeld zelfs zelf getest wat het effect is van het omzeilen van de Windows Scheduler mt Thread Ripper processoren.
https://www.anandtech.com/bench/CPU-2019/2224.
Op Youtube gaat het toch vaak meer om persoonlijkheid van de maker dan de technische inhoud, maar ik kan me niet voorstellen dat er niet een paar goede tussen zitten. Misschien heeft iemand anders een paar goede suggesties?

.
[
Voor 11% gewijzigd door
roy-t op 06-03-2019 13:22
]