VEX voor CRA-compliance: gids voor Vulnerability Exploitability eXchange
Hoe u VEX-documenten gebruikt voor CRA-compliance. Behandelt VEX-formaten, statustypen, integratie met SBOM en praktische voorbeelden voor het communiceren van kwetsbaarheidstoepasbaarheid.
In this article
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": "affected",
"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 app.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.
In diesem Artikel behandelte Themen
Gerelateerde artikelen
Hoe een Firmware SBOM te Genereren: Open Source Tools en...
Stap-voor-stap handleiding voor het genereren van een Software Bill of...
10 Min.De CRA krijgt zijn instructiehandleiding: wat de...
De Europese Commissie heeft ontwerpleidraad gepubliceerd voor de Cyber...
9 Min.Zijn slimme camera's Belangrijke producten onder de EU...
Slimme beveiligingscamera's zijn geclassificeerd als Belangrijke producten...
9 Min.Does the CRA apply to your product?
Beantworte 6 einfache Fragen, um herauszufinden, ob dein Produkt unter den Geltungsbereich des EU Cyber Resilience Act fällt. Erhalte dein Ergebnis in weniger als 2 Minuten.
Bereit für CRA-Konformität?
Beginnen Sie mit der Verwaltung Ihrer SBOMs und Konformitätsdokumentation mit CRA Evidence.