Die für das Angriffsframework Metasploit bekannte Sicherheitsfirma Rapid7 hat bei einem IP-Scan aller möglichen IPv4-Adressen 40 bis 50 Millionen Netzwerkgeräte entdeckt, die man mit einem einzigen Datenpaket aus der Ferne kompromittieren könnte. Auf die Geräte kann man aus der Ferne Code einschleusen und sie so etwa potenziell als Sprungbrett in ihr lokales Netz missbrauchen.

Betroffen sind netzwerkfähige Geräte aus sämtlichen Bereichen – Router, IP-Kameras, NAS, Drucker, Fernseher, Medienserver. Sie haben mehrere Gemeinsamkeiten: Sie unterstützen das Netzwerkprotokoll Universal Plug and Play, antworten auf UPnP-Anfragen aus dem Internet und nutzen eine verwundbare UPnP-Bibliothek.

Laut Rapid7-Chef HD Moore haben beim Abscannen der IPv4-Adressen 81 Millionen IPs auf sogenannte UPnP Discovery Requests geantwortet. Und das allein ist schon höchst verwunderlich, da UPnP für gewöhnlich nur im lokalen Netzwerk eine Rolle spielt. Das Protokoll hilft Netzwerkteilnehmern, sich gegenseitig zu finden und etwa Steuerbefehle auszutauschen. Normalerweise werden diese Discovery Requests als Broadcast verschickt, woraufhin die UPnP-fähigen Geräte im Netz dann antworten. Anscheinend haben die Hersteller nicht damit gerechnet, dass solche Pakete auch als Unicast aus dem Internet kommen können.

Es zeigte sich, dass die Hersteller der antwortenden Geräte die UPnP-Funktionen zu 73 Prozent mit einem von vier Entwicklerkits realisiert hatten; vor allem auf Basis von Intels libupnp und MiniUPnP. Die Sicherheitsfirma knöpfte sich den Quellcode der beiden Tools vor und entdeckte dabei allein in der verbreitetsten Version der libupnp acht Schwachstellen – darunter sieben Pufferüberläufe. Drei der Lücken sind auch in Version 1.6.17 noch enthalten, die bis heute aktuell war. Alle Schwachstellen sind in der Funktion unique_service_name() des SSDP-Parsers zu finden. Um eigenen Code in die verwundbaren Geräte einzuschleusen, muss ein Angreifer nur ein UDP-Paket nach dem folgenden Muster schicken:

M-SEARCH * HTTP/1.1

Host:239.255.255.250:1900

ST:uuid:schemas:device:AAAA[…]AAAA:anything

Man:"ssdp:discover"

MX:3

Das Netzwerkpaket darf nicht größer als 2500 Byte werden, was zum Einschleusen eines schlanken Schadprogramms aber ausreichen dürfte. In der veralteten (und gleichzeitig verbreitetsten) MiniUPnP-Version 1.0 entdeckten die Experten zwei Schwachstellen, über die man die betroffenen Geräte lahm legen kann (Denial of Service).

Rapid7 konnte verwundbare Geräte in über 6900 Versionen von über 1500 Herstellern identifizieren, darunter D-Link, Fujistu, Huawei, Logitech, Netgear, Siemens, Sony, TP-Link, Zyxel und viele weitere. Auch wenn die Schwachstellen in den aktuellen Versionen der UPnP-Bibliotheken behoben wurden – die fehlerbereinigte MiniUPnP-Version 1.2 ist sogar schon zwei Jahre alt, kann man nicht damit rechnen, dass das Gros der verwundbaren Geräten allzu bald abgesichert wird. Viele der verwundbaren Geräten werden vermutlich schon längst nicht mehr produziert und auch nicht mehr vom Hersteller unterstützt.

Das US-CERT warnt ebenfalls vor der Gefahr. Es hat versucht, über 200 der betroffenen Hersteller anzuschreiben. Das CERT rät unter anderem dazu, die betroffenen Bibliotheken zu aktualisieren – was man als Kunde zumeist nicht eigenhändig kann. Alternativ soll man über Firewall-Regeln den UDP-Port 1900 blockieren oder die UPnP-Funktion nach Möglichkeit abschalten. Letztere Variante dürfte für die meisten Nutzer am ehesten in Frage kommen. Voraussetzung ist freilich, dass das Gerät überhaupt eine entsprechende Option bietet – und dann tatsächlich nicht mehr auf die Anfragen über das WAN-Interface anspringt.

Rapid7 bietet ein Tool namens ScanNow UPnP an, mit dem man selbst IP-Adressbereiche nach verwundbaren Geräten abgrasen kann. Zur Aktivierung des Tools muss man seine persönlichen Daten eingeben. Außerdem gibt es ein Metasploit-Modul namens ssdp_msearch, das man über die Metasplot-Konsole wie folgt anstößt:

msf > use auxiliary/scanner/upnp/ssdp_msearch

msf auxiliary(ssdp_msearch) > set RHOSTS 192.168.0.0/24

msf auxiliary(ssdp_msearch) > run

Wer in seinem Bestand ein verwundbares Gerät entdeckt, das auf UDP-Pakete aus dem Internet anspringt, sollte ernsthaft überlegen, die UPnP-Funktion abzuschalten oder das Gerät notfalls aufs Altenteil zu schicken. Verwundbare Geräte können Angreifer potenziell als Sprungbrett ins lokale Netz missbrauchen – und der Rapid7-Bericht dürfte so manchen Hacker dazu inspirieren, genau das auszuprobieren.

Update vom 30.01.2013, 17:30: Nach Angaben von AVM und der Telekom sind die Geräte dieser beiden Hersteller nicht betroffen. Wer seine netzwerkfähigen Geräte selbst überprüfen will, etwa mit dem Rapid7-Tool, sollte beachten, dass nur dann repräsentative Ergebnisse dabei herauskommen, wenn man das Tool aus einem fremden Netz auf die externen IPs der Geräte ansetzt. (rei)