Kennisbank

Externe code-uitvoering (Remote Code Execution): als een indringer via internet je apparaat overneemt

Bijgewerkt: 12 september 2026 · 5 min leestijd

Stel je voor dat iemand aan de andere kant van de wereld, zonder ooit fysiek bij jouw computer of server in de buurt te zijn geweest, toch commando's kan uitvoeren alsof hij zelf achter het toetsenbord zit. Dat is in essentie wat externe code-uitvoering is, in het Engels Remote Code Execution of kortweg RCE: een kwetsbaarheid in software waardoor een aanvaller via een netwerkverbinding, meestal internet, eigen programmacode kan laten draaien op een systeem dat niet van hem is.

Een treffende analogie is een brievenbus met een defect slot. Normaal gesproken kun je alleen post erin stoppen; de bus zelf blijft dicht en veilig. Bij een RCE-kwetsbaarheid blijkt echter dat als je een brief op een heel specifieke, vervormde manier vouwt, het slot opengaat en je zomaar de hele woonkamer kunt betreden. Zo'n 'vervormde brief' is in de digitale wereld vaak een stukje speciaal geprepareerde data, verstuurd naar een website, app of server, die de onderliggende software dwingt om iets uit te voeren wat de makers nooit hebben bedoeld.

Wat is het precies?

Software bestaat uit instructies die stap voor stap worden uitgevoerd. Programma's verwachten vaak invoer van gebruikers: een naam in een formulier, een bestand dat wordt geüpload, een tekstregel in een chatbericht. Die invoer wordt normaal gesproken als data behandeld, dus als tekst of getallen die worden weergegeven of opgeslagen, niet als iets dat wordt uitgevoerd.

Een RCE-kwetsbaarheid ontstaat wanneer programmeurs onvoldoende scheiding aanbrengen tussen 'data' en 'instructies'. Als een programma bijvoorbeeld invoer van een gebruiker ongefilterd doorgeeft aan een functie die normaal programmacode uitvoert, kan een aanvaller die invoer zo vormgeven dat de computer die tekst plotseling als een opdracht interpreteert in plaats van als onschuldige tekst.

Een andere veelvoorkomende oorzaak is een buffer overflow: een fout waarbij een programma meer data in een geheugenruimte ('buffer') propt dan daarvoor gereserveerd is. De overtollige data lekt dan door naar aangrenzend geheugen. Als een aanvaller precies weet hoe het geheugen van het programma is opgebouwd, kan hij die overloop gebruiken om zijn eigen code in het geheugen te plaatsen en het programma vervolgens te dwingen die code uit te voeren.

Belangrijk om te begrijpen: het vinden van zo'n zwakke plek is vaak maanden werk van gespecialiseerde onderzoekers die de broncode of het gedrag van software tot in detail analyseren. Het misbruiken ervan vereist bovendien dat de aanvaller een pad vindt waarlangs zijn data het kwetsbare stukje code daadwerkelijk bereikt, bijvoorbeeld via een inlogformulier, een bestandsupload of een netwerkprotocol dat door de server wordt afgehandeld.

Wat wil men ermee bereiken?

Voor een aanvaller is RCE een van de ernstigste soorten kwetsbaarheden, omdat het volledige controle kan geven over een systeem: bestanden lezen en wijzigen, wachtwoorden stelen, ransomware installeren, of het systeem gebruiken als springplank naar andere machines in hetzelfde netwerk.

Voor verdedigers en onderzoekers is de studie van RCE juist bedoeld om dit te voorkomen. Beveiligingsonderzoekers proberen kwetsbaarheden te vinden vóórdat kwaadwillenden dat doen, en melden die vervolgens verantwoord aan de softwaremaker zodat die een patch (een update die het lek dicht) kan uitbrengen. Dit proces heet responsible disclosure, verantwoorde onthulling.

Veel bedrijven organiseren zogeheten bug bounty-programma's, waarbij ze onderzoekers belonen met geld voor het melden van kwetsbaarheden zoals RCE, in plaats van dat die kennis op de zwarte markt terechtkomt. Daarnaast bestaat er een hele industrie rond detectie: software die verdacht netwerkverkeer of ongebruikelijk systeemgedrag herkent dat kan wijzen op een poging tot misbruik van zo'n lek.

Voorbeelden uit de praktijk

Shellshock (2014) was een kwetsbaarheid in Bash, een veelgebruikte opdrachtregel-interpreter op Linux- en Unix-systemen. Door speciaal geprepareerde omgevingsvariabelen kon een aanvaller op afstand commando's laten uitvoeren op miljoenen servers en apparaten wereldwijd, waaronder routers en embedded systemen.

