Gina Sanders - stock.adobe.com
Microsoft Attack Surface Analyzer: Schwachstellen aufspüren
Microsoft bietet mit dem Attack Surface Analyzer ein Open-Source-Tool, mit dem sich Schwachstellen in Windows finden lassen. Admins können so die Angriffsfläche verringern.
Mit der neuen Version 2.0 des Attack Surface Analyzers können Entwickler, Anwender und Administratoren nach Sicherheitslücken in Windows suchen. Die neue Version 2.0 funktioniert auch für Linux und macOS. So lassen sich in Microsoft-Umgebungen auch andere Betriebssysteme untersuchen. Attack Surface Analyzer 2.0 basiert auf .NET Core und wird als Open-Source-Lösung zur Verfügung gestellt.
Was kann der Attack Surface Analyzer?
Eine der wichtigsten Aufgaben des Attack Surface Analyzers besteht darin, einen Computer vor und nach der Installation von Software oder Anpassungen in Windows zu untersuchen. Durch die Unterschiede können unter Umständen Sicherheitslücken entstehen, die der Attack Surface Analyzer aufdeckt. Das hilft sowohl Entwicklern, als auch Administratoren, um die Sicherheit von Systemen zu gewährleisten.
Zusätzlich wird durch das Tool auch erkannt, ob Anwendungen unerlaubte Erweiterungen installieren, Firewall-Regeln erstellen, oder sonst irgendwie sicherheitsrelevante Einstellungen in Windows, Linux oder macOS verschlechtern. Berechtigungen, die eine Anwendung unerlaubt anpasst, lassen sich dadurch erkennen und wieder anpassen, nachdem die Anwendung installiert ist. Der Attack Surface Analyzer untersucht die Registry, Anpassungen am Dateisystem, die Systemdienste und die Netzwerk-Ports. Auch die Zertifikate werden überwacht, das gilt auch für das Installieren von neuen Zertifikaten.
Den Attack Surface Analyzer richtig einsetzen
Sinnvollerweise wird der Attack Surface Analyzer auf einem Testcomputer betrieben, zum Beispiel einem virtuellen Computer. Vor der Installation einer neuen Anwendung in der Umgebung wird diese auf dem Testcomputer installiert. Zuvor und danach wird mit dem Attack Analyzer ein Snapshot des Computers erstellt. Dadurch wird erkannt, welche Änderungen die Anwendung an einem System durchführt. Die Änderungen können dann entweder akzeptiert werden oder nicht.
Eine Installation des Tools ist nicht notwendig. Je nach Einsatz kann die grafische Oberfläche des Tools direkt gestartet werden. Hier kann über den Menüpunkt Scan mit Static Scan der Scanvorgang gestartet werden. Danach erfolgt die Analyse über den Menüpunkt Results. Hier lassen sich Scans miteinander vergleichen.
Scans lassen sich auch skripten. Dazu stellt Microsoft auf Github auch Versionen mit Befehlszeile zur Verfügung, zum Beispiel „AsaCli……..“. Auch eine grafische Oberfläche, mit welcher der Zugriff über einen Webbrowser möglich ist, wird mit ausgeliefert. Dazu wird, wie oben beschrieben, die Datei AttackSurfaceAnalyzer-GUI.exe mit Administratorrechten gestartet. Danach kann der Zugriff mit der Adresse http://localhost:5000 erfolgen.
Nach dem Starten der grafischen Oberfläche wird über den Menüpunkt Scan ein erster Start durchgeführt. Hier wird auch eine Run Id für den Scan definiert. Mit der Schaltfläche Collect Data wird der Vorgang gestartet. Das Scannen dauert einige Zeit. Anschließend können die Änderungen in Windows, Linux oder macOS vorgenommen werden, zum Beispiel über die Installation einer Anwendung.
Wird danach der Scanvorgang erneut gestartet, können sich Unterschiede ergeben, die auf der Registerkarte Results angezeigt werden. Dazu wird bei Base Run Id die Run Id des ersten Scans ausgewählt und bei Product Run Id der Scan, der nach der Installation der Anwendung durchgeführt wurde. Mit Run Analysis wird der Vorgang gestartet.
Nach dem Scannen wird das Ergebnis angezeigt und kann auch exportiert werden. Im Bereich Select a type of result to view kann ausgewählt werden, welche Bereiche aus dem Ergebnis angezeigt werden sollen. Bei Registry werden zum Beispiel die geänderten Registry-Einträge angezeigt.
Durchführen eines Scanvorgangs per Befehlszeile
Wir die CLI-Version des Attack Surface Analyzers heruntergeladen, lassen sich die Vorgänge auch skripten. Dazu wird die CLI-Variante mit folgender Syntax gestartet:
AttackSurfaceAnalyzerCli.exe collect --user --runid user1
Asalaunch collect --user --runid user2
AttackSurfaceAnalyzerCli.exe collect --user --runid user1
AttackSurfaceAnalyzerCli.exe collect --user --runid user2
Asalaunch compare
Attacksurfaceanalyzercli compare
Die Ergebnisse der Befehlszeilenversion des Attack Surface Analyzers lassen sich in lokale HTML- oder JSON-Dateien schreiben, so dass sie gegebenenfalls automatisiert weiter verarbeitet werden können.