Personal Firewalls
Wettrüsten am PC

SicherheitSicherheitsmanagement

Sicherheitslöcher

Personal Firewalls

Wer eine Personal Firewall wie Zone Alarm für 30 Euro oder mehr kauft, investiert in den Schutz seines PCs. Angriffe aus dem Internet sollen damit geblockt und ausgehende Verbindungen erkannt werden.

Während die meisten Produkte die Internet-Schnittstelle hinreichend absichern, sieht es bei der Erkennung ausgehender Verbindungen ganz schlecht aus: So gut wie alle Personal Firewalls bieten keinen Schutz und stellen sogar selbst eine Angriffsfläche dar. Die Code-Zeilen zeigen deutlich, wie einfach sich eine Personal Firewall umgehen lässt. Hierbei handelt es sich um Beispiel-Code der in der Newsgroup de.comp.security.misc veröffentlicht wurde und durch den Download von Spywware vom Anwender unbemerkt auf jeden PC gelangen kann.

Um an der Personal Firewall vorbeizukommunizieren, nutzt der Code das Programm, das auf jeden Fall ins Internet darf: den Webbrowser. Mit den FindWindowEx()-Funktionen wird das passende Fenster gesucht, und mit SendMessage() und PostMessage() werden diesem geeignete Nachrichten geschickt. Das Fenster (in diesem Fall der Internet Explorer) glaubt, der Benutzer will die angegebenen Daten nach außen schicken wozu das Programm auch berechtigt ist.

Dieser Angriff ist nicht auf den Internet Explorer beschränkt; auch ist er kein Fehler des Browsers: Der IE macht genau das, wofür er gebaut wurde er dient als Webbrowser. Unter www.dingens.org/breakout-mo zilla-firefox.c findet sich dieselbe Lösung für Firefox. Das Ganze funktioniert übrigens auch mit unsichtbaren Fenstern; das Browser-Fenster wird nur deshalb sichtbar gelassen, damit nachvollziehbar ist, was passiert.

Keiner kam durch

Personal Firewalls

Ansgar Wiechers vom Chaos Computer Club (CCC) Ulm hat im Personal-Firewall-Test des Chaostreffs Bad Waldsee sieben Personal Firewalls getestet: Kerio, Zone Alarm, Outpost, Sygate, Symantec, Tiny und Norman (www.dingens.org/pf-bericht/bericht. html). Ergebnis: Keiner der Testkandidaten widerstand den Attacken.

Um die Praktikabilität dieses Angriffs zu demonstrieren, entwickelte Alexander Bernauer vom CCC Ulm eine Fernsteuerungssoftware namens »wwwshell«. Damit ist es trotz Personal Firewall möglich, einen Windows-PC vollständig fernzusteuern. Einem Nutzer untergeschoben wirkt die wwwshell als trojanisches Pferd. Auch hier soll nur die Möglichkeit eines Angriffs gezeigt werden, deshalb bleiben bei diesem Programm ebenfalls alle Fenster sichtbar. Der CCC Ulm zeigte, dass tatsächlich alle Personal Firewalls in allen Funktionen versagen, außer beim Filtern von Ports. Den gesamten Vortrag finden Sie auf der Heft-CD (PCP-Code CCC).

Auch andere Funktionen der Personal Firewalls sind höchst fragwürdig. So behaupten viele Hersteller, dass ihre Produkte einen PC im Internet verstecken, also quasi unsichtbar und damit nicht auffindbar für Angreifer machen (Stealth-Modus). Die ist für Experten jedoch ein unsinniges Versprechen, da es faktisch unmöglich ist, einen Computer in einem TCP/IP-Netzwerk zu verstecken.

Keine einzige Personal Firewall war gegenüber Jonathan Häberles Programm »Autoklicker« resistent. Dahinter steckt die Idee, eine Firewall automatisiert zu konfigurieren, abzuschalten oder zu deinstallieren, indem einfach simuliert wird, der Benutzer wolle das jetzt tun. In der Standardeinstellung konnte kein Programm verhindern, dass ein Benutzer jederzeit eine der genannten Aktionen ausführen darf. Auch vergab kein Tool mehr als ein Standardkennwort nach der Installation. Der Code eines exemplarischen Autoklickers findet sich ebenfalls in der Dokumentation des CCC-Vortrags.

