Een vulnerability scan is een geautomatiseerde scan van een systeem, netwerk of applicatie waarbij bekende beveiligingslekken (kwetsbaarheden) worden opgespoord. De scanner vergelijkt de aangetroffen software, configuraties en open poorten met een database van bekende kwetsbaarheden, zoals de CVE-database (Common Vulnerabilities and Exposures). Het resultaat is een rapport met gevonden risico’s, ingedeeld naar ernst, zodat je weet waar je als eerste actie moet ondernemen. Vulnerability scans zijn een essentieel onderdeel van elk beveiligingsprogramma en helpen je proactief zwakke plekken te dichten voordat kwaadwillenden ze misbruiken.
Hoe werkt een vulnerability scan?
Een vulnerability scanner stuurt gerichte verzoeken naar het doelsysteem om te inventariseren welke services, software en versies actief zijn. Op basis van deze informatie raadpleegt de scanner zijn database met bekende kwetsbaarheden en vergelijkt de gevonden versies met de versies waarvoor lekken bekend zijn.
Afhankelijk van het type scan kan dit extern gebeuren (vanuit het internet, zoals een aanvaller zou doen) of intern (vanuit het netwerk, met meer toegang). Sommige scanners worden voorzien van geldige inloggegevens (geauthenticeerde scan) om nog dieper in het systeem te kijken, wat meer en nauwkeurigere bevindingen oplevert.
Verschil tussen een vulnerability scan en een penetratietest
Een vulnerability scan is geautomatiseerd en inventariseert potentiële kwetsbaarheden. Een penetratietest (pentest) gaat verder: een ethisch hacker probeert gevonden kwetsbaarheden daadwerkelijk te misbruiken om te bewijzen dat ze exploiteerbaar zijn. Een scan is sneller en goedkoper; een pentest is diepgaander en geeft meer zekerheid over de werkelijke impact van een kwetsbaarheid.
In de praktijk vullen ze elkaar aan: een vulnerability scan wordt frequent uitgevoerd om het beveiligingsniveau bij te houden, terwijl een pentest periodiek plaatsvindt voor een grondigere beoordeling.
Typen vulnerability scans
Een netwerkscanner richt zich op open poorten, actieve services en netwerkconfiguraties. Hij detecteert verouderde firewallregels, onbeveiligde protocollen en misconfiguraties die een aanvaller toegang zouden kunnen geven. Tools als Nessus, OpenVAS en Qualys zijn bekende netwerkscanner.
Een webapplicatiescanner analyseert webapplicaties op OWASP Top 10-kwetsbaarheden zoals SQL-injectie, cross-site scripting (XSS) en onveilige authenticatie. Tools als Burp Suite, OWASP ZAP en Nikto worden hiervoor ingezet. Ze crawlen de applicatie automatisch en testen invoervelden en API-eindpunten op bekende aanvalsvectoren.
Een container- en cloudscanner richt zich op Docker-images, Kubernetes-configuraties en cloudinfrastructuur. Tools als Trivy, Snyk en AWS Inspector scannen op kwetsbare packageversies in containers en misconfiguraties in cloudservices zoals S3-buckets of IAM-rechten.
De vulnerability scan in de SDLC
Moderne softwareteams integreren vulnerability scans in hun CI/CD-pipeline. Bij elke build worden dependencies gecontroleerd op bekende kwetsbaarheden via tools als Dependabot, Snyk of OWASP Dependency-Check. Als een kritieke kwetsbaarheid wordt gevonden, mislukt de build automatisch en kan de code niet worden gedeployed totdat het lek is verholpen.
Dit principe, vaak aangeduid als “shift left security”, verplaatst beveiliging naar het vroegst mogelijke moment in het ontwikkelproces. Hoe eerder een kwetsbaarheid wordt gevonden, hoe goedkoper en eenvoudiger het is om hem te verhelpen.
Wat doe je met de resultaten?
Na een scan ontvang je een rapport met kwetsbaarheden ingedeeld op ernst: kritiek, hoog, gemiddeld en laag. Begin altijd met de kritieke en hoge bevindingen. Controleer per bevinding of ze daadwerkelijk van toepassing zijn op jouw situatie (false positives komen voor) en stel een remediatieplan op.
Leg de bevindingen en acties vast in een kwetsbaarhedenbeheerproces. Plan herscans na het verhelpen van kwetsbaarheden om te bevestigen dat de fix effectief was. Rapporteer periodiek aan het management over de beveiligingsstatus om draagvlak en budget voor beveiligingsmaatregelen te behouden.
Conclusie
Een vulnerability scan is een onmisbaar instrument voor iedereen die verantwoordelijk is voor de beveiliging van systemen, netwerken of applicaties. Door regelmatig te scannen, houd je zicht op je aanvalsoppervlak en kun je proactief kwetsbaarheden dichten. Integreer scans in je ontwikkelproces via CI/CD en combineer ze periodiek met diepgaandere pentests voor een robuust beveiligingsprogramma. Hoe eerder je kwetsbaarheden vindt, hoe minder schade ze kunnen aanrichten.
Veelgestelde vragen
Hoe vaak moet ik een vulnerability scan uitvoeren?
Voor de meeste organisaties is een maandelijkse volledige scan een goed uitgangspunt. Bij actieve ontwikkeling adviseren we ook geautomatiseerde scans bij elke deployment of wekelijks. Na significante infrastructuurwijzigingen of bekendmaking van een nieuwe kritieke CVE is een ad-hoc scan verstandig.
Mag ik een vulnerability scan uitvoeren op systemen die ik niet zelf beheer?
Nee. Een vulnerability scan zonder expliciete schriftelijke toestemming van de systeemeigenaar is illegaal in de meeste landen, ook als je goede bedoelingen hebt. Zorg altijd voor een ondertekende scope-overeenkomst voordat je begint met scannen.
Wat is een false positive bij een vulnerability scan?
Een false positive is een kwetsbaarheid die de scanner rapporteert, maar die in jouw situatie niet daadwerkelijk exploiteerbaar is. Dit kan voorkomen omdat de kwetsbaarheid is gepatcht via een backport die de scanner niet herkent, of omdat de configuratie het misbruik feitelijk verhindert. Verificatie van bevindingen is darom altijd nodig voordat je gaat remediëren.
Welke gratis tools kan ik gebruiken voor een vulnerability scan?
OpenVAS (nu Greenbone Community Edition) is een uitgebreide gratis netwerkscanner. OWASP ZAP is een populaire gratis webapplicatiescanner. Trivy is een gratis container- en filesystem-scanner. Voor dependency-scanning is OWASP Dependency-Check gratis beschikbaar.
Wat is het verschil tussen een CVE en een CVSS-score?
Een CVE (Common Vulnerability and Exposure) is een uniek identificatienummer voor een specifieke kwetsbaarheid, zoals CVE-2021-44228 (Log4Shell). De CVSS-score (Common Vulnerability Scoring System) is een numerieke beoordeling van de ernst van die kwetsbaarheid op een schaal van 0 tot 10. Een hoge CVSS-score betekent dat de kwetsbaarheid ernstig en relatief eenvoudig te misbruiken is.