
Un repository per condurre l'arricchimento delle vulnerabilità.
Il progetto CISA Vulnrichment è il repository pubblico dell'arricchimento da parte di CISA dei record CVE pubblici attraverso il container ADP (Authorized Data Publisher) di CISA. In questa fase del progetto, CISA valuta CVE nuovi e recenti e aggiunge i punti decisionali chiave SSVC. Una volta valutati, alcuni CVE a rischio più elevato riceveranno anche l'arricchimento con punti dati CWE e/o CVSS, ove possibile.
I produttori e i consumatori di questi dati CVE dovrebbero già avere familiarità con l'attuale CVE Record Format e possono accedere a questi dati nei modi normali, inclusi la GitHub API e la CVE Services API. Si noti che i risultati di Vulnrichment vengono reinseriti nel corpus CVE, attraverso il recentemente (2024) lanciato ADP Program. I consumatori a valle non hanno bisogno di fare fork e tenere traccia di questo repo GitHub se stanno già consumando dati CVE live.
Questo progetto è in fase di sviluppo attivo, quindi tenete d'occhio questo README.md per aggiornamenti.
Innanzitutto, CISA sottoporrà ogni CVE a un processo di scoring SSVC.
Successivamente, per quei CVE classificati come "Total Technical Impact", "Automatable", o con valori di "Exploitation" pari a "Proof of Concept" o "Active Exploitation", verrà condotta un'ulteriore analisi. CISA determinerà se ci sono informazioni sufficienti per affermare uno specifico identificatore CWE e/o un punteggio CVSS. In alcuni casi, CISA fornirà queste metriche anche per vulnerabilità che non risultano ad alto rischio su nessuno di questi punti decisionali.
Per quei CVE che non hanno già questi campi popolati dal CNA di origine, CISA popolerà il container ADP associato con quei valori quando ci sono prove di supporto sufficienti per farlo. In nessun momento CISA sovrascriverà i dati del CNA di origine nel container CNA originale nel record CVE.
Questi flowchart illustrano il processo di Vulnrichment. Si prega di notare che i dettagli nei flowchart sono soggetti a modifiche man mano che i processi di Vulnrichment vengono perfezionati.
Prendiamoci un momento per esaminare alcuni record CVE per ciascun tipo di vulnrichment che potete aspettarvi dall'ADP di CISA.
Tutti i CVE presi come esempi di seguito sono stati scelti casualmente tra quelli che soddisfano i criteri dimostrati.
Ogni CVE analizzato dall'ADP di CISA avrà tre punti decisionali SSVC elencati. Per questi esempi, esamineremo CVE-2024-34974, CVE-2024-25522 e CVE-2024-35057. Esamineremo anche CVE-2024-33666, che è un punteggio SSVC a basso rischio.
CVE-2024-25522 ha un valore "poc" per Exploit alla riga 47 che indica che era disponibile un proof-of-concept pubblico al momento dell'analisi:
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
]
CVE-2024-34974 ha un valore "yes" per "Automatable" alla riga 50 che indica che un attaccante potrebbe generalmente sfruttare questa vulnerabilità a piacimento, senza doversi preoccupare di tecniche di ricognizione, weaponization, delivery o prevenzione dello sfruttamento.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
]
CVE-2024-35057 ha un valore "total" per "Technical Impact" alla riga 59 che indica che sfruttare questa vulnerabilità generalmente darà all'attaccante il controllo totale sul software impattato.
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
]
Per quei CVE che sono nel KEV, l'ADP di CISA aggiungerà un blocco KEV. Per quelli che non lo sono, non avverrà alcun aggiornamento.
CVE-2024-4947 è uno di questi CVE, e contiene il blocco KEV a partire dalla riga 153:
"other": {
"type": "kev",
"content": {
"dateAdded": "2024-05-20",
"reference": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2024-4947"
}
}
CVE-2024-3477 è un esempio di CVE per il quale il CNA di origine non ha fornito un CWE, e un analista di CISA è riuscito a determinarne uno dal contesto delle informazioni sulla vulnerabilità disponibili. Quella metrica inizia alla riga 49 sotto il nodo problemTypes:
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"type": "CWE",
"cweId": "CWE-352",
"description": "CWE-352 Cross-Site Request Forgery (CSRF)"
}
]
}
]
CVE-2024-0043 è un esempio di CVE a cui è stato aggiunto un calcolo CVSS da CISA, a partire dalla riga 30. Anche in questo caso, si basa sul contesto delle informazioni sulla vulnerabilità disponibili al momento dell'analisi.
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.8,
"attackVector": "LOCAL",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
}
Si prega di notare che a partire dal 10 dicembre 2024, CISA non aggiungerà più stringhe CPE al dataset arricchito. I dati precedentemente arricchiti possono ancora contenere informazioni CPE. Le note qui riguardanti le stringhe CPE sono a scopo storico.
CVE-2024-1347 è un esempio di CVE a cui è stata aggiunta una stringa CPE da CISA, a partire dalla riga 61.
"cpes": [
"cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*"
]
CVE-2024-2905 è un esempio di CVE che aveva già metriche CWE, CVSS e CPE (vedi qui) quando CISA ha eseguito il passo di triage SSVC, e non è nel KEV, quindi non è stato necessario aggiungere altro. Bel lavoro, Red Hat CNA!