Dateinamenerweiterungen bei bekannten Dateitypen einblenden

Jede Datei hat unter Windows eine Dateiendung, die meist aus drei Zeichen besteht. Leider blendet der Windows Explorer diese Endungen standardmäßig aus. Windows lässt zudem mehrere Punkte im Dateinamen zu, sodass nur der letzte Punkt den Dateinamen von der Dateiendung trennt. Dies stellt dann ein großes Sicherheitsrisiko dar, wenn eine ausführbare Datei nicht mehr als solche erkannt wird. Um Dateiendungen immer angezeigt zu bekommen, kann entweder im Menüband des Explorers im Reiter "Ansicht" das Kontrollkästchen "Dateinamenerweiterungen" eingestellt oder folgender Registrierungseintrag gesetzt werden:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced

Registry-EintragEmpfohlener Wert
HideFileExtREG_DWORD 0x00000000 (0)

Nutzerkonten trennen

Administrative Tätigkeiten sollten von alltäglichen Tätigkeiten durch unterschiedliche Konten voneinander getrennt werden: Ein Standard-Benutzerkonto pro Nutzer für alltägliche Arbeiten und ein Benutzerkonto, welcher in die lokale Administratorengruppe gestellt wird, für administrative Aufgaben (wie Softwareinstallationen und Systempflege). Das gilt insbesondere für Systeme mit erhöhten Sicherheitsanforderungen.

Bei verwalteten Arbeitsplatzcomputern ist dies gängige Praxis. Aber auch auf Computern, die man selbst administriert, sollte diese Regel eingehalten werden. Fordert ein Änderung am System administrative Rechte, werden dieser zwar erst nach einer Zustimmungsabfrage (Benutzerkontensteuerung, UAC) gewährt. Aber eine echte Kontenseparierung schützt vor ggf. bisher noch unbekannten Schwachstellen in der Benutzerkontensteuerung, vor übereilten Zustimmungen sowie unter geschobenen programmierbaren USB-Eingabegeräten[1], wodurch ungewollte Änderungen am System wirkungsvoller verhindert werden.

Um diese Trennung zu forcieren, sollte eingestellt werden, dass sich ein Nutzer mit einem Konto, das zur Gruppe der Administratoren gehört, anmelden muss, um Programme auszuführen, für die eine Erhöhung der Berechtigungen erforderlich ist.[2] Die Erhöhung der Rechte sollte nur auf dem sicheren Desktop und nach Eingabe der Zugangsdaten gewährt werden. Das vordefinierte Administratorkonto sollte deaktiviert bleiben, da es ein beliebtes Ziel für Brute-Force-Angriffe darstellt.[3]

Computerkonfiguration | Windows-Einstellungen | Sicherheitseinstellungen | Lokale Richtlinien | Sicherheitsoptionen

GruppenrichtlinieneinstellungEmpfohlene Option
Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für StandardbenutzerAnforderungen für erhöhte Rechte automatisch ablehnen
Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Administratoren im AdministratorgenehmigungsmodusEingabeaufforderung zu Anmeldeinformationen auf dem sicheren Desktop

In den Einstellungen für Benutzerkontensteuerung sollte Windows zudem bei Änderungen "Immer benachrichten", damit keine Zustimmungsausnahmen für Systemeinstellungen und Dienstprogramme gelten:

Systemsteuerung -> Alle Systemsteuerungselemente -> Benutzerkonten -> Einstellungen der Benutzerkontensteuerung ändern

(Schalter ganz oben)

oder via Registry-Eintrag:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ System

Registry-EintragEmpfohlener Wert
ConsentPromptBehaviorAdminREG_DWORD 0x00000002

Application (Directory) Whitelisting

Die Benutzerkontensteuerung UAC unter Windows soll zwar u.a. verhindern, dass (auch unter Konten, die der Gruppe der Administratoren angehören) Änderungen am System nicht automatisch gewährt werden, sondern sich ein Zustimmungsdialog zur manuellen Rechteerhöhung öffnet. Dies bietet jedoch selbst keinen verlässlichen Schutz vor Infizierung mit Schadsoftware, welche gar nicht auf höhere Zugriffsrechte angewiesen ist.[4] Einmal ausgeführt, kann Schadsoftware unbemerkt Dateien im Nutzerverzeichnis des Betriebssystems und auf Netzlaufwerken verschlüsseln oder sich in den Autostart auf Dauer einnisten.

Application (Directory) Whitelisting begrenzt das Ausführen von Programmen aus zuvor festgelegten, schreibgeschützten Verzeichnissen. Ist das Ausführen von Programmen nur aus Verzeichnissen erlaubt, in welche lediglich ein administrativer Nutzer schreiben darf, ist eine Infizierung des Systems über das unbemerkte oder gewollte Ausführen von Schadprogrammen durch nicht privilegierter Benutzer deutlich unwahrscheinlicher.

Windows 10 (Enterprise und Education) bringt mit AppLocker, einer Weiterentwicklung der Richtlinien für Software-Einschränkung (SRP)[5], eine bereits integrierte Funktionalität mit. Voraussetzung ist der Dienst "Anwendungsidentität" (AppIDSvc), der also automatisch gestartet werden muss.

