Internet of Shit

Das Jahr 2017… ich sehe mich zu einer Prophezeiung genötigt. Zugegeben, ich bin nicht einmal der Erste, der darauf kommt. Offengestanden habe ich sogar verhältnismäßig lange gewartet bis ich mich dazu herablasse, den umsichgreifenden Wahn, auch das letzte Gerät mit einem Netzwerkanschluss auszustatten, zu kommentieren. Aber heute ist es so weit! Ich prophezeie der Welt – der IT Welt im Speziellen, der Endbenutzer-Welt im Allgemeinen – folgendes:

Jedes erdenkliche Gerät mit einem Netzwerkanschluss auszustatten und auf Biegen und Brechen ins Internet zu hängen, ist eine echt dämliche Idee!!!

Ja, dankt mir nicht! Solche Vorhersagen sind im Preis inbegriffen…

Nein, ernsthaft – was wirkliche Experten bereits seit langem kommen sehen, wird immer mehr Realität. Jedes Gerät wird mit dem Internet verbunden. Kaffeemaschine, Kühlschrank, Webcams, Autos, Radios, Photovoltaikanlagen, Windkraftanlagen, Wasserwerke, Fernseher, Thermostate oder gleich ganze Heizungsanlagen, Hausautomationen, Türschlösser, Ampelanlagen, Alarmanlagen, Uhren, Brillen….

Diese Liste ließe sich ohne Frage noch ein ganze Stück weit, fortsetzen. Ich wollte aber lediglich aufzeigen, dass vernetzte Geräte überall um uns herum sind. Kaum jemand hat noch Gelegenheit, sich dem entziehen zu können. Und nur die Wenigsten werden das wollen.

Internet of Shit

Immer wenn ein spezielles Gerät ans Netz angeschlossen wird und man nicht bequem damit surfen kann, spricht man vom Internet of Things (IoT). Oder in etwas skeptischeren Kreisen auch “Internet of Shit” genannt. Warum? Weil jeder der mit Technik zu tun hat und sich dafür auch abseits von bunten Fenstern und ewig langen Featurelisten interessiert weiß, dass es um die Sicherheit von solchen Geräten nicht gut bestellt ist.

Meiner Meinung nach, gibt es eine Reihe von Gründen für die Problematik:

  1. Hersteller stellen vernetzte Geräte her, ohne in den vorhergehenden Jahren ihrer Firmengeschichte je mit dem Internet zu tun gehabt zu haben. Ergo fehlt ihnen mit an Sicherheit grenzender Wahrscheinlichkeit die Kompetenz, um souverän im Bereich der IT-Sicherheit tätig zu sein.
  2. Hersteller erkennen den Kompetenzmangel im eigenen Haus und setzen auf Auftragsfertiger. Deren Erzeugnisse können aber wiederum nicht vom Auftraggeber dem eigenen Qualitätsmanagement unterworfen werden – es fehlt ja die Kompetenz.
  3. Immer kürzere Produktzyklen und das beständige Streben nach mehr und mehr Features, führt zu komplexen Entwicklungsszenarien, in denen für akkurate Code-Reviews (oder gar externe Prüfungen) keine Zeit mehr bleibt.
  4. Die Endbenutzer haben von den technischen Zusammenhängen schlicht keine Ahnung und vertrauen blind auf die Hersteller. Darüber hinaus haben sie kein Interesse, sich mit den Gadgets und deren Funktionen auseinander zu setzen. Sie möchten nur in den “Genuß” der Features kommen für die sie bezahlt haben.

Warum Kompetenz so wichtig ist…

