Er is een nieuwe variant van de Zombieload-aanval op Intel-processors geïdentificeerd

Onderzoekers van de Technische Universiteit van Graz (Oostenrijk) onbedekt informatie over een nieuwe aanvalsmethode via kanalen van derden Zombie laden 2.0 (CVE-2019-11135), waarmee u vertrouwelijke informatie uit andere processen, het besturingssysteem, virtuele machines en beschermde enclaves (TEE, Trusted Execution Environment) kunt extraheren. Het probleem treft alleen Intel-processors. Componenten om het probleem te blokkeren voorgesteld gisteren microcode-update.

Het probleem behoort tot de klasse MDS (Microarchitectural Data Sampling) en is een gemoderniseerde versie gepubliceerd in mei ZombieLoad-aanvallen. ZombieLoad 2.0 is, net als andere MDS-aanvallen, afhankelijk van de toepassing van zijkanaalanalysetechnieken op gegevens in microarchitecturale structuren (bijvoorbeeld Line Fill Buffer en Store Buffer), waarin tijdelijk gegevens worden opgeslagen die in het proces worden gebruikt. .

Nieuwe Zombieload-aanvalsvariant gebaseerd over het lek dat optreedt tijdens de werking van het mechanisme voor asynchrone onderbreking van bewerkingen (TAA, TSX Asynchronous Abort), geïmplementeerd in de TSX-extensie (Transactional Synchronization Extensions), die hulpmiddelen biedt voor het werken met transactioneel geheugen, waarmee de prestaties van multi-threaded applicaties door onnodige synchronisatiebewerkingen dynamisch te elimineren (ondersteunde atomaire transacties die kunnen worden geaccepteerd of afgebroken). Indien onderbroken, worden bewerkingen die op het transactionele geheugengebied worden uitgevoerd, teruggedraaid.

Het afbreken van de transactie vindt asynchroon plaats en gedurende deze tijd hebben andere threads toegang tot de cache, die ook wordt gebruikt in het weggegooide transactionele geheugengebied. Gedurende de tijd vanaf het begin tot aan de feitelijke voltooiing van het afbreken van een asynchrone transactie, is het mogelijk dat zich situaties voordoen waarin de processor, tijdens de speculatieve uitvoering van een operatie, gegevens uit interne microarchitectuurbuffers kan lezen en deze kan overbrengen naar de speculatieve operatie. Het conflict wordt dan gedetecteerd en de speculatieve operatie wordt weggegooid, maar de gegevens blijven in de cache en kunnen worden opgehaald met behulp van side-channel cache-hersteltechnieken.

De aanval komt neer op het openen van TSX-transacties en het creëren van voorwaarden voor hun asynchrone onderbreking, waarbij omstandigheden ontstaan ​​voor het lekken van de inhoud van interne buffers die speculatief gevuld zijn met gegevens uit geheugenleesbewerkingen die op dezelfde CPU-kern worden uitgevoerd. Het lek beperkt zich tot de huidige fysieke CPU-kern (waarop de code van de aanvaller draait), maar aangezien microarchitecturale buffers worden gedeeld tussen verschillende threads in de Hyper-Threading-modus, is het mogelijk om geheugenbewerkingen te lekken die in andere CPU-threads worden uitgevoerd.

Aanval onderworpen aan sommige modellen van de achtste, negende en tiende generatie Intel Core-processors, evenals Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W en de tweede generatie Intel Xeon Scalable. Nieuwe Intel-processors gebaseerd op de Cascade Lake-microarchitectuur die in april werd geïntroduceerd en die aanvankelijk niet vatbaar waren voor RIDL- en Fallout-aanvallen, zijn ook vatbaar voor aanvallen. Naast Zombieload 2.0 hebben onderzoekers ook de mogelijkheid geïdentificeerd om eerder voorgestelde beschermingsmethoden tegen MDS-aanvallen te omzeilen, gebaseerd op het gebruik van de VERW-instructie om de inhoud van microarchitecturale buffers te wissen bij terugkeer van de kernel naar de gebruikersruimte of bij het overdragen van de controle naar het gastsysteem.

Het Intel-rapport stelt dat in systemen met een heterogene belasting het vermogen om een ​​aanval uit te voeren moeilijk is, omdat een lek uit microarchitecturale structuren alle activiteit in het systeem omvat en de aanvaller geen invloed kan uitoefenen op de bron van de geëxtraheerde gegevens, d.w.z. kan alleen informatie verzamelen die naar voren komt als gevolg van een lek en proberen nuttige informatie uit deze gegevens te identificeren, zonder de mogelijkheid om doelbewust gegevens te onderscheppen die verband houden met specifieke geheugenadressen. Onderzoekers publiceerden echter prototype exploiteren, draait op Linux en Windows, en demonstreerde de mogelijkheid om een ​​aanval te gebruiken om de wachtwoordhash van de rootgebruiker te bepalen.
Misschien het uitvoeren van een aanval vanaf een gastsysteem om gegevens te verzamelen die verschijnen in de werking van andere gastsystemen, de hostomgeving, de hypervisor en Intel SGX-enclaves.

Oplossingen om de kwetsbaarheid te blokkeren inbegrepen in de Linux-kernelcodebase en opgenomen in releases 5.3.11, 4.19.84, 4.14.154, 4.9.201 en 4.4.201. Kernel- en microcode-updates zijn ook al uitgebracht voor grote distributies (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). Het probleem werd in april geïdentificeerd en er werd een oplossing gecoördineerd tussen Intel en de ontwikkelaars van het besturingssysteem.

De eenvoudigste methode om Zombieload 2.0 te blokkeren is door TSX-ondersteuning in de CPU uit te schakelen. De voorgestelde oplossing voor de Linux-kernel omvat verschillende beveiligingsopties. De eerste optie biedt de parameter “tsx=on/off/auto” om te bepalen of de TSX-extensie is ingeschakeld op de CPU (de auto-waarde schakelt TSX alleen uit voor kwetsbare CPU's). De tweede beveiligingsoptie wordt ingeschakeld door de parameter “tsx_async_abort=off/full/full,nosmt” en is gebaseerd op het wissen van microarchitecturale buffers tijdens het wisselen van context (de nosmt-vlag schakelt bovendien SMT/Hyper-Threads uit). Om te controleren of een systeem gevoelig is voor kwetsbaarheden, biedt sysfs de parameter “/sys/devices/system/cpu/vulnerabilities/tsx_async_abort”.

Bovendien de -update microcode geëlimineerd nog een kwetsbaarheid (CVE-2018-12207) in Intel-processors, wat ook in de nieuwste versie wordt geblokkeerd -update Linux-kernels. Kwetsbaarheid laat een onbevoegde aanvaller om een ​​Denial of Service te initiëren, waardoor het systeem in de status “Machine Check Error” blijft hangen.
Aanval inclusief kan worden gepleegd van het gastsysteem.

Bron: opennet.ru

Voeg een reactie