Die folgenden Regeln stammen aus der Veröffentlichung der NSA und wurden um Empfehlungen des NCSC (s. Literatur) ergänzt: applocker_starter_policy.xml

Das Starter-Regelwerk kann einfach in dem Gruppenrichtlinienbaum von AppLocker via Rechtsklick importiert werden.

Computerkonfiguration | Windows-Einstellungen | Sicherheitseinstellungen | Anwendungssteuerungsrichtlinien | AppLocker

Gegebenenfalls muss das Regelwerk an die eigenen Bedürfnisse angepasst werden.


Sicherheitskritische Betriebssystemfunktionalitäten isolieren

Virtualization Based Security (VBS) bezeichnet in Windows 10 eine auf Microsofts Virtualisierungstechnologie Hyper-V basierende Technik für eine sichere, von der normalen Umgebung isolierten, in der weniger vertrauenswürdige oder exponiertere Komponenten im Betriebssystem, z.B. die Speicherung sensibler Daten und die Ausführung kryptografischer Operationen, ausgeführt werden.[6] Sind die System-Voraussetzungen[7] (SecureBoot, GPT-Partitionsstil, Hyper-V etc.) gegeben, sollte VBS aktiviert werden.


Computerkonfiguration | Administrative Vorlagen | System | Device Guard

GruppenrichtlinieneinstellungEmpfohlene Option
Virtualisierungsbasierte Sicherheit aktivieren

Aktiviert

  • Plattform-Sicherheitsstufe auswählen: Sicherer Start und DMA-Schutz
  • Virtualisierungsbasierter Schutz der Codeintegrität: Mit UEFI-Sperre aktiviert
  • Credential-Guard-Konfiguration: Mit UEFI-Sperre aktiviert
  • Sichere Startkonfiguration: Aktiviert

Windows Defender Antivirus und Exploit Guard

Wenn Windows Defender Antivirus als primäre Echtzeit-Scan-Engine gegen Schadsoftware eingesetzt wird (vgl. Pro und Contra), sollten folgende Einstellungen gesetzt werden:

Computerkonfiguration | Administrative Vorlagen | Windows-Komponenten | Windows Defender Antivirus | Scan

GruppenrichtlinieneinstellungEmpfohlene Option
Überprüfung auf die aktuellen Viren- und Spywaredefinitionen vor Ausführung eines geplanten Scans Aktiviert
Scannen von WechseldatenträgernAktiviert
Aktivieren von E-Mail-ScansAktiviert

Es gab Fälle, in denen Schadsoftware über Installer kostenfreier Software verbreitet wurde, aber von Windows (lediglich) als potenziell unerwünschten Applikationen (PUA) eingestuft wurden. Der Windows Defender kann PUA zwar blockieren, tut es aber standardmäßig nicht. Mit der folgenden Richtlinie schalten Sie die PUA-Erkennung scharf:

Computerkonfiguration | Administrative Vorlagen | Windows-Komponenten | Windows Defender Antivirus

GruppenrichtlinieneinstellungEmpfohlene Option
Konfigurieren der Erkennung für potenziell unerwünschte Anwendungen

 Aktiviert

  • Blockieren

Attack Surface Reduction (ASR) und Controlled Folder Access (CFA)[8] sind recht neue Sicherheitsfunktionen im Windows Defender Exploit Guard, welche allerdings nicht ohne den Windows Defender Antivirus auskommen.[9]

Bei ASR versucht der Defender mittels der Überwachung der beliebtesten Infektionswege von Malware, eine Infektion zu verhindern. Die Funktion wird über die Richtlinieneinstellung aktiviert und unter der Angabe der GUIDs der gewünschten Regeln[10]  als Wertenamen (mit jeweils dem Wert '1') konfiguriert. Das NCSC (s. Literatur) empfiehlt die folgenden Regel-GUIDs:

Computerkonfiguration | Administrative Vorlagen | Windows-Komponenten | Windows Defender Antivirus | Windows Defender Exploit Guard | Verringerung der Angriffsfläche

GruppenrichtlinieneinstellungEmpfohlene Option
Regeln zur Verringerung der Angriffsfläche konfigurieren

 Aktiviert

  • 75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84
  • 3B576869-A4EC-4529-8536-B80A7769E899
  • D4F940AB-401B-4EFC-AADC-AD5F3C50688A
  • 92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B
  • 5BEB7EFE-FD9A-4556-801D-275E5FFC04CC
  • D3E037E1-3EB8-44C8-A917-57927947596D
  • BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550
  • b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4
  • 26190899-1602-49e8-8b27-eb1d0a1ce869
  • 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2
  • 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c

Bei CFA erlaubt Windows nur 'vertrauenswürdigen' Programmen, Änderungen an Daten in als wichtig deklarierten ('geschützten') Ordnern vornehmen zu können - wenn sich schon eine Schadsoftware auf dem System eingenistet hat, dann soll sie so wenig Schaden wie möglich anrichten können. Die Funktion wird ebenfalls über die Richtlinieneinstellung aktiviert und konfiguriert.

