Profi-Schutz für alle

Es erhöht den Schutz vor Schadsoftware enorm, wenn Windows nur noch jene Programme ausführen darf, die Sie zuvor ausdrücklich erlaubt haben. Was dafür nötig ist, haben alle Windows-Editionen von Home bis Enterprise von Haus aus an Bord. c’t-Werkzeuge helfen beim Einrichten.

Von Axel Vahldiek

image

Bild: Albert Hulm

Profi-Schutz für alle

Windows absichern mit Restric’tor

Profi-Schutz mit AppLocker

Apps nur aus dem Store installieren

Schadsoftware aller Art stellt auch heute noch eine ständige Gefahr für Windows-Nutzer dar, und das, obwohl sich Microsoft seit Jahren bemüht, daran etwas zu ändern. Mit dem Defender bringt Windows einen eigenen Virenscanner mit, der mit der Konkurrenz locker mithält (und zudem nicht mit Werbung nervt). Doch eines gilt für ihn genauso wie für jeden anderen: Sobald er nur ein einziges Mal danebenliegt und eine Schadsoftware fälschlich als harmlos einstuft, wird Windows trotzdem infiziert. Das Arbeiten ohne Administratorrechte hilft ebenfalls nicht in allen Fällen weiter, denn das Installieren von Software klappt an manchen Stellen auch ohne, etwa im Nutzerverzeichnis im versteckten Verzeichnis „C:\Benutzer\<Kontoname>\Appdata“. Microsoft könnte das unterbinden, nutzt solche Tricks aber lieber selbst, etwa beim Installieren von Teams.

Ganz anders funktioniert die Methode, die wir in dieser Ausgabe vorstellen: das „Whitelisting“. Verbieten Sie Windows das Ausführen sämtlicher Programme. Anschließend genehmigen Sie nur noch die Software, von deren Harmlosigkeit Sie überzeugt sind. Auf diese Weise spielt es plötzlich keine Rolle mehr, falls auf Ihrem Datenträger doch mal ein Virus in Form einer Datei landet: Windows verweigert deren Start und der enthaltene Programmcode bleibt inaktiv, kann also keinen Schaden anrichten.

Das Verfahren schützt aber nicht nur vor Schadsoftware: Damit können Admins verhindern, dass Mitarbeiter unerwünschte Software nachinstallieren oder portable Anwendungen nutzen, die ohne Installation auskommen. Das kann auch dann hilfreich sein, wenn Sie Windows-Rechner bei Verwandten, im Verein oder sonstwo betreuen. Es wäre nicht das erste Mal, dass bei PC-Problemen das Nachinstallieren von Software aus dubiosen Quellen die Wahrheit hinter der Behauptung „Ich hab nichts gemacht“ darstellt.

Erlaubnisliste

Der Name „Whitelisting“ kommt von „Weiße Liste“, also einer Erlaubnisliste, in der steht, welche Programme Windows ausführen darf. Die Einträge in der Liste heißen üblicherweise „Regeln“ oder „Richtlinien“, im Englischen oft „Policies“. Falls Sie schon mit Firewall-Regeln zu tun hatten: Die Regeln der Erlaubnisliste funktionieren ähnlich.

Eine Regel bezieht sich letztlich immer auf eine ausführbare Datei. Gemeint ist damit, dass Sie nicht Programme wie „Mozilla Firefox“, „Libre Office“ oder „Baldurs’s Gate 2“ erlauben, sondern die jeweils im dazugehörigen Programmverzeichnis liegenden ausführbaren Dateien „firefox.exe“, „soffice.exe“ und „Baldur.exe“. Dateien, die ausführbaren Programmcode enthalten, haben Dateitypen wie .exe, .com, .msi, .cmd, .ps1, .bat, .vbs, .js und so weiter, streng genommen gehören auch Bibliotheken dazu (.dll, .ocx …).

Dokumente hingegen werden nicht überwacht: Das Öffnen und Bearbeiten von Texten, Tabellen, Videos und so weiter bleibt also problemlos möglich – vorausgesetzt, die mit dem jeweiligen Dokumentendateityp verknüpfte Anwendung ist erlaubt, also beispielsweise das Office-Paket. Das bedeutet übrigens auch, dass von so einem Paket ausgeführte Makros ebenfalls erlaubt bleiben (was Sie aber üblicherweise in den Office-eigenen Einstellungen verbieten können).

