Rechner hinter Routern auffindbar
Viele Provider verbieten in ihren Allgemeinen Geschäftsbedingungen, mehrere Rechner gleichzeitig an einer Verbindung zu betreiben. Bisher fühlten sich die Anwender von Routern sicher, denn schließlich erscheint ihr Netzwerk gegenüber dem Internet wie ein einziger Rechner. Dafür sorgt die ‘Network Address Translation’ im Router, die die privaten IP-Adressen im LAN auf die eine vom Provider zugeteilte umsetzt. Da somit in den Log-Files des Providers nur eine einzige IP-Adresse auftaucht, scheint auch der ganze Datenverkehr nur von einem einzigen Rechner zu stammen. Steven Bellovin, einer der Väter des Usenet und inzwischen im Sicherheits-Kommitee der Internet Engineering Task Force tätig, hat nun doch einen Unterschied entdeckt (
www.research.att.com/~smb/papers/fnat.pdf).
Er untersuchte die ‘IPid’, eine 16-Bit-Zahl, die jedes IP-Paket im Header trägt, um es eindeutig zu identifizieren (
www.ietf.org/rfc/rfc0760.txt). Das ist erforderlich, damit der Empfänger die Fragmente eines Paketes wieder zu einem Ganzen zusammensetzen kann, wenn es auf seinem Weg durch das Netz geteilt wurde. Das passiert, wenn ein Teil der benutzen Route nur kleinere Datenpakete übertragen kann als das ursprüngliche. Die IPid fügt der TCP/IP-Treiber des Betriebssystems in die Pakete ein. Im Prinzip muss sie nur für jede Kombination aus Ziel- und Quell-Adresse sowie den Ziel-Port eindeutig sein. Das gewährleisten die Programmierer der meisten Betriebssysteme, indem sie einfach einen Zähler benutzen. Nacheinan-der abgesandte IP-Pakete erhalten also aufeinander folgende IPids.
Bellovins Algorithmus versucht nun solche Sequenzen von IPids aufzuspüren. Unterschiedliche Folgen gehören dann mit hoher Wahrscheinlichkeit zu verschiedenen Rechnern (siehe Bild).
Diagramm Mehrere Rechner hinter einem NAT-Router offenbaren sich in verschiedenen Folgen von IPids in den versandten Paketen. In diesem Bild lassen sich fünf Rechner unterscheiden.
Um ihren Kunden die verbotene Mehrfachnutzung nachzuweisen, könnten die Provider die IPids leicht protokollieren. Allerdings entstünden riesige Datenbestände. Außerdem erlaubt die Methode keine hundertprozentig sichere Erkennung der Rechnerzahl: Da auch innerhalb des LANs versandte IP-Pakete IPids aus derselben Sequenz erhalten, können die außerhalb des Routers sichtbaren Abfolgen so unterbrochen werden, dass scheinbar mehr Rechner aktiv sind, als tatsächlich vorhanden. Bellovin arbeitet daher an seinem Algorithmus, um die Sequenzen sicherer aufzudecken.
Die Chance, durch Änderung der IPid im Router die Zahl der angeschlossenen Rechner zu verschleiern, hält er für gering. Die einzig sichere Methode gegen diesen Zählalgorithmus ist derzeit, auf den Clients im LAN ausschließlich Betriebssysteme einzusetzen, die Zufallszahlen als IPids benutzen. FreeBSD und OpenBSD sind noch die gebräuchlichsten Vertreter dieser Gruppe ... (je)
aktuelle Ausgabe der c't