Chips kunnen inherent kwetsbaar zijn voor Spectre- en Meltdown-aanvallen

Songsak Wilairit / EyeEm





Schadelijke software vormt een voortdurende bedreiging voor het moderne leven en valt alles aan, van databases en camera's tot e-commerce, elektriciteitscentrales en ziekenhuizen. In zijn meer verraderlijke vormen kan malware gevoelige informatie stelen zonder dat iemand weet dat er een lek heeft plaatsgevonden.

De strijd tegen deze aanvallen berust op een belangrijke veronderstelling: dat geschikte krachtige en goed ontworpen software de veiligheid van alle informatie kan garanderen. Grote cyberbeveiligingsbedrijven zijn inderdaad op dit idee gebaseerd.

Maar vandaag zeggen Ross McIlroy en collega's bij Google dat deze veronderstelling gevaarlijk verkeerd is. Hun werk richt zich op een nieuwe generatie kwaadaardige aanvallen die hen heeft gedwongen de aard van cyberbeveiliging en hoe het werkt te heroverwegen.



De nieuwe aanvallen, die bekend staan ​​als Spectre en Meltdown, worden sinds begin 2018 onderzocht. Maar hun bredere betekenis wordt nu pas duidelijk.

De schokkende ontdekking van Google is dat ze misbruik maken van een fundamentele fout in de manier waarop informatieverwerkers werken. En daarom kunnen beveiligingsexperts deze apparaten misschien nooit beschermen, zelfs niet in principe.

Het Google-team zegt dat de dreiging alle chipmakers treft, waaronder Intel, ARM, AMD, MIPS, IBM en Oracle. Deze klasse van fouten is dieper en breder verspreid dan misschien welke veiligheidsfout in de geschiedenis dan ook, en treft miljarden CPU's in productie in alle apparaatklassen, zeggen McIlroy en co.



In het verleden had malware de neiging om slecht ontworpen code en de daarin aanwezige fouten te misbruiken. Deze fouten bieden kwaadwillende actoren manieren om berekeningen te verstoren of toegang te krijgen tot vertrouwelijke informatie. Een belangrijke aanpak is dus om deze fouten met softwarepatches op te lossen voordat ze kunnen worden uitgebuit.

Maar als de fout in de fundamenten van computerontwerp zit, bieden softwarepatches magere bescherming. De uitdaging is dat juist door de aard van de berekening informatie kan lekken via mechanismen die zijkanalen worden genoemd.

Een voorbeeld van een zijkanaal zijn de knipperende lampjes op een modem, router of zelfs een pc. Verschillende beveiligingsonderzoekers hebben erop gewezen dat het flitsen gecorreleerd is met gegevensoverdracht en dat een kwaadwillende actor de flitsen eenvoudigweg kan afluisteren. Beveiligingsonderzoekers hebben inderdaad soortgelijke aanvallen aangetoond met een verbijsterende reeks zijkanalen, waaronder energieverbruik, microfoons en camera's met hoge resolutie.



De nieuwe dreiging is verraderlijker omdat hij bestaat op het raakvlak tussen hardware en software, ook wel de machine-architectuur genoemd. Op dit niveau behandelt een processor alle programmeertalen op dezelfde manier. Het voert de een na de ander commando's uit, ongeacht welk programma ze heeft gevraagd.

Computerwetenschappers zijn er altijd van uitgegaan dat deze commando's kunnen worden gescheiden op een manier die vertrouwelijkheid garandeert. De gedachte is dat sommige geschikte geavanceerde software in staat zou moeten zijn om de commando's te rangschikken op een manier die ze gescheiden houdt.

Maar het belangrijkste resultaat van het Google-team is om aan te tonen dat deze veronderstelling onjuist is. Een processor kan het verschil niet zien tussen een goed commando en een kwaadaardig commando, zelfs in principe niet. Dus als een commando hem vertelt om informatie naar een gebied van het geheugen te sturen dat later gemakkelijk toegankelijk is, gehoorzaamt de machine.



