Alles wat je moet weten over de processorbug

104 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Wat houdt het lek in?
  3. 3. Hoe bescherm je jezelf tegen het lek?
  4. 4. Beïnvloedt de patch de prestaties van cpu's?
  5. 5. Reacties

Inleiding

Gisteren doken er geruchten op over een potentieel desastreuze bug in veel moderne processors, en dan vooral de courante modellen van Intel. Hoewel we zelf hebben geprobeerd zo terughoudend mogelijk te zijn toen veel nog onduidelijk was, heb je ongetwijfeld voorbij zien komen dat processors na de patch tot wel 30 procent trager kunnen worden. Inmiddels weten we meer en zetten we alles voor je op een rij: wat is er nou precies aan de hand en heeft de patch echt invloed op de prestaties?

Wat is er aan de hand?

In juni 2017 ontdekten onderzoekers van Google's Project Zero-team een bug in diverse processors. Dat team heeft als doel om zero-day lekken te vinden in software. Het probleem werd gerapporteerd aan cpu-ontwerpers AMD, ARM en Intel en er werd een geheimhouding afgesproken die tot volgende week zou lopen, zodat iedereen tijd had om patches te ontwikkelen, te testen en uit te rollen.

Enkele dagen geleden doken er ongedocumenteerde aanpassingen in de Linux-kernel op, waarbij al snel duidelijk werd dat het een patch voor een beveiligingslek betrof. Dit nieuws werd snel opgepakt door de technologiepers en aangezien het lek nu bekend was, zagen cpu-fabrikanten zich genoodzaakt om direct te reageren met verklaringen en enigszins gehaast de reeds ontwikkelde patches uit te brengen. Voor Windows is sinds vanochtend een patch beschikbaar, die via Windows Update wordt uitgerold.

Wat houdt het lek in?

Feitelijk bestaat 'de bug' uit drie verschillende lekken, die allemaal te maken hebben met de beveiliging van gegevens die door de processor worden verwerkt. Ze zijn allemaal gebaseerd op de speculative execution feature van moderne processors. Als er voor een berekening een waarde nodig is die op dat moment nog wordt berekend of nog onderweg is vanuit het geheugen, doet een processor middels branch prediction een gok wat de uitkomst (ongeveer) gaat zijn en rekent daarmee verder. Op het moment dat die gok fout blijkt te zijn wordt hij weggegooid, maar op dat moment wordt de daarvoor gegenereerde cache benaderbaar door elk willekeurig programma op je computer.

In het kort houden de lekken het volgende in:

  • Meltdown (CVE-2017-5754): Met deze kwetsbaarheid is het voor programma's zonder adminrechten mogelijk om bij data te komen die dat wel vereisen. Specifiek gaat het om het kerneldata die kan lekken naar reguliere software. De patch die nu voor diverse besturingssystemen beschikbaar komt verhelpt dit lek, doordat er niet langer gecombineerd wordt gespeculeerd over kernel- en userdata. In theorie verlopen berekeningen met kerneldata hierdoor iets langzamer, bijvoorbeeld taken waarbij veel i/o-verkeer noodzakelijk is.

  • Spectre 1 & 2 (CVE-2017-5753 + CVE-2017-5715): Deze twee lekken werken volgens een iets ander principe dan Meltdown. Dit lek is lastiger te benutten, maar maakt het bijvoorbeeld ook mogelijk voor virtuele machines om de data van een andere VM of het host-OS te bekijken. Vooral voor servers die VM's draaien is dit lek daardoor erg gevaarlijk. Tevens is dit lek moeilijk op te lossen, behalve door de speculative execution uit te schakelen voor alle gevoelige instructies, maar dat lijkt bijna onbegonnen werk. Tegen specifieke exploits van Spectre kan wel worden gepatcht.

Vooralsnog is Meltdown alleen werkend gedemonstreerd op Intel-processors, maar cpu's van AMD en ARM zijn ook vatbaar voor Spectre.

Hoe bescherm je jezelf tegen het lek?

Dat hangt af van je besturingssysteem.

Windows

Vanaf vanochtend wordt via Windows Update een extra patch uitgerold die het Meltdown-lek dicht. Je kunt deze update alleen installeren als je virusscanner daarop is voorbereid; je krijgt hem zodoende pas aangeboden als dat het geval is. Sommige antivirussoftware bleek namelijk gebruik te maken van kernel-calls. Zie je de update nog niet, update dan dus je virusscanner.


