Hoe beïnvloeden de meltdown- en spectre-foutjes mijn pc?
Computerprocessors hebben een enorme ontwerpfout en iedereen probeert het probleem op te lossen. Slechts een van de twee gaten in de beveiliging kan worden gepatcht en de patches zullen pc's (en Mac's) met Intel-chips trager maken.
Bijwerken: Een eerdere versie van dit artikel vermeldde dat deze fout specifiek was voor Intel-chips, maar dat is niet het hele verhaal. Er zijn in feite twee grote kwetsbaarheden hier, nu "Meltdown" en "Spectre" genoemd. Meltdown is grotendeels specifiek voor Intel-processors en beïnvloedt alle CPU-modellen van de afgelopen decennia. We hebben meer informatie over deze twee bugs en het verschil ertussen toegevoegd aan het onderstaande artikel.
Wat zijn Meltdown en Spectre?
Spectre is een 'fundamentele ontwerpfout' die in elke CPU op de markt voorkomt, inclusief die van AMD en ARM en Intel. Er is momenteel geen software-oplossing en het zal waarschijnlijk een compleet hardware-herontwerp voor CPU's over de hele linie vereisen, hoewel het volgens de onderzoekers gelukkig vrij moeilijk te exploiteren is. Het is mogelijk om te beschermen tegen specifieke Spectre-aanvallen en ontwikkelaars werken eraan, maar de beste oplossing is een herontwerp van de CPU-hardware voor alle toekomstige chips.
Meltdown maakt in principe Spectre erger door de onderliggende kernfout veel gemakkelijker te exploiteren. Het is in wezen een extra fout die alle Intel-processors van de afgelopen decennia beïnvloedt. Het beïnvloedt ook enkele high-end ARM Cortex-A-processors, maar het heeft geen invloed op AMD-chips. Meltdown wordt momenteel gepatcht in besturingssystemen.
Maar hoe werken deze gebreken?
Programma's die op uw computer worden uitgevoerd, hebben verschillende beveiligingsniveaus. De kernel van het besturingssysteem - de Windows-kernel of de Linux-kernel - heeft bijvoorbeeld het hoogste machtigingsniveau omdat het de show uitvoert. Desktop-programma's hebben minder rechten en de kernel beperkt wat ze kunnen doen. De kernel gebruikt de hardwarefuncties van de processor om sommige van deze beperkingen te helpen afdwingen, omdat het sneller is om het met hardware dan met software te doen.
Het probleem is hier met "speculatieve uitvoering". Om prestatieredenen voeren moderne CPU's automatisch instructies uit waarvan zij denken dat ze ze nodig hebben om te werken en, als ze dat niet doen, kunnen ze het systeem eenvoudig terugspoelen en terugbrengen naar de vorige staat. Door een fout in Intel en sommige ARM-processors kunnen processen echter bewerkingen uitvoeren die ze normaal niet zouden kunnen uitvoeren, omdat de bewerking wordt uitgevoerd voordat de processor stoort om te controleren of deze toestemming moet hebben om deze uit te voeren of niet. Dat is de Meltdown-fout.
Het kernprobleem met zowel Meltdown als Spectre ligt in de cache van de CPU. Een toepassing kan proberen het geheugen te lezen en als het iets in de cache leest, wordt de bewerking sneller voltooid. Als het iets probeert te lezen dat niet in de cache staat, wordt het langzamer voltooid. De applicatie kan zien of iets snel of langzaam voltooid is en terwijl al het andere tijdens speculatieve uitvoering wordt opgeschoond en gewist, kan de tijd die nodig was om de bewerking uit te voeren niet worden verborgen. Vervolgens kan het deze informatie gebruiken om een kaart van iets in het geheugen van de computer te bouwen, een voor een. De caching versnelt dingen, maar deze aanvallen profiteren van die optimalisatie en maken er een beveiligingsfout van.
Dus in het ergste geval kan JavaScript-code die in uw webbrowser wordt uitgevoerd, effectief het geheugen lezen waartoe het geen toegang zou moeten hebben, zoals privégegevens die in andere toepassingen worden bewaard. Cloud-providers zoals Microsoft Azure of Amazon Web Services, die software van meerdere verschillende bedrijven hosten in verschillende virtuele machines op dezelfde hardware, lopen bijzonder risico. De software van een persoon kan in theorie dingen bespioneren in de virtuele machine van een ander bedrijf. Het is een uitsplitsing in de scheiding tussen applicaties. De patches voor Meltdown betekent dat deze aanval niet zo makkelijk zal zijn om te doen. Helaas betekent deze extra controle dat sommige bewerkingen langzamer verlopen op de getroffen hardware.
Ontwikkelaars werken aan softwarepatches die het Specter-aanvallen moeilijker maken om uit te voeren. De nieuwe Site Isolation-functie van Google helpt bijvoorbeeld hiertegen, en Mozilla heeft al snel een aantal wijzigingen aangebracht in Firefox. Microsoft heeft ook enkele wijzigingen aangebracht om Edge en Internet Explorer te beschermen in de Windows Update die nu beschikbaar is.
Als je geïnteresseerd bent in de diepgaande details over zowel Meltdown als Spectre, lees dan de technische uitleg van het Project Zero-team van Google, die vorig jaar de bugs ontdekte. Meer informatie is ook beschikbaar op de website MeltdownAttack.com.
Hoeveel langzamer zal mijn pc zijn?
Bijwerken: Op 9 januari heeft Microsoft informatie vrijgegeven over de prestaties van de patch. Volgens Microsoft zouden Windows 10 op pc's uit het 2016 tijdperk met Skylake-, Kabylake- of nieuwere Intel-processors "vertragingen van enkele cijfers" vertonen, die de meeste gebruikers niet mogen opmerken. Windows 10 op PC's uit 2015 met Haswell of een oudere CPU kan grotere vertragingen zien en Microsoft "verwacht dat sommige gebruikers een afname in systeemprestaties zullen merken".
Windows 7 en 8 gebruikers hebben niet zoveel geluk. Microsoft zegt dat ze "verwachten dat de meeste gebruikers een afname van de systeemprestaties zullen merken" bij gebruik van Windows 7 of 8 op een pc uit 2015 met Haswell of een oudere CPU. Niet alleen gebruiken Windows 7 en 8 oudere CPU's die de patch niet zo efficiënt kunnen uitvoeren, maar "Windows 7 en Windows 8 hebben meer gebruikers-kernelovergangen vanwege legacy-ontwerpbeslissingen, zoals alle lettertype-rendering die plaatsvindt in de kernel" , en dit vertraagt ook dingen.
Microsoft is van plan zijn eigen benchmarks uit te voeren en in de toekomst meer details vrij te geven, maar we weten niet precies hoeveel de patch van Meltdown nog van invloed zal zijn op het dagelijkse pc-gebruik. Dave Hansen, een Linux-kernelontwikkelaar die bij Intel werkt, schreef oorspronkelijk dat de wijzigingen die in de Linux-kernel worden aangebracht, van invloed zijn op alles. Volgens hem zien de meeste workloads een vertraging van één cijfer, waarbij een vertraging van ongeveer 5% typerend is. Het worstcasescenario was echter een vertraging van 30% op een netwerktest, dus deze varieert van taak tot taak. Dit zijn nummers voor Linux, dus ze zijn niet noodzakelijk van toepassing op Windows. De fix vertraagt systeemaanroepen, zodat taken met veel systeemaanroepen, zoals het compileren van software en het uitvoeren van virtuele machines, waarschijnlijk het langzamer gaan werken. Maar elk stukje software gebruikt enkele systeemaanroepen.
Bijwerken: Vanaf 5 januari hebben TechSpot en Guru3D een aantal benchmarks voor Windows uitgevoerd. Beide sites concludeerden dat desktopgebruikers zich niet veel zorgen hoeven te maken. Sommige pc-games zien een vertraging van 2% met de patch, die binnen de foutenmarge ligt, terwijl andere identiek lijken te zijn. 3D-weergave, productiviteitssoftware, hulpprogramma's voor bestandscompressie en versleutelingshulpprogramma's blijven onaangetast. De benchmarks voor lezen en schrijven van bestanden vertonen echter merkbare verschillen. De snelheid van het snel lezen van een groot aantal kleine bestanden daalde ongeveer 23% in de benchmarks van Techspot en Guru3D vond iets vergelijkbaars. Aan de andere kant, vond Tom's Hardware slechts een 3,21% gemiddelde prestatiedaling met een opslagtest voor consumentenapps, en voerde aan dat de "synthetische benchmarks" met significantere snelheidsdalingen geen realistisch gebruik weergeven.
Computers met een Intel Haswell-processor of nieuwer hebben een PCID-functie (Process-Context Identifiers) die ervoor zorgt dat de patch goed werkt. Computers met oudere Intel-CPU's kunnen een grotere afname in snelheid zien. De bovenstaande benchmarks zijn uitgevoerd op moderne Intel CPU's met PCID, dus het is onduidelijk hoe oudere Intel CPU's zullen presteren.
Intel zegt dat de vertraging "niet significant" zou moeten zijn voor de gemiddelde computergebruiker, en tot nu toe lijkt dat waar, maar bepaalde bewerkingen zien een vertraging. Voor de cloud zeiden Google, Amazon en Microsoft eigenlijk hetzelfde: voor de meeste workloads hebben ze geen betekenisvolle prestatie-impact gezien na het uitrollen van de patches. Microsoft heeft wel gezegd dat "een kleine set [Microsoft Azure] -klanten mogelijk enige impact op de netwerkprestaties ondervindt." Deze uitspraken laten ruimte voor een aantal workloads om aanzienlijke vertragingen te zien. Epic Games beschuldigden de Meltdown-patch voor het veroorzaken van serverproblemen met zijn spel Fortnite en plaatste een grafiek met een enorme toename in CPU-gebruik op zijn cloudservers nadat de patch was geïnstalleerd.
Maar één ding is duidelijk: uw computer wordt absoluut niet sneller met deze patch. Als u een Intel-processor hebt, kan deze alleen maar trager worden, zelfs als deze maar een klein beetje is.
Wat moet ik doen?
Sommige updates om het smeltprobleem op te lossen zijn al beschikbaar. Microsoft heeft op 3 januari 2018 een nood-update uitgebracht voor ondersteunde versies van Windows via Windows Update, maar het heeft nog niet alle pc's bereikt. De Windows Update die de Meltdown oplost en wat bescherming biedt tegen Spectre heet KB4056892.
Apple heeft het probleem al opgelost met macOS 10.13.2, uitgebracht op 6 december 2017. Chromebooks met Chrome OS 63, die medio december zijn uitgebracht, zijn al beveiligd. Patches zijn ook beschikbaar voor de Linux-kernel.
Controleer bovendien of uw pc BIOS / UEFI-updates beschikbaar heeft. Hoewel de Windows-update het Meltdown-probleem heeft opgelost, zijn updates van de CPU-microcode van Intel die via een UEFI- of BIOS-update zijn geleverd nodig om de beveiliging tegen een van de Spectre-aanvallen volledig in te schakelen. U moet ook uw webbrowser bijwerken zoals gebruikelijk, omdat browsers ook een aantal beveiligingen tegen Spectre toevoegen.
Bijwerken: Op 22 januari kondigde Intel aan dat gebruikers zouden stoppen met het implementeren van de eerste UEFI-firmware-updates vanwege "hoger dan verwachte reboots en ander onvoorspelbaar systeemgedrag". Intel zei dat je moet wachten op een laatste UEFI-firmware-patch die goed is getest en geen systeemproblemen veroorzaakt. Vanaf 20 februari heeft Intel stabiele microcode-updates uitgebracht voor Skylake, Kaby Lake en Coffee Lake, dat is het 6e, 7e en 8e generatie Intel Core-platform. PC-fabrikanten zouden binnenkort met het uitrollen van nieuwe UEFI-firmware-updates beginnen.
Hoewel een performance-hit slecht klinkt, raden we ten sterkste aan om deze patches toch te installeren. Besturingssysteemontwikkelaars zouden zulke enorme veranderingen niet maken tenzij dit een zeer slechte bug was met ernstige gevolgen.
De betreffende softwarepatch corrigeert de Meltdown-fout en sommige softwarepatches kunnen de Spectre-fout helpen verminderen. Maar Spectre zal waarschijnlijk doorgaan met het beïnvloeden van alle moderne CPU's - althans in een of andere vorm - totdat nieuwe hardware wordt uitgebracht om het te repareren. Het is onduidelijk hoe fabrikanten dit aanpakken, maar in de tussentijd is alles wat je kunt doen je computer blijven gebruiken - en troost je in het feit dat Spectre moeilijker te exploiteren is, en enigszins meer een zorg voor cloud computing dan eindgebruikers met desktop-pc's.
Beeldcredits: Intel, VLADGRIN / Shutterstock.com.