Welke systemen zijn getroffen?
De LVI-LFB-aanval treft nieuwere Intel-CPU's die gebruik maken van speculatieve uitvoering.
De aanval, genaamd LVI-LFB (Load Value Injection in Line Fill Buffers), stelt een aanvaller in staat om kwaadaardige waarden te injecteren in bepaalde micro-architecturale structuren, die vervolgens door het slachtoffer worden gebruikt. Dit kan leiden tot onthulling van geheime, beschermde gegevens op verschillende toegangsniveaus.
Deze nieuwe aanval (CVE-2020-0551) treft nieuwere Intel CPU's die speculatieve uitvoering toepassen.
Bij het streven naar steeds snellere CPU's hebben leveranciers verschillende versies van speculatieve code-uitvoering geïmplementeerd. Bij deze techniek maakt de CPU gefundeerde aannames over programmainstructies die mogelijk nodig kunnen zijn, nog voordat vaststaat dat ze ook daadwerkelijk uitgevoerd moeten worden. Deze zogeheten speculatieve uitvoering kan sporen achterlaten in de cache, die door aanvallers gebruikt kunnen worden om data te exfiltreren uit geprivilegieerd kernelgeheugen.
Wat het onderzoek naar dergelijke aanvallen baanbrekend maakt in vergelijking met cyberaanvallen tegen meer traditionele kwetsbaarheden, is dat het doordringt tot de kern van de werking van moderne CPU's. Om gedegen onderzoek te kunnen doen, moeten onderzoeksteams een compleet begrip hebben van de interne CPU-componenten (branch-voorspelling, out-of-order uitvoering, speculatieve uitvoering, pijplijnen en caches), interne functies van het besturingssysteem (systeemaanroepen, afhandeling van interrupts en uitzonderingen, KPTI) en aanvallen op side-channels en speculatieve uitvoering in het algemeen.
Deze nieuwe aanval kan vooral veel schade aanrichten in multi-tenant omgevingen met een groot aantal werklasten, die worden uitgevoerd op hardware die gemeenschappelijk wordt gebruikt door verschillende werklastgroepen binnen een organisatie of van meerdere organisaties, zoals bij publieke en private clouds. Dit komt doordat, zoals het PoC laat zien, het in principe mogelijk is dat een minder geprivilegieerd proces onder controle van een aanvaller de control flow van een proces met hogere privileges speculatief kan kapen, indien aan bepaalde voorwaarden is voldaan.
Het meest voor de hand liggende risico is diefstal van vertrouwelijke gegevens die beschermd zouden moeten worden door beveiligingsbegrenzingen op het niveau van hardware, hypervisors en besturingssystemen. Deze informatie kan van alles zijn, van encryptiesleutels tot wachtwoorden en andere informatie die een aanvaller zou kunnen exfiltreren of gebruiken om nog meer controle over een doelwitsysteem te krijgen.
Deze nieuwe aanvalstechniek wordt Load Value Injection genoemd. De CVE die eraan is toegewezen is CVE-2020-0551.
Onderzoekers hebben eerder alleen vanuit één richting naar MDS (Microarchitectural Data Sampling) gekeken: daarbij krijgt het slachtoffer toegang tot het geheim, dat vervolgens in de MDS-buffers wordt geladen, waarna de aanvaller de inhoud van de MDS-buffers exfiltreert door een laadinstructie te geven waarvoor microcode-assistentie nodig is (bijvoorbeeld door een ongeldig adres te lezen). De MDS-buffers kunnen echter ook andersom worden misbruikt: als een aanvaller de MDS-buffers bewerkt met een bepaalde waarde ('spraying'), kan een slachtoffer die waarde mogelijk speculatief laden wanneer een laadinstructie een dergelijke microcode-assistentie activeert (bijvoorbeeld wanneer de laadinstructie een fout veroorzaakt). Door zorgvuldig te analyseren wat Spectre is en wat MDS is, zal iemand met een scherp oog snel de onderliggende oorzaak van de nieuwe LVI-LFB kwetsbaarheid herkennen: een indirecte geheugensprong die microcode-assistentie vereist en die uit de MDS-buffers oude waarden krijgt toegevoerd. Deze waarden kunnen door een aanvaller worden gecontroleerd en dit leidt tot speculatieve uitvoering van willekeurige code.
Andere mogelijke aanvalsscenario's zijn beschreven door academische onderzoekers die het probleem onafhankelijk hebben ontdekt en voor het eerst in april 2019 aan Intel hebben gerapporteerd. Bitdefender heeft het probleem op 10 februari 2020 bij Intel gemeld. In hun reactie van 25 februari heeft Intel het probleem erkend en aangekondigd dat de algemene openbaarmaking op 10 maart 2020 zou plaatsvinden.
Mitigatiestrategieën voor hardwaregebaseerde side-channel aanvallen kunnen in verschillende categorieën worden ingedeeld, elk met een zekere mate van operationele impact op organisaties.
Een andere side-channel aanval die is ontdekt door Bitdefender, de SWAPGS-aanval, kan worden gemitigeerd met behulp van Bitdefender Hypervisor Introspection.
Het Bitdefender-team voor geavanceerde research wil graag de credits geven aan de academische onderzoekers die dit probleem in april 2019 voor het eerst aan Intel hebben gemeld, en hen ook bedanken voor hun medewerking en samenwerking vóór en na de openbaarmaking van dit probleem. De academische onderzoekers zijn:
Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss en Frank Piessens
Deze onderzoekers hebben een speciale website gemaakt en een gedetailleerd wetenschappelijk artikel geschreven, dat hier beschikbaar is:
https://lviattack.eu/ (een gedetailleerde beschrijving van het probleem)
https://lviattack.eu/lvi.pdf (een academische whitepaper)
Aanvullende informatie is ook verkrijgbaar bij Intel:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (advies)
https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (technische deep-dive)