Wer sich mal die Mühe macht und einen Nachmittag dafür opfert, sich über IT-Sicherheit schlau zu machen, wird schnell feststellen, dass es sich dabei wirklich um ein sehr, sehr schwieriges Themengebiet handelt. So schwierig, dass die meisten “Experten” ein sehr enges “Fachgebiet” besetzen. Oftmals braucht es zur Beschreibung bzw. zur Absicherung von gefundenen Lücken gleich Fachleute aus mehreren Bereichen. Um zu verstehen warum das so ist, lohnt sich ein kleiner (und sehr oberflächlicher) Blick auf die unterschiedlichen Themengebiete, die hinsichtlich Sicherheit beim Anschluss an ein Netzwerk, beteiligt sein können.

  1. Das Netzwerk und dessen Protokolle – IPv4 / IPv6 / TCP/IP / komisches WLAN-Zeugs und dessen “Komfortfunktionen” (WPS z.B.) / DHCP / DNS / HTTP(S) / FTP… und so weiter, und so weiter.
  2. Das “Ziel” selbst und dessen Zugänge (insbesondere undokumentierte).
  3. Verwendete Sicherungsmechanismen und deren Nutzung (Kennwörter stark genug etc.).
  4. Infrastruktur eines eventuell beteiligten Dritten (Clouddienste etc.)
  5. Bisweilen jedes andere, im gleichen Netzwerk befindliches Gerät

Wie gesagt, nur eine kurze und oberflächliche Aufzählung. Die technische Wirklichkeit ist erheblich komplizierter! Und Hersteller haben die schlechte Angewohnheit Systeme in die Welt zu setzen, die den Anwender weder nötigen wenigstens die Mindestanforderungen an IT-Sicherheit einzuhalten, noch selbst den aktuellen Bedrohungen gewachsen sind. Auf die Spitze getrieben wird das, wenn Systeme irgendwann innerhalb ihres Entstehungsprozesses einen “geheimen Wartungszugang” bekommen. Prominentes Beispiel dafür waren Modem-Router mehrere Hersteller. Ein undokumentierter Dienst war aus dem Internet ansprechbar und gewährte großzügige Rechte auf dem System [LINK]. Eine solche Lücke ins System zu programmieren, passiert nicht durch Zufall. Und es ist ein Extrembeispiel. Muss man bei diesem “Wartungszugang” höchstens die Zurechnungsfähigkeit der Entwickler in Frage stellen, sind manch andere Lücken eher mangelnder Kompetenz und / oder zu knappen Fristen geschuldet. Hoffe ich wenigstens!

Oftmals entstehen Lücken auch deshalb, weil einfach fremde Komponenten in die eigene Software eingebunden werden, ohne deren Funktionsweise vollends zu verstehen. Oder – was ich noch schlimmer finde – einmal eingebundene Komponenten werden aus mehr oder weniger guten Gründen, jahrelang nicht aktualisiert. Gerade für Webserver aller Art (die Dienste die einem Zugriff per Webbrowser gewähren) sind von Natur aus anfällig für diverse Angriffsszenarien. Jetzt ist es generell gut auf Dienste zu vertrauen, die idealerweise Open Source sind und an denen noch aktiv entwickelt wird! Meist nehmen die Hersteller aber eine Version, passen sie in ihre jeweilige Software ein und vergessen die Komponente dann die nächsten Jahrzehnte.

Es geht aber auch einfacher. Erinnert sich jemand an den massenhaften Ausfall von Telekom-Routern vor einiger Zeit? Wie sich herausstellte, waren die Kisten gar nicht das eigentliche Ziel, sondern lediglich Kollateralschaden. Verursacht wurde dieser – durchaus beachtliche Schaden – durch einen unkoordinierten Angriff auf den Port den TR-069 nutzt. Wer jetzt nicht weiß was TR-069 ist, dem sei der Wikipedia-Artikel empfohlen. Nach “Sicherheit” darf man auch getrost aufhören zu lesen. Es handelt sich also um eine Technik, die einem Provider zum Beispiel, Zugriff auf den heimischen Router gewährt. Einerseits um darauf tun und lassen zu können was man will – es gab da durchaus schon ärgerliche Pannen -, andererseits um die Möglichkeit zu haben, aus der Ferne Updates aufzuspielen. Und ja, dass ist wirklich wichtig! Gerade Router gehören zu den vergessenen Systemen im Haus. Solange sie tun was sie sollen, interessieren sich die meisten Anwender nicht dafür. Dabei ist gerade diese Komponenten die mit Abstand Wesentlichste wenn es um die Sicherheit des Netzwerks geht.

