Pesonal Firewalls im Test

Die Prüflinge

Getestet wurden die zum Testzeitpunkt aktuellen Versionen der gängigsten Personal Firewalls:

Die Testunterlagen befinden sich hier.

Testkriterien

Die Hauptaufgabe einer Personal Firewall ist es, den Netzwerkverkehr zu kontrollieren. Das betrifft zum einen Zugriffe aus dem Internet auf den PC und zum anderen den Datenversand lokaler Programme ins Internet. Es wurde getestet, inwiefern die Produkte diesen Aufgaben gerecht werden. Zusätzlich wurde getestet, ob neue Sicherheitsprobleme für ein System durch den Einsatz der Personal Firewall entstehen können.

Der Test-PC ist ein Windows 2000 mit Service Pack 4 und allen aktuellen Patches. Obwohl bei einer Standardinstallation von Windows der lokale Benutzer adminstrative Rechte hat, wurde für den Test ein Benutzer ohne privilegierte Rechte verwendet. Ansonsten wurde weder die Konfiguration von Windows noch die der Personal Firewall verändert. Damit ist zum einen ein fairer Vergleich der verschiedenen Produkte möglich und zum anderen dürfte das ein für die Mehrheit der Benutzer zutreffendes Szenario sein.

Angriffe von Außen

Fast alle Personal Firewalls behaupten, sie können einen PC für einen Angreifer unsichtbar machen. Die dafür oft verwendete Technik, ein ICMP echo request ("ping") nicht zu beantworten, ist jedoch sinnfrei, da ein ICMP echo request an einen nicht vorhandenen PC ein ICMP destination unreachable vom letzten Router vor diesem PC erzeugen müsste. Kommt keine Antwort, so kann man in der Regel davon ausgehen, dass dort ein Rechner vorhanden ist. Es gibt prinzipbedingt keine Möglichkeit, einen Teilnehmer eines IP-Netzwerkes effektiv zu verstecken.

Ein von außen erreichbarer Dienst ist ein potenzielles Sicherheitsrisiko, da jeder Dienst ein Programm ist, das Fehler enthalten kann. Solche Fehler können von einem entfernten Angreifer für einen Angriff ausgenutzt werden. Personal Firewalls verhindern deshalb den Zugriff auf lokale Dienste mit Hilfe eines Packetfilters. Ein Portscan auf den Test PC klärt, wie viele und welche Dienste von außen erreichbar sind. Am besten ist es, wenn kein Dienst erreichbar ist. Am schlechtesten, wenn für den erreichbaren Dienst eine bekannte Angriffsmöglichkeit existiert.

Zusätzlich zum Paketfilter bringen viele Personal Firewalls ein Intrusion Detection System (IDS) mit. Es scannt den kompletten Netzwerkverkehr um bei bekannten Angriffsmustern mit Abwehrmaßnahmen reagieren zu können. Da auch der Programmcode für die Analyse des Netzwerkverkehrs Fehler enthalten kann, können durch ein IDS zusätzliche Angriffsmöglichkeiten entstehen. Der Wurm W32/Witty.worm hat einen solchen Fehler ausgenutzt. Bei vielen Personal Firewalls besteht die Abwehrmaßnahme darin, die IP-Adresse des angreifenden PCs temporär zu sperren. Dieses Verhalten kann man nun nutzen, um einen durch eine Personal Firewall "geschützter" PC vom Internet abzuschneiden (man schickt Pakete, die als Absenderadresse die IP-Adresse von Nameservern des PCs enthalten).

Angriffe von innen

Um den Zugriff lokaler Programme ins Internet zu kontrollieren, setzten Personal Firewalls früher einfache Paketfilter ein. Bald begannen Schadprogramme die ausspionierten Daten durch bekannte Protokolle zu tunneln. Als Reaktion darauf wurde eine Applikationsfilterung eingeführt, bei der der Benutzer für jedes Programm angeben kann, ob es ins Internet verbinden darf oder nicht.

Leider lässt sich diese Filterung leicht umgehen. Grund dafür ist das Windows-Nachrichtensystem, das es jedem lokalen Program erlaubt, beliebige Benutzeraktionen zu simulieren. Zum Test der Personal Firewalls wurde deshalb eine Remote Shell geschrieben die eine Fernsteuerung des Test-PCs mit den Rechten des lokalen Benutzers erlaubt. Diese sog. wwwsh verwendet einen Browser als Wirt, um über den Aufruf von URLs Informationen rein und raus zu transportieren. Es wurde getestet, bei welchen Personal Firewalls diese Steuerung des Test-PCs möglich ist. Dabei wurde nicht berücksichtigt, wie die wwwsh auf den Test-PC gelangen kann. Die Erfahrung mit trojanischen Pferden zeigt, dass das im Allgemeinen unproblematisch ist.

