Anfang März 2012 stellte das Bundesamtes für Sicherheit in der Informationstechnik (BSI) seine Schwachstellenampel ins Netz, gedacht als regelmäßig aktualisierter Indikator für Verwundbarkeiten in gängiger Software (siehe auch: Fragwürdige BSI-Schwachstellenampel). Genauso wie beim amerikanischen Vorbild, der National Vulnerability Database des National Institute of Standards and Technology (NIST), basieren die Verwundbarkeitsangaben des BSI auf dem Industriestandard CVSS.
Funktionsweise des CVSS
Das Common Vulnerability Scoring System (deutsch etwa: Allgemeines System zur Verwundbarkeitsbewertung) berechnet die Verletzlichkeit eines Systems anhand der Bewertungen verschiedener Risikofaktoren (z.B. Komplexität eines Angriffs). Die 14 verschiedenen Risikofaktoren sind in die drei Gruppen Basisbewertung (Base Metric Group), Zeitkontext (Temporal Metric Group) und Umgebungskontext (Environmental Metric Group) gegliedert, wodurch sich Risikobewertungen sowohl in einem zeitlichen Rahmen als auch in Bezug zur eigenen IT-Umgebung ermitteln lassen. Das Ergebnis – sowohl jeder Gruppenkalkulation als auch des Gesamtergebnisses – ist eine Zahl zwischen 1 und 10. Damit das System transparent und überprüfbar bleibt, sollte solch ein Score stets mit dem zugehörigen Vektor, also der Wertzuweisung für jeden einzelnen Risikofaktor, veröffentlicht werden.
Beispiel für eine CVSS-Bewertung
CVSS v2 Base Score: 2.1 (LOW) (AV:N/AC:H/Au:S/C:N/I:P/A:N)
In diesem Beispiel wurde nur die Basisbewertung (also ohne Berücksichtigung des zeitlichen und individuellen Kontextes) berechnet. Das Verwundbarkeitspotenzial ist insgesamt gering (Wert 2.1). Das Risiko „Access Vector” (AV:) wurde mit N bewertet, was bedeutet, dass ein Angriff über das öffentliche Netz erfolgen kann. AC steht für „Access Complexity”, die Bewertung H steht für „high”, es sind also mehrere komplexe Maßnahmen für einen erfolgreichen Angriff notwendig. Au ist hier die Abkürzung für „Authentification”, die Bewertung S heißt, dass zu einem Angriff eine Authentifizierung nötig ist. Schließlich folgen noch Bewertungen für den „Confidentialilty Impact” (C), den „Integrity Impact” (I) sowie den „Availability Impact” (A).
Die Formel zur Berechnung beispielsweise der Basisbewertung sieht so aus:
BaseScore = round_to_1_decimal(((0.6*Impact)+(0.4*Exploitability)-1.5)*f(Impact))
Impact und Exploitability wiederum ergeben sich folgendermaßen:
Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))
Exploitability = 20* AccessVector*AccessComplexity*Authentication
Und so weiter. Die Berechnung ist komplex und aufwändig, es gibt jedoch CVSS-Kalkulatoren im Internet. Ein deutschsprachiger, intuitiv zu bedienender Kalkulator findet sich auf dieser Website:
Geschichte und Bedeutung des CVSS
CVSS wurde 2005 aufgrund einer Initiative des amerikanischen National Infrastructure Advisory Council (NIAC) gegründet und wird gegenwärtig durch FIRST (Forum of Incident Response and Security Teams) betreut. An CVSS beteiligten sich beispielsweise CERT/CC, Cisco, DHS/MITRE, eBay, IBM Internet Security Systems, Microsoft, Qualys und Symantec. 2007 wurde die derzeit aktuelle Version 2 des Frameworks verabschiedet.
Abgesehen vom amerikanischen NIST und nun auch dem BSI wird der Industriestandard heute selten verwendet. Das liegt zum Teil wohl an der relativ hohen Komplexität sowohl der Berechnung als auch der Interpretation. Viele Sicherheitsdienstleister pflegen lieber ihre eigenen proprietären Bewertungssysteme, wodurch sie ihre Entscheidungen nicht transparent machen müssen und möglicherweise auch eventueller Haftung für ihre Entscheidungen entgehen können. Einige Content Management Systeme (z.B. Confluence) lehnen die Bewertungen für ihre Sicherheits-Releases zumindest an das Common Vulnerability Scoring System an, andere scheuen die schlechte Öffentlichkeitswirkung von Sicherheitswarnungen und versuchen die Verwundbarkeit ihrer Softwareprodukte zu verschleiern.