Wer jede Meldung mit hoher Punktzahl gleich behandelt, patcht dauerhaft und trotzdem an der Reihe vorbei. CVSS richtig lesen erklärt, warum der Basiswert deine Umgebung nicht kennt. Dieser Beitrag geht einen Schritt weiter: Welche zusätzliche Information macht aus einer Liste eine Reihenfolge?
Kein Loch, aber ein Zeitproblem. Die meisten kleinen Betriebe patchen nicht zu wenig, sondern in der falschen Reihenfolge und sind deshalb bei der einen Lücke spät dran, die tatsächlich massenhaft ausgenutzt wird.
Drei Zahlen, drei verschiedene Fragen#
| Angabe | Beantwortet | Beantwortet nicht |
|---|---|---|
| CVSS-Basiswert | Wie schlimm wäre es, wenn es ausgenutzt wird? | Ob es jemand tut |
| EPSS (Wahrscheinlichkeitsschätzung) | Wie wahrscheinlich ist Ausnutzung in den nächsten 30 Tagen? | Ob es dich betrifft |
| KEV-Eintrag (bekannt ausgenutzt) | Wird es nachweislich verwendet? | Wie schlimm es bei dir wäre |
EPSS ist eine Schätzung des FIRST-Konsortiums, KEV eine Liste der US-Behörde CISA mit belegt ausgenutzten Lücken. Beide sind frei abrufbar und beide sind Ergänzungen, keine Ersatzwerte. Eine Lücke mit Basiswert 7.5, die auf der KEV-Liste steht, schlägt eine 9.8 ohne Exploit, jeden Tag.
Die vierte Zahl kommt von dir#
Keine dieser Quellen weiß, ob die betroffene Funktion bei dir aktiv ist. Diese Antwort liefert nur die eigene Prüfung: Betroffenheit prüfen und die Bestandsliste.
Erst aus vier Angaben wird eine Entscheidung:
erreichbar von außen? × Funktion aktiv? × wird ausgenutzt? × Schaden bei Erfolg
Ist einer der ersten drei Faktoren null, ist das Ergebnis null, unabhängig von der Punktzahl in der Schlagzeile.
Vier Stufen, die man vorher festlegt#
Stufe 1, heute, außerhalb des Wartungsfensters. Von außen erreichbar, Funktion aktiv, Ausnutzung belegt. Das ist der einzige Fall, für den man den Ablauf aus Wartungsfenster und der Weg zurück verkürzt und auch dann bleibt die Sicherung davor stehen.
Stufe 2, diese Woche. Von außen erreichbar, aktiv, kein belegter Exploit, aber hoher Basiswert.
Stufe 3, nächstes Fenster. Nur intern erreichbar oder Funktion nicht aktiv.
Stufe 4, Notiz. Nicht eingesetzt, nicht aktiv, kein Weg dahin. Trotzdem notieren: Die Lage ändert sich, wenn die Funktion später eingeschaltet wird.
Wenn ein Patch nicht sofort verfügbar ist, gibt es meist eine Zwischenlösung: Funktion abschalten, Erreichbarkeit einschränken, Regel im Proxy. Eine Lücke, die man nicht mehr erreichen kann, ist praktisch entschärft und diese Maßnahme ist oft in zehn Minuten getan, während der Patch drei Tage braucht.
Abfragen, die man sich einrichtet#
# Betrifft mich der Paketstand? (Debian/Ubuntu)
apt-get -s upgrade | grep -i security | sort
# Welche Dienste laufen mit einer Bibliothek, die seit dem Update ersetzt wurde?
sudo needrestart -b 2>/dev/null | grep -E 'NEEDRESTART-(SVC|KSTA)'
# Welche Container-Images laufen überhaupt, mit welchem Stand?
docker ps --format '{{.Image}}\t{{.Status}}' | sort -u
Die Statusabfrage nach dem Update ist der Teil, der am häufigsten fehlt: Ein eingespieltes Paket wirkt erst, wenn der Dienst neu gestartet ist, siehe Neustart nach dem Update.
Was man sich sparen kann#
Ein Werkzeug, das täglich fünfzig Meldungen erzeugt, von denen zwei relevant sind, senkt die Sicherheit: Nach drei Wochen liest niemand mehr hin. Weniger Quellen, dafür passend zum eigenen Bestand, wie man das einrichtet, steht in Meldequellen ohne Rauschen.
Geschrieben aus dem laufenden Betrieb: MRMedia betreibt eigene Hosts, Kundendienste und deren Härtung in der EU. Eine veraltete Anleitung ist hier ein Sicherheitsproblem, kein Schönheitsfehler. Korrekturen bitte über Discord.