Skip to content

Die IoT Top 10, #3: Unsichere Netzwerk-Dienste

Bei der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP sind wir bei Punkt 3 angekommen: "Insecure Network Services". Oder auf deutsch:

Unsichere Netzwerk-Dienste

In diese Kategorie fallen Dienste mit allen möglichen Schwachstellen: DoS-Schwachstellen, Implementierungsfehler wie z.B. Pufferüberlauf-Schwachstellen, für Angriffe ausnutzbare Designfehler in verwendeten Protokollen, fehlende oder mangelhafte Authentifizierung (die aber auch unter Punkt 2 fällt), ... . Außerdem gehöre Dienste dazu, die quasi am "falschen Anschluss" lauschen: Dienste, die aus dem Internet erreichbar sind, das aber aus Sicherheitsgründen nicht sein sollten. Weil sie sowieso nur lokal genutzt werden oder bei einer Nutzung über das Internet aufgrund vorhandener Schwachstellen gefährdet sind.

Da die Bandbreite möglicher Schwachstellen hier extrem gross ist und ich nicht schon wieder zig Folgen für einen Top-10-Punkt verbraten möchte, beschreibe ich die Absicherung nur sehr allgemein. Schon der erste Schritt sorgt aber dafür, dass man viele Folgeprobleme gar nicht erst bekommt:

1. Keine nicht benötigten Dienste anbieten!

Auf dem IoT-Gerät dürfen nur die Dienste laufen, die für seine Funktion benötigt werden. Um das sicher zu stellen, ist zunächst ein Portscan des Geräts nötig: Welche Ports sind offen, welche Dienste sind erreichbar? Dazu kann z.B. Nmap verwendet werden.

Dieser Test muss sowohl aus dem lokalen Netz als auch aus dem Internet heraus erfolgen (sofern das Gerät über eine Internetverbindung verfügt). Denn es wird öfter vorkommen, dass Dienste zwar aus dem lokalen Netz erreichbar sein sollen, aber nicht aus dem Internet. Wie z.B. der Webserver für die Weboberfläche auf Port 80. Oder über UPnP angebotene Dienste, die generell nur lokal genutzt werden sollten.

Nachdem die Liste der offenen Ports und damit der vorhandenen Dienste vorliegt, müssen alle nicht benötigen Dienste davon ausgeschaltet werden.

1a. Kein UPnP im Internet!

Als besonders gefährlich hat sich in der Vergangenheit das Anbieten von UPnP im Internet herausgestellt. Schon 2011 wurde gezeigt, wie sich darüber die Konfiguration von Routern ändern lässt. 2013 wurde dann allgemein vor UPnP im Internet gewarnt. Und 2015 wurde mit Filet-o-Firewall ein weiterer UPnP-basierter Angriff vorgestellt, der zwar aus dem lokalen Netz heraus erfolgt, allerdings von einer präparierten Website durchgeführt wird.

Oha, ich erkenne da ein Muster: 2011, 2013, 2015 - da dürfte dieses Jahr der nächste Angriff fällig sein! Also ich kann da gut drauf verzichten. :-)

2. Keine Dienste mit bekannten Schwachstellen anbieten!

Als nächstes müssen die benötigten Dienste auf mögliche Schwachstellen geprüft werden. Dafür können die üblichen Tools wie z.B. OpenVAS oder Wireshark verwendet werden.

Dienste mit bekannten Schwachstellen dürfen zumindest aus dem Internet nicht erreichbar sein, zumindest nicht ohne vorherige Authentifizierung.

Ob man gefährdete Dienste im lokalen Netz anbietet, hängt von jeweiligen Einzelfall ab: Wenn man auf den Dienst verzichten kann, sollte man ihn auch im lokalen Netz ausschalten. Wird er aber für die Nutzung des IoT-Geräts benötigt, muss man abwägen: Wie groß ist die Gefahr, dass jemand die Schwachstelle ausnutzt, und welche Folgen kann ein Angriff haben? Wenn man meint, mit dem Risiko leben zu können, kann man den Dienst eingeschaltet lassen und hat den Vorteil, dass IoT-Gerät weiter nutzen zu können. Wenn nicht, hat man ein (meist teueres) Stück Elektroschrott, sofern es kein Update zur Korrektur der Schwachstelle gibt.

Bei der Abschätzung der Gefahr eines Angriffs aus dem lokalen Netz müssen Sie auch Angriffe über präparierte Webseiten in Betracht ziehen, siehe den oben erwähnten Filet-o-Firewall-Angriff. Nichts spricht dagegen, dass die Cyberkriminellen statt normaler Drive-by-Infektionen irgendwann Angriffe auf IoT-Geräte über z.B. präparierte Werbeanzeigen oder kompromittierte harmlose Websites verbreiten.

3. Nach neuen Schwachstellen suchen

Die Entwickler der IoT-Geräte sollten außer nach bekannten Schwachstellen auch nach neuen Schwachstellen suchen. Zumindest in den Diensten, die sie selbst implementiert haben. Dafür bietet sich ein Fuzzer an. Wenn bei der Gelegenheit auch andere benötigte Dienste, die von Dritten implementiert wurden, überprüft werden, ist das nur zu begrüßen!

4. Mögliche Angriffe vor dem IoT-Gerät erkennen und abwehren

Meist wird das IoT-Gerät nicht direkt mit dem Internet verbunden sein, sondern über ein Gateway. Dann besteht i.A. auch die Möglichkeit, den Netzwerkverkehr mit Hilfe einer Firewall und evtl. eines IPS/IDS auf mögliche Angriffe zu überprüfen und diese zu stoppen, bevor sie das Gerät erreichen. Unabhängig davon, ob auf dem Gerät ein verwundbarer Dienst läuft oder nicht, denn warum sollte man unnötig Daten weiterleiten, die vom Gerät dann sowieso ignoriert werden?

Soviel zu den "Insecure Network Services". In der nächsten Folge geht es um Punkt 4: "Lack of Transport Encryption", also das Fehlen einer Transportverschlüsselung.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #6: Unsichere Cloud-Interfaces

Vorschau anzeigen
Bei der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP sind wir bei Punkt 6 angekommen: "Insecure Cloud Interface". Oder auf deutsch: Unsichere Cloud-Int

Dipl.-Inform. Carsten Eilers am : Die IoT Top 10, #7: Mobile Cloud-Interfaces

Vorschau anzeigen
Bei der Beschreibung der gefährlichsten Schwachstellen in den Geräten des IoT gemäß den Top IoT Vulnerabilities von OWASP sind wir bei Punkt 7 angekommen: "Insecure Mobile Interface". Oder auf deutsch: Unsichere Mobile-I