Aber zurück zum Thema. Hersteller nutzen TR-069 in der Regel nur zu einem Zweck – das Gerät nach erstmaligem Anschluss automatisch zu konfigurieren. Zugegeben, manchmal kommen auch Updates über das Protokoll… Man nutzt also eine wenigstens zweifelhafte Technik, um beim Kunden für mehr Sicherheit zu sorgen. Bin ich zu skeptisch? Ist doch sooo komfortabel… Ja, und nein. Es ist komfortabel, aber ich bin sicherlich nicht zu skeptisch. Wir erinnern uns an das BSI? Dieser Verein, der sich im staatlichen Auftrag um die Sicherheit von so ziemlich jedem Gerät kümmern möchte / muss?! Die haben mal Richtlinien herausgegeben, um Router einheitlich auf ihre Sicherheit hin testen zu können. Wer lesen will klickt HIER (PDF). Interessant ist, das Kapitel 4 und 5 – und just hier findet sich zum Beispiel auch TR-069 – als so brisant eingestuft werden, dass man sich explizit gegenüber dem BSI erklären muss sofern man sie lesen will. Und das mit Recht!

Kurzum – alles was einen unkontrollierten, “unsichtbaren” Zugriff von extern ermöglicht oder genutzt werden kann um sich so einen Zugriff zu verschaffen, sollte abgeschaltet werden! Komfort hin oder her…

Und all die Menschen sollen ihr Netzwerk selbst konfigurieren?

Nein! Bitte nicht! Aber Benutzer sollten sich nicht vom ewigen “Plug and Play”-Versprechen der Industrie verführen lassen. Zum heutigen Zeitpunkt ist mit benutzerfreundlichen Methoden, kein weitgehend sicheres Netzwerk machbar. Will ich ein solches Netzwerk – und das ist gerade beim Einsatz von IoT-Geräten sehr sinnvoll – dann muss ich jemanden ranlassen, der sich damit auskennt.

Was passiert, wenn man allzu leichtfertig an die Sache rangeht, kann man bei Shodan gut sehen. Webcams wohin man schaut. Viele davon nur mit Standardkennwörtern abgesichert. Manche gar nicht. Und ja, alle sind von jedem, jederzeit von jedem Ort aus erreichbar. Und so was passiert, wenn man nicht weiß, wie man mit solchen Geräten richtig umgeht.

Und jetzt fassen wir mal zusammen: ein Gerät das nicht auf dem Stand der Technik ist oder gar von Haus aus Lücken aufweist. Plus, schlechte oder gar keine Konfiguration. Und das hängt dann Zuhause oder steuert irgendwelche, mehr oder weniger wichtigen Abläufe. Herzlichen Glückwunsch. Und dann machen wir uns bitte bewusst, dass immer mehr von diesen Geräten Einzug in unser tägliches Leben halten. Was ich tatsächlich auch überhaupt nicht schlimm finde! Im Gegenteil. Richtig eingesetzt, lässt sich damit Geld sparen, die Umwelt schonen, die Nachbarn beobachten oder einfach nur Spaß haben. Wichtig ist hier aber, dass man ein Gefühl dafür hat, was das Ding kann, dass ich mir an die Wand hänge oder ins Wohnzimmer / Büro stelle. Und ich muss ein Gefühl dafür haben, was passieren kann wenn es jemandem gelingt, sich Zugriff auf dieses Ding zu verschaffen. Also ungefähr die gleichen Überlegungen die man anstellen sollte, BEVOR man alle seine Daten unverschlüsselt in die Cloud überträgt. Wie hoch ist das entsprechende Gefahrenpotential, das von dem Gerät (oder den Daten) ausgeht.

Leaks wohin man schaut

Die meisten haben von #thefrappening gehört oder gelesen. Eher intime Bilder von diversen mehr oder weniger berühmten Persönlichkeiten landen im Internet. Seit kurzem gibt es einen zweiten Teil… Da ist exakt das was passiert, wenn man seine Daten unverschlüsselt in die Cloud pumpt! Natürlich geht kaum eine Gefahr davon aus, wenn jemand die Gartenbilder entwendet. Aber Menschen haben Geheimnisse. Immer! Und viele davon sind heute digital. Ergo tut man gut daran, diese Geheimnisse entsprechend zu schützen. Auch wenn es unbequem ist.

