31370

Sicher + sicher = Loch

09.08.2005 | 15:48 Uhr |

Java-Applets können heimlich Löcher in vermeintlich sichere Firewalls bohren.

Die Kombination von Java-Applets mit einem Firewall-Router kann zu einem Sicherheitsrisiko werden. Java-Applets gelten allgemein als recht sicher, weil sie auf dem Rechner in einer so genannten Sandbox ausgeführt werden. Diese abgeschottete Laufzeitumgebung soll verhindern, dass ein Java-Applet auf lokale Dateien zugreifen kann.

Ein Firewall- oder NAT-Router (NAT: Native Address Translation) gilt bei vielen als das Nonplusultra eines Schutzwalls gegen Angreifer aus dem Internet. Ein eingebauter Paketfilter inspiziert Datenpakete, die aus dem Internet ankommen und prüft, ob sie von einem Rechner im lokalen Netz angefordert wurden. Ist dies nicht der Fall, werden die Pakete verworfen oder abgelehnt. Handelt es sich um ein angefordertes Paket, trägt der Router die interne IP-Adresse des lokalen Zielrechners ein und lässt es passieren.

Florian Weimer aus Stuttgart hat nun entdeckt, dass Java-Applets und Firewall-Router in überraschender Weise interagieren und einen Angriff ermöglichen können. Dazu muss ein potenzielles Opfer zunächst dazu gebracht werden, eine Web-Seite zu besuchen, die ein spezielles Java-Applet lädt. Voraussetzung ist weiterhin, dass auf dem anzugreifenden Rechner ein Dienst läuft, der eine ausnutzbare Sicherheitslücke aufweist. Direkte Zugriffsversuche aus dem Internet auf diesen Dienst würden vom Router abgewehrt.

Das geladene Java-Applet wird in der Laufzeitumgebung des Browsers ausgeführt. Diese erlaubt es dem Applet, eine Verbindung zurück zu dem Web-Server aufzubauen, diesmal auf dem für FTP vorgesehenen Port 21. Als Herkunft und damit als Ziel der Rückantwort gibt das Applet den Port eines angreifbaren Dienstes auf dem lokalen PC an. Hierfür bietet sich praktisch jeder Dienst an, der ohne installierte Sicherheits-Updates bekannte Schwachstellen aufweist, etwa einen Pufferüberlauf.

Auf dem Internet-Server antwortet ein FTP-Server auf diese Anfrage. Das Applet verhält sich aus Sicht der Firewall als FTP-Client und fordert mit einem FTP-Befehl beispielsweise ein Inhaltsverzeichnis des FTP-Servers an. Dieser sendet nun Angriffspakete an den vom Applet vorgegebenen Port. Der Firewall-Router lässt die Pakete durch, da er sie für einen legitimen FTP-Transfer hält. Ist der so angesprochene Dienst tatsächlich verwundbar, kann der Angreifer auf diesem Weg bekannte Angriffsszenarien starten, etwa Schädlinge einschleusen.

Bei den Tests dieser Angriffsmethode wurde ein Linux-PC als NAT-Router verwendet. Es wurde nicht untersucht, ob marktübliche Firewall-Router besser abschneiden würden. Auch die Wirksamkeit von Desktop Firewalls als Schutz vor solchen Angriffen wurde nicht geprüft. Florian Weimer betont, dass kein Fehler in der Implementierung der beteiligten Komponenten vorliegt. Alle folgen, isoliert betrachtet, der jeweiligen Spezifikation. Erst die Kombination öffnet den Angriffskanal. Dabei ist FTP nicht der einzige Weg durch die Firewall sondern nur ein Beispiel. IRC (Internet Relay Chat) oder Internet-Telefonie sind weitere Beispiele für potenzielle Kandidaten, wurden jedoch nicht untersucht.

Für den Moment lautet die Lehre daraus: auch wer seinen PC hinter einem Firewall-Router in Sicherheit wähnt, sollte nicht darauf verzichten, Sicherheits-Updates zu installieren. Das Abschalten von Java hingegen ist nicht ausreichend - auch andere aktive Web-Inhalte (ActiveX, Flash) könnten möglicherweise für einen solchen Angriff nutzbar sein.

0 Kommentare zu diesem Artikel
31370