Die Simulation von Benutzeraktionen ermöglicht zudem weitere Angriffsmöglichkeiten von innen. Mittel dieser Angriffe sind dabei die Fenster der Personal Firewall Applikation, die dem Benutzer Zugriff auf die Konfiguration ermöglicht. Wird der Benutzer z.B. bei einem nicht autorisierten Netzzugriff per Popup-Fenster gefragt, ob er diesen Zugriff zulassen möchte, kann das Schadprogram diese Frage selbständig mit "Ja" beantworten. Ist das ohne Eingabe eines Passworts möglich, kann sich damit effektiv jedes Program selbst den Internetzugriff erlauben. Dasselbe gilt, wenn man ohne Eingabe eines Passworts die Personal Firewall über ein GUI konfigurieren oder gar abschalten kann. Ist eines von beidem möglich, kann man die Applikationsfilterung nicht mehr mit ausreichend bewerten.

Microsoft hat dokumentiert, dass Programme, die mit privilegierten Rechten laufen, niemals Fenster öffnen soll. Grund dafür ist, dass mangels Sicherheitsmechanismen im Windows-Nachrichtesystem auf diesem Weg das privilegierte Program gesteuert und ausgenutzt werden kann. Ein Shatter-Attack ist ein Angriff aus dieser Kategorie, bei dem man beliebigen Code vom privilegerten Program ausführen lassen kann. Man spricht hierbei auch von Privilege Elevation, da der Angreifer sich dadurch erhöhte Rechte verschaffen kann. Öffnet ein privilegierter Prozess der Personal Firewall (sichtbare oder unsichtbare) Fenster, kann man das Design der Personal Firewall nicht mehr mit ausreichend bewerten.

Zusätzliche Angriffsmöglichkeiten

Neben den oben beschriebenen allgemeinen Angriffsmöglichkeiten haben manche Personal Firewalls individuelle Fehler im Design oder in der Standardkonfiguration. Diese können für verschiedene Angriffe sowohl von innen als auch von außen verwendet werden. Dieser Teil des Tests ist nicht vollständig, da es nicht einfach möglich ist, für alle getesteten Personal Firewalls alle möglichen Angriffe zu testen. Auch ist es schwer möglich, diese individuellen Fehler fair miteinander zu vergleichen. Deshalb werden die Ergebnisse aus diesem Teil nicht in die Gesamtwertung mit aufgenommen.

Testergebnisse

  Kerio Norman Outpost Sygate Tiny ZoneAlarm Norton
Version 4.1.2 1.42 2.5 5.5 6.0.140 5.5 2005
von außen
Unsichtbarkeit nein   nein nein nein nein nein
Popups nein ja1 ja nein nein ja ja
Dienste erreichbar nein   nein nein ja nein nein
Ports offen (0.0.0.0) ja   nein ja nein nein nein
SelfDoS nein   ja ja nein ja6 ja
von innen
wwwsh ja   ja ja ja ja ja
PFW abschaltbar? ja ja ja ja3 nein4 nein ja
PFW konfigurierbar? ja ja ja ja ja5 ja ja
Passwort möglich? ja ja ja ja ja ja ja
Passwort erforderlich? nein ja2 nein nein nein nein nein
Installation
Registry-Schlüssel 477 64 315 277 1694 189 3556
Registry-Werte 705 246 1036 743 2283 499 5934
Verzeichnisse 12 23 15 8 32 8 34
Dateien 61 109 222 61 382 74 417
Treiber 1 2 2+n 5 8 1 8
Dienste 1 1 1 1 5 1 8
Sonstiges
Dienst mit Fenstern nein nein ja ja ja nein nein
Automatische Updates ja nein nein ja ja ja7 ja
Verständliches UI + 0 - 0 -- 0 ++

1 Ein Popup pro Port
2 Bei automatischer Konfiguration gibt es ein Default-Passwort und einen Default-Benutzer, so dass jeder Benutzer Änderungen machen darf
3 Nicht komplett abschaltbar, aber "allow all"
4 Nur als Administrator
5 Administratoren können Einstellungen als Default oder fest vorgeben
6 Bei "Angriffen" aus der Internet-Zone
7 Registrierung erforderlich