Es gibt verschiedene Arten von Regeln. Damit sie sinnvoll greifen können, muss Windows eine ausführbare Datei sicher identifizieren, beispielsweise anhand ihrer Prüfsumme oder einem enthaltenen Zertifikat. Der Dateiname ist hingegen kein sicheres Erkennungsmerkmal, denn den könnte ein Schadprogramm leicht fälschen. Der Speicherort einer ausführbaren Datei kann dagegen durchaus als Ausweis gelten: In Ordnern, in denen der Anwender keine Schreibrechte genießt, kann er ja – egal, ob absichtlich oder versehentlich – auch keine unerwünschten Programme ablegen. Es gibt auch Regeln, die nur bestimmten Nutzern oder Nutzergruppen etwas erlauben.

Whitelisting taugt zugegebenermaßen keineswegs als alleiniger Schutz gegen alles. Das geht damit los, dass schon seit Jahren sehr ausgefeilte Schädlinge existieren, denen eine komplett dateilose Infektion gelingt [1]. So was ist heutzutage nicht mal mehr exotisch, doch immerhin: Sehr viele Schädlinge nisten sich auch heute noch als ausführbare Datei auf Windows-Rechnern ein, werden also durch Whitelisting blockiert. Wer jetzt einwendet, dass viele Viren statt als EXE-Datei doch beispielsweise via infizierten Makroviren und Website-Skripten auf dem PC landen: Stimmt, aber Makro, Skript & Co. haben für Schädlingsprogrammierer einen Nachteil. Sie werden nach einem Neustart des PCs nicht mehr ausgeführt. Daher richten sie oft gar nicht selbst den Schaden an, sondern laden stattdessen aus dem Netz eine ausführbare Datei nach und schreiben zudem einen Aufruf in die Registry, damit Windows diese Datei beim nächsten Hochfahren automatisch mitstartet. Whitelisting verhindert zwar nicht den Registy-Eintrag, blockiert aber den Aufruf der Datei.

Noch kurz zur Idee, statt einer Erlaubnis- eine Verbotsliste zu verwenden, also alles zu verbieten, von dem bekannt ist, dass es schadet: Das funktioniert bei Schadsoftware leider nicht, weil sie sich ständig ändert und anpasst. Eine Verbotsregel könnte also nur bekannte Viren aussperren, aber keine neuen Varianten.

Aufwandsabschätzung

Die Regeln der Erlaubnisliste können Pflege erfordern, doch wie viel genau, lässt sich nicht vorhersagen. Denn es hängt vom Zielrechner sowie dem Menschen davor ab. Kommen auf dem PC immer nur dieselben wenigen Programme zum Einsatz (Mail-Client, Browser, Skatspiel, fertig), gibt es nach der Ersteinrichtung nichts mehr zu tun. Wenn Sie hingegen ein neues Programm auf eine Art ausprobieren, die von den vorhandenen Regeln nicht abgedeckt ist, benötigen Sie eine neue Regel. Auch Skript- und Programmentwickler, bei denen das Überschreiben vorhandener ausführbarer Dateien zum Alltag gehört, müssen mit erhöhtem Aufwand rechnen.

Bedenken Sie, dass das Beseitigen eines Schädlings noch weit zeitraubender sein kann als die Pflege der Whitelist. Nach einer Infektion ist Windows gemäß der reinen Lehre sauber neu zu installieren und alle Daten sind aus den Backups wiederherzustellen. Das wird noch schlimmer, wenn sich das Backup in so einer Situation als nicht ausreichend aktuell oder gar als nicht vorhanden entpuppt – oder ebenfalls vom Schädling befallen wurde. Für Unternehmen kann das existenzbedrohend sein. Doch auch für Privatleute kommt es einer Katastrophe gleich, wenn beispielsweise die Abschlussarbeit oder die unwiederbringlichen Fotos vom Nachwuchs vernichtet wurden (unsere aktuelle „Checkliste Backup“ finden Sie in [2]).

Trau, schau, wem?

Wenn Windows nur das ausführt, was Sie vorab erlauben, erhöht das die Sicherheit zwar enorm, doch eine wesentliche Frage bleibt: Wie entscheiden Sie vor dem Erlauben einer ausführbaren Datei, ob sie überhaupt vertrauenswürdig ist? Sie einfach mal zu starten, scheidet aus, denn falls ein Schädling drinsteckt, würde Windows ja sonst prompt infiziert. Weit effektiver wäre der Einsatz von Profi-Analyse-Werkzeugen [9, 10], doch das scheitert im Alltag allein schon am Zeitmangel. Vorschlag: Verwenden Sie ein c’t-Skript. Damit erhalten Sie in Sekundenschnelle einen ersten Eindruck von der Vertrauenswürdigkeit.

Das Skript heißt Sigcheck.bat und vielleicht kennen Sie es schon: Veröffentlicht haben wir es erstmals 2017, und die seinerzeit veröffentlichte Version funktioniert bis heute tadellos. Mittlerweile steckt es sogar im c’t-Notfall-Windows.

