Onderzoekers van het Israëlische ARMO hebben een blinde vlek ontdekt bij de meeste securitydiensten op Linux. Deze kwetsbaarheid maakt het mogelijk voor aanvallers om ongedetecteerd kwaadaardige activiteiten uit te voeren. Met de ‘Curing’ rootkit heeft ARMO zelf de mouwen opgestroopt. Het bedrijf laat middels een rootkit zien hoe het Linux io_uring-framework kan worden misbruikt om detectiemechanismen te omzeilen.
Deze rootkit bevat de heimelijke aanvalsmethode die gebruik maakt van io_uring, een Linux asynchroon I/O-framework, om kwaadaardige activiteiten uit te voeren zonder gedetecteerd te worden door traditionele detectiemechanismen.
Blinde vlek in securityoplossingen
Securitytools zijn erg afhankelijk van system calls om gevaren op te sporen. Wie deze calls dus omzeilt, kan onder de radar vliegen bij deze tooling. Door gebruik te maken van deze blinde vlek kunnen aanvallers kwaadaardige operaties uitvoeren zonder de typische signalen te triggeren waarop security-oplossingen vertrouwen. De focus op ‘known bad’ is om meerdere redenen te bekritiseren, zoals Global Field CISO Maximilian Heinemeyer van Darktrace recent aan Techzine uitlegde.
Linux-systemen zijn al langer doelwit van verschillende aanvalstechnieken. Zo werd begin 2024 nog een botnet ontdekt genaamd NoaBot dat zich richtte op Linux-toestellen voor cryptomining-activiteiten. Deze nieuwe aanvalsmethode via io_uring vormt echter een meer geavanceerde bedreiging omdat het speciaal ontworpen is om beveiligingssystemen te omzeilen.
eBPF-securityprobleem
De ontdekking van deze nieuwe aanvalsmethode is relevant voor veel Linux agent-gebaseerde detectieoplossingen. Het is vooral significant voor eBPF, dat breed is geadopteerd voor monitoring en beveiliging en zeer populair is bij securitypartijen.
eBPF zit in een schemergebied tussen kernel en user mode. Het is een krachtige technologie met veel voordelen, maar leveranciers moeten zich ervan bewust zijn dat alleen het zoeken naar systeemaanroepen geen zicht geeft op bepaalde low-level operaties die via io_uring worden uitgevoerd.
Door deze tekortkoming uit te buiten, kunnen aanvallers diverse acties uitvoeren, waaronder het maken van netwerkverbindingen of het toegang krijgen tot en wijzigen van bestanden, zonder detectie door traditionele beveiligingsoplossingen van grote open source-projecten en commerciële securitybedrijven.
In september 2024 werd er ook een kwetsbaarheid ontdekt in het Linux CUPS printing system, wat aantoont dat Linux-systemen blijvend kwetsbaar zijn voor nieuwe aanvalsvectoren en op steeds andere manieren.
Een wake-up call
“Deze ontduikingstechniek is beschikbaar sinds io_uring werd toegevoegd aan de Linux-kernel, maar tot nu toe had niemand een volledig functionele rootkit ontwikkeld die het ware potentieel ervan aantoonde,” aldus Ben Hirschberg, CTO en medeoprichter bij ARMO.
“Toonaangevende securityvendoren behandelen Linux nog steeds als tweederangsburger. Dit is een enorme kloof, vooral met de wijdverspreide cloud-native adoptie, die voornamelijk op Linux is gebaseerd. Dit is een wake-up call voor de hele cyberbeveiligingsindustrie dat cloud-native beveiliging een discipline op zich is.”
Beschermingsmaatregelen
ARMO heeft de Curing-rootkit vrijgegeven aan het publiek om cybersecurityprofessionals te helpen testen of io_uring is ingeschakeld en in gebruik is in hun omgevingen. Dit stelt organisaties in staat om potentiële risico’s te identificeren en maatregelen te nemen.
ARMO beschermt tegen dit soort heimelijke aanvallen met ARMO Cloud Application Detection & Response (CADR) en ARMO’s automatische Seccomp Profile-beheer, waarmee gebruikers ongebruikte systeemaanroepen zoals io_uring kunnen uitschakelen.