Universal Plug and Play

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Universal Plug and Play (UPnP) dient zur herstellerübergreifenden Ansteuerung von Geräten (Audio-Geräte, Router, Drucker, Haussteuerungen) über ein IP-basiertes Netzwerk, mit oder ohne zentrale Kontrolle durch ein Residential Gateway. Es basiert auf einer Reihe von standardisierten Netzwerkprotokollen und Datenformaten.

UPnP wurde ursprünglich von der Firma Microsoft eingeführt; heute spezifiziert das UPnP-Forum den UPnP-Standard und zertifiziert Geräte, die dem Standard entsprechen.

Überblick[Bearbeiten]

UPnP zeichnet sich insbesondere durch folgende Merkmale aus:

  • Ein Kontrollpunkt (z. B. Handheld) kann die Geräte (z. B. Stereoanlage) ohne Interaktion des Benutzers finden.
  • Alle Transportmedien, die IP-Kommunikation unterstützen, können verwendet werden, z. B. Ethernet, Funk (Bluetooth, Wireless LAN), FireWire (IEEE 1394).
  • Es werden standardisierte Protokolle und Verfahren wie IP, UDP, Multicast, TCP, HTTP, XML, SOAP etc. verwendet.
  • Ein UPnP-Gerät oder -Kontrollpunkt kann auf jedem IP-fähigen Betriebssystem und mit den verschiedensten Programmiersprachen realisiert werden.
  • UPnP bietet Möglichkeiten für herstellerspezifische Erweiterungen.

Ablauf (UPnP Networking)[Bearbeiten]

In UPnP verwendete Protokolle und darüber laufende Dienste

Adressierung (Addressing)[Bearbeiten]

Da die Basis von UPnP ein IP-Netzwerk ist, muss ein Gerät oder Kontrollpunkt zuerst über eine gültige IP-Adresse verfügen. Auf welchem Wege diese IP-Adresse erhalten wurde (z. B. DHCP, Zeroconf, manuelle IP-Konfiguration), spielt dabei keine Rolle.

Lokalisierung (Discovery)[Bearbeiten]

Sobald ein UPnP-Gerät über eine IP-Adresse verfügt, muss es seine Existenz im Netzwerk an die Kontrollpunkte melden. Das erfolgt via UDP über die Multicast-Adresse 239.255.255.250:1900 auf der Basis des Simple Service Discovery Protocol (SSDP). Ebenso können Kontrollpunkte nach UPnP-Geräten im Netzwerk suchen. In beiden Fällen enthält die „discovery message“ nur die wichtigsten Angaben über das Gerät und seine Dienste, wie z. B. den Gerätenamen, Gerätetyp und eine URL zur genauen Beschreibung des Gerätes.

Beschreibung (Description)[Bearbeiten]

Nachdem ein Kontrollpunkt ein Gerät gefunden hat, holt er sich per HTTP über TCP/IP die Beschreibung des Gerätes von der URL, welche ihm bei der Lokalisierung mitgeteilt wurde. Diese stellt das Gerät in Form eines XML-Dokumentes zur Verfügung. Die Beschreibung beinhaltet Informationen über den Hersteller, die Seriennummer, URL-Adressen für die Steuerung, Ereignisse und die Präsentation. Für jeden Service, den ein Gerät anbietet, werden Kommandos und Aktionen sowie Datentypen und Datenbereiche spezifiziert. Die Beschreibung beinhaltet neben den Diensten, die es anbietet, auch alle eingebetteten Geräte und deren Dienste.

Steuerung (Control)[Bearbeiten]

Anhand der Informationen, die der Kontrollpunkt aus dem Beschreibungsdokument des Gerätes erhalten hat, kann er nun SOAP-Mitteilungen an die Steuerungs-URL des Gerätes schicken, um dieses zu steuern.

Ereignismeldungen (Event Notification)[Bearbeiten]

Damit ein Gerät nicht dauernd den Zustand eines Dienstes bzw. einer Statusvariablen abfragen muss (enthalten im Beschreibungsdokument des Gerätes), nutzt UPnP die XML-basierte General Event Notification Architecture (GENA). Mit GENA können Kontrollpunkte Informationen zum Gerätestatus abonnieren; somit werden sie bei jeder Änderung einer Statusvariablen automatisch informiert. Dazu werden „event messages“ verschickt, die den Zustand der abonnierten Variablen enthalten, die sich geändert haben.

Präsentation (Presentation)[Bearbeiten]