De update voor Windows wordt inmiddels uitgerold.

Voor oudere builds van Windows 10 en oudere versies zijn eveneens updates beschikbaar onder andere nummers, zie hier voor een volledige lijst.

MacOS & iOS

Apple heeft op vrijdag 5 januari gereageerd op de lekken. Het Meltdown-lek is verholpen in iOS 11.2, macOS 10.13.2 en tvOS 11.2. Patches voor Spectre volgen in komende updates voor Apple-software, waaronder ook de browser Safari en watchOS.

Android

Het security-bulletin van januari 2018 bevat patches voor de ontdekte lekken. Google's eigen Nexus- en Pixel-smartphones zijn gepatcht, het is aan telefoonfabrikanten om de update onder hun eigen devices te verspreiden.

Beïnvloedt de patch de prestaties van cpu's?

Zoals we eerder schreven, kan de patch in theorie de prestaties van de processor beïnvloeden. Er gingen zelfs geruchten over een prestatieverlies van 30%. Ons officieuze motto luidt 'meten is weten', dus dat is precies wat we hebben gedaan. We hebben een aantal benchmarks gedraaid voor en na de patch van vanochtend, die de prestaties op het gebied van cpu-rekenkracht, gameprestaties en I/O meten.

Hiervoor hebben we het volgende testsysteem gebruikt:

  • CPU: Intel Core i9 7900X @ 4,5 GHz
  • Moederbord: ASUS ROG Strix X299-XE Gaming
  • Geheugen: G.Skill Trident Z 32GB DDR4-3200 CL14
  • Videokaart: Gainward GeForce GTX 1080 Phoenix GLH
  • SSD: Samsung 850 Evo 1TB
  • Voeding: Superflower Leadex Platinum 1600W

In eerste instantie was het testsysteem up-to-date tot en met gisteren. Voor de nieuwe run hebben we ook de nieuwe patch geïnstalleerd. We hebben alle tests steeds drie keer uitgevoerd om een gemiddelde te nemen. Alle gametests zijn op full hd-resolutie gedraaid, om de invloed van de cpu te maximaliseren.

  Zonder patch Met patch
Cinebench 15 MT 2489 2458

De gemiddelde Cinebench-score is na de patch 1,2% lager dan ervoor.

Games Zonder patch Met patch
3DMark - total 10824 punten 10822 punten
3DMark - graphics 11232 punten 11209 punten
GTA V - medium 148,9 fps 148,8 fps
GTA V - ultra 111,4 fps 112,9 fps
RotTR - medium 189,57 fps 189,57 fps
RotTR - ultra 139,37 fps 138,1 fps
Rainbow Six Siege - medium 282,3 fps 279,1 fps
Rainbow Six Siege - ultra 143,3 fps 143,4 fps

In 3DMark en games zien we geen enkel verschil dat buiten de foutmarge van de test valt. Geen enkel verschil is groter dan 1%.

Storage Zonder patch Met patch
AS SSD - read 2387,74 MB/s 2421,04 MB/s
AS SSD - write 2138,33 MB/s 2180,21 MB/s
AS SSD - 4K 64T read 2235,66 MB/s 2236,04 MB/s
AS SSD - 4K 64T write 2261,03 MB/s 2278,17 MB/s
CrystalDiskMark - read 2676,6 MB/s 2675,8 MB/s
CrystalDiskMark - write 2395,0 MB/s 2395,5 MB/s

Voor de I/O-tests hebben we een Intel Optane DC 4800X-ssd gebruikt, veruit de snelste ssd van dit moment als het aankomt op kleine reads en writes. Die zijn ideaal om het systeem te belasten met veel I/O-operaties. Nu zit er sowieso redelijk veel variatie tussen opeenvolgende ssd-tests, ook als we ze meerdere keren uitvoeren, maar de resultaten lijken er nog eerder beter dan slechter op te worden in AS SSD en CrystalDiskMark laat geen verschillen zien.

Kortom, de invloed van de patch is voor normale consumenten en gamers niet merkbaar op basis van de resultaten die we nu hebben. Dat sluit natuurlijk niet uit dat er in specifieke scenario's en zware enterprise-tests wel verschillen te meten zijn. In de tests zoals we die vandaag hebben uitgevoerd, hebben we daar echter nog niets van gemerkt.

0
*