Microsofts Peer Name Resolution Protocol

Seite 6: Sicherheit und PNRP unter Windows XP

Inhaltsverzeichnis

Ungesicherte P2P-ID werden ihrem Namen gerecht: Jeder kann einen solchen Namen in der globalen Wolke publizieren und hat gute Chancen, bei der Namensauflösung gefunden zu werden. Daher müssen sicherheitsrelevante Anwendungen unbedingt auf höheren Protokoll-Ebenen die Identität des Kommunikations-Partners überprüfen, zum Beispiel über ein Passwort (wie bei Easy Connect in der Remote-Unterstützung) oder mit SSL/TLS-Zertifikaten. Die sicheren P2P-IDs sind mit einem öffentlichen Schlüssel verbunden und nach erfolgreicher PNRP-Auflösung prüft der Resolver, ob der gefundene Knoten im Besitz des zugehörigen privaten Schlüssels ist. Um die Verteilung der Schlüssel kümmert sich nicht PNRP, sondern eins der üblichen Public- Key-Infrastructure-Protokolle (PKI). Neben PNRP-Knoten mit eigen-generierten Schlüsseln sind delegierte PNRP-Namen innerhalb einer Zertifikat-Hierarchie möglich, die aber in der Praxis noch keine Bedeutung haben. Doch die kryptografische Prüfung stellt nur sicher, dass man wirklich die Adresse des Rechners erhalten hat, der die IP ursprünglich publizierte. Dass er wirklich der gewünschte Kommunikationspartner ist, steht nur fest, wenn man die P2P-ID über einen sicheren Kanal bekommen hat. Für die Kommunikation zwischen Menschen sind die langen und komplizierten gesicherten P2P-IDs aber nicht geeignet. Außerdem finden die Prüfungsschritte in einer "Black-Box" für den Benutzer des PNRP-Systems unsichtbar statt. Der Benutzer kann nicht erkennen oder prüfen, ob dieses System fehlerfrei und sicher funktioniert.

Die simple Netzwerkeinrichtung mit den HomeGroups von Windows 7 benutzt unter anderem PNRP.

Ein Teil der Funktionen von PNRP ist schon in Windows XP ab dem Service Pack 2 verfügbar. Zwei Schritte aktivieren sie: Zunächst installiert man IPv6, über den Knopf "Installieren" in den "Eigenschaften" der LAN-Verbindung, wo es sich als zusätzliches Protokoll hinzufügen lässt. Kommandozeilen- Fans nutzen stattdessen den Befehl netsh interface ipv6 install. Dann geht es in die Systemsteuerung und dort ins "Software"-Applet. Links leuchtet der Knopf "Windows-Komponenten …", der einen Auswahldialog öffnet, unter anderem mit der Zeile "Netzwerkdienste", in dessen "Details" (Knopf unten rechts) sich endlich der sinnlos übersetzte Punkt "Peer-zu-Peer" findet. Anschließend funktionieren PNRP-Programme wie unser Beispiel "Beacon", doch der Dienst zum Veröffentlichen des Computernamens fehlt und damit der Befehl set machinename. Über peer add registration lassen sich zwar Namen registrieren und die Auflösung mit peer resolve geht auch. Doch die pnrp.net- Pseudo-DNS-Namen funktionierten unter XP nicht. Offenbar hat Microsoft PNRP erst im Resolver von Vista eingebaut. Auch scheint das Löschen einer einzelnen Registrierung mit peer delete registration nicht zu funktionieren, sodass sich nur mit dem Stern als Platzhalter alle Namen auf einen Streich entfernen lassen.

Wenn man den passenden Parser manuell nachlädt, analysiert Microsofts Network Monitor auch PNRP-Pakete.

Wer dem Netzwerkverkehr von PNRP zusehen möchte, greift am besten zu Microsofts kostenlosem Network Monitor, der anders als Wireshark bereits einen Parser mitbringt, der PNRP-Pakete analysiert. Es muss allerdings noch aktiviert werden: Rufen Sie über das Tools-Menü den Options-Dialog auf und wechseln Sie auf den Reiter "Parsers". Ganz unten in der Liste steht "Windows" und daneben "Stubs". Markieren Sie diesen Eintrag, stellen Sie ihn mit dem Knopf "Stubs" in der Symbolleiste des Dialogs auf "Full" um und laden Sie mit dem Knopf "Save and Reload Parsers" die Parser neu.

Die Paketaufzeichnung startet man über den Link "New capture tab" auf der Startseite. Die Filter sind wie bei Wireshark Schlüsselwörter; so schneidet beispielsweise der Ausdruck ipv6 als "Capture Filter" nur IPv6-Verkehr mit, und der "Display Filter" pnrp zeigt nur die PNRP-Pakete an. Die Filterausdrücke muss man mit dem "Apply"-Knopf ausdrücklich aktivieren. Allerdings erkennt man an PNRP-Paketen nur sehr wenig, da ja an Stelle von Namen nur die Hashes übertragen werden.