Computerkonfiguration | Administrative Vorlagen | Windows-Komponenten | Windows Defender Antivirus | Windows Defender Exploit Guard | Überwachter Ordnerzugriff

GruppenrichtlinieneinstellungEmpfohlene Option
Überwachten Ordnerzugriff konfigurieren

 Aktiviert

  • Feature zum Überwachen eigener Ordner konfigurieren: Blockieren

In den Standardeinstellungen hat Microsoft bereits vertrauenswürdige (zulässige) Anwendungen und zu schützende Ordner vorgegeben. Über die entsprechenden Richtlinieneinstellungen daneben ("Zulässige Anwendungen konfigurieren" sowie "Geschützte Ordner konfigurieren") können weitere hinzugefügt werden. Für einzelne Anpassungen dürfte der Weg über die GUI schneller und bequemer sein:

Einstellungen -> Update und Sicherheit  -> Windows-Sicherheit -> Viren- & Bedrohungsschutz -> Einstellungen für Viren- & Bedrohungsschutz -> Einstellungen verwalten -> Überwachter Ordnerzugriff -> Überwachten Ordnerzugriff verwalten

Datenausführungsverhinderung für alle Programme und Dienste aktivieren

Software soll eigentlich nur in den dafür vorgesehenen Speicherbereichen ausgeführt werden. Durch Fehler im Algorithmus kann es möglich sein, dass Daten in andere, nicht dafür vorgesehene Speicherbereiche geschrieben werden. Data Execution Prevention (DEP) soll verhindern, dass dies nicht für Angriffe ausgenutzt (d.h. Programmcode aus nicht erlaubten Bereichen des Arbeitsspeichers ausgeführt) werden kann.

Standardmäßig ist dieser Schutz nur für Windows-Systemdateien eingesetzt, sollte aber grundsätzlich für alle Programme und Dienste (mit Ausnahme-Optionen) aktiviert werden:

Systemsteuerung -> System -> Erweiterte Systemeinstellungen -> Erweitert -> Leistung -> Einstellungen... -> Datenausführungsverhinderung

oder via Terminal (mit Administratorrechten)

> BCDEDIT /set {current} nx OptOut

Abgesicherter Modus (Safe-Mode) für Standardnutzer verbieten

Das Booten in Windows im Safe-Mode birgt die Gefahr, Sicherheitsfunktionen wie Application (Directory) Whitelisting umgehen zu können.[9] Um dieses Risiko zu verringern, sollte dies nur Konten mit Administratorrechten erlaubt sein. Der folgende Registrierungseintrag kann implementiert werden, um zu verhindern, dass Nicht-Administratoren die Optionen des abgesicherten Modus verwenden:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System

Registry-EintragEmpfohlener Wert
SafeModeBlockNonAdminsREG_DWORD 0x00000001 (1)

Angriffe über die Überschreibenfunktion des Ausnahmehandlers SEH abwehren

Die Structured Exception Handling Overwrite Protection (SEHOP) ist ein bereits in Windows 7 integrierter Schutz gegen Angriffe über die Überschreibenfunktion des Ausnahmehandlers SEH[12].

Bei älteren Versionen von Anwendung kann SEHOP jedoch zu Fehlern führen (z.B. Cygwin, Skype). Um dieses Problem zu beheben, sollte es genügen, die neuste Version der betroffenen Anwendung einzuspielen.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\

Registry-EintragEmpfohlener Wert
DisableExceptionChainValidationREG_DWORD 0x00000000 (0)

Fußnoten

[1]

vgl. c't 05/2015, S. 170

[2]

[3]

[4]

Für weitere Informationen zu den Sicherheitseigenschaften von UAC s. www.itmz.uni-rostock.de/anwendungen/software/windows/sicherheit/grundlagen/wozu-dient-uac/

[5]

[6]

vgl. docs.microsoft.com/en-us/windows/desktop/procthread/isolated-user-mode--ium--processes; Das BSI zählt VMS in Verbindung mit dem darauf aufbauenden "Credential Guard" zum Schutz vor Angriffen auf die im System gespeicherten Authentisierungstoken und -hashes im Domain-Betrieb bereits zum Stand der Technik, vgl. www.bsi.bund.de/DE/Themen/Cyber-Sicherheit/Empfehlungen/SiSyPHuS_Win10/AP6/SiSyPHuS_AP6_node.html; IT-Grundschutz-Baustein SYS.2.2.3(A11)

[7]

vgl. docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/system-requirements-for-hyper-v-on-windows; Microsoft stellt ein Tool bereit, um zu prüfen, ob das eigene Gerät fähig ist, Device Guard und Credential Guard auszuführen, vgl. www.microsoft.com/en-us/download/details.aspx

[8]

[9]

[10]

Tabelle der möglichen Regeln und der damit verbundenen möglichen Einschränkungen vgl. docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard

[11]

Über Registryeinträge (HKLM\System\CurrentControlSet\Control\SafeBoot\Network) kann AppLocker auch im abgesicherten Modus (auch für Administratoren) erzwungen werden, vgl. NCSC.

[12]