Der Trend zu IoT steht dem generell auch nicht im Weg. Aber er macht es schwieriger. Nehmen wir die Smartwatch. Hat man ein vernünftiges Modell, zeichnet sie auch ohne begleitendes Handy die Positionsdaten auf. Und überträgt diese beim nächsten Kontakt mit dem Internet auch an den entsprechenden Dienstleister. Dumm, wenn man beispielsweise bemüht ist, eben diese Positionsdaten vielleicht lieber für sich zu bewahren.

Oder “Überwachungskameras”, die heute dringend jeder als Einbruchschutz Zuhause haben muss. Mittlerweile mit Gesichtserkennung. Über Sinn und Unsinn solcher Funktionen mag jeder selbst entscheiden. Aber stellt man sich sowas ins Wohnzimmer, muss einem klar sein wohin die Daten, die das Gerät erzeugt, fließen. Und einem muss auch klar sein, dass diese Daten auch von Unbefugten eingesehen werden – wenn es schlecht läuft.

Und es läuft nun wirklich nicht immer gut! Als Beispiele fallen mir da Zentralheizungen ein [LINK] [LINK], deren Steuerung äußerst einfach übers Internet zugänglich war. Harmlos, weil ja keine Nacktfotos zugänglich sind? Nicht ganz… Wer einen Einbruch plant, ist für die Information wann eine Heizungsanlage im Urlaubsmodus ist, sicherlich dankbar. Natürlich nur, wenn man nicht direkt per Überwachungskamera ins Wohnzimmer schauen kann [LINK] [LINK]. Und so weiter, und so weiter. Diese Beispiele mögen für den Einen vollkommen weltfremd sein, für manch anderen sind sie aber bereits Realität. Und letzterer Gruppe muss man deutlich sagen, dass sie Türen öffnen, die sie nicht öffnen wollen [LINK].

Also am besten kein IoT?!

Nein. Falscher Weg! IoT ist praktisch und wird die Welt ein ordentliches Stück voran bringen. Allerdings muss man die Hersteller unterstützen, die sich Gedanken zu Sicherheit, Updates und langer Produktpflege machen. Auch wenn das letztlich teurer ist. Nur so kann man als Verbraucher ein Statement abgeben. Wer immer nur das Billigste kauft, kriegt auch eben nur genau das. Natürlich ist IT-Sicherheit wandelbar. Was heute als sicher gilt, kann Übermorgen eine Katastrophe sein. Deswegen ist es wichtig, dass Hersteller ihre Produkte mit Updates versorgen können (nein, das ist keineswegs sichergestellt!), und möglichst lange Support dafür leisten.

Auch sollte man darauf achten, welchen Weg man zur Steuerung seiner IoT-Gerätschaften einschlägt. Generell wird unterschieden zwischen Systemen die (fast) ausschließlich über Clouddienste gesteuert werden und solchen, die primär im internen Netz agieren. Geräte der ersten Gruppe zu betreiben, ist ohne Frage erheblich komfortabler. Der Nutzer stellt meist eine zentrale Komponente auf, verbindet die mit dem Internet und der Rest geht quasi von selbst. Dabei wird aber gerne vergessen, dass es für den Benutzer faktisch nicht mehr ersichtlich ist, welche Daten zu dem jeweiligen Anbieter übertragen werden. Außerdem besteht die nicht irrelevante Gefahr, dass der Anbieter irgendwann seine Dienste einstellt. Das ist blöd, wenn dann auf einen Schlag Thermostate, Lampen und diverse andere Gadgets, nutzlos werden.

Gerne IoT, aber nur manuell

