Wie Personal Firewalls ausgetrickst werden können


 

URL: http://home.arcor.de/nhb/pf-umgehen.txt
URL: http://home.arcor.de/nhb/pf-austricksen.html
 

Am 15.07.02 ist eine Sicherheitslücke in den 2001-Norten-Firewall- Produkten und AtGuard v.3.2 veröffentlicht worden: Der Buffer Overflow Bug ermöglicht das Ausführen von beliebigen Code mit Administrator-Rechten zum Beispiel beim Besuchen einer Webseite. Weitere Informationen: http://cert.uni-stuttgart.de/ticker/article.php?mid=888

Vorüberlegung

Auch wenn viele Hersteller und etliche Zeitschriften Personal Firewalls als Rundumschutz gegen Hacker und Trojaner verkaufen, sollten wir uns mal ein paar Aspekte im Detail anschauen. Am besten fangen wir mit der Frage an, wovor dich eine Personal- Firewall eigentlich genau schützen soll?

Im Wesentlichen werden zwei Ziele angestrebt:

Einige PF enthalten noch einen http-Proxy zur Filterung von Werbebannern oder Cookies.

Datentransfer von innen nach außen

Einige Beispiele aus dem realen Leben:

1) "Gibt es hier irgendwo hohle Pferde?"

Das Werbebanner-Einblendungsprogramm der Firma Aureate wird vom Setup-Programm der Wirtsanwendung kurzerhand als Netscape Navigator bzw. Internet Explorer Plugin installiert. Als Plugin kommuniziert es nicht direkt mit dem Internet, sondern nutzt die Plugin-Schnittstelle des Browser dafür.

Dadurch umgeht es auf einfache Weise die Probleme, die sonst bei einem Internetzugang über ein Netzwerk auftreten würden. Aureate ist nicht nur um einiges älter als ZoneAlarm, sondern wird von sehr vielen Freeware/Shareware-Programmen wie zum Beispiel von GoZilla und WebCopier verwendet.

Anscheinend greifen neuere Versionen des Werbeflächen-Tools über die Wirtsanwendung auf das Internet zu, sofern es sich bei diesen Programmen um "Internet-Software" handelt. Suchstichwörter: advert.dll, Radiate

2) Ohne viel Aufwand

Ich habe bei einem Bekannten vor einiger Zeit im Temp-Verzeichnis eine HTML-Datei gefunden, die ein paar Bilder aus dem Internet lädt. Die Bild-URLs waren dabei ganz besonders aufgebaut: Einige bestanden unter anderem aus den Dateinamen, die man unter {Start | Dokumente} findet.

Der Realplayer kommuniziert übrigens auf diese Weise unter Umgehung der Firewall mit dem Internet:

C:\WINDOWS\TEMP\RN7080.htm

<HEAD>
  <META HTTP-EQUIV="CONTENT="refresh";
    CONTENT="0;URL=http://presets6.real.com/sitesmenu/rphurl.html?
      xx00xx00x0X0xxx00xXxxxx0x0xxxxxxxXxxxxxxxxx0xxxxxx0xx0xxxx
      xxXxxxx0x00xx0x0xx00xxx0xxxxx0X0X0x0X0xxx0X0xxx0X0000xx0xx
      x0X0xxx0X0xxx0X0X0x0X0Xxx00xxxxxXxxx0xx0x0xxx0xx0x00xxxxX0
      0xxXx0xXxxxx0xxXx0X0X0x0x00x00x0Xxxx">
</HEAD>

0, X, x repräsentieren Zahlen, Großbuchstaben und Kleinbuchstaben

Besonders heimtückisch ist hierbei, dass ZA vorher die "normale" Kommunikation (Update-Suche?) erkannt und unterbunden hat.
 

3) Namen sind Schall und Rauch

... und dann fragte die Firewall:
Do you want Microsoft Internet Explorer to access the internet?
Do you want Netscape Navigator to access the internet?
Do you want Microsoft Windows 95 to access the internet?
Do you want DFÜ-Netzwerk to access the internet?
Do you want Zone Alarm to access the internet?
Vernünftig programmierte Spyware wird sich selbst ja kaum als "The ultimative hacking tool" in Windows anmelden.

4) Ab durch die Mitte

