{"id":28065,"date":"2022-02-04T13:39:00","date_gmt":"2022-02-04T11:39:00","guid":{"rendered":"https:\/\/www.kaspersky.nl\/blog\/?p=28065"},"modified":"2022-05-05T14:48:55","modified_gmt":"2022-05-05T12:48:55","slug":"spectre-meltdown-in-practice","status":"publish","type":"post","link":"https:\/\/www.kaspersky.nl\/blog\/spectre-meltdown-in-practice\/28065\/","title":{"rendered":"Spectre-kwetsbaarheid: 4 jaar na de ontdekking"},"content":{"rendered":"<p>Er zijn vier jaar verstreken sinds de <a href=\"https:\/\/spectreattack.com\/\" target=\"_blank\" rel=\"noopener nofollow\">eerste publicatie van het onderzoek<\/a> naar Spectre en Meltdown, hardware-kwetsbaarheden in moderne processors. Sindsdien hebben onderzoekers verschillende soortgelijke kwetsbaarheden ontdekt, die mogelijk vertrouwelijke gegevens kunnen lekken. De onderzoekers lieten ook voorbeelden zien van aanvallen waarbij gebruik werd gemaakt van deze kwetsbaarheden, hoewel het onwaarschijnlijk is dat de meeste daarvan in het echt zullen worden gebruikt. In deze post kijken we naar de huidige stand van zaken met betrekking tot deze hardware-problemen en naar het potenti\u00eble gebruik ervan om bedrijven aan te vallen.<\/p>\n<h2>Verschillende varianten van Spectre<\/h2>\n<p>De oorspronkelijke aankondiging van augustus 2018 onthulde drie kwetsbaarheden: Spectre v1 en v2, en Meltdown. Deze kwetsbaarheden hebben verscheidene gemeenschappelijke kenmerken:<\/p>\n<ul>\n<li>De exploitatie ervan behelst meestal de uitvoering van schadelijke code op een kwetsbaar systeem, zij het met lage privileges. De gevaarlijkste optie is een aanval via een browser bij het bezoeken van een \u201cge\u00efnfecteerde\u201d webpagina.<\/li>\n<li>Praktische exploitatie vereist een aantal voorwaarden. Zo moet bijvoorbeeld de code van de aangevallen applicatie het lekken van gegevens mogelijk maken, en een zogenaamde \u201cgadget\u201d hebben, waartoe de toegang de aanval mogelijk maakt.<\/li>\n<li>Het gegevenslek zelf gebeurt via nevenkanalen. Hierdoor is de snelheid van het gegevenslek uiterst laag.<\/li>\n<li>Bij een geslaagde aanval zijn er misschien zelfs helemaal geen sporen van ongeautoriseerde toegang tot gegevens.<\/li>\n<\/ul>\n<p>Juist dit laatste argument wekte de bijzondere belangstelling voor dit schijnbaar theoretisch wetenschappelijk werk. In alle gevallen maakten de onderzoekers gebruik van het <em>branch prediction<\/em>-systeem. Dit mechanisme, dat meer dan 20 jaar geleden werd ge\u00efntroduceerd, maakt het mogelijk de prestaties te verhogen door een reeks instructies uit te voeren nog v\u00f3\u00f3r een expliciet verzoek van het programma om deze uit te voeren. Als zo\u2019n voorspelling juist is, zullen de processormiddelen effici\u00ebnter worden gebruikt. Als de voorspelling daarentegen fout is, worden de berekeningen gewoon weggegooid.<\/p>\n<p><em>Proof of concept<\/em> voor Spectre v1 toonde aan dat de processor gegevens leest die ontoegankelijk zouden moeten zijn voor het programma. Deze gegevens wordt opgeslagen in de cache en kan daar via zijkanalen worden opgehaald. Dit mechanisme werd veilig geacht, omdat het foutief gelezen \u201cgeheim\u201d niet aan het programma werd doorgegeven. Maar onderzoekers hebben manieren gevonden om die gegevens indirect te lezen.<\/p>\n<p>Na de publicatie van het werk over Spectre en Meltdown werden er nog meer soortgelijke kwetsbaarheden ontdekt. Onderzoekers blijven naar nieuwe methoden zoeken om geheime gegevens te ontfutselen door de kwetsbaarheden van processors uit te buiten. De samenvattende tabel van Intel <a href=\"https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/topics\/software-security-guidance\/processors-affected-consolidated-product-cpu-model.html\" target=\"_blank\" rel=\"noopener nofollow\">vermeldt<\/a> meer dan 20 van dit soort problemen, naast de oorspronkelijke drie.<\/p>\n<h2>Hoe u Spectre kunt bestrijden<\/h2>\n<p>In theorie zijn er drie manieren om een kwetsbaarheid van een processor minder kwetsbaar te maken: leveranciers kunnen een microcode-update uitbrengen voor bestaande processors, ze kunnen nieuwe CPU\u2019s aanpassen, of proberen het probleem op te lossen via de software-updates. Vaak is voor echte mitigatie een combinatie van firmware- en software-updates nodig. De nieuwe microcode die een deel van de kwetsbaarheden dekt, is al sinds de Haswell-generatie van 2013 beschikbaar voor Intel-processors. Hardware-oplossingen werden voor het eerst toegepast in de achtste generatie Intel-processoren, evenals in AMD\u2019s Zen 2 CPU\u2019s.<\/p>\n<p>Software-oplossingen kunnen heel lastig zijn: als voorbeeld kunt u eens <a href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/hw-vuln\/spectre.html\" target=\"_blank\" rel=\"noopener nofollow\">kijken<\/a> naar de mogelijke wijzigingen in de Linux-kernel tegen Spectre v1 en v2. Er werd een breed scala van maatregelen besproken, afhankelijk van de doelstellingen van een bepaald systeem, waaronder het volledig uitschakelen van speculatieve code-uitvoering met ernstige gevolgen voor de CPU-prestaties.<\/p>\n<p>Voor de meeste organisaties waarvan het bedrijfsmodel afhankelijk is van de prestaties van een groot aantal servers, zal een dergelijke prestatiedaling het meest merkbare effect zijn van anti-Spectre-maatregelen. Een relatief recente <a href=\"https:\/\/www.phoronix.com\/scan.php?page=article&amp;item=3-years-specmelt&amp;num=9\" target=\"_blank\" rel=\"noopener nofollow\">benchmark<\/a> op de Phoronix-website, die de prestaties van diverse servertoepassingen onderzoekt, laat een prestatiedaling van gemiddeld 25% zien wanneer alle anti-Spectre-maatregelen in Linux OS zijn ingeschakeld.<\/p>\n<h2>Praktische aanvallen en proofs of concept<\/h2>\n<p>Ondanks het grote aantal aanvalstypen is de dreiging van gegevensdiefstal met Spectre nog steeds theoretisch. Hoewel elk onderzoek wat code bevat die het lek aantoont, betekent dit niet dat deze code tegen een echt systeem kan worden gebruikt. De typische beperkingen van deze demo\u2019s of \u201cproof of concept\u201d zijn de volgende:<\/p>\n<ul>\n<li>Ze demonstreren een willekeurig datalek. Het heeft misschien geen praktische waarde, het is gewoon willekeurige informatie waar de aanvaller nog niet eerder toegang toe had.<\/li>\n<li>Onderzoekers cre\u00eberden ideale omstandigheden voor de aanval. Ze hadden bijvoorbeeld onbeperkte toegang tot het systeem. In dit geval is het niet nodig om complexe methoden voor het exfiltreren van gegevens te gebruiken.<\/li>\n<li>Het demonstreert een echt datalek, maar dan wel onder zeer onwaarschijnlijke omstandigheden.<\/li>\n<\/ul>\n<p>Het meest indrukwekkende theoretische werk (wat betreft de mogelijke gevolgen) is de <a href=\"https:\/\/martinschwarzl.at\/media\/files\/netspectre.pdf\" target=\"_blank\" rel=\"noopener nofollow\">NetSpectre<\/a>-aanval. De onderzoekers slaagden erin uitbuiting op afstand aan te tonen met gegevensverwijdering met een snelheid van 15 tot 60 bits per uur. De beperkingen van de aanval zijn duidelijk: lage datatransmissiesnelheid, ge\u00ebxfiltreerde gegevens bevatten een enorme hoeveelheid junkverkeer, plus kwetsbare code op de aangevallen server \u201cop de juiste plaats\u201d voor succes.<\/p>\n<p>Vorig jaar werden er twee praktijkaanvallen getoond, die de ITW-omstandigheden zo dicht mogelijk benaderden. In maart toonde Google een <a href=\"https:\/\/security.googleblog.com\/2021\/03\/a-spectre-proof-of-concept-for-spectre.html\" target=\"_blank\" rel=\"noopener nofollow\">leaky.page<\/a>-concept: een webpagina die gegevens uit het RAM kan extraheren. In september werd er een <a href=\"https:\/\/www.spookjs.com\/\" target=\"_blank\" rel=\"noopener nofollow\">Spook.js<\/a>-aanval gedemonstreerd op de nieuwste (op het moment van het onderzoek) versie van Google Chrome (92) met Spectre-beveiliging (isolatie van webpagina\u2019s in afzonderlijke browserprocessen). Deze methode maakte echte gegevensdiefstal mogelijk: onderzoekers kregen toegang tot de inloggegevens voor een sociaal netwerk, gegevens van een wachtwoordbeheerder en een afbeelding die door een gebruiker naar een priv\u00e9-cloud was ge\u00fcpload. Maar in al die gevallen was voor een succesvol datalek een \u201cge\u00efnfecteerde\u201d pagina nodig die zich op hetzelfde domein bevond. Voor het stelen van een Tumblr-wachtwoord moet bijvoorbeeld schadelijke Javascript-code worden ge\u00fcpload naar een andere pagina op hetzelfde sociale netwerk.<\/p>\n<h2>Dus hoe gevaarlijk is deze dreiging nou echt?<\/h2>\n<p>De Spook.js-kwetsbaarheid werd geneutraliseerd met een softwarepatch voor de Google Chrome-browser. Daarom is er op dit moment geen onmiddellijk gevaar dat de Spectre-kwetsbaarheden in re\u00eble omstandigheden worden uitgebuit. Alle bekende aanvallen zijn uiterst complex en vereisen extreem veel kennis en vaardigheid van aanvallers.<\/p>\n<p>De meeste realistische proofs of concept zijn gepatcht, en zelfs zonder patches vereist de exploitatie ervan een groot aantal voorwaarden. Hoewel mediaberichten over echte \u201cSpectre-exploits\u201d <a href=\"https:\/\/www.virusbulletin.com\/virusbulletin\/2018\/07\/does-malware-based-spectre-exist\/\" target=\"_blank\" rel=\"noopener nofollow\">niet zijn bevestigd<\/a>, hebben beveiligingsleveranciers tools toegevoegd om bekende aanvallen te detecteren voor het geval dat, dus hoogstwaarschijnlijk kunnen bestaande malware-detectiemechanismen helpen om uw bedrijf te beschermen.<\/p>\n<p>Toch mogen we de Spectre niet volledig negeren: het is belangrijk dat het onderzoek wordt voortgezet. Er is een kleine kans dat na verloop van tijd het \u201cworst-case scenario\u201d wordt ontdekt: een aanval waarvoor geen malware hoeft te worden ge\u00efnstalleerd en die gegevens laat lekken zonder sporen achter te laten.<\/p>\n<p>Theoretisch is het mogelijk een gerichte aanval uit te voeren door gebruik te maken van kwetsbaarheden in de hardware, indien de waarde van de gestolen gegevens dit rechtvaardigt. Bescherming tegen dergelijke risico\u2019s vereist serieuze investeringen in het identificeren van potenti\u00eble aanvalsvectoren, het opvolgen van de aanbevelingen van OS-ontwikkelaars, of het implementeren van bescherming, zelfs als dit ten koste gaat van een ernstige prestatiedaling. Maar voor de meeste bedrijven (ook grote bedrijven), is het voldoende om te vertrouwen op de ontwikkelaars van software en besturingssystemen, de fabrikanten van processors, en <a href=\"https:\/\/www.kaspersky.nl\/small-to-medium-business-security?icid=nl_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">beveiligingsoplossingen<\/a>.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kesb-trial\">\n","protected":false},"excerpt":{"rendered":"<p>Vormen kwetsbaarheden in de hardware van CPU&#8217;s een praktische bedreiging voor bedrijven?<\/p>\n","protected":false},"author":665,"featured_media":28066,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[108,252,253],"tags":[334,333,332],"class_list":{"0":"post-28065","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-kwetsbaarheden","11":"tag-meltdown","12":"tag-spectre"},"hreflang":[{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/spectre-meltdown-in-practice\/28065\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/spectre-meltdown-in-practice\/23859\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/spectre-meltdown-in-practice\/19356\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/spectre-meltdown-in-practice\/26100\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/spectre-meltdown-in-practice\/24069\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/spectre-meltdown-in-practice\/23858\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/spectre-meltdown-in-practice\/26793\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/spectre-meltdown-in-practice\/26370\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/spectre-meltdown-in-practice\/32334\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/spectre-meltdown-in-practice\/10485\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/spectre-meltdown-in-practice\/43525\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/spectre-meltdown-in-practice\/18496\/"},{"hreflang":"pl","url":"https:\/\/plblog.kaspersky.com\/spectre-meltdown-in-practice\/15768\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/spectre-meltdown-in-practice\/28040\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/spectre-meltdown-in-practice\/32371\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/spectre-meltdown-in-practice\/24802\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/spectre-meltdown-in-practice\/30205\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/spectre-meltdown-in-practice\/29994\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.nl\/blog\/tag\/kwetsbaarheden\/","name":"kwetsbaarheden"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/posts\/28065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/users\/665"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/comments?post=28065"}],"version-history":[{"count":2,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/posts\/28065\/revisions"}],"predecessor-version":[{"id":28068,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/posts\/28065\/revisions\/28068"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/media\/28066"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/media?parent=28065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/categories?post=28065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.nl\/blog\/wp-json\/wp\/v2\/tags?post=28065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}