Sicherheit in Peer-to-Peer-Netzen
Beim Tauschen und Suchen sollte man die Risiken kennen
P2P-Netze wie Gnutella, KaZaA und Freenet ermöglichen es schnell und komfortabel, Dateien aller Art zu finden und zu tauschen. Um unangenehme Überraschungen zu vermeiden, sollte man sich allerdings der spezifisch damit verbundenen Sicherheitsrisiken bewusst sein.
Grundsätzlich hat die Dezentralisierung von Ressourcen (Festplattenplatz, Bandbreite, Rechnerzeit oder sogar die "Gehirnzeit" der Nutzer) viele Vorteile. Sie schützt sowohl gegen willkürliche Zensur als auch gegen unfreiwilligen Ausfall zentraler Speichersysteme. Fällt in Europa ein großer ISP aus, kann dies den temporären oder permanenten Verlust Hunderttausender Webseiten zur Folge haben (vgl. www.heise.de/newsticker/data/fro-27.03.01-003/). Eine Sicherheitslücke in einem eCommerce-Server kann zum Diebstahl Tausender Nutzerinformationen inkl. Kreditkartennummern führen. Und Diktaturen wie Saudi-Arabien können ohne weiteres größere von Amateuren betriebene Websites wie die in den Yahoo! Clubs komplett sperren (Saudi Arabien sperrt wegen Pornographie Zugang zu den Yahoo-Clubs).
In Peer-to-Peer-Netzen dagegen werden populäre Daten redundant gespeichert. Eine Zensur ist hauptsächlich durch die Sperrung protokolltypischen Datenverkehrs möglich. Wenn ein Rechner einem anderen mitteilt: "Ich bin ein Peer im Gnutella-Netz", kann diese standardisierte Abfrage vom ISP erkannt und blockiert werden. Jedoch können solche Protokolle bei Bedarf innerhalb von anderen versteckt werden. Der Datenverkehr eines File Sharing Netzes wie Gnutella könnte durchaus als regulärer HTTPS-Traffic (eingesetzt zur verschlüsselten Übertragung von Webseiten) getarnt werden. Man spricht bei solchen Tarnvorgängen von steganographischen Protokollen. Insbesondere bei Netzen, zu deren Zielen eine hohe Zensurresistenz gehört, wird eine solche Tarnung des Datenverkehrs natürlich gewünscht, so z.B. bei Freenet.
Die P2P-Revolution ist jedoch nicht ohne Schattenseiten. Beim File Sharing bedeutet die gleichzeitige Funktion der Teilnehmer als Client zum Download und als Server zum Upload von Dateien gewissermaßen auch eine doppelte Verwundbarkeit gegenüber Angriffen von außen. Dabei spielt die Unbedarftheit der einzelnen Nutzer eine weit größere Rolle als bei Client-Server-Netzen, wo die Server in der Regel von geschulten Administratoren betreut werden, die zumindest Anfängerfehler vermeiden können.
Die Software selbst sollte also unbedingt mit sicheren Voreinstellungen geliefert werden oder den Nutzer vor gefährlichen Handlungen warnen. In der Praxis geschieht leider oft das genaue Gegenteil. So wird der Nutzer von File Sharing Programmen bei deren Installation oft dazu aufgefordert, möglichst viele Dateien anderen Nutzern zur Verfügung zu stellen. Die Software bietet dabei sogar an, die Festplatte des Nutzers nach bestimmten Dateitypen (z.B. allen MP3s oder allen Bildern) zu scannen und diese freizugeben. Bejaht der Nutzer dies, ohne sich über die Konsequenzen im Klaren zu sein, kann ein privates Diktat, der Browser-Cache oder das Foto im eigenen Lebenslauf unfreiwillig anderen zur Verfügung gestellt werden.
Keksdiebstahl und heiße Listen
Kritisch sind auch Programme, die beim Freigeben eines Verzeichnisses rigoros alle Dateitypen freischalten und auch Unterverzeichnisse anderen Nutzern zur Verfügung stellen. So passiert es schnell, dass man z.B. versehentlich seine Cookies oder sein Outlook-Adressbuch freigibt. Die Cookies speichern Authentifizierungsinformationen für diverse Websites, die der Besitzer in letzter Zeit besucht hat. Erlangt ein anderer Nutzer Zugriff auf die entsprechenden Dateien1, so kann er sich auf den entsprechenden Websites als ihr Besitzer ausgeben. Dies ermöglicht ihm in vielen Fällen wiederum, Zugriff auf das Kundenprofil zu erlangen und dort z.B. Kreditkarteninformationen auszulesen oder kostenpflichtige Inhalte abzurufen.
Das Risiko, dass ein anderer Nutzer eine solche Datei durch eine Suche zufällig findet, ist eher gering. Bei Cookies gibt es jedoch einschlägige Namen und Verzeichnisse, und bei anderen Dateien hilft oft eine "Hotlist"-Funktion weiter: So lassen sich alle Dateien anzeigen, die von einem bestimmten Benutzer freigegeben wurden.
Im Falle von Gnutella schützt das Programm GNET-Lockbox gegen unfreiwillige Bereitstellung privater Daten. Es prüft, ob Word-Dokumente, Cookies oder Passwort-Dateien freigegeben werden. Natürlich ist das Wissen um die Risiken der beste Schutz, traut man sich aber eine solche Einschätzung nicht zu, sollte man ein Tool verwenden, das ausschließlich auf einen bestimmten Dateityp spezialisiert ist (z.B. nur auf MP3s).
Plausible Lügen und trojanische Pferde
Ein Sicherheitsproblem, das spezifisch für "reine P2P-Netze" wie Gnutella ist, betrifft die Authentizität der Suchergebnisse. Gibt der Benutzer einen Suchbegriff wie "paint" für Malprogramme ein, wird diese Anfrage ja an Hunderte Peers geschickt und nicht an einen zentralen Server, der daraufhin seinen Index überprüft. Jeder Peer durchsucht die von ihm freigegebenen Dateien nach dem entsprechenden Namen und liefert anschließend die entsprechenden Ergebnisse an den suchenden Peer zurück. Handelt es sich um einen bösartigen Rechner, so kann dieser jedoch durchaus völlig erfundene Ergebnisse zurückliefern. Er kann beispielsweise behaupten, eine Datei "paint.exe" bereitzustellen, die in Wirklichkeit ein trojanisches Pferd oder ein Virus ist.
Ein Nutzer kann zwar auch bei zentralen Sharing Services für trojanische Pferde auffällige Namen wählen, jedoch nicht dynamisch den Namen an die Suchabfrage anpassen. Darüber sollte man sich im Klaren sein, wenn man überrascht feststellt, dass einige Suchergebnisse genau der gestellten Frage entsprechen. Wirksamen Schutz gegen diese Art der "dynamischen Täuschung" gibt es kaum; man kann durch Durchführen mehrerer Suchen prüfen, ob bestimmte Peers immer ein passendes Ergebnis zurückliefern, aber ein geschickt programmierter Trojaner wird natürlich auch dies durch zufällige Ergebnisse berücksichtigen.
Den besten Schutz bieten theoretisch "Webs of Trust", Vertrauensnetze, in denen die Nutzer sich gegenseitig (durchaus anonym bzw. pseudonym) mit Bewertungen versehen und so eine permanente Reputation erlangen. So kann man bevorzugt Dateien von Peers herunterladen, die man persönlich kennt, oder die wiederum von anderen, befreundeten Nutzern als vertrauenswürdig bewertet wurden. Grundsätzlich sollte man jedoch bei ausführbaren Dateien (wozu neben EXE und COM z.B. auch BAT, VBS, VBE, SHS, PIF, SCR, LNK, JS, JSE, WSF und einige mehr gehören) ausgesprochen vorsichtig sein, egal woher sie stammen.
Der Fall "Mandragore"
Ein Praxisbeispiel für den beschriebenen Effekt lieferte im Gnutella-Netz der Mandragore-Virus. Er gab sich als Suchergebnis mit der Erweiterung EXE und einer Größe von exakt 8192 Bytes aus. Wurde er vom Benutzer heruntergeladen und ausgeführt, lief er im Hintergrund und überwachte die Internet-Verbindung auf die Ausführung eines Gnutella-Clients hin (üblicherweise wird hierzu ein TCP/IP Port auf 6346 geöffnet). Wurde ein solcher Gnutella-Client gestartet, stellte der Virus eine Verbindung zum Client her. Wenn dieser nun Suchen von anderen Gnutella-Nutzern empfing, wurden sie an den Virus weitergeleitet, der sie mit den entsprechenden Ergebnissen beantwortete.
Mandragore verbreitete sich in Windeseile, ohne weiteren Schaden anzurichten. Seine clevere Vorgehensweise ermöglichte die Infektion aller üblichen Gnutella-Clients unter Windows, da der Virus sich das Protokoll und nicht eine spezielle Implementierung zunutze machte.
Neben falschen Suchergebnissen gibt es in P2P-Netzen noch weitere Risikofaktoren. Dazu gehört z.B. ein automatisches Update der Software, was gegen Sicherheitslücken schützen kann, aber auch selbst ein Sicherheitsrisiko darstellt. Sofern das entsprechende Update nicht vom Hersteller digital signiert ist, kann z.B. durch einen Domain Name Server Hack die Datei von einem anderen Server heruntergeladen werden. Eine digitale Signatur bietet jedoch hinreichenden Schutz gegen solche Angriffe.
Die Macht Tausender Peers könnte theoretisch auch missbraucht werden, um einen Distributed Denial of Service Angriff auf einen bestimmten Host zu starten, der mit Tausenden von Datenpaketen bombardiert und somit lahmgelegt würde. Dies gilt z.B., wenn ein Netz es ermöglicht, in einer Abfrage eine Return-Adresse festzulegen. So könnte sich ein suchender Peer als ein anderer ausgeben und Hunderte von Suchen nach offensichtlichen Stichwörtern wie "MP3" durchführen, um mit den zurückgelieferten Ergebnissen den Zielrechner lahmzulegen.
Nicht zuletzt sind auch die Autoren von P2P-Software selbst nicht ganz unschuldig. Insbesondere bei dezentralen Netzen fehlt der Software oft ein tragfähiges Einnahmemodell, um Entwicklung und Unterhalt zu finanzieren. Die Autoren greifen deshalb häufig zur Verbündelung mit sogenannter "Spyware", Werbeprogramme, die im Hintergrund Banner herunterladen oder persönliche Daten ausspähen. Für jede erfolgte Installation des Werbetrojaners erhält der Software-Autor Geld, so dass er motiviert ist, die Installation ebenfalls vor seinen Nutzern geheim zu halten. Oft wird die Installation der entsprechenden Software tief in der "EULA" (End User License Agreement, Endbenutzer-Lizenzübereinkuft, der Text, der bei der Installation des Programms bestätigt werden muss) vergraben, so dass selbst wachsame Nutzer sie leicht übersehen.
Im Nachhinein hilft dagegen das praktische Programm Ad-Aware, das die Präsenz einer Vielzahl von Werbetrojanern erkennt und sie auch entfernt. Im Vorfeld kann man das Vorhandensein von Spyware auf der Website Spychecker überprüfen.