Hardwarebeveiliging
Waarom wordt bij systemen die vertrouwelijke verwerking uitvoeren soms simultaneous multithreading (SMT) van de CPU uitgeschakeld?
- AOmdat twee threads die op dezelfde core draaien L1-cache, rekeneenheden e.d. delen, zodat het spoor van de verwerking gemakkelijk gedetailleerd door de andere thread kan worden waargenomen
- BOmdat de prestaties van de CPU altijd stijgen als SMT wordt uitgeschakeld
- COmdat SMT geen cryptografische berekeningen kan doen
Antwoord en toelichting tonen
Antwoord: A. Omdat twee threads die op dezelfde core draaien L1-cache, rekeneenheden e.d. delen, zodat het spoor van de verwerking gemakkelijk gedetailleerd door de andere thread kan worden waargenomen
Bij SMT draaien twee threads tegelijk in één core en delen ze de L1-cache, sprongvoorspeller, rekeneenheden en buffers fijnmazig. Een thread kan daardoor gemakkelijk de middelen die de andere gebruikt met tijdmeting waarnemen, en bij enkele kwetsbaarheden was dit een voorwaarde voor de aanval. Om dezelfde core niet met een onbetrouwbare partij te delen, wordt SMT uitgeschakeld of worden op dezelfde core alleen threads van dezelfde gebruiker geplaatst.