Een aanvalsmethode is voorgesteld voor het op afstand identificeren van geheugensegmenten op de server

Een groep onderzoekers van de Technische Universiteit Graz (Oostenrijk), eerder bekend van de ontwikkeling van aanvallen zoals MDS, NetSpectre, Throwhammer en ZombieLoad, heeft een nieuwe aanvalsmethode gepubliceerd (CVE-2021-3714) via zijkanalen op het geheugen deduplicatie mechanisme (Memory-Deduplication). Deze methode maakt het mogelijk om de aanwezigheid van bepaalde gegevens in het geheugen vast te stellen, een byte-voor-byte uitlek van geheugeninhoud te organiseren of de geheugenslay-out te bepalen om bescherming door middel van adresrandomisatie (ASLR) te omzeilen. In tegenstelling tot eerder gedemonstreerde aanvallen op het deduplicatiemechanisme, onderscheidt deze nieuwe methode zich door de aanval uit te voeren vanuit een externe host, waarbij de tijdsvariatie van de reactie op de aanvallersverzoeken via de protocollen HTTP/1 en HTTP/2 als criterium wordt gebruikt. De mogelijkheid om deze aanval uit te voeren is aangetoond voor servers op basis van Linux en Windows.

Aanvallen op het geheugen deduplicatiemechanisme gebruiken de tijdsverschillen in de verwerking van schrijfoperaties als kanaal voor het uitlekken van informatie, wanneer gegevenswijzigingen leiden tot het klonen van de deduplicated geheugenpagina's via het Copy-On-Write (COW) mechanisme. Tijdens de werking bepaalt de kernel identieke geheugenpagina's van verschillende processen en combineert deze, door identieke geheugenpagina's in ƩƩn gebied van het fysieke geheugen zichtbaar te maken voor slechts ƩƩn kopie. Bij een poging om door een van de processen gegevens te wijzigen die verband houden met de deduplicated pagina's, ontstaat er een uitzondering (page fault) en wordt automatisch een aparte kopie van de geheugenpagina gemaakt met behulp van het Copy-On-Write mechanisme, welke aan het proces wordt gekoppeld. Het kopiƫren kost extra tijd, wat een indicatie kan zijn van gegevenswijzigingen die overlappen met een ander proces.

Onderzoekers hebben aangetoond dat de vertragingen die ontstaan door de werking van het COW-mechanisme niet alleen lokaal kunnen worden waargenomen, maar ook door de verandering in de netwerktijd van de responsen te analyseren. Er zijn verschillende methoden voorgesteld om de inhoud van het geheugen van een externe host te bepalen door het analyseren van de uitvoeringstijden van aanvragen via de protocollen HTTP/1 en HTTP/2. Voor het behouden van de geselecteerde patronen worden standaard webapplicaties gebruikt, die de in de aanvragen ontvangen informatie in het geheugen behouden.

Het algemene principe van de aanval komt neer op het vullen van de de server pagina's met geheugen die mogelijk de inhoud van al aanwezige geheugenpagina's op de server herhalen. Vervolgens wacht de aanvaller de tijd die nodig is voor de kernel om de deduplicatie uit te voeren en de geheugenpagina's samen te voegen, waarna hij de gecontroleerde duplicaatgegevens wijzigt en de reactietijd beoordeelt om de succesvolle toegang te bepalen.

Een aanvalsmethode is voorgesteld voor het op afstand identificeren van geheugensegmenten op de server

Tijdens de uitgevoerde experimenten was de maximale snelheid van gegevenslekken 34.41 bytes per uur bij een aanval via het wereldwijde netwerk en 302.16 bytes per uur bij een aanval via het lokale netwerk, wat sneller is dan andere methoden voor het extraheren van gegevens via externe kanalen (bijvoorbeeld, de snelheid van de NetSpectre-aanval bedraagt 7.5 bytes per uur).

Drie werkende aanvalsscenario's zijn voorgesteld. Het eerste scenario maakt het mogelijk om gegevens in het geheugen te identificeren. webserver, waarbij Memcached wordt gebruikt. De aanval houdt in dat bepaalde datasets in het Memcached-opslag worden geladen, de gededupliceerde blokken worden gewist, hetzelfde element opnieuw wordt geschreven en voorwaarden worden gecreƫerd voor COW-kopiƫren door de inhoud van het blok te wijzigen. Tijdens het experiment met Memcached kon binnen 166.51 seconden de versie van libc worden vastgesteld die in het systeem draaide, dat in een virtuele machine was uitgevoerd.

Het tweede scenario gaf de mogelijkheid om de inhoud van records in de MariaDB-database te achterhalen, met gebruik van de InnoDB-opslag, door de inhoud byte voor byte te herstellen. De aanval wordt uitgevoerd door speciaal gewijzigde verzoeken te verzenden, die leiden tot eenbyte mismatch in de geheugenpagina's en de tijdsreactie te analyseren om te bepalen dat de gok over de byte-inhoud correct was. De snelheid van dergelijke lekken is echter laag en bedraagt 1.5 bytes per uur bij een aanval vanuit het lokale netwerk. Een voordeel van deze methode is dat deze kan worden gebruikt voor het herstellen van onbekende geheugeninhoud.

Het derde scenario maakte het mogelijk om in 4 minuten volledig het KASLR-beschermingsmechanisme te omzeilen en informatie te verkrijgen over de offset in het geheugen van de kernel image van de virtuele machine, in een situatie waarin het offsetadres zich in een geheugenpagina bevindt waarvan andere gegevens niet veranderen. De aanval werd uitgevoerd vanuit een host die zich achter 14 transitieve sprongen (hops) van het aangevallen systeem bevond. Voorbeelden van code voor het uitvoeren van de gepresenteerde aanvallen worden beloofd te worden gepubliceerd op GitHub.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster