Webbeveiliging

Zero-day-kwetsbaarheid

Definitie

Een zero-day-kwetsbaarheid (ook wel zerodaylek of 0-day) is een beveiligingslek dat aanvallers al misbruiken voordat de maker van de software het heeft gedicht, en vaak voordat hij er zelfs van weet. Geen enkele update beschermt de site dan: alleen andere verdedigingslagen beperken het risico.

Zero-day-kwetsbaarheid, Webbeveiliging

Het woord verwijst naar het aantal dagen dat verdedigers hebben om zich voor te bereiden: nul. Wordt een zero-day misbruikt, dan heeft de maker nog geen patch uitgebracht, vaak omdat hij het probleem zelf nog niet kent. Je site bijwerken helpt in dat stadium dus niet: er bestaat nog geen veilige versie om te installeren.

Kwetsbaarheid, exploit, aanval: drie begrippen

"Zero-day-lek", "zero-day-exploit" en "zero-day-aanval" worden door elkaar gebruikt, maar het zijn drie verschillende dingen:

  • de kwetsbaarheid is de fout in de code (een vergeten toegangscontrole, ongefilterde invoer);
  • de exploit is het programma of verzoek dat die fout benut;
  • de aanval is het gebruik van die exploit tegen echte sites. Het NIST definieert dat als een aanval die een tot dan toe onbekende kwetsbaarheid in hardware of software uitbuit.

Zodra de patch uit is, is het lek strikt genomen geen zero-day meer. Specialisten spreken dan van een "n-day": bekend, gedocumenteerd, vaak met een CVE-nummer, maar nog aanwezig op elke site die niet heeft bijgewerkt. Juist die tweede periode veroorzaakt de meeste massahacks, want een openbare exploit is veel makkelijker op grote schaal in te zetten dan een geheim gehouden ontdekking.

Tijdlijn van een zero-day-kwetsbaarheid in vijf stappen: het lek zit in de code zonder dat iemand het weet, een aanvaller ontdekt het en misbruikt het stilletjes voordat er een patch is, de maker wordt gewaarschuwd en ontwikkelt een patch, de patch, de CVE en de waarschuwingen worden gepubliceerd, en dan begint de n-day-periode waarin niet bijgewerkte sites massaal worden aangevallen
"Dag nul" is maar een deel van het probleem: de tijd tussen de patch en jouw update telt net zo zwaar.

Een voorbeeld uit de WordPress-wereld

In juni 2023 kon via de registratieplugin Ultimate Member elke bezoeker een account met willekeurige rechten aanmaken, dus ook een beheerdersaccount. De registratie CVE-2023-3460, gepubliceerd door WPScan, vermeldt dat het lek actief werd misbruikt. De eerste updates waren onvolledig en pas versie 2.6.7 dichtte het: de tijdlijn van dit Ultimate Member-lek laat goed zien hoe een zero-day er vanaf een WordPress-site uitziet.

Om te weten of een lek echt wordt misbruikt en niet alleen theoretisch is, houdt het Amerikaanse agentschap CISA de KEV-catalogus bij (Known Exploited Vulnerabilities). Een lek komt er alleen in als aan drie voorwaarden is voldaan: een CVE-nummer, betrouwbaar bewijs van misbruik in de praktijk en een duidelijke maatregel om het te verhelpen. In Nederland publiceert het NCSC beveiligingsadviezen over actuele kwetsbaarheden en dreigingen.

Video: “What is a Zero Day Threat?” (IBM Technology, in het Engels)

De schade beperken zonder patch

Geen enkele maatregel maakt je immuun voor een lek dat nog niemand kent. Het doel is de kans op een treffer te verkleinen en sneller te kunnen reageren:

  • Minder code, minder lekken. Verwijder ongebruikte plugins en thema's, ook als ze gedeactiveerd zijn.
  • Vooraf filteren. Een web application firewall blokkeert sommige soorten aanvallen op hun vorm, zelfs zonder het precieze lek te kennen; zodra het bekend is, kan een virtuele patch het onschadelijk maken voordat je bijwerkt.
  • Rechten beperken. Weinig beheerdersaccounts, tweefactorauthenticatie en strikte bestandsrechten, zodat een inbraak beperkt blijft.
  • Snel ontdekken. Houd nieuwe accounts en gewijzigde bestanden in de gaten: de integriteitscontrole van WP Masquerade vergelijkt elke dag de core-bestanden met de checksums van wordpress.org. Zo zie je achteraf een inbraak, zonder de aanval zelf tegen te houden.
  • Terug kunnen. Geteste back-ups volgens de 3-2-1-regel blijven het laatste vangnet.

Voor WordPress: reageren op de dag van de waarschuwing

Raakt een actief misbruikt lek een plugin die jij gebruikt en bestaat er nog geen gepatchte versie, dan zijn de opties eenvoudig: deactiveer of verwijder de plugin als de site zonder kan, en vertrouw anders op een firewallregel en houd alles nauwlettend in de gaten. Komt de patch uit, installeer hem dan meteen, zonder op de wekelijkse updateronde te wachten. Om op tijd gewaarschuwd te worden heb je een betrouwbare bron nodig: onze methode om kwetsbaarheden te volgen vergelijkt de beschikbare databases.

Veelgemaakte fouten

  • Elk kritiek lek een "zero-day" noemen: een lek dat al zes maanden is gepatcht, is er geen meer, het is alleen bij jou niet gepatcht.
  • Denken dat een bijgewerkte site buiten gevaar is: bijwerken is nodig, maar een zero-day treft juist de nieuwste versies.
  • Denken dat een kleine site niemand interesseert: exploits worden automatisch losgelaten op alle sites die de getroffen plugin gebruiken.

Verder lezen

  • Artikel Ultimate Member CVE-2023-3460: beheerders aangemaakt via het registratieformulier
  • Pagina WordPress-integriteitscontrole

Bronnen

  1. NIST CSRC Glossary: zero day attack (externe link, opent in een nieuw tabblad)
  2. CISA: Known Exploited Vulnerabilities Catalog (externe link, opent in een nieuw tabblad)
  3. CVE Record: CVE-2023-3460 (externe link, opent in een nieuw tabblad)
  4. NCSC: Security Advisories (externe link, opent in een nieuw tabblad)

Alle definities

WordPress-beveiliging, zonder ruis

Eén e-mail wanneer het ertoe doet: nieuw waargenomen aanvallen, updates van de plugin en praktische gidsen. Geen spam, afmelden met één klik.

Begin gratis, stap over op Pro wanneer je eraan toe bent

De gratis versie verbergt WordPress al en verplaatst de inlogpagina. Pro voegt aliassen, tweestapsverificatie en bewaking toe.