(Load Value Injection, CVE-2020-0551 Deze nieuwe aanvallen zijn gebaseerd op manipulaties van dezelfde microarchitecturale structuren als bij de aanvallen
(Microarchitectural Data Sampling), Spectre en Meltdown. De moeilijkheid om het probleem te blokkeren wordt gedeeltelijk gecompenseerd door het feit dat de aanval momenteel meer theoretisch dan praktisch van aard is (de aanval is theoretisch mogelijk, maar moeilijk uit te voeren en alleen reproduceerbaar in synthetische tests).
Het probleem heeft een gematigd risico-niveau (5,6 van 10) toegewezen gekregen en
Intel Corporation Het probleem werd in april vorig jaar ontdekt door onderzoeker Jo Van Bulck van de KU Leuven, waarna samen met 9 onderzoekers van andere universiteiten vijf basismethoden voor het uitvoeren van aanvallen zijn ontwikkeld, elk met de mogelijkheid van meer specifieke varianten.
Ongeacht diepgaande publicaties in februari dit jaar hebben onderzoekers van Bitdefender ook LazyFP. Foreshadow. , , , , en .
van LVI van MDS-aanvallen is dat MDS de definitie van de inhoud van microarchitecturale structuren manipuleert, die in de cache blijven na speculatieve foutafhandeling (fault) of load- en store-operaties, terwijl
LVI-aanvallen het mogelijk maken dat gegevens van de aanvaller worden ingevoegd in microarchitecturale structuren om de daaropvolgende speculatieve uitvoering van de code van het slachtoffer te beĆÆnvloeden. Door middel van deze manipulaties kan de aanvaller inhoud van gesloten gegevensstructuren in andere processen extraheren tijdens het uitvoeren van bepaalde code op de doel-CPU-kern.
Voor in de code van het slachtoffer speciale code-sequenties (gadgets), waarin een door de aanvaller gecontroleerde waarde wordt geladen, en het laden van deze waarde leidt tot het optreden van uitzonderingen (fault, abort of assist), die het resultaat weggooien en de instructie opnieuw uitvoeren. Tijdens de afhandeling van de uitzondering ontstaat er een speculatief venster, waarin gegevens die in de gadget worden verwerkt, kunnen lekken. In het bijzonder begint de processor een stukje code (gadget) speculatief uit te voeren, bepaalt vervolgens dat de voorspelling niet klopt en rolt de bewerkingen terug naar de oorspronkelijke staat, maar de gegevens die tijdens de speculatieve uitvoering zijn verwerkt, blijven in de L1D-cache en microarchitecturale buffers en zijn toegankelijk voor extractie met behulp van bekende methoden voor het bepalen van resterende gegevens via zijkanalen.
De uitzondering 'assist', in tegenstelling tot 'fault', wordt binnen de processor afgehandeld zonder dat programmatische handlers worden aangeroepen. Assist kan bijvoorbeeld optreden wanneer het nodig is om de bit A (Accessed) of D (Dirty) in de paginatabel van het geheugen bij te werken. De grootste uitdaging bij het uitvoeren van een aanval op andere processen ligt in het initiƫren van assist door het manipuleren van het slachtofferproces. Op dit moment zijn er geen betrouwbare manieren om dit te doen, maar in de toekomst kan het vinden van dergelijke methoden niet worden uitgesloten. De mogelijkheid om een aanval uit te voeren is tot nu toe alleen bevestigd voor Intel SGX-enclaves, andere scenario's zijn theoretisch of reproduceerbaar onder synthetische omstandigheden (waarbij het toevoegen van bepaalde gadgets in de code vereist is)
Mogelijke aanval vectoren:
- Gegevenslekken vanuit de kernstructuren naar een gebruikersniveau-proces. De bescherming tegen Spectre 1-aanvallen in de Linux-kernel, evenals het SMAP-mechanisme (Supervisor Mode Access Prevention), verminderen aanzienlijk de kans op LVI-aanvallen. Het kan nodig zijn om extra bescherming in de kernel aan te brengen als in de toekomst eenvoudigere methoden voor het uitvoeren van LVI-aanvallen worden ontdekt.
- Gegevenslekken tussen verschillende processen. Voor de aanval zijn bepaalde codefragmenten in de applicatie en de bepaling van de methode voor het genereren van een uitzondering in het doelproces vereist.
- Gegevenslekken van de hostomgeving naar het gastbesturingssysteem. De aanval wordt geclassificeerd als te complex, omdat deze een reeks moeilijk uit te voeren stappen en voorspellingen van systeemactiviteit vereist.
- Gegevenslekken tussen processen in verschillende gastbesturingssystemen. De aanvalsvector komt dicht in de buurt van het organiseren van gegevenslekken tussen verschillende processen, maar vereist bovendien complexe manipulaties om de isolatie tussen gastbesturingssystemen te omzeilen.
Onderzoekers hebben gepubliceerd met een demonstratie van de principes van het uitvoeren van de aanval, maar deze zijn momenteel nog niet geschikt voor het uitvoeren van echte aanvallen. Het eerste voorbeeld maakt het mogelijk om de speculatieve uitvoering van code in een slachtofferproces om te leiden op een manier die lijkt op Return-Oriented Programming (, Return-Oriented Programming). In dit voorbeeld fungeert een speciaal voorbereid proces met de benodigde gadgets als het slachtoffer (toepassing van de aanval op echte externe processen is bemoeilijkt). Het tweede voorbeeld maakt het mogelijk om zich te mengen in berekeningen bij AES-encryptie binnen de Intel SGX enclave, en om gegevenslekken te organiseren tijdens de speculatieve uitvoering van instructies om de waarde van de gebruikte encryptiesleutel te herstellen.

Bron: opennet.ru