Katastrophen statt Sicherheit

Personal Firewalls

Viele andere Funktionen von Personal Firewalls gleichen sogar einer sicherheitstechnischen Katastrophe: So hat zum Beispiel nicht nur die Norton Personal Firewall eine Funktion, mit der Benutzer geheime Daten wie PINs und Ähnliches in einer Datei speichern, um diese dann aus dem ausgehenden Nachrichtenverkehr auszufiltern. Die Daten werden aber völlig unzureichend geschützt: Laut den Tests des CCC Ulm ist es ohne weiteres möglich, die Informationen auf einen anderen Computer zu spielen und ohne Passwort-Eingabe zu öffnen.

Nutzt der Anwender dann noch die Funktion der Norton Personal Firewall, diese Daten aus dem Netz zu filtern, so kann dies sogar als Möglichkeit verwendet werden, die Daten automatisiert von einem Webserver vom Internet aus zu lesen. Denn filtert die Norton Personal Firewall etwa eine vierstellige PIN, braucht ein Webserver-Betreiber nur dafür zu sorgen, dass ein Benutzer Objekte vom Webserver liest, die alle Zahlen zwischen 0000 und 9999 enthalten. Die fehlende Zahl ist die PIN. Selbst wenn Norton in einer späteren Version noch geschickter filtert, wird eine binäre Suche darauf immer noch nach spätestens 14 aufgerufenen Webseiten die PIN errechnet haben. Und bei HTTP gibt es Frames und einen Autorefresh, mit dem diese Suche innerhalb einer angewählten Seite vollzogen werden kann. Die Filterfunktion basiert also schlicht auf einem Denkfehler und gleicht der Veröffentlichung der Daten, statt sie geheim zu halten.

Bei anderen Personal Firewalls, beispielsweise Outpost, Sygate und Tiny, öffnen Systemdienste gar Fenster. Installiert ein Anwender diese Produkte, erzeugt er dadurch eine grundsätzliche Sicherheitslücke, mit der ein Angreifer über die Personal Firewall den PC übernehmen kann. Die Hersteller von Sicherheitssoftware verstoßen damit gegen die Design-Vorschriften von Microsoft für Systemdienste. Bei Microsoft sind die Schwächen des Fenstersystems bereits seit längerem bekannt: Der Rat, ein privilegierter Systemdienst dürfe niemals Fenster öffnen, lässt sich in der MS-Knowledge-Base nachlesen. Anders ausgedrückt: Eine Personal Firewall macht den Windows-PC erst richtig unsicher. Ohne ist er sicherer gegen die Angriffe, die eine Erweiterung der Benutzerrechte zum Ziel haben.

Doch nicht nur die Firewall-Programmierer müssen nachbessern. Auch den Windows-Hersteller selbst trifft die Schuld, Angreifern Tür und Tor zu öffnen. Denn wesentliche Gründe für den Erfolg solcher Attacken sind konzeptionelle Schwächen der Windows-Sicherheitsarchitektur.

Sichere Betriebssysteme

Personal Firewalls

Windows NT, 2000, XP und 2003 Server zählen zu den Betriebssystemen, die zwischen einem Kernel und Prozessen unterscheiden. Die Prozesse unterliegen Speicherschutz und werden vom Kernel überwacht. Der Kernel seinerseits verfügt über ein Sicherheitssystem, das Anfragen von Prozessen abwägt, Rechte verwaltet und Ressourcen-Zuteilungen kontrolliert. Durch dieses Konzept, den Schutz gnadenlos durchzusetzen, ist das System prinzipiell von allen anderen Programmen außer dem Kernel nicht zu umgehen und damit sehr wirksam und verlässlich. Auch Windows ist in diesem Punkt sicher, doch leider ist das nicht der einzige Ansatz für Sicherheit dieser Betriebssystem-Varianten.

