Aus Linux-Magazin 01/2013

Die Sicherheitslage in UPnP-fähigen Netzen

© Sergej Khackimullin, 123RF.com

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.

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.

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.

Insecurity by Design

UPnP und DLNA sind bestenfalls so sicher wie das Netzwerk, in dem man sie verwendet. Beide Standards bieten zu Gunsten der Plug&Play-Funktionalität keine eigenen Sicherheitsfunktionen – ein Musterbeispiel für den Zielkonflikt zwischen Usability und Security. Auch das IGD-Protokoll ist so sicher wie die Geräte, die das IGD-Protokoll für die Konfiguration der Port-Weiterleitung nutzen. Da aber die Vergangenheit gezeigt hat, dass Angreifer vielerlei Wege für den Eintritt in Heimnetzwerke finden, sollten Anwender den Einsatz von DLNA und UPnP sehr sorgfältig abwägen. (jk)

Der Autor

Ralf Spenneberg arbeitet als freier Unix- und Linux-Trainer, Berater und Autor. Mit seinem Unternehmen Open Source Training Ralf Spenneberg führt er Schulungen, Beratungen und Projekte durch. Vor wenigen Monaten erschien sein neues Buch “KVM für die Server-Virtualisierung”, das er gemeinsam mit Michael Kofler verfasst hat.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben