NetCat-kwetsbaarheid in Xeon-chips maakt versleutelde SSH-verbindingen leesbaar

Serverchips van Intel bevatten een kwetsbaarheid die aanvallers kunnen uitbuiten om versleutelde SSH-verbindingen vanop afstand af te luisteren. De kwetsbare functie kan je gelukkig uitschakelen.

De Data-Direct I/O (DDIO)-functie van Intels serverprocessors is kwetsbaar voor misbruik. Dat ontdekten onderzoekers van de universiteiten van Amsterdam en Zurich. DDIO laat randapparatuur van een server toe om rechtstreeks met het L3-cachegeheugen van een processor te praten. Door de cache zo beschikbaar te stellen, wordt een omweg via RAM vermeden. Dat heeft een sterke impact op de latency, die drastisch daalt. Ook naar energie-efficiëntie toe is DDIO een meerwaarde. De functie is bij Intel exclusief voor netwerk (Xeon)-processors.

Timing lezen

Eén van de randapparaten die dankzij DDIO met de cpu-cache kan communiceren, is de netwerkkaart. De onderzoekers cache met DDIO geactiveerd automatisch data deelt met randapparatuur, los van eventuele relevante toestemmingen. Het gaat om gegevens die eerder onder de noemer metadata te klasseren zijn, zoals de timing van de aankomst van pakketjes via een SSH-verbinding.

Precies daar ontdekten de researchers een probleem. Via een gecontroleerde server in een datacenter konden ze de netwerkkaart van een DDIO-server misbruiken om te kijken naar wat er zich allemaal in de processorcache afspeelde. Voor hun proof of concept-aanval gebruikten de aanvallers ook de Remote Direct Memory Access (RDMA)-functie. Die zorgt ervoor dat RAM gedeeld wordt tussen verschillende servers, want handig is voor parallel rekenwerk. RDMA maakt het eenvoudig om gegevens tussen servers uit te wisselen, maar is niet strikt noodzakelijk voor de aanval in kwestie.

Meelezen met versleutelde SSH-verbinding

De aanvallers brachten eerst de cache van het doelwit in een gekende staat via enkele commando’s. Vervolgens begon het luisteren. Door te kijken naar de timingen van de aankomst van pakketjes in de L3-cache, werd het mogelijk om een side channel-aanval op te zetten. De kwetsbaarheid laat een aanvaller niet toe om te kijken wat een doelwit precies typt, maar de metadata volstaat om die gegevens af te leiden.

Typen gebeurt in patronen. Sommige letters typ je snel na elkaar, tussen andere zit een iets langere pauze. ‘a’ gevolgd door ‘s’ is bijvoorbeeld sneller dan ‘a’ gevolgd door ‘g’. Het gaat om kleine verschillen, maar ze volstaan. Via een analytisch model en timingsdata van de cache genereus gedeeld via DDIO wordt het zo plots mogelijk om mee te lezen met een versleutelde SSH-verbinding.

De onderzoekers doopten hun aanval NetCat, naar ‘Network Cache attack’. Ze wijzen erop dat het om een complexe aanval gaat die niet meteen op grote schaal zal uitgebuit worden, maar dat misbruik in het wild desalniettemin perfect mogelijk is.

Nicheprobleem

De kwetsbaarheid is op maat geschreven van natiestaten of andere geavanceerdere hackersgroeperingen die uit zijn op specifieke informatie. DDIO uitschakelen is mogelijk, maar de functie bestaat voor een reden. De impact op de prestaties kan in sommige gevallen groot zijn. De fout ligt deels bij de bouwers van randapparatuur. Ook zij bouwden onvoldoende bescherming in tegen misbruik van DDIO. Het is vooral belangrijk om te weten dat de aanvalsvector bestaat. In kritieke omgevingen, waar beveiliging altijd boven prestaties gaat, is het misschien wel de moeite om DDIO uit te schakelen, of op een andere manier maatregelen te treffen.

Gerelateerd: De vloek van Spectre: waarom blijft het jou en Intel achtervolgen?