Spectre-risico zet Intel HyperThreading op zwarte lijst
Intels eigen SMT-implementatie HyperThreading (HT) bestaat al sinds 2002 in zijn processors en geeft een prestatieverbetering. Een enkele fysieke core doet zich dan voor als twee logische cores waardoor software multithreaded kan worden uitgevoerd. Standaard is HyperThreading geactiveerd in Intels processors.
Cache delen is gevaarlijk
Het Unix-achtige besturingssysteem OpenBSD gaat er nu toe over om deze chiptechnologie niet langer te gebruiken. De redenaties achter dit besluit is dat HT qua design de deur openzet voor aanvallen zoals al mogelijk zijn door de diepgaande processorgaten Spectre en Meltdown. Het gaat in dit geval om zogeheten timing attacks waarbij gevoelige informatie (zoals de inhoud van versleutelde data) valt af te leiden uit de benodigde tijd voor uitvoering van de cryptografische algoritmes.
“SMT-implementaties delen over het algemeen TLB’s en L1-caches tussen threads”, schrijft OpenBSD-ontwikkelaar Mark Kettenis in de aankondiging op de OpenBSD-mailinglijst. Dat delen van cachegeheugen op de processors vormt een beveiligingsrisico, luidt de conclusie. “Dit maakt cache timing attacks een stuk simpeler en we hebben sterke vermoedens dat die diverse Spectre-achtige bugs exploitbaar maakt. Vooral op Intels SMT-implementatie”, oordeelt Kettenis.
Standaard uitschakelen
Hij stelt dat het dus niet verstandig is om verschillende securitydomeinen (in het besturingssysteem) te draaien op verschillende processorthreads van dezelfde core. “Helaas is het verre van eenvoudig om onze scheduler aan te passen om hier rekening mee te houden. Aangezien veel moderne machines niet langer de mogelijkheid bieden om HyperThreading in het BIOS uit te schakelen, bieden wij in onze scheduler een manier om het gebruik van extra processorthreads uit te schakelen.”
Op basis van de vermoedens van het OpenBSD-team van ernstige beveiligingsrisico’s wordt deze HT-uitschakeling in de scheduler standaard ingeschakeld. Beheerders kunnen dit natuurlijk wel weer aanpassen. Kettenis merkt nog op dat SMT niet per sé een prestatieverbetering geeft: “Het is sterk afhankelijk van de workload. In alle waarschijnlijkheid zal het de meeste workloads vertragen als je een CPU hebt met meer dan twee cores.”
AMD en meer in zicht
Momenteel is de OpenBSD-ban op HyperThreading alleen van toepassing op Intel-processors die OpenBSD/amd64 draaien. “Maar we zijn van plan om deze feature uit te breiden naar processors van andere leveranciers en voor andere hardware-architecturen”, vervolgt Kettenis zijn post op de mailinglijst.
De amd64-uitvoering van OpenBSD is voor de semi-64-bit processorarchitectuur die ooit door AMD als eerste is ingevoerd. Vervolgens heeft Intel die 64-bit uitbreiding van de 32-bit x86-architectuur omarmd. Dit succes van AMD’s strategische zet heeft mede bijgedragen aan de teloorgang van Intels Itanium-processor die volledig 64-bit was.
Naast de marktdominante x86-processors van Intel (en ook AMD) draait OpenBSD ook op een flinke reeks andere processorplatformen. Dit omvat energiezuinige ARM-chips, inclusief moderne 64-bit varianten, en ook oudere serverprocessors zoals de 64-bit Alpha van Digital (tegenwoordig HPE), PA-RISC (ook van HPE) en Sparc64 van Sun Microsystems (tegenwoordig van Oracle).
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee