Open Source im professionellen Einsatz
Linux-Magazin 01/2013
© Sergej Khackimullin, 123RF.com

© Sergej Khackimullin, 123RF.com

Die Sicherheitslage in UPnP-fähigen Netzen

Landschaft mit Lücken

Wenn der Fernseher ohne Konfiguration Filme vom NAS-Speicher holt oder die Playstation Fotos vom Handy, dann wandelt das lokale Netz auf den medialen Pfaden der Digital Living Network Alliance (DLNA). Der Anwender sollte sich jedoch bewusst machen, dass in seinem Netz Sicherheitslücken per Design klaffen.

837

DLNA-zertifizierte Geräte müssen den Universal-Plug-and-Play-Standard (UPnP) unterstützen. Der stellt sicher, dass sich die Geräte tatsächlich automatisch finden. Ziel des Industrie-Zusammenschlusses ist, dass auch Laien die verteilten Multimediafunktionen nutzen können, ohne zuvor einen mehrtägigen Kursus für Netzwerkadministratoren zu belegen. Der Usability-zentrierte Ansatz lässt sich angesichts des angepeilten Anwenderkreises nachvollziehen. Zugleich stellt sich die Frage nach dem damit verbundenen Sicherheitsniveau.

Die Funktionsweise von UPnP ([1], [2]) erklärt der Hauptartikel in diesem Linux-Magazin-Schwerpunkt. Bevor ein UPnP-fähiges Gerät seine Funktionalität zu entfalten vermag, benötigt es eine gültige IP-Adresse. Die kann statisch konfiguriert sein oder es bezieht sie per DHCP oder Microsofts Zeroconf-Spielart APIPA (Automatic Private IP Addressing). Danach meldet sich das DLNA-Gerät im Netz. Hierzu dient das Simple Service Discovery Protokoll (SSDP, [3]), das Microsoft, zugleich Erfinder von UPnP, bereits bei Windows ME eingeführt hatte.

Die SSDP-Kommunikation erfolgt per Multicast über die Adresse 239.255.255.250 und den UDP-Port 1900. Sobald ein UPnP-Gerät startet, unterrichtet es per Multicast alle Controller von seiner Existenz. Umgekehrt kann ein Controller genauso per Multicast nach UPnP-Geräten suchen.

Ein SSDP-Paket initiiert lediglich eine HTTP-Anfrage. Dafür gibt es zwei Methoden: »NOTIFY« und »M-SEARCH« . Mit der ersten teilt ein Gerät seine Existenz mit, die zweite erlaubt einem Controller nach allen erreichbaren Geräten zu suchen. Listing 1 zeigt ein Beispiel. Sobald ein Controller, zum Beispiel ein Tablet oder ein Handy, ein UPnP-Gerät, beispielsweise eine Playstation 3, gefunden hat, ruft er die XML-Beschreibung des Geräts ab. Diese enthält weitere Informationen über den Hersteller und – viel wichtiger – die von dem Gerät unterstützten Funktionen und Kommandos. Die tatsächliche Steuerung erfolgt mit Hilfe von Soap-Nachrichten.

Listing 1

SSDP-NOTIFY eines Geräts

01 NOTIFY * HTTP/1.1
02 SERVER: Samsung PT1200 UPnP/1.0 Mediaserver/1.0
03 CACHE-CONTROL: max-age=3600
04 LOCATION: http://192.168.15.10:8080/description.xml
05 NTS: ssdp:alive
06 NT: urn:schemas-upnp-org:service:ConnectionManager:1
07 USN: uuid:9cf8266c-28df-401a-86bd-9f6655b17d47::urn:schemas-upnp-org:service:ConnectionManager:1
08 HOST: 239.255.255.250:1900

Gegenseitiges Authentifizieren ist nicht vorgesehen

Um den Einrichtungsaufwand gering zu halten, sehen weder DLNA noch UPnP eine Authentifizierung oder Autorisierung vor. Beim Zugriff auf ein Netz mit DLNA-kompatiblen Systemen darf jeder auf alle Medien zugreifen. Einzelne Geräte können lediglich den Zugriff auf bestimmte IP- oder MAC-Adressen beschränken – eine Funktion, die nur einzelne Hersteller implementiert haben.

Auch Autorisierungen kennt der Standard nicht: Ein zentraler Medienserver mit Filmen für die ganze Familie schafft es nicht, Horrorvideos restriktiver zu handhaben als "Aschenputtel". Jeder Controller und Medienplayer darf auf alle Inhalte auf den Servern zugreifen.

Würde UPnP sein Wirken auf das lokale Netzwerk beschränken, so könnten viele Nutzer sicherlich trotzdem mit der fehlenden Authentifizierung und Autorisierung leben. Leider – jedenfalls aus Security-Sicht – enthält der UPnP-Standard aber auch eine Erweiterung für NAT-Router, wie sie an DSL- oder Kabelanschlüssen üblich sind.