Vermeiden ließe sich das Problem recht leicht, wenn die Hersteller von vornherein eine rein lokale Steuerung vorsehen würden. Was sich – zugegeben – nicht rechnet, weil keine Daten anfallen die vermarktet werden können. Allerdings würde es eine Menge Probleme aus der Welt schaffen. Folgendes Szenario habe ich da vor Augen.

  • Alle IoT-Geräte sprechen ausschließlich mit einer zentralen Komponente – die idealerweise alle Standards beherrscht. Gerne darf für den Service dieser zentralen Komponente (Updates, Weiterentwicklung) ein Abo / Wartungsvertrag abgeschlossen werden.
  • Die Verbindung aller Aktoren (das sind die IoT-Geräte, die in der Wohnung verteilt werden und Daten erfassen oder die Heizung aufdrehen) erfolgt verschlüsselt, ausschließlich mit der lokalen Zentrale.
  • Updates der Aktoren erfolgen ausschließlich über die Zentrale. Kein Aktor stellt eine eigene Verbindung her. Die Zentrale weiß, welche Aktoren im Netz vorhanden sind, und beschafft / empfängt entsprechende Updates. Der User wird deutlich darauf hingewiesen, dass Updates verfügbar sind und autorisiert diese.
  • Zugriff auf diese Zentrale erfolgt ausschließlich per HTTPS
  • Zugriff von Extern (per Browser / App) ist nur nach expliziter Freigabe durch den User möglich, und auch nur unter Verwendung von Zwei-Faktor-Authentifizierung und auch nur, unter Einsatz starker Verschlüsselung und entsprechender Identifikation der Teilnehmer durch Zertifikate (Web of Trust)
  • Zugriff von Extern erfolgt ausschließlich direkt mit der lokalen Zentrale.

Wer sich auskennt wird erkennen, dass die hier geschilderten Verfahrensweisen kaum vom normalen User umzusetzen sind. In gewissen Bereichen kann ein motivierter Hersteller durch durchdachte Anwendungen, dem User sicherlich die Arbeit erleichtern. Aber spätestens bei der Freigabe der Station für den Zugriff von Extern, dürfte es bei vielen vorbei sein. Und hier kann ein Hersteller aufgrund der unterschiedlichen Konfigurationen des heimischen Internetanschlusses, kaum helfen.

Und ist das schlimm? Ich finde nicht. Es würde zwingend den Einsatz von Fachkundigen Personen erforderlich machen. Ich kann nicht verstehen, warum IT immer derart “einfach” sein soll, dass auch der Branchenfremdeste in der Lage ist, in fünf Minuten irgendwas cooles einzurichten.

Wenn man keine Ahnung hat…

Ja, man sollte erwarten können, dass Menschen ihre eigenen Kompetenzen realistisch einschätzen können. Können sie vielleicht sogar, allerdings lassen sie sich nur allzu leicht von den “Versprechen” der Industrie verführen. Egal was man kauft, überall wird einem suggeriert, es wäre wahnsinnig leicht – quasi von alleine – einzurichten. Folgt man dem und betrachtet man anschließend das Ergebnis, habe ich oft folgende Lebensweisheit im Kopf:

Kannst du so machen, dann ist es halt kacke.

Will man es richtig haben, muss man es Leute machen lassen, die sich damit auskennen. Oder selbst zu so jemanden werden. Nach irgendwelchen Leaks über die Hersteller zu schimpfen, ist da wenig hilfreich. Natürlich machen die Fehler. Und wie vorher beschrieben, auch all zu oft aus niederen Beweggründen. Aber wer sich auskennt, kann solche Fehler meist kommen sehen und entsprechend handeln. Und wer sich nicht auskennt und trotzdem coole IoT / Cloud / IT-Features nutzen will, soll doch bitte jemanden dafür bezahlen!

So ist es IT-kundigen Menschen meist ziemlich egal ob das Webinterface irgendeines Gerätes eine Schwachstelle aufweist… ist es letztlich doch nur per VPN erreichbar. Ich habe alle Möglichkeiten – mitunter sogar mehr – und muss lediglich eine halbe Stunde mehr in die Einrichtung investieren. Jemand mit dem entsprechenden Wissen, wird das dem “Kunden” auch dringend nahelegen. Immerhin entschärft dieser eine Schritt alleine, diverse Sicherheitsprobleme. Irgendwann muss man jede Lücke patchen. Aber durch einen sicheren, abgeschotteten Zugang zu meinem Netzwerk, erkaufe ich mir entsprechend viel Zeit.

Wie geht es weiter?

