Heb ik recht op een nieuwe laptop als de processor een Meltdown of Spectre heeft?

Beveiligingsexperts vonden twee grote bugs in processors, die vrijwel in elke computer ter wereld worden gebruikt. Dat meldde Nu.nl vorige week. De zogeheten Meltdown en Spectre bugs zijn bugs die er voor kunnen zorgen dat hackers toegang krijgen tot het kernelgeheugen van computers, waarmee onder meer wachtwoorden eenvoudig te achterhalen zijn (nou ja, “eenvoudig“). De kwetsbaarheden zitten in de processorchips die het hart vormen van veel moderne laptops, en het maakt dus niet uit of je Windows, Linux of MacOS draait. Aan oplossingen wordt gewerkt, maar ondertussen rijst dan de vraag: wie gaat opdraaien voor de kosten?

In zakelijke verkoopcontracten is het in principe volledig vrij onderhandelbaar wie welke kosten of schade voor zijn rekening neemt. Ik zou dus verwachten dat in een zakelijk leveringscontract voor die processorchips gewoon een uitsluiting voor aansprakelijkheid staat voor bugs als deze, zodat de koper daarvan met de gebakken peren zit nu en zelf op zoek moet gaan naar software-workarounds of nieuwe chips met alle kosten van vervanging van dien.

Bij consumenten kan dat anders liggen. Een consument heeft gewoon recht op een product conform de verwachtingen, en deze “wettelijke garantie” kan niet met kleine lettertjes worden ingeperkt. Als het product niet conform is, dan moet de winkelier (dus niet Intel of AMD maar de MediaMarkt of waar je de laptop maar kocht) het probleem herstellen of je een nieuwe laptop geven.

De vraag bij consumenten is dus, werd hier de verwachtingen geschonden? Of iets preciezer, de tekst uit artikel 7:17 BW:

Een zaak beantwoordt niet aan de overeenkomst indien zij, mede gelet op de aard van de zaak en de mededelingen die de verkoper over de zaak heeft gedaan, niet de eigenschappen bezit die de koper op grond van de overeenkomst mocht verwachten. De koper mag verwachten dat de zaak de eigenschappen bezit die voor een normaal gebruik daarvan nodig zijn en waarvan hij de aanwezigheid niet behoefde te betwijfelen, alsmede de eigenschappen die nodig zijn voor een bijzonder gebruik dat bij de overeenkomst is voorzien.

Ik verwacht niet dat bij de aanschaf van een laptop iets gezegd is over de aan- of afwezigheid van dit soort diepe bugs in de processoren. Je mag al blij zijn als erbij staat welk processortype erin zit. We zullen het dus moeten hebben van het “eigenschappen voor normaal gebruik” criterium. Is het voor normaal consumentengebruik vereist dat de processor deze bugs niet vertoont? Zo ja, dan maakt de bug de laptop nonconform en moet de verkoper er dus nieuwe chips zónder de bug maar mét dezelfde performance in prikken.

De bug kan worden gebruikt om gevoelige informatie zoals persoonsgegevens of wachtwoorden te stelen. Hij vereist wel dat de stelende software al op je computer staat, en dat is een breder probleem dat bekend is bij consumenten. Daarvan weet (of moet weten) de consument dat hij maatregelen moet nemen, zoals antivirussoftware of een firewall – die ook vandaag de dag vaak standaard op laptops aanwezig is. Mét die maatregelen lijkt de impact van deze bugs voor consumenten me zeer beperkt. Daarom denk ik niet dat je een conformiteitsclaim kunt indienen.

De bug heeft meer impact bij clouddienstverleners, en consumenten maken daar ook vaak gebruik van. Daar is het dus een verhoogd risico: er kunnen nu gegevens worden gestolen of ontoegankelijk gemaakt – datalekken – en dat kan de consument raken. De conformiteitsregel geldt daarbij echter niet, omdat een dienst geen product is. Maar het is wel een wanprestatie van de dienstverlener, zodat je je schade hierdoor kunt verhalen. Mits je deze hard kunt maken natuurlijk.

Arnoud

