Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang
Laatste titels:

Meltdown en Spectre

Uitzending do 18:00 ** January 18th, 2018 by wim.webgang **

Meltdown en Spectre

Eliteteam Google

Google heeft zijn eigen eliteteam dat onderzoek doet naar de veiligheid van computersystemen: het “team Zero”. Dit team ontdekte de fouten in de intel processoren, en wilde die op een verantwoorde manier naar buiten brengen week x. Maar omdat er stilaan een geruchtenmolen aan de gang was, hebben vervroegd gecommuniceerd over het ontdekte probleem, of beter, problemen in het brein van computers.
Die problemen kregen de koosnamen “Meltdown” en “Spectre”.

Volgens de onderzoekers zijn de risico’s duidelijk: programma’s kunnen misbruik maken van de fouten in de chip om data van andere programma’s, of nog erger, van andere gebruikers op het systeem, te lezen. Voor een bedrijf dat leeft van de cloud een nachtmerrie.
De eer van de ontdekking gaat naar Jann Horn.

Optimisme

Na het publiek worden van de bugs in de intel processor, postte het bedrijf vorige donderdagavond (4 jan) een optimistisch bericht:
“Intel has already issued updates for the majority of processor products introduced within the past five years. By the end of next week, Intel expects to have issued updates for more than 90 percent of processor products introduced within the past five years.”
(citaat)

Ze juichen dat ze “al” updates klaarhebben voor de meerderheid van de processoren. Of toch die van de laatste vijf jaar. Dus voor de andere niet. Of wacht, ook niet alle van de laatste vijf jaar, dat willen ze bereiken tegen het einde van de daaropvolgende week, ongeveer nu donderdag 11/1 dus.

Als je dat omgekeerd leest betekent dat dus dat alle processoren van meer dan 5 jaar oud -wie weet trouwens hoe oude de processor op zich is die in zijn of haar computer zit? – niet voorzien zijn van een oplossing. En volgens Google zijn zelfs alle processoren sinds 1995 kwetsbaar. Maar zover terug hoef je niet te gaan; hoeveel computers van tussen de 5 en de 10 jaar oude zijn er?

En dan nog; die oplossing wordt niet vanzelf toegepast natuurlijk. Computerbeheerders die aktief hun security opvolgen *kunnen* die toepassen. Thuis iemand?

Veel belangrijker is waarschijnlijk het zinnetje:

“System updates are made available by system manufacturers, operating system providers and others.”

Je moet het dus hebben van een update van je besturingssysteem, dat rond de fouten heen werkt, en daardoor je computer een beetje trager laat lopen; niet dat je daar veel van zal merken op een pc.

Bv, Linux systemen die een besturingssysteem draaien dat nog onderhouden wordt door de distributie die ze uitgeeft, hebben met de gewone updates hun aanpassingen al binnengekregen.

Het optimisme van Intel zit waarschijnlijk in de toekomstige verkoop van processoren waarin het veiligheidslek is opgelost.

Als je het effect van één van de bugs wil zien, kan je terecht op mashable.com/2018/01/03/…
Daar hebben ze een filmpje gepost van de “Meltdown” bug in aktie, met een memory dump.
er wordt getoond dat een script gstart wordt met de naam “./meltdown”.

Voor het filmpje werd Debian Linux gebruikt. In het geval van zo’n bug is een besturingssysteem dat open source is, een groot voordeel. Iedere onderzoeker kan zelf aanpassingen maken aan het systeem om de bug te onderzoeken, de gevolgen ervan te onderzoeken, en mogelijke oplossingen uit te proberen. Onderzoekers van bedrijven zoals Google, die erin slagen om het probleem tijdelijk te omzeilen kunnen het al toepassen op hun eigen systemen, in afwachting van de definitieve oplossing.
Iedereen met een closed source systeem moet wachten tot zijn leverancier met een oplossing komt.



Industrie wint

Microsoft zegt dat hou ouder de systemen, dus zowel de computer zelf, als de Windows die er op draait, hoe meer je het verlies aan snelheid zal voelen. Oudere versies van Windows zoals Windows 7 en Windows 8 hebben een groter verlies aan snelheid omdat bv de berekeningen die te maken hebben met het weergeven van lettertypes, getroffen worden. Nog oudere krijgen al helemaal geen update, dus die blijven eenvoudigweg onbeschermd achter.
En een aantal gebruikers van computers met een AMD processor geraakten door de update helemaal in de problemen, omdat hun systeem na de update blokkeerde. Microsoft beschuldigde AMD van een gebrek aan samenwerking. Het is is afwachten wanneer daar een oplossing voor komt.
Dan dook een tweede probleem op: incompatibiliteit met de antivirussoftware. Microsoft houdt de updates van de intel problemen tegen voor wie niet een speciale update van zijn antivirussoftware gedaan heeft, waarbij die een speciale sleutelwaarde in het Windows register maakt. Zonder die key komen ook de volgende Windows updates niet meer binnen.
Voor Linux gebruikers is er geen probleem; die gebruiken meestal al helemaal geen antivirussoftware.