WannaCry en EternalBlue (2017) vormen samen een van de bekendste gevallen. EternalBlue was een RCE-kwetsbaarheid in het Windows-netwerkprotocol SMB, oorspronkelijk ontdekt en geheimgehouden door de Amerikaanse inlichtingendienst NSA. Nadat de tool uitlekte, gebruikte de ransomware WannaCry deze kwetsbaarheid om zichzelf zonder enige gebruikersactie te verspreiden over honderdduizenden computers in meer dan 150 landen, met grote gevolgen voor onder meer de Britse gezondheidszorg (NHS).

Apache Struts en de Equifax-hack (2017): een RCE-kwetsbaarheid in het populaire webframework Apache Struts werd gebruikt om in te breken bij het Amerikaanse kredietbeoordelingsbureau Equifax. Daarbij werden persoonsgegevens van ongeveer 147 miljoen mensen buitgemaakt, een van de grootste datalekken ooit.

Log4Shell (december 2021), formeel CVE-2021-44228, trof Log4j, een logboek-bibliotheek die in ontelbare Java-toepassingen wordt gebruikt, van bedrijfssoftware tot games zoals Minecraft. Door een speciaal geformuleerde tekstregel te laten loggen, kon een aanvaller op afstand code laten uitvoeren. Vanwege de enorme verspreiding van Log4j in de software-toeleveringsketen gold dit als een van de meest impactvolle kwetsbaarheden van de afgelopen jaren.

MOVEit Transfer (2023): de criminele groep Cl0p misbruikte een kwetsbaarheid in de bestandsoverdrachtsoftware MOVEit Transfer om bij honderden organisaties wereldwijd, waaronder overheidsinstanties, gegevens te stelen en losgeld te eisen.

Hoe ver is de techniek?

RCE-kwetsbaarheden zijn geen relict uit het verleden; ze worden nog steeds regelmatig ontdekt, ook in software van grote, gerenommeerde bedrijven. Jaarlijks worden duizenden nieuwe kwetsbaarheden geregistreerd in publieke databases, en een aanzienlijk deel daarvan valt in de categorie 'op afstand uitvoerbaar'.

Er is wel vooruitgang. Steeds meer nieuwe software wordt geschreven in zogeheten memory-safe programmeertalen zoals Rust, die bepaalde categorieën geheugenfouten (waaronder veel oorzaken van RCE) door ontwerp onmogelijk maken. Grote techbedrijven en overheidsinstanties, waaronder de Amerikaanse CISA, dringen actief aan op deze overstap voor kritieke infrastructuur.

Tegelijk blijven belangrijke obstakels bestaan. Veel organisaties lopen achter met het installeren van beveiligingsupdates, soms uit angst dat een update bestaande systemen laat crashen, soms simpelweg door gebrek aan overzicht van alle gebruikte software. Ook de enorme afhankelijkheid van gedeelde, opensourcecomponenten (zoals bij Log4j) maakt dat één kwetsbaarheid duizenden organisaties tegelijk kan raken. Automatische patchsystemen en betere inventarisatie van softwareonderdelen, vastgelegd in een zogeheten Software Bill of Materials (SBOM), zijn in ontwikkeling maar nog niet overal ingeburgerd.

Wie werken eraan?

Het beheer en de bestrijding van RCE-kwetsbaarheden is internationaal georganiseerd. MITRE, een Amerikaanse non-profitorganisatie, beheert het CVE-systeem (Common Vulnerabilities and Exposures), de wereldwijde standaard voor het registreren en benoemen van kwetsbaarheden. Het Amerikaanse NIST houdt de National Vulnerability Database (NVD) bij, met technische details en risico-inschattingen.

CISA, het Amerikaanse agentschap voor cyberbeveiliging van kritieke infrastructuur, publiceert waarschuwingen en richtlijnen, onder meer over actief misbruikte kwetsbaarheden. In Nederland vervult het NCSC-NL (Nationaal Cyber Security Centrum) een vergelijkbare rol voor Nederlandse organisaties en overheden.

Grote technologiebedrijven hebben eigen onderzoeksteams: Google Project Zero zoekt actief naar ernstige kwetsbaarheden in software van derden, terwijl Microsoft Security Response Center (MSRC) meldingen over Microsoft-producten afhandelt. Academische onderzoeksgroepen dragen eveneens bij; in Nederland staat VUSec van de Vrije Universiteit Amsterdam internationaal bekend om onderzoek naar geheugenveiligheid en processorkwetsbaarheden. Platforms als HackerOne en Bugcrowd verbinden onafhankelijke onderzoekers met bedrijven via bug bounty-programma's.

Verder lezen