
Optimieren Sie die Behebung von Schwachstellen mit CVSS, EPSS und den bekannten ausgenutzten Schwachstellen der CISA. Priorisieren Sie Maßnahmen basierend auf Echtzeit-Bedrohungsinformationen, verschaffen Sie sich einen Wettbewerbsvorteil und bleiben Sie über die neuesten Trends informiert.
CVE Prioritizer ist ein leistungsstarkes Tool, das Ihnen hilft, die Priorisierung von Schwachstellen-Patches zu verbessern, indem es CVSS, EPSS, die Known Exploited Vulnerabilities von CISA und die Community-Ressourcen von VulnCheck (NVD++, KEV) kombiniert. Es bietet wertvolle Einblicke in die Wahrscheinlichkeit einer Ausnutzung und die potenziellen Auswirkungen von Schwachstellen auf Ihr Informationssystem.

CVE_Prioritizer nutzt die Korrelation zwischen CVSS- und EPSS-Scores, um die Behebung von Schwachstellen zu verbessern. Während CVSS die grundlegenden Eigenschaften einer Schwachstelle erfasst, liefert EPSS datengesteuerte Bedrohungsinformationen, die es Ihnen ermöglichen, Patches besser zu priorisieren.
Das Team von FIRST hat in seinem EPSS-Benutzerhandbuch hervorragend erklärt, warum man CVSS und EPSS kombinieren sollte. Das folgende Material wurde aus diesem Dokument entnommen.
Die folgende Abbildung zeigt die Korrelation zwischen EPSS- und CVSS-Scores basierend auf Daten vom 16.05.2021. Beachten Sie, dass EPSS Vorhersagewerte zwischen 0 und 1 (0 und 100 %) liefert, wobei höhere Werte eine höhere Wahrscheinlichkeit einer Ausnutzung anzeigen. Jeder Punkt steht für eine oder mehrere Schwachstellen (CVEs). Einige Schwachstellen sind zu Illustrationszwecken beschriftet.

Zunächst ist zu beobachten, dass die meisten Schwachstellen am unteren Rand des Diagramms konzentriert sind und nur ein kleiner Prozentsatz der Schwachstellen EPSS-Werte über 50 % (0,5) aufweist. Während es eine gewisse Korrelation zwischen EPSS- und CVSS-Scores gibt, liefert dieses Diagramm insgesamt Hinweise darauf, dass Angreifer nicht nur Schwachstellen ins Visier nehmen, die die größten Auswirkungen haben oder zwangsläufig einfacher auszunutzen sind (wie z. B. eine nicht authentifizierte Remote-Codeausführung).
Dies ist ein wichtiger Befund, da er die gängige Annahme widerlegt, dass Angreifer nur nach den schwerwiegendsten Schwachstellen suchen (und diese nutzen). Wie kann ein Netzwerkverteidiger dann aus diesen Schwachstellen auswählen, welche zuerst gepatcht werden sollen?
CVSS ist ein nützliches Werkzeug zur Erfassung der grundlegenden Eigenschaften einer Schwachstelle, muss jedoch in Kombination mit datengesteuerten Bedrohungsinformationen wie EPSS verwendet werden, um die Priorisierung von Schwachstellenbehebungen zu verbessern.
Betrachten wir zur Diskussion das folgende Diagramm, das zur allgemeinen Veranschaulichung der Schwachstellenpriorisierung kommentiert wurde.

Diese Entscheidungsstrategie unterstreicht die enorme Leistungsfähigkeit von EPSS. Ein Netzwerkverteidiger, der sich typischerweise mit Tausenden oder Zehntausenden exponierter Schwachstellen befassen musste, kann nun mit weniger Ressourcen mehr Schwachstellen patchen, die mit viel höherer Wahrscheinlichkeit ausgenutzt werden. Diese Fähigkeit, zwischen Schwachstellen zu unterscheiden, war bisher nicht möglich.
Wir haben die Priorisierungsschwellenwerte basierend auf den Empfehlungen von FIRST und unserer eigenen Erfahrung verfeinert. Hier eine Übersicht:
Dieser Ansatz kategorisiert Schwachstellen in fünf Prioritätsstufen, sodass Sie Ressourcen effektiver zuweisen können.
| Priorität |
|---|
Nachfolgend eine modifizierte Version der FIRST-Empfehlung nach Anwendung unseres Ansatzes.

Hinweis: Sie können beim Ausführen des Tools eigene Schwellenwerte festlegen, um die Ergebnisse an das Risikoprofil Ihrer Organisation anzupassen.
git clone https://github.com/TURROKS/CVE_Prioritizer.git
cd CVE_Prioritizer
pip install -r requirements.txt
pip install --user cve_prioritizer
Um CVE_Prioritizer effektiv zu nutzen, befolgen Sie diese Schritte:
-vc oder --vulncheck.-vck oder vulnchek_kev (FUNKTIONIERT NUR MIT NVD++).-c gefolgt von der CVE-ID.-l gefolgt von einer durch Komma getrennten Liste von CVEs.python3 cve_prioritizer.py -c CVE-2020-29127

python3 cve_prioritizer.py -l CVE-2020-29127,CVE-2017-16885

Sie können auch eine Textdatei mit einer Liste von CVEs bereitstellen (eine pro Zeile)
python3 cve_prioritizer.py -f ~\Desktop\CheckTheseCVEs.txt

CVE_Prioritizer bietet flexible Ausgabeoptionen, die Ihren Vorlieben entsprechen. Standardmäßig wird eine Zusammenfassung der Ergebnisse einschließlich der CVE-ID und ihrer Priorität ausgegeben. Sie können jedoch den ausführlichen Modus aktivieren, um weitere Informationen zu erhalten.
Hier sind die verfügbaren Ausgabeoptionen:
Zusammenfassung der Ergebnisse (Standard): Liefert eine prägnante Zusammenfassung, einschließlich der CVE-ID und ihrer Priorität.

Ausführlicher Modus: Aktiviert detaillierte Ausgabe mit den folgenden Informationen für jedes CVE:

CSV-Datei
Sie können die Ergebnisse mit den Flags -o oder --output in einer CSV-Datei speichern
python3 cve_prioritizer.py -f cve_list.txt -o ~/Desktop/prioritized.csv

Dies gibt die ausführlichen Ergebnisse unabhängig von der von Ihnen verwendeten Terminalausgabe aus.
Bitte beachten Sie die Richtlinien in CONTRIBUTING.md
Dieses Projekt ist unter der BSD-3-Klausel-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Bei Fragen oder Problemen kontaktieren Sie mich bitte unter [email protected]
Viel Erfolg beim Patchen!
Bitte beachten Sie, dass dieses Tool zwar die NVD-API verwendet, aber nicht von der NVD empfohlen oder zertifiziert ist.
| Priority 1+ | CVEs, die im CISA-KEV enthalten sind |
| Priority 1 | CVEs im oberen rechten Quadranten |
| Priority 2 | CVEs im unteren rechten Quadranten |
| Priority 3 | CVEs im oberen linken Quadranten |
| Priority 4 | CVEs im unteren linken Quadranten |
-f, um eine Datei mit CVE-IDs zu importieren (eine pro Zeile).
-f-Flag zusammen mit --nessus oder --openvas, um automatisch CVEs aus Nessus- oder OpenVAS-Scanberichten zu importieren.-v oder --verbose für detaillierte Informationen.--cvss und/oder --epss, um die Ergebnisse an das Risikoprofil Ihrer Organisation anzupassen.-t oder --threads (Standard: 100).