Wie wordt er beter van?

Conclusie: de gebruiker wordt sterk in de richting geduwd van nieuwere computers en nieuwere besturingssystemen. Wie wint daarbij: Microsoft, die hiermee een ongeziene kans krijgt om alle gebruikers te dwingen om up te graden naar een nieuwere versie, ook al “werkt” de oude nog. En de computerbouwers, die nieuwe hardware kunnen verkopen. En de processorfabrikanten, waarbij intel zelf er dus nog voordeel uit haalt tov concurrent AMD.
En de antivirusfabrikanten, want zonder de laatste antivirusupdate kan je de patch niet gebruiken.

De technieken, de namen

Meltdown en Spectre zijn eigenlijk de namen van de methode om een aanval uit te voeren op de processor, waardoor geheime informatie van een gebruiker gestolen kan worden.


Spectre

Het begine van het woord Spectre, “spec” verwijst mogelijk naar het woord “speculatief”. De Spectre aanval heeft te maken met het speculeren van de processor op de volgend uit te voeren bewerkingen. Als het systeem nog bezig is met iets anders, en daar op moet wachten, gaat het op sommig gebied een verondersteld resultaat al voorzien, en daarop vooruitlopen. Een gokje als het ware. Als dat achteraf dan fout bleek, wordt het gewoon weggegooid, maar als het wel juist is, kan vooruitgesprongen worden, omdat het voorziene resultaat al klaar is.
Dit systeem van het weggooien van resultaten die foute gokjes bleken, noemen de onderzoekers “transient instructions”, en daar kunnen we de “tr” uit halen, waardoor we “spectr” krijgen, en we in uitspraak dus “Spectre” hebben (voor de leesbaarheid in Engelstalig gebied komt er nog een “e” bij).
De onderzoekers bleken in staat om de processor te verleiden om gokjes te wagen die niet verantwoord zijn voor de veiligheid van het systeem. Die bv ertoe leiden dat geheime informatie van ergens uit het geheugen, gelekt wordt naar buiten, bv via de cache. De cache is een buffertje waar de processor tijdelijke resultaten opslaat.

Over de “spectre attack” kan je informatie vinden op spectreattack.com/ in het document spectre.pdf
De onderzoekers spreken over de processoren waarvoor de aanvallen werken: intel Ivy Bridge, Haswell en Skylake. AMD’s Ryzen processor, en sommige processoren van Samsung en Qualcomm (gebaseerd op ARM architectuur), deze laatste zijn veel gebruikt in smartphones.

Meltdown

Meltdown is een aanval op een moderne processor, die gebruik maakt van “out of order execution”. Door een probleem van een “privileges-uitbraak” bij intel processoren kan van die “out of order execution” informatie weglekken, omdat er iets fout is met de bescherming van het geheugen tegen ongewenst lezen van bepaalde geheugenplaatsen van het systeem, de kernel, door een gebruikersprogramma (userspace). Bovendien wordt er gebruik gemaakt van de verschillende niveaus van “cache”, tijdelijke geheugen opslagplaatsen, die blijkbaar niet allemaal even goed afgeschermd zijn. En van het verschil in snelheid tussen het gebruik van cache en het ophalen van data uit gewoon geheugen.

Ik stel het even voor door een verhaaltje. Stel dat je wil weten welke boeken je lief gereserveerd heeft in de bibliotheek.

De bibliothekaris is bezig met een aantal briefjes, waarop de naam van gebruiker staat, en de bibliotheeknummers van de titels die ze willen.

Hij gaat de bibliotheek in, en telkens als hij de boeken gevonden heeft, legt hij ze op zijn tafel, en zet met potlood een vinkje bij de persoon. Als hij alle boeken van die persoon bij elkaar heeft, legt hij ze in een bakje achter de balie, buiten zicht.

Je ziet het lijstje op de balie liggen, je ziet dat de boeken van je lief al gevonden zijn want er staat een vinkje bij. Als je hem zou vragen welke boeken je lief besteld heeft, zal hij dat niet willen zeggen.

Wat doe je dan? Terwijl hij weg is om boeken te halen, neem je het gommetje op de achterkant van het potlood, en gomt het vinkje bij de naam van je lief weg.