Die MS-DOS-basierenden Versionen wie Windows 95, Windows 98 und Windows ME verfügen nämlich nicht über die klassische zweigeteilte Architektur mit Kern und Prozessen. Darum konnte bei diesen Systemen auch kein solches Sicherheitssystem implementiert werden. Microsoft versuchte deshalb, auf andere Weise Sicherheit zu erzeugen. Die Idee: Dem Benutzer wird keine Möglichkeit gegeben, eine Funktion auszuwählen, die er nicht auslösen darf eine fatale Fehlentscheidung. Denn schafft es ein Angreifer dennoch, eine »unerlaubte« Funktion wie zum Beispiel das Beenden eines Kerneltreibers zu nutzen, so stehen ihm Tür und Tor gle
ich sperrangelweit offen. Das Sicherheitssystem kann somit leicht umgangen werden es ist wirkungslos.

Diesen zweiten, völlig unsicheren Ansatz für Sicherheit hat Microsoft in den Windows-Versionen mit NT-Kern übernommen. Viele der so genannten Policies (Sicherheitsrichtlinien) arbeiten auf Grundlage dieses unsicheren Modells und sind damit recht einfach zu umgehen. Das Sicherheitssystem von Windows ist also ein Mischmasch aus vernünftigen Konzepten und Unfug. Die größte Designschwäche von Windows besteht jedoch darin, dass so gut wie alle Prozesse Fenster erzeugen weil eben fast alle Windows-Funktionen nomen est omen auf Fenstern basieren. Über diese können alle Programme aber beliebig mit allen anderen Prozessen kommunizieren, die ebenfalls Fenster erzeugen und diese dann zu Aktionen veranlassen. Im schlimmsten Fall kann ein Fenster dazu veranlasst werden, beliebigen und damit gefährlichen Code auszuführen.

Offene Fenster

Personal Firewalls

Zudem kann jeder Prozess den Nachrichtenverkehr aller anderen Prozesse beliebig mithören und manipulieren. Das geschieht mit den Windows-Hooks, einer Systemfunktion, mit der sich jedes Programm in den Nachrichtenverkehr einhaken und diesen beeinflussen kann. Auf diese Weise ist zum Beispiel das Mitlesen von Passwörtern möglich.

Das Fenstersystem von Windows verfügt jedoch diesbezüglich über kein Sicherheitssystem. Über diesen Weg ist die Kontrolle, die der Kern über die Prozesse ausübt, vollständig zu umgehen. Experten sprechen bei einem solchen Angriff von einer »Shatter Attack«. Prozesse, die Fenster haben, sind daher grundsätzlich als unsicher zu betrachten und das sind fast alle.

Windows-Altlasten

Personal Firewalls

Diese Schwäche ist historisch bedingt: Die Windows-Versionen vor NT hatten überhaupt kein nennenswertes Sicherheitssystem. Damit bestehende Windows-Software aber weiter funktionierte, wurde das Fenstersystem komplett in die Windows-Varianten mit NT-Kern übernommen. Auch Windows XP und Windows 2003 Server arbeiten so. Es ist somit unmöglich, Programme, die bereits ausgeführt werden, sicher zu kontrollieren. Alle Funktionen von Personal Firewalls, die das behaupten, sind völlig unwirksam.

Von einem Deaktivieren oder einer Deinstallation von Personal Firewalls wird jedoch dringend abgeraten: »Firewalls bieten nach wie vor einen guten Schutz vor Eindringlingen, insbesondere von außen und je nach eingesetztem Produkt auch von innen«, so Microsoft-Pressesprecher Thomas Baumgärtner gegenüber PC Professionell. »Die Shatter-Attack ist ein bekanntes Sicherheitsrisiko, das jedoch die gezielte Ausführung von nicht vertrauenswürdigem Code voraussetzt.« Und weiter: »Für das System kann dies aber einen Angriff von innen heraus bedeuten, der vom Benutzer in Kauf genommen wird, weil er gutgläubig ist und nichts Böses vermutet.« Im Klartext: Wer sich aus Unwissenheit einen Trojaner auf den Rechner holt, ist selbst schuld. Als zusätzliche Schutzmaßnahme bietet sich das Abschalten von Diensten an der Internetschnittstelle an.

