Word gematcht

CWE

Concepten

Common Weakness Enumeration. Een openbare lijst met bekende soorten zwakke plekken in software. De lijst is te vinden via https://cwe.mitre.org/.

CWE staat voor Common Weakness Enumeration en is een gestandaardiseerde lijst van veelvoorkomende zwakheden in software en hardware. Het systeem is ontwikkeld en wordt onderhouden door MITRE in opdracht van het Amerikaanse CISA. Elke zwakheid krijgt een specifiek CWE-nummer, waarmee ontwikkelaars, beveiligingsonderzoekers en organisaties een gemeenschappelijke taal hebben om kwetsbaarheden te classificeren en te bespreken. Het verschil met CVE is dat CWE de onderliggende zwakheid beschrijft, terwijl CVE een specifieke kwetsbaarheid in een bepaald product registreert. Door CWE te begrijpen kun je structureel werken aan veiligere software in plaats van alleen individuele bugs te fixen. Het systeem bevat meer dan 900 unieke zwakheden, georganiseerd in een hierarchische structuur met abstractieniveaus die varieren van architectuurfouten tot implementatiedetails.

Waarom is CWE belangrijk?

CWE biedt een gestructureerde aanpak om softwarezwakheden te categoriseren en te prioriteren. Zonder een dergelijk classificatiesysteem zou elke organisatie haar eigen terminologie gebruiken, wat samenwerking tussen ontwikkelteams, beveiligingsonderzoekers en leveranciers bemoeilijkt. De CWE Top 25, die jaarlijks door CISA en MITRE wordt gepubliceerd, identificeert de gevaarlijkste softwarezwakheden die aanvallers actief misbruiken om systemen te compromitteren, data te stelen of diensten te verstoren.

Voor Nederlandse organisaties die vallen onder NIS2 of ISO 27001 is CWE bijzonder relevant. Deze frameworks vereisen dat je kwetsbaarheden systematisch identificeert en aanpakt. CWE geeft je de taal en structuur om dit effectief te doen. Door je softwareontwikkeling te toetsen aan CWE-categorieen voorkom je dat dezelfde typen zwakheden steeds opnieuw opduiken in je applicaties. Het consequent toepassen van CWE-classificaties versterkt bovendien je rapportage richting toezichthouders en auditors, die steeds vaker verwachten dat organisaties gestructureerd omgaan met softwarerisicos.

De economische impact is aanzienlijk. Zwakheden die vroeg in het ontwikkelproces worden geidentificeerd en opgelost kosten een fractie van wat het kost om dezelfde problemen in productie te fixen. CWE helpt je die vroege identificatie te structureren door duidelijke patronen en categorieen te bieden die ontwikkelaars tijdens het coderen al kunnen herkennen.

Hoe pas je CWE toe?

De toepassing van CWE begint bij het integreren van de classificatie in je softwareontwikkelproces. Static Application Security Testing (SAST) tools zoals SonarQube, Checkmarx en Fortify rapporteren bevindingen direct met CWE-nummers. Hierdoor kun je trends herkennen: als je codebase herhaaldelijk last heeft van CWE-79 (cross-site scripting) of CWE-89 (SQL injection), weet je waar je ontwikkelteam extra training nodig heeft.

Een praktische aanpak is om de CWE Top 25 als checklist te gebruiken bij code reviews en beveiligingstests. Richt je eerst op de meest kritieke zwakheden zoals injection-fouten, toegangscontroleproblemen en geheugenveiligheidsfouten. Veel organisaties nemen CWE-referenties op in hun vulnerability management beleid, zodat elke gevonden kwetsbaarheid wordt gekoppeld aan de onderliggende zwakheid en structureel kan worden aangepakt.

Daarnaast kun je CWE gebruiken bij leveranciersselectie. Vraag softwareleveranciers welke CWE-categorieen zij actief testen en hoe zij omgaan met de Top 25. Dit geeft inzicht in de volwassenheid van hun beveiligingspraktijken en helpt je bij het maken van een weloverwogen keuze. In aanbestedingstrajecten kun je CWE-compliance als harde eis opnemen, waardoor leveranciers aantoonbaar moeten maken dat hun ontwikkelproces deze zwakheden adresseert.

Voor organisaties die werken met microservices of API-gebaseerde architecturen is CWE extra relevant. Elke service vormt een potentieel aanvalsoppervlak, en door CWE-classificaties toe te passen op je API-beveiliging krijg je zicht op welke typen zwakheden het vaakst voorkomen in je servicelandschap. Dit stelt je in staat om gerichte beveiligingsmaatregelen te implementeren per servicetype.