Der Einsatz des Skripts ist simpel: Nach dem Einrichten können Sie beliebige Dateien via „Senden an“ im Kontextmenü an das Skript verfüttern. Es nennt Ihnen anschließend diverse Infos über die Datei: das Zertifikat (sofern eines drinsteckt), Datei- und Produktversion, Architektur (32/64 Bit) und verschiedene Prüfsummen (MD5, SHA256, …). Zudem lädt es eine Prüfsumme bei VirusTotal.com hoch. Diese von Google betriebene Website prüft die Datei mit über 70 Virenscannern, das Ergebnis bekommt Sigcheck bereits nach Sekunden. Die Summe der Informationen erlaubt einen Rückschluss darauf, ob die Datei womöglich gefährlich ist.

Wie Sie das Skript einrichten und wie dessen Ausgaben zu interpretieren sind, verrät der unverändert gültige Artikel, den Sie via ct.de/wx86 finden.

Eines aber sei vorab gesagt: Eine Prüfung von nur wenigen Sekunden Dauer kann nicht ausreichen, um einer ausführbaren Datei Harmlosigkeit zu attestieren. Was unser Skript ausgibt, ist vielmehr wie eine Fußgänger-Ampel zu interpretieren: Zeigt sie grün, können Sie trotzdem überfahren werden, aber wenn sie rot leuchtet, wissen Sie, dass Sie unbedingt stehenbleiben beziehungsweise dieser Datei auf keinen Fall Ihr Vertrauen schenken sollten.

Reicht Ihnen das als Sicherheit nicht aus, bleiben halt doch nur die Profiwerkzeuge zur Analyse.

Lauter Bordmittel

Windows bringt gleich mehrere Whitelisting-Bordmittel mit. Seit Windows XP sind die sogenannten „Software Restriction Policies“ (SRPs) dabei. Für Windows 7 entwickelte Microsoft die SRPs weiter und nannte sie nun „AppLocker“ (intern auch als „SRPv2“ bezeichnet). Beide bieten dasselbe hohe Schutzniveau, der Unterschied liegt woanders: Die ursprünglichen SRPs kennen weniger Regel-Arten als AppLocker. Zudem gelten SRPs auf einem einzelnen PC entweder für alle Konten mit eingeschränkten Rechten oder sogar für alle Nutzerkonten (dann gelten sie auch für Administratoren). Mit AppLocker können Sie auch Regeln für selbsterstellte Gruppen oder Nutzer definieren, Ausnahmen sind möglich (Beispielregel: Programm „Klassenchat.exe“ erlaubt für alle Mitglieder der Gruppe „Lehrkräfte“ außer Nutzer „Bernd“).

image

Wenn in c’t von Whitelisting die Rede war, ging es bislang meist um Software Restriction Policies (SRPs). Die Weiterentwicklung SRPv2, von Microsoft „AppLocker“ genannt, steckt aber auch in allen aktuellen Windows-Versionen und -Editionen.

image

Keine Schikane, sondern Absicht: Dank Whitelisting hat Windows hier das Ausführen von Schadsoftware verhindert.

Reagieren auf blockierte Programmstarts

Wenn eine SRP- oder AppLocker-Regel das Ausführen eines Programms verhindert, weist Windows zwar darauf hin. Doch nicht immer landet der Hinweis prominent auf dem Bildschirm, sondern manchmal bloß versteckt im Event-Log des Systems. Dort können Sie ihn zwar mit der Ereignisanzeige lesen, doch das ist mühsam. Unser Programm SrpWatch holt solche Hinweise aus dem Event-Log und schickt Sie Ihnen per Mail zu. So erfahren Sie nicht nur von blockierten Programmstarts auf dem eigenen PC, sondern auch auf anderen, die Sie betreuen.

SrpWatch gibt es schon länger, meldete aber ursprünglich nur durch SRPs ausgelöste Ereignisse. Für die aktuelle Ausgabe der c’t haben wir das Programm überarbeitet, sodass es nun auch AppLocker-Ereignisse meldet.

Die Installation ist simpel, denn das Installationspaket kümmert sich um alles. Es packt die Dateien in die für Programme vorgesehenen Verzeichnisse, fragt die E-Mail-Konfiguration ab, hilft auf Wunsch beim Testen und richtet alles Nötige ein. Bei der Deinstallation verschwindet das Programm wieder restlos. Tipps für das Einrichten der Mail-Benachrichtigung finden Sie via ct.de/wx86 auf unserer Projektseite für SrpWatch mit Beispielkonfigurationen für verschiedene Mail-Anbieter.

(ps)