Der Trend, alles mögliche mit einem Netzwerkzugang zu versehen, wird nicht stoppen. Und die daraus entstehenden Katastrophen ebenfalls nicht. Millionen unsicherer Geräte werden weiterhin, weitgehend ungesichert am Internet hängen, und jedem Skriptkiddie mehr oder weniger frei zur Verfügung stehen. Die Dimensionen von DDoS-Angriffen wird alles bisher dagewesene übertreffen [LINK]. Und immer öfter werden Netze des öffentlichen Interesses im Fokus der Angreifer liegen. Auch damit lässt sich Geld verdienen. Oder Politik betreiben. Wir werden eine Zunahme von gewöhnlicher Kriminalität unter Zuhilfenahme von technischen Hilfsmitteln erleben. Erpressung fällt mir da zuerst ein. Aber auch Einbruch wird sicherlich auf der Liste stehen. Möglicherweise wird auch irgendjemand auf den Gedanken kommen, IoT-Geräte als Waffe zu nutzen. Um die Sicherheit von vernetzten Autos ist es bekanntlich nicht besonders gut bestellt. Und in Zukunft wird das Auto nicht die schwerste, vernetzte und möglicherweise autonome Maschine sein. Warum sollte man nicht auch Baumaschinen ans Internet hängen? Traktoren? Schiffe? Nochmal in aller Deutlichkeit: Ich finde daran nichts schlechtes! Im Gegenteil! Allerdings macht mir die Selbstverständlichkeit dieser Vernetzung, Sorgen. Ohne Frage ist es sinnvoll wenn man zum Beispiel Windkraftanlagen ans Netz hängt, damit sie Meldungen zu ihrem Status absetzen können. Aber was ist, wenn jemand Unbefugtes diese Statusmeldungen fälscht und es zu einem Ausfall kommt? Was, wenn jemand allen zu einem beliebigen Zeitpunkt “aktiven” Tesla, ein schadhaftes Update unterschiebt? Was, wenn jemand die Parameter einer Heizungssteuerung ändert und so die Anlage beschädigt? Vorzugsweise im Winter. Was, wenn jemand die Temperatur in allen erreichbaren Kühlschränken erhöht, das Display aber etwas anderes anzeigen lässt?

Mit Sicherheit werden wir noch eine Menge, mehr oder weniger interessanter, schadhafter Hacks erleben. Mit Glück werden die Schäden wirtschaftlicher Natur bleiben. Wenn man mich nach meiner persönlichen Meinung fragt, würde ich aber ziemlich sicher darauf wetten, dass eher früher als später dabei auch Menschen zu Schaden kommen. Sicher nicht durch die angreifbare Webcam – wobei das für den einzelnen bestimmt auch unangenehm werden kann – aber bestimmt durch unbedacht vernetzte U-Bahn-Steuerungen oder ähnliches. Oder durch vernetzte Rauchmelder, die jemand abgeschaltet hat ohne das es dem Besitzer klar ist. Oder, oder, oder…

Es liegt bei jedem selbst, ob er den Trend IoT, zum heutigen Zeitpunkt, mitmacht. Und wenn ja, ob er sich dabei einem Hersteller ausliefert, in dem er ohne Nachzudenken alle seine Daten in die Cloud pumpen lässt. Eine “sichere” Vernetzung ist meiner Meinung nach möglich. Unter gewissen Umständen auch mit Cloudanbindung (für die es ohne Frage, gute Gründe gibt). Aber sie ist immer mit einem Komfortverlust verbunden. Sie ist immer aufwendiger und folglich auch teurer. Und letztlich muss jeder selbst entscheiden, ob ihm das der Spaß wert ist.

Und ja, mit der Entwicklung von künstlicher Intelligenz werden auch solche Systeme sicherer und einfacher. Künstliche Intelligenz wird in Zukunft die Absicherung von IoT-Systemen übernehmen. Und sie wird das besser machen als Menschen. Aber bis dahin wird es noch dauern. Bis dahin muss jeder zusehen, dass er sein Netz selbst “sauber” hält. Und nach meiner Erfahrung, sind nur wenige dazu wirklich in der Lage.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.