Jede Firma hat Sicherheits-Schwachstellen, das dürfte unbestritten sein. Firmen, die ein Informationssicherheits-Management-System (ISMS) etabliert haben, haben damit in der Regel auch einen geordneten Prozess, wie mit den Schwachstellen umzugehen ist. Spätestens bei den Fragen “Wie schlimm ist es denn?” und “Was soll zuerst beseitigt werden?” treten dann aber Probleme auf. Hat man unterschiedliche Quellen, die einem Schwachstellen melden (externe Penetration Tester, interne Tester, Security-Listen …) , dann hat jede dieser Quellen meist auch ihr eigenes System, um die Schwachstelle zu bewerten. Für fundierte Entscheidungen genügt dies nicht (ist “Nebenabweichung” schlimmer als “Mittelschwere Schwachstelle” …?).
Manche Organisationen haben daher ein eigenes Scoring-System entwickelt, um etwaige Schwachstellen zu klassifizieren. Beispiele hierfür sind Microsoft und das US-CERT. Deren Scores sind aber nur jeweils in ihrem eigenen Kontext verwendbar, sie können nicht zur Klassifizierung beliebiger Schwachstellen verwendet werden. Aus diesem Grund wurde vor einigen Jahren das Common Vulnerability Scoring System (CVSS) entwickelt. Dieses stellt ein Framework zur Verfügung, um Schwachstellen einheitlich zu bewerten. Diverse Hersteller von Produkten (z.B. Vulnerability Scanner) verwenden mittlerweile diesen Score, um gefundene Schwachstellen zu bewerten. CVSS ist bereits in der Version 2.0 angekommen, hier wurden einige grundlegende Probleme angepasst. Seit das PCI (Payment Card Industry) Council den CVSS Score im Rahmen von ASV (Approved Scanning Vendor) Vulnerability Scans als Entscheidungskriterium für PCI-DSS (Data Security Standard) Compliance heranzieht, hat CVSS endgültig seinen Durchbruch geschafft und kann als etablierter Standard betrachtet werden.
CVSS bewertet Schwachstellen mit drei aufeinander aufbauenden Scores (mit einem Werte von jeweils 1-10, wobei 10 ein sehr hohes Risiko darstellt):
- Base Score: Wie der Name sagt, wird hier der Basis-Score für die Schwachstelle berechnet
- Temporal Score: Hier wird der Base Score mit zeitlichen Parametern bewertet. Beispielsweise ist hier relevant, ob gerade mal ein “Proof-of-Concept”-Code zur Verfügung steht, oder ob bereits ein Wurm die Schwachstelle vollautomatisch ausnutzt.
- Environmental Score: Der letzte Score bewertet das eigene Umfeld, aufbauend auf den Temporal Score. Hier wird zum Beispiel der Verbreitungsgrad der Schwachstelle im Unternehmen in betracht gezogen.
Hersteller von Sicherheits-Produkten können daher immer nur maximal den Temporal Score zur Verfügung stellen, der Environmental Score muss von jedem Unternehmen selbst berechnet werden.
In der Praxis hat CVSS seine Tücken, denen man sich bewusst sein sollte. Beispielsweise wird der Temporal Score durch einen Parameter namens “Remediation Level” beeinflusst. Hier wird der Score gesenkt (also, das Risiko geringer bewertet), wenn der Hersteller eines anfälligen Produkts beispielsweise schon einen Patch bereitgestellt hat. In der Praxis hilft das natürlich wenig (sprich: gar nicht), das Risiko zu minimieren, solange der Patch nicht eingespielt wurde. Wenn der Patch dann eingespielt wurde und wirksam ist, dann benötigt man wiederum keinen CVSS Score mehr, denn dann ist die Schwachstelle ja bereits geschlossen … Daher ist im Alltag zu empfehlen, diesen Parameter zu ignorieren, indem man ihn auf “n/a” setzt.
Ebenfalls sollte beachtet werden, dass sich CVSS nur zum Scoring von technischen Schwachstellen in Software eignet. Andere Schwachstellen können damit nicht bewertet werden. Daher sollte man nicht versuchen, CVSS als allgemeines Risiko-Scoring im Rahmen von Risiko-Analysen zu verwenden. Allerdings kann man CVSS sehr gut verwenden, um technische Software-Schwachstellen über eine geeignete Metrik in das eigene Risiko-Management einfließen zu lassen.
Was lässt sich nun in der Praxis mit CVSS anfangen? Ein guter Weg ist, CVSS in eine Policy für Vulnerability Management einzubetten. In dieser Policy beschreibt man die Prozesse zum Umgang mit Schwachstellen im Unternehmen. Der CVSS Score kann dann herangezogen werden, um Aktivitäten abhängig vom Score abzuleiten. Beispielsweise kann ein sehr hoher CVSS Score eine Sondersitzung des Security Councils als nächsten Schritt nötig machen. Ebenso kann diese Policy mit einer Risiko-Management-Policy verlinkt werden, um, abgeleitet aus dem CVSS Score, eine Normierung auf einen Risiko-Index durchzuführen (für alle oder für ausgewählte Scores).
Zur praktischen Berechnung eines CVSS Scores sollte entweder ein geeignetes Hilfs-Tool (z.B. ein Excel-Sheet) erstellt werden, oder ein Online-Rechner herangezogen werden. Bei Online-Rechnern sollte beachtet werden, dass manche alten Rechner nur die Version 1 des CVSS berechnen und damit nicht mehr eingesetzt werden sollten.
Seit kurzem gibt es neben CVSS noch ein zweites, unabhängiges Scoring System: Das Common Weakness Scoring System (CWSS). Mehr dazu in einem Folge-Artikel.