De bibliothekaris komt terug van zijn zoektocht, legt de gevonden boeken weg, en kijkt welk briefje hij nog moet doen. Hij neemt dat van je lief, noteert de nummers, en gaat de boeken halen. Je ziet hem de boeken een voor een afvinken op het lijstje, en je weet genoeg.

De bibliothekaris gaat met de boeken naar het vakje, en zal opmerken dat er al boeken klaarliggen, dus hij zet ze in het karretje om terug te zetten.

De leiding van de bibliotheek geeft nu de bibliothekaris andere procedures om te vermijden dat zo informatie kan uitlekken. Hij mag geen hulplijstje meer bij de balie bijhouden, maar moet telkens naar de vakjes gaan om te checken of de boeken al klaarliggen voor een gebruiker. Daardoor duurt het tussen 10 en 30 procent langer om de boeken klaar te leggen.

Voor meltdown werd de KAISER patch ontwikkeld


De patches, de namen

(zie Linux Kernel Mailinglist en de “koosnaampjes” die ervoor bedacht werden; zie LKM).
Voor programmeurs is het natuurlijk bijzonder frustrerend om hun eigen programmeerwerk te moeten omgooien, om de knoeiboel van iemand anders te moeten opruimen. Dat merk je aan de oorspronkelijke naam voor de “patch”. (Een patch is de extra code die programmeurs moeten toevoegen als oplossing van een probleem. In dit geval is het meer een omleiding rond een probleem).
De naam van de patch beschrijf meestal kort het probleem of het concept van de oplossing; zoals het voorstel in dit geval: “Forcefully Unmap Complete Kernel With Interrupt Trampolines”. Linus Torvalds had er wel begrip voor, maar drong toch aan op een andere naam nadat hij de afkorting maakte: “FUCKWIT”, en hij kreegt er de naam “Kernel Page Table Isolation” door, met de politiek correctere afkorting “kpti”.


Schade beperken

Oorspronkelijk deed intel er nogal luchtig over, en stelde dat de gewone gebruiker nauwelijks wat zou merken. Ze stelden dat de processor normaal werkte (“as designed”). In de eerste communicatie sprak intel ook onmiddellijk over “intel en andere fabrikanten” om de concurrenten mee in het bad te trekken.

Linus Torvalds vond dat iemand toch eens in de spiegel moest kijken bij intel, en dat is naar zijn normen zeer beleefd uitgedrukt (er zijn dan ook enkele collega kernel programmeurs die afgevaardigd zijn door intel).

De tweede week van januari brengt Intel een bericht uit dat uit metingen blijkt dat het effect van de patches op de snelheid van pc’s niet meer is dan 10 procent, en meestal minder. Intel vertelt daarmee niets nieuws, want anderen hadden die cijfers al “geschat”, nl van 10 procent op de desktop tot 30 procent bij servers.
De goede toehoorder begrijpt dat intel hier vooral iets “NIET” zegt, nl wat de impact is op servers. Daarvoor zullen ze later met cijfers komen, stelden ze.

Op “the register”, die iets meer afstand kunnen nemen, verscheen een artikel met de titel “We translated Intel’s crap attemt to spin its way out of CPU security bug PR nightmare”.

(prints)

Een aantal patches brachten ondertussen hun eigen problemen mee. Sommige processoren gingen spontaan herstarten na het installeren van de patch.
Apple bracht een ptach uit voor iOS 11.2.2 op de iphone 6, en een gebruiker draaide daarna testprogramma’s waaruit bleek dat het toestel tot 40 % vertraagde.

Eind goed … ?

We zijn ondertussen weken na het ontdekken van de bugs en de mogelijke gevolgen. Alle Linux gebruikers die een recent systeem hebben en de updates niet uitgeschakeld hebben, zagen bij de regelmatige updates al verschillende keren de “intel” bugs vermeld staan in de beschrijving van een update, bv van de Linux kernel.
Maar zo loopt het niet overal. Betanews beschrijft een studie van Bridgeway over Britse organisaties hun smartphone beheer.

Er blijkt maar zo’n 4 procent werkelijk de juiste upgrades te hebben gekregen.

De overgrote meerderheid van de apparaten dus niet. Daarbij zijn er een aantal apparaten waarvan niet juist geweten of vastgesteld is in hoeverre ze getroffen zijn, eventueel slechts gedeeltelijk.

Zo’n 24 % van de apparaten behoren tot een categorie waarvoor geen patch meer ontwikkeld wordt, omdat ze zogezegd te oud zijn.

Kortom, minstens twee derde van de apparaten blijft kwetsbaar achter, en waarschijnlijk zelfs richting 90%.

Lift ^ | Lift v | Comments Off

Comments are closed.