Protokoll-Tunnel (Verallgemeinerung von 1.): zum Beispiel IP over E-Mail oder http. Für einen http-Proxy [1] sieht das wie eine ganz normale Web-Seiten-Anforderung aus. Theoretisch kann man jedes Protokoll über jedes andere tunneln, solange man Einfluss auf eine entsprechende Gegenstelle hat. Bei DNS-Abfragen zum Beispiel geht das auch über "viele Ecken".

[1] Proxys verstehen im Gegensatz zu Packetfiltern das jeweilige Protokoll und sind trotzdem gegen Tunnel (fast) machtlos, da sich diese auf Protokollebene korrekt verhalten und lediglich uner- wünschte Inhalte transportieren.

5) An der PF vorbei

Jedes Programm hat unter Windows 9x die Zugriffsrechte auf der selben Ebene wie die PF mit dem Netzwerk zu kommunizieren (also nebenher). Unter Windows NT (2000, XP) gilt das Gleiche, wenn man sich als "Administrator" angemeldet hat; z.B. um Soft- ware im guten Glauben zu installieren.

Die Würmer Happy99 und Hybris kommen dem recht nah, in dem sie die WSock32.dll ersetzen. Mittlerweile gibt es auch einen Proof-Of- Concept: http://www.securityfocus.com/archive/1/244026 (Englisch)

6) Angriffe auf die PF selbst

Seit einiger Zeit gibt es die ersten bösen Programme, die einige Desktop-Firewalls (bzw. bestimmte Versionen) einfach beenden:
http://www.rz.tu-ilmenau.de/~traenk/zaweg.htm
http://de.geocities.com/pseueq/y3k.htm

Theoretisch dürften im Worst Case (also wenn dasböse Programme Administrator- bzw. Root-Rechte auf dem Rechner hat) alle PFs ziemlich machtlos sein.

Außerdem kann man viele Desktop-Firewalls durch ähnlich aussehende Programme ersetzen, indem man im simpelsten Fall den Treiber-Aufruf in der Registry löscht und den Aufruf des User-Frontends mit dem Dateinamen eines entsprechend präparierten Programmes überschreibt.

Normale Benutzerrechte reichen bei den meisten PFs aus, um neue Regeln einzufügen. Natürlich ist das auch automatisch möglich:
http://www.heise.de/newsticker/data/pab-18.05.01-001
http://my-forum.netfirms.com/zone/zcode.htm (bestätigt "Yes-Button")

7) Und was dann noch übrig bleibt

Und zum Schluss sind da noch die bösen Programme, die überhaupt nicht mit dem Internet kommunizieren. z.B.: Ein Trojanisches Pferd, das angeblich ein Virenscanner ist (und auch wirklich andere Viren findet) allerdings zusätzlich Zifferndreher in Excel-Tabellen verursacht. Oder das böse Programm ersetzt die Telefonnummer, die an das Modem bzw. die ISDN-Karte gesendet wird, durch eine 0190-Nummer.

Zugriffsmöglichkeiten von außen

Von außen gibt es grob gesagt drei Möglichkeiten, Zugriff auf dein System zu erlangen: 

1) Fehlkonfigurationen

Eine Fehlkonfiguration, bei der zum Beispiel die Datei- und Druckerfreigabe nicht nur an die lokale Netzwerkkarte, sondern auch an das Internet-Interface gebunden ist. (Bei diesem Beispiel sind Personal-Firewalls recht erfolgreich).

Viele Fehlkonfigurationen spielen sich auch auf Anwendungs- ebene ab; zum Beispiel im Browser oder Mailprogramm. Leider sind solche Geschichten (z.B. automatisches Starten von Programmen) häufig die Standard-Einstellung, die man erst mehr oder weniger mühsam ändern muss.

Hier sieht es mit dem Schutz durch PFs sehr schlecht aus, da die PF nicht mitbekommt, wenn ein Programm ungewollt Daten verändert oder löscht. Und wenn das Mailprogramm plötzlich Mails senden will, dann wird die PF es nicht davon abhalten.
 

2) Bugs

Die zweite große Möglichkeit besteht in der Ausnutzung von Bugs. Ein häufiges Angriffsszenario entsteht, wenn ein Programm die Länge eines Speicherbereiches beim Kopieren/Einlesen nicht prüft und über das Ende seines Puffers hinausschreibt.