Mit diesem Internet-Gateway-Device-Protokoll (IGD, [4]) kann ein UPnP-Gerät ohne Eingreifen eines Benutzers Port-Weiterleitungen aus dem Internet in das geschützte Netz aktivieren. IGD erlaubt einem Gerät

  • die externe (öffentliche) IP-Adresse des NAT-Routers zu ermitteln,
  • die externe IP-Adresse zu erneuern,
  • die Liste der vorhandenen Port-Weiterleitungen abzurufen sowie
  • die Lebensdauer von Port-Weiterleitungen hinzuzufügen, zu entfernen und zu ändern.

UPnP nutzt IGD, damit Videokonferenzen, Multiplayer-Games, Filesharing-Programme und Ähnliches aus dem Internet Verbindungen ins lokale Netz aufbauen können. Die Applikationen schalten mit dem Protokoll dynamisch Verbindungen durch den NAT-Router frei. Auch ein mobiler User könnte damit aus der Ferne auf das Fotoalbum zugreifen.

Erfreulicherweise ist das Protokoll bei den meisten DSL- und Kabelroutern per se deaktiviert. Die Gefahr ist jedoch groß, dass unbedarfte Benutzer bei dem Versuch, DLNA im lokalen Netz einzurichten, IGD einschalten. Dann darf jede interne UPnP-fähige Applikation und jedes Gerät Löcher durch den NAT-Router bohren (Abbildung 1). Die Router vertrauen UPnP-Geräten im Grundsatz blind.

Abbildung 1: Normalerweise ist die UPnP-Funktion bei Routern per se deaktiviert, es besteht aber immer die Gefahr, dass unbedarfte Anwender sie anschalten.

Gefährlicher Zoo

Es existieren bereits mehrere Tausend DLNA-zertifizierte Gerätetypen. Alle verfügen über einen Netzwerkanschluss und UPnP-Fähigkeiten, die wiederum eine gewisse Intelligenz in dem Gerät voraussetzen: DLNA definiert Medien- und Geräteklassen wie Bilder, Audio, Video und Medienserver, Player, Controller oder Printer. Der Angehörige einer Medienklasse muss bestimmte Formate unterstützen, ein Abspielgerät beispielsweise Jpeg-Bilder, LPCM-Musik und Mpeg-2-Videos. Weitere Codecs sind erlaubt, aber nicht zwingend.

Spätestens hier stellt sich die Frage, wer die Firmware entwickelt und getestet hat. Während die Anbieter aktueller PC-Betriebssysteme immer wieder Updates zur Lösung von Sicherheitsproblemen veröffentlichen, erscheinen nur wenige Securitypatches für DLNA-Geräte wie Fernseher oder Musikanlagen – und selbst wenn, es gibt keine Gewähr, dass die Besitzer der Devices diese auch einspielen. Das trifft gerade für Geräte wie Drucker zu, wo der Anwender von Updates funktionell wenig zu erwarten hat.

Eine Suche auf Securityfocus lieferte zum Redaktionsschluss 113 dokumentierte Sicherheitslücken in verschiedensten UPnP-Implementierungen [5]. So weisen mehrere Softwarestacks Buffer Overflows auf, über die ein Angreifer möglicherweise sogar Schadcode auf dem UPnP-Gerät installieren und ausführen kann.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Videostreaming

    Videos, Audiostreams, Fotos … – Multimedia gewinnt erst richtig an Charme, wenn sich die Medieninhalte dank Protokollen wie UPnP und DLNA konfigurationsfrei zwischen TV-Geräten, Spielekonsolen, PCs und Smartphones verteilen. Linux als zentraler Mediaserver ist dabei ein gern gesehener Gast.

  • Gnome 2.26 mit multimedialen Neuerungen

    Nach einer mehrmonatigen Entwicklungszeit kommt nun Gnome 2.26. Der Linux-Desktop bringt unter anderem Verbesserungen im Multimedia-Bereich mit und bereinigt zahlreiche Fehler.

  • Kostenloses Lesefutter: Self-Service-IT, Webservices und Plug & Play

    Die Linux-Magazin-Ausgaben 11/12, 12/12 und 01/13 sind ab sofort kostenlos online zugänglich, denn alle Artikel, die älter als 10 Monate sind, gibt es auf Linux-Magazin Online gratis zu lesen.

  • Linksys WRT 1900 AC

    Der Linksys WRT 54 war einst Auslöser für das Open-WRT-Projekt, eine der ältesten und beliebtesten Mini-Linux-Embedded-Firmwares für VIA- und ARM-Router. Jetzt stellt Belkin den offiziellen Nachfolger vor, den WRT 1900 AC. Für einen stolzen Preis bietet er moderne Hardware, aber schwache Firmware.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.