Präsentation ist eine Alternative zur Steuerung und den Ereignismeldungen. Über die Presentation-URL, welche bei der Beschreibung (Description) bekanntgegeben wird, kann mittels Webbrowser auf das Gerät zugegriffen werden. Das gibt dem Hersteller die Möglichkeit, neben dem standardisierten Zugriff via UPnP eine alternative Benutzeroberfläche zur Verfügung zu stellen.

Praktischer Einsatz[Bearbeiten]

UPnP bietet mit dem IGD-Protokoll (Internet Gateway Device) eine Möglichkeit, auf eine für den Benutzer einfache Weise Router anzuweisen, Ports zu öffnen und entsprechende Anfragen aus dem Internet an einen Rechner weiterzuleiten, der via NAT an das Internet angebunden ist. Derartige Weiterleitungen sind beispielsweise für Filesharing, Dateitransfers in Instant-Messaging-Programmen und Videokonferenzen notwendig. Während man bei einigen Programmen fixe Eingangs-Ports einstellen kann, für welche dann am NAT-Router manuelle, dauerhafte Weiterleitungsregeln erstellt werden (bei mehreren Arbeitsplatzrechnern bei jedem ein eigener Port mit einer eigenen Regel), sind andere Programme mit variablen Eingangs-Ports auf UPnP angewiesen, besonders wenn mehrere Arbeitsplatzrechner diese Dienste verwenden und nicht alle potentiell verwendeten Ports an einen einzelnen Arbeitsplatzrechner weitergeleitet werden können. So ist beispielsweise der Windows Live Messenger darauf angewiesen. Anwenden können es auch Programme wie beispielsweise in µTorrent, Pidgin 2, Apple iChat, eMule ab Version 0.48a, Miranda IM ab Version 0.6, Transmission, Vuze und ANts P2P.

Der Bequemlichkeit der automatischen Portkonfiguration gegenübersteht ein Verlust an Sicherheit, denn die Firewall eines UPnP-fähigen Routers kann dadurch von einem eventuell auf den Computer gelangten Schadprogramm unwirksam gemacht werden. Dieser Verlust entsteht aber erst, nachdem ein PC im lokalen Netz mit einer Schadsoftware infiziert ist. Ohne Zugriff auf das LAN ist IGD kein Verlust an Sicherheit. Zu bedenken ist allerdings, dass seit Januar 2008 Schadsoftware bekannt ist, die sich z. B. in Adobe Flash oder JavaScript versteckt und ohne Nutzer-Interaktion auch beim bloßen Besuchen von Webseiten mit einem aktuellen Internet-Browser auf dem Rechner ausgeführt werden kann und somit ungebetenen Gästen das Eindringen ins lokale Netzwerk ermöglicht.[1]

Ein weiteres verbreitetes Einsatzfeld ist die Verteilung von Multimediainhalten im lokalen Netzwerk. Dabei werden auf einem PC oder NAS Dateien mittels eines UPnP-MediaServers bereitgestellt. Entsprechende Endgeräte (UPnP-MediaRenderer) können die Inhalte des Servers durchsuchen, filtern, sortieren und natürlich wiedergeben. Welche Formate wiedergegeben werden, hängt dabei vom Endgerät ab. UPnP-MediaRenderer werden bereits seit einigen Jahren von diversen Herstellern angeboten.

Verwundbarkeiten, die 2013 entdeckt wurden[Bearbeiten]

UPnP sollte nur auf Netzwerkschnittstellen für das lokale Netzwerk freigeschaltet und aus dem Internet nicht erreichbar sein. Im Januar 2013 verkündete die Sicherheitsfirma Rapid7 aus Boston, dass sie in einem 6-monatigen Projekt nach UPnP-Geräten im Internet gesucht habe.[2] Dabei fanden sie 6900 Produkte von 1500 Herstellern unter 81 Millionen IP-Adressen, die auf UPnP-Anfragen aus dem Internet antworteten. 80 % der Geräte sind Heim-Router für den Internetzugang, andere Geräte sind Drucker, Webcams und Überwachungskameras. Mit Hilfe des UPnP-Protokolls kann auf diese Geräte zugegriffen werden, bzw. sie können sogar manipuliert werden.

Literatur[Bearbeiten]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Heise: Ungewollte Fernkonfiguration für Heim-Router
  2. Whitepaper: Security Flaws in Universal Plug and Play: Unplug, Don't Play.. Abgerufen am 9. Februar 2013.