Gedacht sind beide Bordmittel für die teuren Windows-Editionen Pro und vor allem Enterprise. Admins verwalten sie in Firmen, Behörden & Co. mit Gruppenrichtlinien. Doch wir stellen Ihnen Werkzeuge zur Verfügung, mit denen Sie sowohl die SRPs als auch AppLocker viel einfacher nutzen können, und zwar unter allen Windows-Editionen – sogar unter Home.

Ein weiteres Bordmittel könnte auf den ersten Blick ebenfalls den Eindruck erwecken, als stecke hier eine Art Whitelisting dahinter: die Option „Nur Apps aus dem Store zulassen“. Klingt wie eine einfache Regel, funktioniert aber nicht (siehe Artikel „Apps nur aus dem Store installieren“).

Bei „Smart App Control“ handelt es sich zwar um Whitelisting [3]. Doch hierbei entscheiden nicht Sie, was Windows ausführen darf, sondern Microsoft, und Sie haben keine Chance, den Konzern zu überstimmen.

Echtes Whitelisting bekommen Sie hingegen mit dem Kiosk-Modus, allerdings kann Ihre Erlaubnisliste hier nur einen einzigen Eintrag enthalten. Für öffentlich zugängliche Computer kann das eine prima Sache sein [4], für einen produktiv genutzten Rechner taugt es nicht. Microsoft hat zwar mittlerweile einen „Multi-App-Kiosk“ angekündigt, der mehrere Anwendungen erlaubt, doch das ist im Wesentlichen auch bloß AppLocker.

Und los

Die nachfolgenden Artikel stellen SRPs und AppLocker mitsamt der jeweils von uns dafür entwickelten c’t-Werkzeuge vor. Doch bevor Sie nun loslegen: AppLocker ist wie erwähnt eine Weiterentwicklung der SRPs, unter der Haube nutzen beide dieselbe Systembibliothek (AppIdSvc.dll). Wenn Sie nun manche Regeln mit AppLocker und andere mit SRPs verwalten, führt das schnell zu Chaos und unerwarteten Erlebnissen. Unsere Empfehlung daher: Nutzen Sie entweder SRP oder AppLocker, aber nicht beide gemeinsam. Falls Sie beide erst mal ausprobieren wollen, empfehlen wir separate Testrechner oder virtuelle Maschinen [5].

Eines muss zudem noch deutlich gesagt werden: Für SRP und AppLocker gilt dasselbe wie für das restliche Betriebssystem und all Ihre Anwendungen. Es könnten jederzeit Sicherheitslücken darin entdeckt und ausgenutzt werden. Whitelisting darf also nur ein Baustein eines Sicherheitskonzepts sein. Sicherheits-Updates, Virenscanner, Firewall und so weiter bleiben unverzichtbar, Ihre persönlichen Daten gehören besser verschlüsselt [6], Passwörter sicher verwahrt [7] oder durch bessere Alternativen ersetzt [8] und, Sie wissen ja: kein Backup, kein Mitleid. Aber: Whitelisting dient nicht nur als ein Baustein von vielen, sondern kann in Ihrem Sicherheitskonzept eine zentrale Rolle einnehmen.

(axv) image

Literatur

[1] Olivia von Westernhagen, Jürgen Schmidt, Die unsichtbare Gefahr, Dateilose Infektion umgeht Schutzfunktionen, c’t 7/2017, S. 96

[2] Axel Vahldiek, Kein Backup, kein Mitleid, Security-Checkliste Backups, c’t 17/2023, S. 80

[3] Ronald Eikenberg, Schloss ohne Schlüssel, Die neue Windows-Schutzfunktion Smart App Control, c’t 24/2022, S. 28

[4] Jan Schüßler, Hartes Fenster, Kioskmodus von Windows 10 einrichten, c’t 6/2020, S. 164

[5] Axel Vahldiek, Viele PCs in einem, Virtuelle Computer mit Hyper-V unter Windows 10, c’t 4/2020, S. 140

[6] Titelthema „Praxisleitfaden Verschlüsselung“, c’t 4/2023 ab S. 62

[7] Ronald Eikenberg, Passwort: sicher, Security-Checkliste Passwörter & Accounts, c’t 17/2023, S. 82

[8] Ronald Eikenberg, FAQ Passkeys: Einloggen ohne Passwort, c’t 14/2023, S. 164, auch kostenlos online lesbar unter ct.de/-9067746

[9] Olivia von Westernhagen, Werbung statt Spielspaß, Analysiert: PS3-Emulator als Schafspelz, c’t 2/2017, S. 172

[10] Olivia von Westernhagen, Feind aus dem Word-Dokument, Analysiert: Das Comeback der Makro-Malware, c’t 5/2017, S. 142

SigCheck, SrpWatch

ct.de/wx86