Area41 2024 - Ein Rückblick
Michael Schneider
So sinnvoll sind Scores von HardeningKitty
Die Einstufung des Schweregrads einer Konfigurationseinstellung unterscheidet sich gegenüber der Einstufung einer Schwachstelle in einer Softwarekomponente. Da eine Fehlkonfiguration einer Einstellung nicht zwingend in einer Schwachstelle resultieren muss. Für die Einstufung von Schwachstellen gibt es den Industriestandard Common Vulnerability Scoring System (CVSS). Dabei wird eine Schwachstelle nach Kriterien zur Ausnutzung und der Auswirkungen (engl. impact) bewertet. Als Pendant zu CVSS gibt es für Konfigurationsreviews das Common Configuration Scoring System (CCSS). Das Ziel solcher Standards ist es verschiedene Beschreibungs- und Messsysteme miteinander kompatibel und allgemein verständlich zu machen.
Systeme wie CVSS und CCSS sind für die Einstufung einzelner Schwachstellen und Konfigurationseinstellungen gedacht. Für die Beurteilung des Gesamtresultats eines Konfigurationsreviews besteht ebenso der Wunsch, dass das Resultat in einer vereinfachten Form wie eine Punktzahl oder Score dargestellt wird. Idealerweise kann dieser Score auch dazu verwendet werden, um Vergleiche mit ähnlichen Projekten anzustellen. Ob die Verwendung eines solchen Scores dieses Ziel einer vereinfachten Bewertung einer Windows-Konfiguration erreicht und ob dies auch sinnvoll ist, betrachten wir in diesem Artikel anhand des neu eingeführten Score von HardeningKitty.
Mit dem Release v0.5.0 wurde der HardeningKitty Score eingeführt. Für jeden Prüfpunkt gibt es je nach Schweregrad eine unterschiedliche Anzahl Punkte. Wird der Prüfpunkt als Passed eingestuft, wird dies mit vier Punkten bewertet. Ein Schweregrad von Low ergibt zwei Punkte, für den Schweregrad Medium gibt einen Punkt und für ein High wird kein Punkt mehr vergeben.
Der HardeningKitty Score wird mit der folgenden Formel berechnet:
(Anzahl erreichte Punkte / Maximal mögliche Punkte) * 5 + 1
Der erhaltene Score kann anhand der folgenden Tabelle interpretiert werden:
Score | Rating |
---|---|
6 | Excellent |
5 | Good |
4 | Sufficient |
3 | Insufficient |
2 | Insufficient |
1 | Insufficient |
Das Ziel bei dieser Vergabe von Punkten ist es, dass der Schweregrad eines Prüfpunktes im Score auch berücksichtigt wird. Alternativ würde ein Prüfpunkt nur für bestanden/nicht bestanden bewertet. Die Punktvergabe nach Schweregrad führt aber dazu, dass einen System ohne bestandenen Prüfpunkt nicht auf 0
Punkte fällt, wenn nicht alle Prüfpunkte mit High eingestuft sind, und somit keinen Score von 1.0
erhält. Diese Abstufung wird daher in der Berechnung im Code von HardeningKitty nachträglich vorgenommen.
Der Score soll eine Vereinfachung eines Resultats darstellen und die Einschätzung auf einen Blick ermöglichen. Wenn hunderte Einzelprüfungen vorliegen, ist es ohne technisches Fachwissen und einen Massstab schwierig das Resultat zu deuten: Sind 20 Medium Schwachstellen bei 250 Prüfpunkten ein gutes Resultat oder nicht. Zudem kann ein Score auch eine Vergleichsmöglichkeit bieten, wenn die gleichen Prüfungen auf zwei unterschiedlichen Systemen durchgeführt werden.
Der Score wird anhand einer festgelegten Metrik berechnet, damit ist nachvollziehbar wie eine Einstufung zu Stande kommt. Sprich wenn ein HardeningKitty Score unter 4.0
erzielt wird, gilt dies als eine ungenügende Umsetzung. Anhand der verteilten Punkte ist es auch nachvollziehbar, wie viele Einstellungen korrigiert werden müssen, um eine genügende Einstufung zu erlangen.
Der Score kann nicht alleine zur Bewertung der Windows-Konfiguration verwendet werden. Als Beispiel dazu dient ein System, auf dem viele Hardening-Empfehlungen umgesetzt worden sind. Dies führt zu einem Score über 5.0
und stellt somit nach dem HardeningKitty Rating ein gutes bis sehr gutes Resultat dar. Nur wurde aber die Festplatte der Systems nicht verschlüsselt. Dies führt bei Notebooks zur Einstufung High, da beim Fehlen einer Festplattenverschlüsselung Angreifer mit physischem Zugriff das Systems kompromittieren können. Der Punkteabzug einer High-Schwachstelle ist aber im Score nicht direkt ersichtlich. Daher wird bei HardeningKitty neben dem Score auch die Summe der Resultate im jeweiligen Schweregrad ausgegeben, damit kritische Findings nicht untergehen.
Mit einem Score können zudem Kombinationen von Schwachstellen infolge von Fehlkonfigurationen nicht abgebildet werden. Wenn auf einem System die PowerShell Version 2 installiert ist, der LSASS-Prozess nicht geschützt und Credential Guard nicht verwendet wird, dann können Angreifer mit administrativen Rechten mittels PowerShell-Version-Downgrade-Bypass das Skript Invoke-Mimikatz ausführen und die Zugangsdaten von angemeldeten Benutzern auslesen. Dabei werden vorhandene Schutzsysteme wie Microsofts Antimalware Scan Interface (AMSI) umgangen. Einzeln betrachtet sind dies in einem Konfigurationsreview alles Medium-Findings, in der Kombination können sie jedoch einen kritischen Impakt auf die Sicherheit des Systems haben.
HardeningKitty verfügt über Listen verschiedener Frameworks, unter anderem CIS Benchmarks für Microsoft Windows 10 und die Microsoft Security Baseline für Windows 10. Die Überprüfung eines Systems liefert je nach Findings-Liste einen ganz anderen Score. Die Prüfung eines gehärteten Windows 10 Systems mit der Liste 0×6d69636b ergibt beispielsweise einen Score von 5.66
, während mit der Microsoft Security Baseline ein Score von 4.1
erreicht wird und mit CIS erzielt das System den Score 4.26
.
Bei der Analysen der Listen fällt auf, dass Microsoft über 50 Einstellungen bezüglich Internet Explorer vorgibt. Wenn Internet Explorer auf dem System nicht genutzt wird, ist die Konfiguration der Internet-Explorer-Einstellungen zweitrangig. Bei CIS werden unter anderem Empfehlungen für das Deaktivieren von Diensten vorgegeben. Da auf dem geprüften System weder Internet-Explorer-Einstellungen noch die Konfiguration von Diensten vorgenommen wurden, kommt der Unterschied im Score zu tragen.
Daher empfiehlt es sich vor Überprüfung des Systems sich Gedanken zu machen, was gemessen werden soll. Wenn das System die Einhaltung von Empfehlungen von Microsoft oder CIS geprüft werden soll, kann die jeweilige Liste entsprechend ohne Anpassungen übernommen werden. Andererseits lohnt es sich eine eigene Liste aus den vorhandenen Empfehlungen zusammen zu stellen. Wenn Microsoft Edge als Standardbrowser verwendet wird, sollte die Prüfung um Edge-Elemente erweitert werden, aber die Prüfung von expliziten Internet-Explorer-Einstellungen sind gegebenenfalls nicht notwendig.
Es gibt auch Einstellungen, bei denen sich Microsoft und CIS direkt widersprechen. So empfiehlt Microsoft PowerShell Script Block Logging zu aktvieren, während CIS vorgibt diese Funktion nicht zu aktivieren. Microsoft gewichtet den Nutzen des Auswertung von PowerShell-Logs höher als das Risiko, dass sich in den Logs allenfalls Passwörter befinden können.
Das Ziel, mit einem Score das Resultat einer Prüfung einer Windows-Konfiguration darzustellen, wird nicht erreicht. Der Score kann nicht ohne Fachwissen und detaillierte Kenntnisse über die verwendete Checkliste beurteilt werden. Die Beurteilung einer Betriebssystemhärtung ist zu komplex, um dies alleine mit einem Score darstellen zu können. Vor allem wenn es um die Kombination und Ausnutzung von Fehlkonfigurationen geht. Der Wunsch, dass ein komplexes Gebilde in eine Zahl abstrahiert werden kann, bleibt unerfüllt. Das Gesamtresultat sollte daher entsprechend mit einer Analyse von Stärken und Schwächen dargestellt und nicht mit einer einfache Zahl dargestellt werden.
Der HardeningKitty Score ist dennoch nicht ohne Nutzen. Er kann beispielsweise verwendet werden, um nach wiederholten Prüfungen einfach die erzielte Verbesserung zu messen. Ebenso kann ein solcher Score als Schwellwert für zu erfüllende Hardening-Einstellungen verwendet werden, vorausgesetzt die Vor- und Nachteile eines Scores wurden berücksichtig und die Vorarbeiten in der Zusammenstellung einer Checkliste erledigt.
Unsere Spezialisten kontaktieren Sie gern!
Michael Schneider
Michael Schneider
Michael Schneider
Michael Schneider
Unsere Spezialisten kontaktieren Sie gern!