Beheer

Security
Spectre

Spectre-risico zet Intel HyperThreading op zwarte lijst

Vrees voor meer Spectre-bugs doet Intels SMT-technologie in de ban bij OpenBSD.

Vrees voor meer Spectre-bugs doet Intels SMT-technologie in de ban bij OpenBSD.

De ontwikkelaars van OpenBSD kondigen plannen aan om de support in dat open source-besturingssysteem voor Intels HyperThreading uit te schakelen. Daarmee wordt de virtuele verdubbeling van het aantal cores in een processor door symmetric multithreading (SMT) dus niet langer benut.

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).

Lees meer over Beheer OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.