CWE in de praktijk

Stel dat een middelgroot bedrijf een webapplicatie laat ontwikkelen voor klantbeheer. Tijdens een penetratietest vindt de tester een cross-site scripting kwetsbaarheid. Deze wordt gerapporteerd als CWE-79. Het ontwikkelteam herkent dit als een patroon, dezelfde zwakheid is eerder gevonden in andere modules. In plaats van alleen deze ene bug te fixen, besluiten ze output-encoding structureel te implementeren in hun framework. Hierdoor worden alle huidige en toekomstige paginas beschermd tegen dit type aanval.

Dit voorbeeld illustreert de kracht van CWE. Door niet alleen de symptomen maar ook de onderliggende oorzaak te classificeren, verschuif je van reactief patchen naar proactief voorkomen. Organisaties die CWE structureel inzetten in hun ontwikkelcyclus rapporteren significant minder terugkerende kwetsbaarheden. De CWE Top 25 van 2025 laat zien dat injection-fouten, gebrekkige toegangscontrole en geheugenfouten nog altijd de grootste risicos vormen, ondanks jarenlange bewustwording.

Voor security-teams biedt CWE ook waarde bij het opstellen van trainingsmateriaal. Je kunt ontwikkelaars gericht trainen op de CWE-categorieen die het vaakst voorkomen in jullie eigen codebase, wat de effectiviteit van security awareness aanzienlijk verhoogt. Een veelgebruikte methode is om maandelijks de top drie CWE-bevindingen uit je eigen scans te bespreken in een developer-standup, waardoor het bewustzijn over veelvoorkomende zwakheden continu groeit.

In de context van supply chain security speelt CWE een groeiende rol. Wanneer je software van derden integreert, kun je de bijbehorende CWE-rapportages opvragen om te beoordelen welke typen zwakheden in die componenten voorkomen. Dit is vooral relevant bij het gebruik van open-source bibliotheken, waar de community actief CWE-classificaties toepast op gevonden problemen.

Veelgestelde vragen over CWE

Wat is het verschil tussen CWE en CVE?

CWE beschrijft een type zwakheid in software of hardware, zoals "buffer overflow" of "SQL injection". CVE identificeert een specifieke kwetsbaarheid in een bepaald product met een specifiek nummer. Een CVE verwijst vaak naar een of meer CWE-categorieen als onderliggende oorzaak. CWE is dus de klasse, CVE het concrete geval.

Hoeveel CWE-entries bestaan er?

De CWE-lijst bevat meer dan 900 unieke zwakheden, georganiseerd in een hierarchische structuur. Niet alle zwakheden zijn even relevant voor elke organisatie. De CWE Top 25, jaarlijks gepubliceerd door CISA en MITRE, helpt je te focussen op de meest kritieke en meest misbruikte zwakheden.

Is CWE alleen relevant voor ontwikkelaars?

Nee. CWE is ook waardevol voor security-analisten, IT-managers en compliance-officers. Het biedt een gemeenschappelijke taal om over softwarezwakheden te communiceren. Bij leveranciersbeoordeling, risicoanalyse en compliance-audits helpt CWE om de beveiligingskwaliteit van software objectief te beoordelen.

Hoe verhoudt CWE zich tot OWASP?

OWASP richt zich specifiek op webapplicatiebeveiliging en publiceert de bekende OWASP Top 10. CWE is breder en dekt alle typen software- en hardwarezwakheden. De OWASP Top 10 verwijst naar CWE-nummers voor de technische classificatie van elke risico-categorie. Beide systemen vullen elkaar aan.

Hoe begin je met CWE in een bestaand project?

Start met het uitvoeren van een SAST-scan op je codebase. De meeste moderne tools rapporteren automatisch CWE-nummers bij gevonden zwakheden. Prioriteer de bevindingen op basis van de CWE Top 25 en pak eerst de meest kritieke categorieen aan. Integreer CWE-checks vervolgens in je CI/CD-pipeline voor continue bewaking.

Wat is de CWE Top 25?

De CWE Top 25 is een jaarlijkse ranglijst van de gevaarlijkste softwarezwakheden, samengesteld door CISA en MITRE op basis van actuele exploitatiedata. De lijst helpt organisaties bij het prioriteren van hun beveiligingsinspanningen door te focussen op zwakheden die in de praktijk het meest worden misbruikt door aanvallers.

Werk aan veiligere software. Vergelijk penetratietest-aanbieders op IBgidsNL.