Onlangs zijn er nieuwe lekken gevonden in de Intel-processoren. De ontdekkingen werden vrijwel gelijktijdig geïdentificeerd door verschillende onderzoekers, waaronder door een onderzoeksteam van de Vrije Universiteit in Amsterdam (VUSec). We zijn bijna twee weken verder en inmiddels is er veel gebeurd en gecommuniceerd. In deze blogpost lees je een korte recap van de gebeurtenissen en hoe wij hier als hostingprovider mee omgaan.
Bekijk ook onze Managed Security diensten
Wat was er aan de hand?
Onlangs zijn er meerdere lekken gevonden in Intel-chips. Omdat ruim 85% van de computers, waaronder servers, gebruikmaken van Intel-chips, hebben de lekken veel aandacht gekregen in landelijke media. Zoals het vaak gaat met dit soort lekken werd gebruikers geadviseerd om te updaten om zo de impact van het lek te minimaliseren.
De lekken maken gebruik van hetzelfde lek dat je misschien nog kent van Spectre en Meltdown, namelijk ‘speculative execution’. Dit is een soort trucje waarbij de processor gokt wat de gebruiker opvraagt qua informatie. Door te gokken wordt de processor sneller in de berekeningen. De lekken maken het mogelijk om dit proces te onderscheppen en daardoor data uit te lezen, zoals wachtwoorden.
Het lek met vele namen
De nieuwe lekken bevatten meerdere kwetsbaarheden. Het eerste lek (Rogue InFlight Data Load) werd per toeval gevonden door onderzoekers van de VUSec, een groep van systeem- en netwerksecurity-specialisten van de Vrije Universiteit Amsterdam.
Een soortgelijk lek (Fallout) werd gevonden door onderzoekers van de KU Leuven en door de Universiteit van Graz (ZombieLoad). Intel zelf schaart de lekken onder één naam (Microarchitectural Data Sampling) omdat ze allemaal gebruikmaken van dezelfde processen (‘speculative execution’).
Meer gedetailleerde informatie vind je op de websites:
Video: MDS, ZombieLoad, RIDL & Fallout uitgelegd
In onderstaande video van Red Hat is goed te zien welke gegevens uit te lezen zijn met de nieuwe Intel-bug:
Speculative execution onder het vergrootglas
“Ze komen allemaal op hetzelfde neer. Ze halen allemaal een stukje cache uit de processor waarmee data is in te zien”, vertelt Eddie Bijnen, Security Engineer bij True. In de cache vind je de gegevens die door een kwaadwillende zijn uit te lezen.
Eddie is niet verbaasd over de bugs. “Spectre en Meltdown waren een opening in een nieuwe generatie bugs waarmee je in de CPU kunt kijken. Het was eigenlijk wachten tot er een volgende bug naar voren zou komen, omdat het onderzoeksveld na Spectre en Meltdown onder de vergrootglas ligt.”
Zijn verwachting is dat dit nog niet het laatste is wat we zullen horen over soortgelijke bugs. “AMD heeft er geen last van, maar wellicht is er nog niet goed gekeken. Wanneer de Intel-bugs moeilijker te vinden zijn, zullen onderzoekers zich waarschijnlijk richten op fouten in AMD. Dat is eigenlijk altijd zoals een nieuw veld zich opent.”
Video: ZombieLoad in actie
In onderstaande video kun je zien hoe ZombieLoad wordt ingezet om te spioneren welke websites je bezoekt. Computers van eindgebruikers zijn onder andere te infecteren via JavaScript dat geplaatst kan worden in online advertenties. ZombieLoad is ook in te zetten voor het stelen van wachtwoorden.
De juiste informatie verzamelen
Op het moment dat de lekken bekend werden ging Eddie op zoek naar informatie uit betrouwbare bronnen. “Wat zegt Intel hierover? Wat zeggen de kernel developers van Linux hierover? Wat zeggen partijen als Microsoft en Dell hierover? Dat betekent soms dat je ook een of twee dagen moet wachten, want je kunt pas acteren als je de juiste informatie hebt”, aldus Eddie.
Eddie: “Ik wil deze bugs niet bagatelliseren, maar het zijn niet de meest ernstige lekken die de afgelopen periode hebben plaatsgevonden.” Eddie noemt een recente bug van Microsoft, waarin je van buitenaf een Remote Desktop Sessie kan starten. “Het is jammer dat dit minder in het nieuws was, want met deze bug kun je zomaar elke server overnemen zonder credentials te gebruiken.” Standaard hebben we bij True geregeld dat mensen geen gebruik kunnen maken van deze feature, maar toch kreeg het de nodige aandacht.
Hyperthreading uit: ja of nee?
Gaandeweg werd er meer bekendgemaakt en is er gewerkt aan een plan van aanpak. Eddie: “De enige manier om dit helemaal te fixen is om ‘hyperthreading’ uit te zetten.”
Hyperthreading is een technologie waarmee de rekentaken van een processor verdeeld worden over meerdere threads. Normaal gesproken kan elke kern van een processor slechts één taak tegelijk aan. Hyperthreading splitst deze kern op in twee virtuele kernen, waardoor het rekenwerk verdeeld kan worden en de kans op rijvorming verkleind wordt.
Eddie: “Je moet twee wachtrijen voor je zien met één fysieke core. Als er even geen wachtrij is bij de ander, dan gaat hij dingetjes doen uit de tweede wachtrij. Daar heeft de processor zich op voorbereid, waardoor data al beschikbaar is.”
Het nadeel van het uitzetten van hyperthreading is dat je mogelijk te maken krijgt met prestatieverliezen, al moet je dit per workload bekijken. “De performance-impact is sterk afhankelijk in welke mate je gebruikmaakt van hyperthreading. Bij drukkere servers zal de impact groter zijn dan bij servers die minder verkeer verwerken. Die wachtrij is vaker leeg, waardoor je sneller doorkunt. Het is per workload afhankelijk wat de impact is op je prestaties”, aldus Eddie. Per klant van True zal er gekeken worden naar de impact en hoe dit te minimaliseren valt.
Laag security-risico
Eddie schat het security-risico niet hoog in. “Elke VM kun je zien als een boek. Deze bug maakt het mogelijk om 1 woord uit het andere ‘boek’ te lezen, maar je weet niet welk woord en je hebt ook geen mogelijkheid om te bepalen welk woord je uit kunt lezen. Als je controle hebt over het boek dan heb je wel de mogelijkheid om te besluiten welk woord je uitleest. Daardoor is het mogelijk om in dat boek hogere rechten te krijgen. Zelfs hogere rechten uit dat boek gaan je niet helpen om andere woorden uit het andere boek kunt halen. 99% van de tijd zullen dit geen interessante gegevens zijn”
Uit voorzorg heeft True ervoor gekozen om hyperthreading op shared omgevingen (virtual dedicated servers) uit te zetten, om elk mogelijk risico te minimaliseren. “We willen niet dat kwaadwillenden random informatie uit een andere omgeving kunnen trekken”, benadrukt Eddie.
Voor dedicated servers is het aan de klant om te bepalen of ze hyperthreading aanlaten. “Wil ik voor een bug waar je al toegang tot de server moet hebben en enkel read acces krijgt een proces uitzetten waardoor je misschien tientallen procenten van je performance inlevert?”, vertelt Eddie.
Heb je vragen naar aanleiding van dit verhaal? Je kunt terecht in ons ticketingsysteem TrueCare.