VEX voor CRA: Vulnerability Exploitability eXchange uitgelegd
Hoe u VEX gebruikt voor CRA-compliance: formaten, statustypen, integratie met SBOM en praktische voorbeelden.
In dit artikel
Niet elke kwetsbaarheid in uw SBOM heeft invloed op uw product. VEX (Vulnerability Exploitability eXchange) stelt u in staat te communiceren welke kwetsbaarheden daadwerkelijk van toepassing zijn op uw specifieke product en context. Voor CRA-compliance helpt VEX aantonen dat u kwetsbaarheden heeft beoordeeld en de relevante ervan heeft aangepakt.
Deze gids legt uit hoe u VEX effectief gebruikt.
Info: VEX (Vulnerability Exploitability eXchange) stelt u in staat te communiceren welke kwetsbaarheden in uw SBOM daadwerkelijk van invloed zijn op uw product – en welke niet. Het is essentieel voor het voldoen aan de CRA-vereiste "geen bekende uitbuitbare kwetsbaarheden".
Samenvatting
- VEX = machineleesbare verklaring over toepasbaarheid van kwetsbaarheden
- Beantwoordt: "Heeft CVE-XXXX invloed op MIJN product?"
- Vier statussen: Niet getroffen, Getroffen, Opgelost, Onder onderzoek
- Complement op SBOM: SBOM somt componenten op, VEX beoordeelt kwetsbaarheden
- CycloneDX VEX en CSAF VEX zijn de hoofdformaten
- Essentieel voor de CRA-vereiste "geen bekende uitbuitbare kwetsbaarheden"
Wat is VEX?
Het probleem dat VEX oplost
Wanneer u een SBOM scant, krijgt u een lijst van kwetsbaarheden in componenten:
SBOM-SCANRESULTATEN (Typisch):
Component: openssl 1.1.1k
- CVE-2021-3711 (Kritiek)
- CVE-2021-3712 (Hoog)
- CVE-2022-0778 (Hoog)
Component: zlib 1.2.11
- CVE-2018-25032 (Hoog)
Component: libxml2 2.9.10
- CVE-2021-3517 (Hoog)
- CVE-2021-3518 (Hoog)
- CVE-2022-23308 (Gemiddeld)
TOTAAL: 8 kwetsbaarheden gevonden
MAAR WACHT...
- Hebben al deze daadwerkelijk invloed op uw product?
- Wordt het kwetsbare codepad gebruikt?
- Heeft u sommige al gemitigeerd?
- Zijn sommige niet uitbuitbaar in uw context?
VEX beantwoordt deze vragen.
VEX-definitie
VEX (Vulnerability Exploitability eXchange) is een gestandaardiseerd formaat voor het communiceren van:
- Of een kwetsbaarheid een specifiek product treft
- Waarom wel of niet
- Welke acties (indien van toepassing) nodig zijn
- Huidige status van de beoordeling
VEX-statustypen
VEX-STATUSOPTIES
NIET GETROFFEN:
"Deze kwetsbaarheid heeft geen invloed op ons product"
- Kwetsbare code niet aanwezig
- Kwetsbare functie niet aangeroepen
- Platform niet van toepassing
- Gemitigeerd door configuratie
GETROFFEN:
"Deze kwetsbaarheid heeft invloed op ons product"
- Actie vereist
- Kan aanbevolen mitigaties bevatten
- Geeft ernst in context aan
OPGELOST:
"Deze kwetsbaarheid is verholpen"
- In specifieke versie
- Details van oplossing verstrekt
- Updateaanbeveling
ONDER ONDERZOEK:
"We beoordelen dit nog"
- Status nog niet bepaald
- Onderzoek gaande
- Tijdelijke status
VEX en CRA-vereisten
CRA-kwetsbaarheidsvereisten
CRA vereist van fabrikanten:
- Geen bekende uitbuitbare kwetsbaarheden (bij marktplaatsing)
- Kwetsbaarheden afhandelen gedurende de ondersteuningsperiode
- Beveiligingsupdates leveren om kwetsbaarheden op te lossen
- Actief misbruikte kwetsbaarheden melden aan ENISA (24u)
- Ernstige kwetsbaarheden melden aan ENISA (72u)
Hoe VEX CRA ondersteunt
VEX VOOR CRA-COMPLIANCE
VEREISTE: Geen bekende uitbuitbare kwetsbaarheden
ROL VEX:
- Kwetsbaarheidsbeoordeling documenteren
- Tonen welke CVE's zijn geëvalueerd
- "Niet getroffen"-bepalingen aantonen
- Bewijs voor technisch dossier
VEREISTE: Kwetsbaarheden afhandelen
ROL VEX:
- Statuswijzigingen kwetsbaarheden bijhouden
- Progressie "getroffen" → "opgelost" documenteren
- Communiceren met klanten
- Auditspoor bijhouden
VEREISTE: Beveiligingsupdates
ROL VEX:
- Documenteren wat in elke update is opgelost
- Informatie "opgelost in versie X" verstrekken
- Tool voor klantcommunicatie
VEREISTE: ENISA-melding
ROL VEX:
- Voorbeoordeling helpt meldingsplicht bepalen
- "Getroffen" + "actief misbruikt" = melden
- Documentatie voor nauwkeurigheid rapport
Tip: CycloneDX heeft native VEX-ondersteuning. Als u al CycloneDX SBOM's genereert, is het toevoegen van VEX-gegevens eenvoudig.
VEX-formaten
CycloneDX VEX
CycloneDX bevat VEX-capaciteit als onderdeel van het SBOM-formaat:
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"vulnerabilities": [
{
"id": "CVE-2021-3711",
"source": {
"name": "NVD"
},
"analysis": {
"state": "not_affected",
"justification": "code_not_present",
"detail": "Ons product gebruikt OpenSSL maar niet de SM2-functionaliteit waar deze kwetsbaarheid bestaat. SM2 is niet gecompileerd in onze build."
},
"affects": [
{
"ref": "openssl-1.1.1k"
}
]
},
{
"id": "CVE-2022-0778",
"source": {
"name": "NVD"
},
"analysis": {
"state": "exploitable",
"detail": "Product is getroffen bij het verwerken van niet-vertrouwde certificaten. Opgelost in versie 2.1.0."
},
"affects": [
{
"ref": "openssl-1.1.1k"
}
],
"recommendation": "Updaten naar productversie 2.1.0 of later"
}
]
}
CSAF VEX
CSAF (Common Security Advisory Framework) biedt een zelfstandig VEX-documentformaat:
{
"document": {
"category": "csaf_vex",
"title": "Productbeveiligingsbeoordeling voor CVE-2021-3711",
"publisher": {
"category": "vendor",
"name": "Voorbeeld Corp"
},
"tracking": {
"id": "EX-2024-001",
"status": "final",
"version": "1.0.0",
"current_release_date": "2024-01-15T10:00:00Z"
}
},
"product_tree": {
"branches": [
{
"category": "product_name",
"name": "Smart Sensor Pro",
"product": {
"product_id": "SSP-2.0",
"name": "Smart Sensor Pro 2.0"
}
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2021-3711",
"product_status": {
"known_not_affected": ["SSP-2.0"]
},
"flags": [
{
"label": "vulnerable_code_not_present",
"product_ids": ["SSP-2.0"]
}
],
"notes": [
{
"category": "description",
"text": "SM2-functionaliteit is niet opgenomen in onze OpenSSL-build."
}
]
}
]
}
OpenVEX
OpenVEX is een eenvoudiger, gefocust VEX-formaat:
{
"@context": "https://openvex.dev/ns/v0.2.0",
"@id": "https://example.com/vex/2024-001",
"author": "Voorbeeld Corp Beveiligingsteam",
"timestamp": "2024-01-15T10:00:00Z",
"statements": [
{
"vulnerability": {
"@id": "CVE-2021-3711"
},
"products": [
{
"@id": "pkg:generic/smart-sensor-pro@2.0"
}
],
"status": "not_affected",
"justification": "vulnerable_code_not_present",
"impact_statement": "SM2 cryptografische functionaliteit is niet gecompileerd in de OpenSSL-build van ons product."
}
]
}
VEX-verklaringen aanmaken
Beoordelingsproces
VEX-BEOORDELINGSWORKFLOW
STAP 1: KWETSBAARHEID IDENTIFICEREN
- Vanuit SBOM-scanresultaten
- Vanuit beveiligingsadvies
- Vanuit klantmelding
- Vanuit ENISA-kennisgeving
STAP 2: TOEPASBAARHEID ANALYSEREN
Te beantwoorden vragen:
- Is het kwetsbare component in ons product aanwezig?
- Is de kwetsbare versie aanwezig?
- Wordt het kwetsbare codepad gebruikt?
- Is de kwetsbaarheid uitbuitbaar in onze context?
- Zijn mitigaties al aanwezig?
STAP 3: STATUS BEPALEN
Op basis van analyse:
- NOT_AFFECTED: Kwetsbaarheid is niet van toepassing
- AFFECTED: Kwetsbaarheid is van toepassing, actie vereist
- FIXED: Was getroffen, nu verholpen
- UNDER_INVESTIGATION: Nog bezig met beoordeling
STAP 4: ONDERBOUWING DOCUMENTEREN
Voor NOT_AFFECTED, geef aan waarom:
- vulnerable_code_not_present
- vulnerable_code_cannot_be_controlled_by_adversary
- vulnerable_code_not_in_execute_path
- inline_mitigations_already_exist
STAP 5: VEX-DOCUMENT AANMAKEN
- Gekozen formaat gebruiken
- Alle vereiste velden invullen
- Document versienummeren en dateren
- Indien mogelijk ondertekenen
Onderbouwingstypen
NOT_AFFECTED-ONDERBOUWINGEN
VULNERABLE_CODE_NOT_PRESENT:
"De kwetsbare code is niet opgenomen in onze build"
Voorbeeld: OpenSSL gecompileerd zonder SM2-ondersteuning
VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY:
"Een aanvaller kan de kwetsbare code niet bereiken"
Voorbeeld: Functie alleen aangeroepen met vertrouwde interne gegevens
VULNERABLE_CODE_NOT_IN_EXECUTE_PATH:
"De kwetsbare functie wordt nooit aangeroepen"
Voorbeeld: Bibliotheek opgenomen maar specifieke functie ongebruikt
INLINE_MITIGATIONS_ALREADY_EXIST:
"Andere maatregelen voorkomen misbruik"
Voorbeeld: WAF blokkeert de aanvalsvector, sandboxing beperkt impact
Voorbeeldbeoordelingen
VOORBEELD 1: Niet getroffen (code niet aanwezig)
Kwetsbaarheid: CVE-2021-3711 (OpenSSL SM2 bufferoverloop)
Component: openssl 1.1.1k
Beoordeling: Ons product gebruikt OpenSSL alleen voor TLS.
SM2 is een Chinese cryptografische standaard die we niet gebruiken.
Onze build schakelt SM2 expliciet uit: ./config no-sm2
Status: NOT_AFFECTED
Onderbouwing: vulnerable_code_not_present
VOORBEELD 2: Niet getroffen (niet in uitvoeringspad)
Kwetsbaarheid: CVE-2022-23308 (libxml2 use-after-free)
Component: libxml2 2.9.10
Beoordeling: Kwetsbaarheid in XPath-evaluatie met namespaces.
Ons product gebruikt libxml2 alleen voor eenvoudige XML-parsing.
We gebruiken nooit XPath-functionaliteit.
Status: NOT_AFFECTED
Onderbouwing: vulnerable_code_not_in_execute_path
VOORBEELD 3: Getroffen
Kwetsbaarheid: CVE-2022-0778 (OpenSSL oneindige lus)
Component: openssl 1.1.1k
Beoordeling: Ons product verwerkt TLS-certificaten van
potentieel niet-vertrouwde bronnen. De kwetsbaarheid
maakt DoS mogelijk via kwaadaardig certificaat.
Status: AFFECTED
Aanbeveling: Updaten naar productversie 2.1.0 (OpenSSL 1.1.1n)
VOORBEELD 4: Opgelost
Kwetsbaarheid: CVE-2022-0778 (OpenSSL oneindige lus)
Component: openssl (was 1.1.1k, nu 1.1.1n)
Beoordeling: Opgelost in productversie 2.1.0
Status: FIXED
Opgelost in versie: 2.1.0
VEX-workflow voor CRA
Doorlopende beoordeling
DOORLOPEND VEX-PROCES
DAGELIJKS/WEKELIJKS:
1. SBOM scannen op nieuwe kwetsbaarheden
2. Prioriteren op ernst
3. Beoordeling starten van hoge/kritieke kwetsbaarheden
PER KWETSBAARHEID:
1. Technische analyse
2. Status bepalen
3. VEX-verklaring aanmaken/bijwerken
4. Indien GETROFFEN: remediëring plannen
BIJ OPLOSSING:
1. VEX-status bijwerken naar OPGELOST
2. Versie van oplossing refereren
3. Klanten informeren
4. Technisch dossier bijwerken
VOOR ENISA-MELDING:
1. GETROFFEN + actief misbruikt → Melden binnen 24u
2. GETROFFEN + ernstig → Melden binnen 72u
3. VEX opnemen in rapportagecontext
Integratie met SBOM
SBOM + VEX-INTEGRATIE
OPTIE 1: Ingebed VEX (CycloneDX)
- VEX-gegevens in SBOM-document
- Enkel bestand voor componenten + kwetsbaarheden
- SBOM bijwerken wanneer VEX wijzigt
OPTIE 2: Gekoppeld VEX
- Afzonderlijk VEX-document
- Verwijst naar SBOM-componenten
- Kan onafhankelijk worden bijgewerkt
OPTIE 3: CSAF-adviezen
- Zelfstandige beveiligingsadviezen
- Gepubliceerd op beveiligingspagina
- Machineleesbaar voor automatisering
AANBEVELING VOOR CRA:
- Gebruik ingebed VEX voor technisch dossier (volledig overzicht)
- Publiceer CSAF-adviezen voor klantcommunicatie
- Beiden bijhouden en gesynchroniseerd houden
Klantcommunicatie
VEX VOOR KLANTCOMMUNICATIE
SCENARIO: Klant vraagt "Heeft CVE-XXXX invloed op uw product?"
MET VEX:
1. Kwetsbaarheid zoeken in VEX-database
2. Status direct meedelen
3. Indien NOT_AFFECTED: onderbouwing delen
4. Indien AFFECTED: remediëringsbegeleiding verstrekken
5. Indien UNDER_INVESTIGATION: tijdlijn meedelen
VOORDELEN:
- Consistente antwoorden van heel het ondersteuningsteam
- Vooraf opgestelde onderbouwingen
- Snellere responstijd
- Aantoonbare zorgvuldigheid
VEX in technisch dossier
Documentatieaanpak
VEX-SECTIE IN TECHNISCH DOSSIER
SECTIE: Kwetsbaarheidsbeoordeling (VEX)
INHOUD:
1. Beschrijving VEX-methodologie
2. Huidig VEX-document (alle producten)
3. Historische VEX-updates (auditspoor)
4. Bewijs voor "niet getroffen"-onderbouwingen
VOORBEELDVERMELDING:
"Per [datum] zijn de volgende kwetsbaarheden beoordeeld
voor [Productnaam] versie [X.Y.Z]:
Totaal CVE's in componentafhankelijkheden: 47
- Niet getroffen: 41
- Opgelost: 4
- Onder onderzoek: 2
- Getroffen (met mitigatie): 0
VEX-document: [link/bijlage]
Laatste update: [datum]"
Bewijs voor "geen bekende uitbuitbare kwetsbaarheden"
CRA-COMPLIANCEBEWIJS
BEWERING: Product heeft geen bekende uitbuitbare kwetsbaarheden
BEWIJS (VEX-gebaseerd):
1. SBOM-scanresultaten (gedateerd)
2. VEX-beoordeling die alle bevindingen dekt
3. Voor elke "Niet getroffen": onderbouwing
4. Voor elk "Opgelost": versie-informatie
5. Voor "Onder onderzoek": tijdlijn/status
AUDITSPOOR:
- Wanneer is elke CVE beoordeeld?
- Wie heeft de beoordeling uitgevoerd?
- Wat was de onderbouwing?
- Wanneer is de status bijgewerkt?
Tools en automatisering
VEX-generatietools
VEX-TOOLINGOPTIES
SBOM + KWETSBAARHEIDSMATCHING:
- Grype (Anchore) - genereert VEX
- Trivy - kwetsbaarheidsscanning met VEX-output
- OWASP Dependency-Track - VEX-ondersteuning
VEX-AUTHORING:
- CycloneDX CLI - VEX aanmaken/valideren
- CSAF tools - CSAF VEX-documenten aanmaken
- OpenVEX tools - eenvoudige VEX-aanmaak
AUTOMATISERING:
- CI/CD-integratie voor scanning
- Automatische "onder onderzoek"-status
- Handmatige beoordeling voor definitieve status
Automatiseringsstrategie
VEX-AUTOMATISERINGSAANPAK
GEAUTOMATISEERD:
- SBOM-scanning op nieuwe CVE's
- Initiële "onder onderzoek"-status
- Melding aan beveiligingsteam
- Basiscontroles toepasbaarheid
SEMI-GEAUTOMATISEERD:
- Suggesties voor codepadanalyse
- Historische patroonherkenning
- Statusopzoekingen voor vergelijkbare producten
HANDMATIG (vereist):
- Definitieve statusbepaling
- Onderbouwing schrijven
- Klantgerichte communicatie
- Beslissingen voor ENISA-melding
Veelvoorkomende uitdagingen
Uitdaging: Hoog volume CVE's
Probleem: SBOM-scans leveren honderden CVE's op.
Oplossingen:
- Prioriteren op ernst (eerst Kritiek/Hoog)
- Automatisering gebruiken voor initiële triage
- Sjablonen voor onderbouwing opstellen voor veelvoorkomende patronen
- Focussen op componenten die u beheert
Uitdaging: Moeilijkheid van technische analyse
Probleem: Moeilijk te bepalen of kwetsbare code wordt gebruikt.
Oplossingen:
- Samenwerken met het ontwikkelingsteam
- Statische analysetools gebruiken
- Onzekerheid adequaat documenteren
- Conservatieve aanpak: bij twijfel, behandelen als getroffen
Uitdaging: VEX actueel houden
Probleem: Kwetsbaarheidsstatus wijzigt in de tijd.
Oplossingen:
- SBOM-herscan automatiseren
- Geplande VEX-beoordelingen
- Op triggers gebaseerde updates (nieuwe CVE, nieuwe versie)
- VEX-documenten versienummeren
VEX-checklist
CHECKLIST VEX-IMPLEMENTATIE
INRICHTING:
[ ] VEX-formaat kiezen (CycloneDX VEX aanbevolen)
[ ] Beoordelingsproces definiëren
[ ] Verantwoordelijkheid toewijzen
[ ] Tooling inrichten
INITIËLE BEOORDELING:
[ ] SBOM scannen op kwetsbaarheden
[ ] Prioriteren op ernst
[ ] Elke kwetsbaarheid beoordelen
[ ] Onderbouwingen documenteren
DOORLOPEND PROCES:
[ ] Regelmatig SBOM-herscanschema
[ ] Monitoring van nieuwe CVE's
[ ] SLA voor beoordeling (bijv. Kritiek: 24u)
[ ] Updates van VEX-document
DOCUMENTATIE:
[ ] VEX opgenomen in technisch dossier
[ ] Versiegeschiedenis bijgehouden
[ ] Onderbouwingen gedetailleerd
[ ] Klantgerichte publicatie
INTEGRATIE:
[ ] Gekoppeld aan SBOM
[ ] Klantcommunicatieproces
[ ] ENISA-meldingsworkflow
[ ] Release notes bijgewerkt
Kernbronnen
VEX-BRONNEN
STANDAARDEN:
CycloneDX VEX: https://cyclonedx.org/capabilities/vex/
CSAF: https://docs.oasis-open.org/csaf/
OpenVEX: https://openvex.dev
RICHTLIJNEN:
CISA VEX Status Justifications
NTIA VEX Minimum Elements
TOOLS:
Grype: https://github.com/anchore/grype
Trivy: https://aquasecurity.github.io/trivy/
CycloneDX CLI: https://github.com/CycloneDX/cyclonedx-cli
Hoe CRA Evidence helpt
CRA Evidence biedt uitgebreide VEX-ondersteuning:
- Geïntegreerd VEX: VEX beheren samen met SBOM
- Beoordelingsworkflow: Gestructureerde kwetsbaarheidsanalyse
- Statusbeheer: Wijzigingen in de tijd bijhouden
- Onderbouwingssjablonen: Veelvoorkomende patronen vooraf ingebouwd
- Integratie technisch dossier: VEX in compliancedocumentatie
- Klantportaal: VEX-status delen met klanten
Start uw CRA-compliance via craevidence.com.
Gerelateerde artikelen
- SBOM voor CRA-compliance: volledige gids voor Software Bill of Materials – VEX is complementair aan SBOM – leer hoe u eerst de basis opbouwt.
- CRA kwetsbaarheidsmelding: ENISA-meldingsvereisten – Begrijp de 24u/72u-meldingsverplichtingen voor kwetsbaarheden die u als "Getroffen" classificeert.
- CRA SBOM-generatie: tools en automatiseringsgids – Automatiseer SBOM- en VEX-generatie in uw CI/CD-pijplijn.
Dit artikel is uitsluitend bedoeld ter informatie en vormt geen juridisch advies. Raadpleeg voor specifieke compliancebegeleiding een gekwalificeerde juridisch adviseur.
Gerelateerde artikelen
CRA voor Duitse fabrikanten: BSI, CERT-Bund en CE-markering
Is de CRA van toepassing op uw product?
Beantwoord 6 eenvoudige vragen om te ontdekken of uw product onder de EU Verordening cyberweerbaarheid valt. Ontvang uw resultaat in minder dan 2 minuten.
Klaar om CRA-conformiteit te bereiken?
Begin met het beheren van uw SBOMs en compliance-documentatie met CRA Evidence.