Shahar Tal von CheckPoint Software hat in Server-Software, die weltweit von Providern zur Fernkonfiguration von Routern verwendet wird, mehrere Schwachstellen entdeckt: Die bei vielen Providern auf den zuständigen Auto Configuration Servern (ACS) installierte Software weist Schwachstellen auf, die sich aus der Ferne mißbrauchen lassen. Tal entdeckte bei einer Stichprobe einen Provider aus dem Nahen Osten, über dessen fehlerhaftes ACS er Zugriff auf über 500 000 DSL-Modems seiner Kunden bekam.

Der ACS und die Router der Teilnehmer kommunizieren miteinander über das seit einigen Jahren weltweit verbreitete Protokoll TR-069 (Technical Report 069). Einer Statistik aus dem Jahr 2011 zufolge sind zirka 150 Millionen Breitband-Router für TR-069 ausgelegt. Neben DSL-Endgeräten gehören auch von Kabel-Providern ausgegebene Kabelmodems und -Router dazu. TR-069 haben viele Router-Hersteller erst auf Verlangen von Netzbetreibern und Providern in ihre Router implementiert. Bei den frei auf dem Markt erhältlichen Routern ist die TR-069-Funktion in der Regel abgeschaltet und nur auf Wunsch einschaltbar. Hingegen ist sie bei den von Providern gestellten, oft baugleichen Geräten in aller Regel aktiviert und nicht abschaltbar. Auch die in Deutschland beliebte Fritzbox von AVM eignet sich für TR-069. Bei den frei im Handel erhältlichen Modellen lässt sich TR-069 abschalten.

Von Providern gewünscht, von Router-Herstellern geliefert: Die Fernkonfiguration per TR-069 sollte eigentlich den Hotline-Aufwand der Provider senken. Nun sind Verbraucher durch eine schwache Spezifikation und lückenhafte Implementierungen massenhaft gefährdet.

In Provider-Routern: aktiviert, nicht abschaltbar

Providerseitig setzen unter anderem Platzhirsch Deutsche Telekom sowie Unitymedia oder Kabel Deutschland auf die Technik. Welche Server-Software diese Anbieter auf ihren ACS-Systemen einsetzen, konnte Tal nicht sagen, da er sich bei seiner Untersuchung hauptsächlich auf Provider nahe seiner Heimat im mittleren und nahen Osten konzentrierte.

Shahar Tal bezeichnete die ACS als "single point of pwnage", sinngemäß also als zentralen Punkt für eine massenhafte Übernahme von Endgeräten. Der Forscher entdeckte binnen einiger Tage schwerwiegende Bugs in zwei gängigen ACS-Softwareversionen: Die jeweils als Open Source angebotenen Anwendungen openACS und genieACS arbeiten bei Missbrauch der Schwachstellen beliebigen Programm-Code des Angreifers ab (Remote Code Execution). GenieACS führt den eingeschleusten Code sogar mit Root-Rechten aus. Auf diese Weise bekommt ein Angreifer volle Kontrolle über den ACS und damit über alle von diesem kontrollierte Endgeräte.

Die Folge: Kriminelle können beispielsweise Anmeldedaten von Voice-over-IP-Konten auslesen, die DNS-Einstellungen des Routers auf einen bösartigen Server umlenken oder eine mit einer Backdoor versehene Firmware aufspielen. Eine verwundbare Installation des GenieACS fand Shahar Tal bei einem irakischen ISP, der damit über 7000 Endgeräte kontrollierte. "Das Support-Center des irakischen Providers war nicht gerade erfreut, dass ihnen ein Israeli etwas von verwundbarer Infrastruktur" erzählte“, sagte Tal lachend.

Jahrelang bekannte Lücken

Im Fall des eingangs genannten ISPs im Nahen Osten handelt es sich um eine kommerzielle ACS-Software, die laut Tal von ISPs weltweit eingesetzt wird. In ihr entdeckte der Fachmann unter anderem SQL-Injection-Schwachstellen und die Möglichkeit, eine der Authentifizierungsfunktionen zu umgehen. Ergebnis: Eigentlich nicht berechtigte Zeitgenossen können über das Internet beliebige Dateien auf den ACS kopieren – auch in kritische Verzeichnisse wie c:\inetpub. Tal zufolge seien die dabei zugrundeliegenden Lücken seit gut zwei Jahren bekannt. Unter anderem aufgrund dieses Beispiels ist sich Tal sicher, dass Internetprovider weniger professionell mit Lücken in ihren Systemen umgehen als dies beispielsweise Unternehmen wie Apple, Google oder Microsoft tun.

Aufgespürt hat Tal die ACS-Maschinen über gängige Suchwerkzeuge wie zmap, Shodan oder den DNS Census, die er auf den von TR-069 verwendeten Port 7545 7547 losließ. Dieser Port ist nach Port 80 (HTTP) der am häufigsten frei über das Internet zugängliche Port überhaupt, so Tal. Er ist sich sicher, dass kriminelle Hacker und staatliche Stellen ohne großen Aufwand reichlich verwundbare ACS-Installationen im Netz entdecken und missbrauchen können.

TR-069: Qualitätsmängel schon in der Spezifikation

Ein weiteres Problem sei die Qualität der ausufernden Spezifikation von TR-069. Sie sieht zwar beispielsweise eine per SSL/TLS gesicherte Verbindung zwischen ACS und Endgeräten vor – aber fahrlässigerweise nur als Empfehlung. Weitere Details zur TR-069-Spezifikation finden Sie beispielsweise im heise-Netze-Beitrag "DSL fernkonfiguriert".

Der Forscher untersuchte auch einige hundert URLs, die ISPs zur Kommunikation zwischen Endgerät und ACS verwenden. Ergebnis: 81 Prozent aller Verbindungen finden ungesichert per HTTP statt. "Damit genügt im Prinzip ein einzelnes, korrekt zusammengesetztes Paket, um einen Update mit manipulierter Firmware auszulösen", so Tal.

Aber selbst wenn TLS zum Einsatz kommt, gibt es Probleme: Ein von Tal untersuchtes DSL-Modem habe beliebige, selbstsignierte TLS-Zertifikate akzeptiert. Damit sei eine Man-in-the-Middle-Attacke möglich, bei der sich der Angreifer als ACS ausgibt. Problematisch sei auch, dass viele ISPs die TR-069 betreffenden Einstellungen in den Routern verstecken und sachverständigen Kunden somit keine Chance lassen, die Konfiguration selbst zu prüfen oder zu ändern.

Abhilfe erschwert

Der Sicherheitsexperte empfiehlt Anwendern, TR-069 über das Web-Interface zur Konfiguration abzuschalten. Sollte dies nicht machbar sein, sollten Kunden ihren ISP nach einer neueren Firmware fragen, die dies zulässt. Alternativ könne man versuchen, einen selbst angeschafften Router, bei dem sich TR-069 deaktivieren lässt, vor das vom Provider gestellte Gerät zu schalten. Das klappt natürlich nur, wenn man die Anmeldedaten zum Netz des Providers in der Hand hat. Zu beachten ist auch, dass sich dann womöglich nicht mehr alle gebuchten Dienste nutzen lassen, also etwa die VoIP-Telefonie oder IPTV-Angebote nicht mehr funktionieren.

Siehe dazu auch:

(dz)