Een groep onderzoekers van de Vrije Universiteit Amsterdam en de Zwitserse Federale Technische Hogeschool Zürich heeft een netwerkaanvalstechniek ontwikkeld (Network Cache ATtack) die, door gebruik te maken van analysemethoden via externe kanalen, op afstand de toetsen kan bepalen die door de gebruiker worden ingedrukt tijdens een SSH-sessie. Het probleem doet zich alleen voor op servers die gebruik maken van technologieën (Remote Direct Memory Access) en (Data-Direct I/O).
Intel Corporation , wat de uitvoering van de aanval in de praktijk lastig maakt, aangezien het toegang van de aanvaller tot het lokale netwerk, steriele omstandigheden en de organisatie van de verbinding tussen hosts met behulp van RDMA en DDIO-technologieën vereist, die doorgaans worden gebruikt in geïsoleerde netwerken, zoals die waarin comput clustern werken. Het probleem is toegewezen aan een lage dreigingsniveaus (CVSS 2.6, ) en het wordt aangeraden om DDIO en RDMA niet in lokale netwerken te activeren waar geen beveiligingsperimeter is en waar onbetrouwbare clients toegang hebben. DDIO wordt gebruikt in serverprocessoren van Intel sinds 2012 (Intel Xeon E5, E7 en SP). Systemen met AMD-processoren en andere merken zijn niet kwetsbaar voor het probleem, aangezien zij geen gegevens die via het netwerk worden verzonden in de CPU-cache behouden.
De voor de aanval gebruikte methode lijkt op de kwetsbaarheid "" die het mogelijk maakt om de inhoud van individuele bits in het RAM te wijzigen via manipulatie van netwerkpakketten in systemen met RDMA. Het nieuwe probleem is een gevolg van het minimaliseren van latenties bij het gebruik van het DDIO-mechanisme, dat directe interactie mogelijk maakt tussen de netwerkinterfacekaart en andere randapparatuur met de cache van de processor (tijdens de verwerking van netwerkpakketten worden de gegevens in de cache opgeslagen en uit de cache gehaald, zonder toegang tot geheugen).
Dankzij DDIO komen ook gegevens die zijn gegenereerd tijdens schadelijke netwerkactiviteit in de processorcache terecht. De NetCAT-aanval is gebaseerd op het feit dat netwerkkaarten actief gegevens cachen en de snelheid van pakketverwerking in moderne lokale netwerken voldoende is om de cache te beïnvloeden en de aanwezigheid of afwezigheid van gegevens in de cache te bepalen door het analyseren van latencies bij datatransmissie.
Bij het gebruik van interactieve sessies, bijvoorbeeld via SSH, wordt het netwerkpakket direct verzonden na het indrukken van de toets, dat wil zeggen dat de vertraging tussen pakketten correleert met de vertragingen tussen de toetsaanslagen. Door gebruik te maken van statistische analysemethoden en rekening houdend met het feit dat de vertragingen tussen toetsaanslagen doorgaans afhankelijk zijn van de positie van de toets op het toetsenbord, kan men met een bepaalde waarschijnlijkheid de ingevoerde informatie reconstrueren. Bijvoorbeeld, de meeste mensen typen meestal 's' na 'a' veel sneller dan 'g' na 's'.
De informatie die in de processor cache blijft, stelt ons ook in staat om het exacte tijdstip van pakketten die door de netwerkadapter zijn verzonden tijdens de verwerking van verbindingen zoals SSH te bepalen. Door een specifieke verkeersstroom te genereren, kan een aanvaller het moment bepalen waarop nieuwe gegevens in de cache verschijnen, gerelateerd aan bepaalde activiteiten in het systeem. Voor de analyse van de cache-inhoud wordt de methode , gebruikt, die inhoudt dat de cache wordt gevuld met een referentieset van waarden en de toegangstijd tot deze waarden wordt gemeten bij herhaald vullen om veranderingen te bepalen.
Het is niet uitgesloten dat de voorgestelde techniek kan worden toegepast voor het bepalen van niet alleen toetsaanslagen, maar ook andere soorten vertrouwelijke gegevens die in de CPU-cache verblijven. Potentieel kan de aanval ook worden uitgevoerd bij het uitschakelen van RDMA, maar zonder RDMA neemt de effectiviteit af en wordt de uitvoering aanzienlijk moeilijker. Ook is het mogelijk om DDIO te gebruiken voor het opzetten van een verborgen communicatietunnel die wordt gebruikt voor gegevensoverdracht na de compromittering van de server, om systemen voor beveiliging te omzeilen.

Bron: opennet.ru
