Jak je to s bezpečností Hyperthreadingu?¶
Hyperthreading je technologie, kterou Intel využívá již několik dekád. Umožňuje na HW úrovni zpracovávat 2 vlákna na jednom fyzickém jádře. Díky této technologii dochází k nárůstu výkonu procesoru a to v přibližně o 5-15%. Nárůst výkonu je velmi ovlivněn způsobem využití procesoru - například balancování přerušení na sběrnici je u Hyperthreadingu velmi efektivní a nárůst výkonu především u procesorů s menším počtem jader signifikantní, oproti tomu u většiny čistě výpočetních operací je nárůst spíše menší. V některých specifických případech je pak dokonce aplikace běžící na procesoru bez Hyperthreadingu rychlejší.
V počátku, kdy se objevily první bezpečnostní problémy v architektuře procesorů Intel se začalo hodně spekulovat o bezpečnosti Hyperthreadingu. V současné chvíli je situace taková, že Hyperthreading není považovaný za bezpečný, protože existují ( zatím teoretické ) možnosti, kdy jedno vlákno je schopno číst data druhého vlákna, které běží na stejném jádře. Z tohoto důvodu se již některé operační systémy rozhodli podporu Hyperthreadingu vypnout nebo dokonce odstranit z jádra systému - v tuto chvíli se jedná o většinu opračních systémů postavených na BSD, čerstvě pak i ChromeOS.
Bude možné HyperThreading v budoucnu zapnout?¶
Dle dostupných informací v tuto chvíli neočekáváme, že bude problém zcela vyřešen novým microcodem procesoru nebo opravou na úrovni jádra operačního systému. Procesory které jsou v tuto chvíli ve stádiu příprav a bude možné na nich ještě před zahájením výroby architektonické změny budou pravděpodobně již v pořádku.
Je opravdu nutné Hyperthreading vypnout?¶
Obecně bychom to doporučili, nicméně jsou případy, kdy to nepovažujeme za nutné. Servery kde není možné spustit útočný kód mohou mít Hyperthreading zapnutý a bezpečnostní riziko je zanedbatelné - to jsou třeba databázové servery, search enginy, loadbalancery, webservery pro statický obsah apod. - jen je nutné na těchto serverech velmi důsledně záplatovat jádro operačního systému a běžící aplikace. Na serverech kde lze očekávat útok zkrz chybu v aplikaci ( tedy typicky webserver odbavující dynamicky generovaný obsah ( php, python, perl, ... ) ) bychom vypnutí Hyperthreadingu jednoznačně doporučili.
Co se může stát, pokud Hyperthreading přesto nevypnu?¶
Každý bezpečnostní incident na serveru může mít horší následky. Z jednoduchého průniku zkrz neaktualizovaný a děravý redakční systém může dojít ke kompromitaci celého serveru a všech uložených dat.