Groot gat in Linux beveiliging door io_uring
Onderzoekers van ARMO hebben een ernstige zwakte blootgelegd in veelgebruikte Linux-beveiligingstools. Het probleem ligt bij io_uring, een mechanisme voor asynchrone I/O in Linux dat traditionele systeemaanroepen omzeilt. Hierdoor kunnen rootkits zoals Curing – een proof-of-concept van ARMO – onopgemerkt blijven.

Hoe io_uring beveiligingstools misleidt
io_uring, geïntroduceerd in Linux 5.1, is ontworpen voor efficiënte I/O-operaties, maar blijkt ook een gevaarlijke ontsnappingsroute voor malware. Omdat veel beveiligingssoftware zoals Falco, Tetragon en Microsoft Defender afhankelijk zijn van het monitoren van systeemaanroepen, detecteren ze geen kwaadaardige activiteiten die via io_uring verlopen.
ARMO’s rootkit Curing laat zien hoe een aanvaller bestanden kan lezen, netwerkverkeer kan sturen en commando’s kan uitvoeren zonder ook maar één verdachte systeemaanroep te genereren.
Beveiligingsleveranciers reageren verschillend
- Falco erkent het probleem en werkt aan een oplossing met LSM-hooks (Linux Security Module).
- Tetragon biedt al flexibiliteit om diepere kernel-hooks te plaatsen, maar vereist handmatige configuratie.
- Microsoft Defender bleek tijdens tests volledig blind voor io_uring-aanvallen, zelfs bij het uitvoeren van bekende malware.
Hoe kan dit worden opgelost?
ARMO raadt aan:
- Anomaliedetectie: Monitoren van ongebruikelijke io_uring-activiteit.
- KRSI (Kernel Runtime Security Instrumentation): Een nieuwe Linux-functie die betere detectie mogelijk maakt.
- Alternatieve hookpoints: Diepere kernel-integratie om omzeiling van systeemaanroepen te voorkomen.
"Linux-beveiliging moet fundamenteel anders"
"Dit is geen klein lek, maar een fundamentele ontwerpfout in veel runtime-beveiligingstools," zegt een ARMO-onderzoeker. "Met Linux als ruggengraat van de cloud is dit een risico voor iedereen."
ARMO heeft Curing openbaar gemaakt om bewustwording te creëren. De volledige technische details en oplossingen zijn te vinden in hun blogpost.