Dass Spyware-Removal-Tools und Virenscanner eine Hilfe, niemals aber die Lösung für diese Sicherheitsprobleme sein können, ist in Redmond bekannt: Sehr anschaulich beschreibt dies Microsoft-Experte Jesper M. Johansson im Technet. Dort zeigt er, warum sich ein einmal kompromittiertes System in den meisten Fällen nicht mehr reparieren lässt und ein Formatieren der Festplatte unvermeidbar ist.

Setzen, sechs!

Personal Firewalls

Personal Firewalls, regelmäßig aktualisierte Virenscanner und Anti-Spyware-Tools helfen zwar, sind aber nicht die Lösung. Das Problem liegt in der Windows-Architektur selbst. Solange Microsoft hier nichts ändert, bleiben die Sicherheits-Probleme.

Sicher mit Bordmitteln

Personal Firewalls

Windows bietet in der Standard-Installation bestimmte Dienste wie den Directory Service oder Netbios-Dienste im Internet an. Die meisten Anwender wissen dies nicht. Dass diese Dienste laufen, kann jeder XP-Anwender durch die Eingabe des Befehl netstat -ano im Dialogeld Ausführen unter Start selbst feststellen: Alle Zeilen, die nicht 127.0.0.1 als Bindungs-IP-Adresse enthalten und trotzdem mit ABHÖREN (englisch: LISTEN) markiert sind, zeigen einen Internetdienst, den Windows anbietet. Das Programm TCPView (www.sysinternals.com) zeigt diese Dienste ebenfalls an.

Es gibt zwei Möglichkeiten, mit diesem Problem umzugehen: Die erste besteht in der Schaltung eines Paketfilters zwischen den Diensten und dem Internet. Genau das machen die Windows-Firewall und die meisten Paketfilter handelsüblicher Personal Firewalls.
Einfacher ist die zweite Möglichkeit: Wenn man keine Dienste anbieten will, warum schaltet man sie nicht einfach ab? Die Folge: Es besteht kein Bedarf dafür, Dienste eines Windows-PCs zu filtern, da sie dann nicht mehr existieren. netstat -ano oder TCPView beweisen das. Das Programm »Windows-Dienste abschalten« (www.dingens.org) übernimmt die Abschaltung: Weder ist eine Installation der Software nötig, noch muss sie auf dem Windows-PC verbleiben. Möchte man die Dienste wieder starten, so genügt es, das Tool erneut aufzurufen und den Punkt zur Rückstellung aller Änderungen zu wählen.

Das Abschalten der Windows-Internet-Dienste ist ebenso sicher wie das Filtern mit dem Paketfilter einer Personal Firewall. Doch es hat keinen der Nachteile gängiger Personal Firewalls: Es macht den PC nicht zusätzlich unsicherer und eröffnet keine zusätzlichen Angriffsvektoren. Auch werden dem Anwender keinerlei Zusatzleistungen angeboten, deren Werbeversprechen dann nicht eingehalten werden.

Sicherheitsempfehlung von Symantec

Personal Firewalls

»Um sich gegen die Gefahren aus dem Internet zu schützen, reden wir über mehr als nur über den Einsatz einer Personal Firewall. Der Anwender sollte drei Vorsichtsmaßnahmen treffen: Erstens muss er einen Virenschutz einsetzen, der kontinuierlich mit neuen Virendefinitionen aktualisiert wird und verhindert, dass bekannte Schadprogramme auf den Rechner gelangen. Zweitens ist selbstverständlich eine Personal Firewall zu verwenden, denn diese verhindert den Zugriff Dritter auf den PC. Drittens sollte sich der Anwender fragen, ob er auch wirklich mit Administratorberechtigung arbeiten muss. Eingeschränkte Benutzerrechte können manchen Schaden abwenden. Zusätzlich sollte er Vorsicht walten lassen und nur Dateien öffnen, die er genau zuordnen kann. Werden diese Regeln beachtet, haben Hacker nur schwer eine Chance.«

Lesen Sie auch :