Wenn in einer der dahinterliegenden Speicherzellen ein Verweis auf eine Speicheradresse mit Programmcode liegt (Rücksprung- adresse bei Funktionen), dann kann diese überschrieben werden. Im simpelsten Fall steht dann dort Müll und es gibt einen "Fehler in Anwendungsprogramm". Mit etwas Mühe ist es in dieser Situation häufig möglich, in die eigenen Daten zu springen, die in Wirklichkeit Programm-Anweisungen in Maschinensprache sind.
Technische Hintergrundinformationen dazu: "Smashing The Stack For Fun And Profit" (Englisch)

Eine Personal Firewall könnte theoretisch solche "zu langen" Daten erkennen und abfangen. Das geht allerdings nur, wenn sie weiß, wonach sie suchen muss. Bevor die Personal Firewall- Hersteller ihre Programme angepasst haben, hat MS (bzw. die Hersteller des fehlerhaften Programms) idR. ihre Sicherheitspatches schon längst veröffentlicht.

Da solche Fehler auch immer mal wieder in Personal Firewalls gefunden werden, kann der vermeintliche Schutz das Loch auch erst aufreißen: http://cert.uni-stuttgart.de/ticker/article.php?mid=888
 

3) "böse Programme"

Zu guter Letzt könntest du noch eine Fernwartungssoftware oder ein anderes böses Programm gestartet haben; wahr- scheinlich im Glauben ein nützliches Programm zu installieren. Allerdings machte es neben den bunten Effekten auf der Webseite (ActiveX) im Hintergrund noch andere Sachen. Oder die Mail von deinem Bekannten ist in Wirklichkeit von dem Wurm verschickt worden, den er im gleichen Irrglauben gestartet hat.

Dagegen sind PF ebenfalls machtlos: Es befindet sich in diesem Fall bereits ein Programm auf deinem Rechner, das die PF so verändern kann, dass sie Verbindungs- aufbauten von außen ohne Rückfrage annehmen. Oder noch leichter: Es baut selbst eine Verbindung nach außen auf und holt sich seine Befehle ab. (Damit fällt es in den ersten Abschnitt.)

 

Weiterführende Informationen

de.comp.security.firewall FAQ von Lutz Donnerhacke: http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html

Die "Zonealarm-FAQ" von Utz Pflock enthält einige Informationen darüber, wie man als Privatanwender einen Kompromiss zwischen Funktionalität und angestrebter Sicherheit erreichen kann. http://www.pflock.de/computer/za_faq.htm

Situationen, die einige PFs als "Angriff" fehlinterpretieren (engl.): http://www.dslreports.com/forum/remark,2169468~root=security,1~mode=flat

http://www.rz.tu-ilmenau.de/~traenk/dcsm.htm#Firewall
http://www.team-cauchy.de/personal/
http://www.fefe.de/pffaq/halbesicherheit.txt
http://www.samspade.org/d/persfire.html (Englisch)
 
 

Schlussüberlegung

Desktop-Firewalls können für den Fall als Sicherheitsnetz dienen, dass man die "Datei- und Druckerfreigabe" falsch konfiguriert hat oder sich in der Vertrauens-Einschätzung eines sehr schlampig programmierten bösen Programmes vertan hat.

Dieses Netz ist allerdings sehr weitmaschig, so dass man sich darauf nicht verlassen kann. Daraus ergibt sich eine nicht zu unterschätzende neue Gefahr: Viele Leute werden mit dem Wissen, eine PF und einen Virenscanner zu haben, ausnahmsweise ein einziges Mal ein nicht vertrauenswürdiges Programm starten, ...

Zu guter Letzt handelt es sich bei Personal-Firewalls (von ipchains/iptables mal abgesehen) meist um closed-source Produkte, bei denen sich wieder die Vertrauensfrage stellt. Die einer PF zur Verfügung stehenden Daten sind marketingtechnisch sicherlich nicht uninteressant.


Dank an die alte Newsgruppe de.comp.security und ihre Nachfolgerin news:de.comp.security.firewall

Ergänzungen, Kritik, Flames, Rächtschreibveler bitte an   Hendrik Brummermann <nhb_web@nexgo.de