19 reacties

  1. Ik had begrepen dat een stukje javascript ook van deze exploit gebruik kon maken (ik zou het geen bug willen noemen, de processoren werken precies zoals ontworpen), hoewel ik niet helemaal snap hoe je in javascript cache-timings kunt bepalen.

    1. Ja, ik vind het ook bijzonder hoe je dat op zo’n afstand kunt doen. Maar met RowHammer kon dat ook al. Firefox heeft eind vorige week een snelle aanpassing gedaan waarmee ze timing nauwkeurigheid van 5µs naar 20µs (dat is microseconde, een miljoenste seconde) hebben verlaagd en een optionele functionaliteit voor nu uitgeschakeld hebben. Dat is voor nu blijkbaar voldoende om de kans op een succesvolle aanval te verminderen.

      Ps. Niet dat ik Firefox als betere browser aan wil wijzen (hoewel ik fan ben). Ik heb geen idee of andere browsers zoals IE en Chrome net zo gevoelig zijn/waren en of die een vergelijkbare fix nodig zouden hebben.

  2. Ok, mogelijk maakt de bug zelf de processor niet non-conform. Maar hoe zit het met de bugfix? Deze word automatisch doorgevoerd door Windows en volgens de verhalen kan dit zorgen voor een 10 tot 30% prestatie vermindering afhankelijk van de applicatie.

  3. Er speelt nog iets anders mee. Het oplossen van deze bug gebeurt met een workaround in de OS en/of software. Een oplossing op hardware/processor niveau is er niet (Op vervanging van de processor na). Dit zorgt volgens onderzoekers voor een prestatieverlies van 5% tot 30%. Ik kan me goed voorstellen dat dit wel de conformiteitsregel raakt. En dat is in deze zaak een groot verschil met alle andere grote bugs in het verleden, die waren allemaal met een patch of update op te lossen.

  4. Ik zou graag een vervanging hebben voor mijn oude processor die niet alleen deze bug patcht en qua performance niet onder doet aan de oude processor, maar ook geen Intel Management Engine of vergelijkbare troep heeft. Het liefst wil ik oude x86-binaries snel in een veilige sandboxed omgeving kunnen draaien. Wie levert mij zo’n processor?

    1. Het verschil zit ‘em in:

      1. een bug die gemakkelijk exploiteerbaar is c.q. beveiliging van systemen tenietdoet;
      2. die zijn oorsprong heeft in het ontwerp van een stuk hardware;
      3. dat nagenoeg iedereen betroffen is;
      4. dat de software-fixes ten koste gaan van de performance;
      5. dat de fixes op alle lagen moeten worden doorgevoerd: applicatieniveau, besturingssysteemniveau, en CPU-firmware-niveau.
      1. Er zijn veel softwarebugs die ook gemakkelijk exploiteerbaar zijn en die nagenoeg iedereen betreft. Dus die eigenschappen maken niet het verschil. De relevante verschillen die je noemt zijn dus dat het hier hardware betreft, dat de software-fixes ten koste gaan van de performance en dat fixes op alle lagen moeten worden doorgevoerd. Wat mijn vraag nu is, is wáárom maakt het verschil dat het hier hardware betreft? En respectievelijk nu ook wáárom is het relevant dat software-fixes ten koste gaan van de performance en dat fixes op alle lagen moeten worden doorgevoerd? Anders geformuleerd. Als (a) de oorzaak niet in hardware had gezeten, (b) de software-fixes niet ten koste zouden gaan van performance en (c) de fixes niet op alle lagen zouden hoeven worden doorgevoerd, waarom zou de bug dan ineens wél acceptabel zijn?

    2. Bij software hebben we de zelfde vraag altijd beantwoord met “als er een fout in de software zit, dan moet de leverancier regelen dat er vervangende software komt (een beveiligings-update)”. Nu stellen we de zelfde vraag bij hardware. Alleen: de vraag op de zelfde manier beantwoorden als bij software zou bij hardware tot veel hogere kosten leiden.

      1. Voor mij is een belangrijker overweging dat bij deze specifieke hardwarebug de impact voor consumenten relatief beperkt lijkt te zijn. De exploit-route is nogal ingewikkeld, het is niet zo dat je laptop ineens veel kwetsbaarder is dan voorheen. Rogue software is toch al een bedreiging die je toch al buiten de deur moet houden, en zonder lokaal software te kunnen uitvoeren, kan een aanvaller niets met deze zwakheid. Daarom voelt het voor mij minder ernstig dan zeg een lek in je internetbankieren-app waarmee willekeurige betaalopdrachten zonder autorisatie ingestuurd worden.

        1. Zoals WilleM boven al aangeeft, zou het ook mogelijk moeten zijn om via javascript deze bug te exploiteren. Firefox heeft er maatregelen tegen getroffen, dus het zal vast niet alleen theoretisch zijn.

          Dat betekent dat elke website effectief alles kan doen op je computer. Veel meer nog dan met een browser-bug. Dus juist een (mogelijk) veel grotere impact voor consumenten dan de meeste andere bugs.

          We kunnen niet van mensen verwachten dat ze rogue javascripts buiten de deur houden.

        2. Ik draai zelf niet-vertrouwde software(*) in virtuele machines, aparte gebruikersaccounts en andere sandboxes; ik ben door deze bug kwetsbaarder dan gedacht. Ik ben misschien een bovengemiddelde computergebruiker, maar ook de gemiddelde computergebruiker draait niet-vertrouwde software (Javascript in websites) in een omgeving waarvan de gebruiker er op vertrouwt dat die netjes is afgeschermd van de rest van de computer.

          Het is dus zeker niet zo dat deze bug niet schadelijk is voor de gemiddelde computergebruiker.

          (*) Ik vertrouw software niet zo snel. Bij mij is software sowieso niet-vertroud als ‘ie niet open source is.

  5. Daarvan weet (of moet weten) de consument dat hij maatregelen moet nemen, zoals antivirussoftware of een firewall – die ook vandaag de dag vaak standaard op laptops aanwezig is. Mét die maatregelen lijkt de impact van deze bugs voor consumenten me zeer beperkt.

    Het hebben van antivirussoftware en firewall is nog geen garantie dat men niet besmet kan raken. Ten eerste moet de malware al herkend worden door de antivirus en moet de antivirus ook in staat zijn om in te kunnen grijpen. In het recente verleden hebben we kunnen zien met cryptoware dat deze maatregelen niet afdoende zijn.

    De huidige softwarematige oplossing is dan ook een lapmiddel waarvan men hoopt dat deze de schade beperkt zal houden. Immers weet men nu niet of de eerste volgende exploit deze oplossing te niet zal doen en men alsnog van deze ernstige bug(s) gebruik zal kunnen maken. In hoeverre de impact voor een consument lager zal zijn, is momenteel moeilijk in te schatten.

  6. Gerelateerd, maar net iets anders: de fout is in juni gemeld aan de processorfabrikanten, maar kwam nu pas uit. In de tussentijd zijn ze de processoren blijven verkopen en ook blijven adverteren met prestaties die wellicht niet meer correct zijn. Hoe zit dat? Aan de ene kant snap ik dat de fabrikanten even tijd nodig hebben om een oplossing te verzinnen, maar aan de andere kant zou ik me flink bekocht voelen als ik net allemaal nieuw servers heb gekocht die nu flink trager blijken te zijn (voor consumententoepassingen lijkt de schade erg mee te vallen.)

    1. De fabrikanten van CPU’s (Intel, AMD, ARM, etc) zullen wel sinds juni bezig zijn met het herontwerpen van hun chips waarin deze fout niet meer voor komt. Echter de tijd tot productie en verkoop van deze nieuwe chips zullen nog wel een jaar kunnen kosten. Dat men zich bekocht kan voelen als consument en bedrijven omdat men nog steeds adverteert met verkeerde gegevens, is niet de chip-fabrikant voor verantwoordelijk. Hiervoor moet men dan weer bij de diverse OEM’s terecht. Misschien dat Arnoud hierover een antwoord weet.

  7. De bug kan worden gebruikt om gevoelige informatie zoals persoonsgegevens of wachtwoorden te stelen. Hij vereist wel dat de stelende software al op je computer staat, en dat is een breder probleem dat bekend is bij consumenten. Daarvan weet (of moet weten) de consument dat hij maatregelen moet nemen, zoals antivirussoftware of een firewall – die ook vandaag de dag vaak standaard op laptops aanwezig is. Mét die maatregelen lijkt de impact van deze bugs voor consumenten me zeer beperkt.

    Dit is onjuist:

    1. Je zegt dat “hij vereist dat de stelende software al op je computer staat” – hoewel dit technische gezien juist is, strookt het niet met wat mensen hierbij verwachten. De enige eis is namelijk dat er machinecode op je processor uitgevoerd kan worden, en dat kan ook gewoon vanuit een stukje JS op een willekeurige pagina (wegens het gebruik van JIT-compilatie). Dit vereist dus geen installatie of expliciete uitvoering van de gebruiker, op welke manier dan ook.

    2. Zowel antivirussoftware als een firewall kunnen hier niets aan doen. Antivirussoftware is ontworpen om bekende malware te herkennen; het gaat hier om een beveiligingslek, meer specifiek een klasse van beveiligingslekken, en er is een theoretisch oneindige hoeveelheid mogelijke malware die dat kan misbruiken. Een firewall dient voor het beperken van verbindingen; dit heeft niets met het lek te maken.

    Er zou hier dus wel degelijk een conformiteitsclaim kunnen zijn; zelfs als je standaard veiligheidsmaatregelen neemt (en het is dubieus of het installeren van AV-software uberhaupt een goed idee is, maar dat is een andere discussie). ben je alsnog vatbaar voor dit probleem. Het is niet op te lossen door extra software; enkel door middel van patches, en het is onduidelijk of het gehele probleem uberhaupt patchbaar is. En die patches resulteren in snelheidsverlies, wat me ook een conformiteitsprobleem lijkt.

    Of het financieel haalbaar is om alle processors van consumenten te vervangen is een tweede, maar de claim lijkt me hier wel degelijk aanwezig.

  8. De eerste zin geeft de algemene norm, dat de koper mag verwachten dat het product over alle eigenschappen bezit die hij op grond van de overeenkomst mocht verwachten. De bijzin kan je hier uitlezen en “op grond van de overeenkomst” is een ruimer criterium dan het doet vermoeden. Het gaat er niet om of de verkoper heeft aangegeven dat dit soort bugs niet aanwezig waren, maar of je daar als consument terecht van mocht uitgaan. Dit criterium betekend ook dat de processor over de kwaliteit en prestaties moet beschikken waar andere processors over beschikken en redelijk is om te verwachten. Zie de richtlijn 99/44/EG. Het gaat hier om een kwaliteit issue. Je kunt ook nog wel een dwarsverband leggen met de producenten aansprakelijkheid. Echter, ik denk dat je het hiermee niet gaat redden, omdat het te verwachten effect, ook na het bekend worden, nihil lijkt te zijn.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.