Het is gemakkelijk voor te stellen dat dit kan worden voorkomen met software die goede commando's van slechte scheidt. Maar het Google-team laat zien dat dit alleen maar een extra laag complexiteit toevoegt aan de uitdaging, samen met een nieuwe reeks potentiële zijkanalen.

Om de alomtegenwoordigheid van dreiging te laten zien, heeft het Google-team een ​​universeel leesgadget gebouwd. Dit is de ultieme afluisteraar - een routine die al het adresseerbare geheugen in een processor kan lezen, onbekend voor de gebruiker.

Het is geenszins een perfect stukje software. Het werkt soms probabilistisch en kan dus mislukken. Maar er is geen manier om te voorkomen dat het werkt als het werkt.

McIlroy en co hebben vier varianten van deze gadget gemaakt. Volgens het team hebben we proofs of concept in C++, JavaScript en WebAssembly ontwikkeld voor alle gerapporteerde kwetsbaarheden. Ze ontdekten dat deze leesgadgets informatie lekten met snelheden tot 2,5 kilobyte per seconde.

Vooral variant 4 van het universele leesgadget is zorgwekkend. McIlroy en co zeggen dat ze geen effectieve manier hebben gevonden om het te bestrijden of de dreiging ervan te verminderen. Wij geloven niet dat variant 4 effectief kan worden gemitigeerd in software, zeggen ze.

De pogingen van het team om deze aanvallen te bestrijden, hadden een aanzienlijke impact op de computerprestaties. Een vorm van beperking voor de eerste variant van de universele leesgadget leidde bijvoorbeeld tot een vertraging van 2,8x, zoals gemeten door een Java-benchmarkprogramma genaamd Octane.

In het afgelopen jaar heeft Intel zijn chips opnieuw ontworpen om de ernstigste bedreigingen van Spectre- en Meltdown-aanvallen te verminderen. Maar dit is naar verluidt ten koste gegaan van een prestatiedaling tot wel 14%. En het is onwaarschijnlijk dat de wijzigingen faalveilig zijn.

Een reden voor de bezorgdheid van Google is de bedreiging voor e-commerce. Het is niet moeilijk om je een aanval voor te stellen die de cryptografische sleutels onthult die worden gebruikt om transacties te beveiligen, waardoor grootschalige diefstal mogelijk wordt.

Het bedrijf heeft dus al versies van Chrome verzonden met de eerste verdedigingslinies. Releases 64 tot 67 voorkomen aanvallen in de browser via JavaScript.

Maar de dreiging gaat veel dieper. Veel van de problemen ontstaan ​​door de complexe architectuur van apparaten op basis van intellectueel eigendom dat zorgvuldig wordt bewaakt.

Deze complexiteit is zelf een deel van het probleem. De ontwerpen zijn gebaseerd op abstracte modellen die complexer zijn geworden omdat fabrikanten het doel van snellere berekeningen hebben nagestreefd. McIlroy en co laten zien dat deze abstracte modellen altijd zijkanalen hebben die buiten het model bestaan. We hebben ontdekt dat niet-vertrouwde code een universeel leesgadget kan construeren om al het geheugen in dezelfde adresruimte via zijkanalen te lezen, zeggen ze. Dit brengt willekeurige in-memory data in gevaar, zelfs data ‘in rust’ die momenteel niet betrokken zijn bij berekeningen en die voorheen als veilig werden beschouwd voor side-channel aanvallen.

Er is echter een beetje goed nieuws. Tot nu toe zijn er geen aanvallen bekend waarbij Spectre of Meltdown wordt misbruikt. Voorlopig is de dreiging beperkt tot de laboratoria van cybersecurity-onderzoekers zoals McIlroy en zijn collega's.

Maar dat biedt weinig troost voor chipmakers en beveiligingsexperts. Het is niet moeilijk voor te stellen dat kwaadwillende actoren, waaronder door de staat gesponsorde teams, manieren zouden kunnen ontwikkelen om dit beveiligingslek te misbruiken. Dit is een probleem, zoals McIlroy en co zeggen, dat voorbestemd lijkt om ons nog lang te achtervolgen.

Referentie: arxiv.org/abs/1902.05178 : Spectre is here to stay: een analyse van zijkanalen en speculatieve uitvoering

zich verstoppen