 So, der nächste Talk heißt Smart Home Smart Act und ich weiß nicht wie es euch geht. Ich habe immer so ein bisschen Probleme und habe mir noch gar nichts installiert zu Hause, obwohl es mich jedes Mal in den Fingern kribbelt. Ich würde es mir so gern kaufen. Es gibt so tollen Kram. Aber ich trau mich nicht und deswegen habe ich mich sehr gefreut, dass ich diesen Talk heute ernauen darf. Danach weiß ich dann Bescheid. Also hier ist Michael Steigerwald und ich bitte euch um einen großen Applaus. Vielen Dank. Hallo. Heute geht es um die Glühbirne. Eigentlich nicht nur um die Glühbirne, sondern es geht um fast alle Smart Home Geräte, die man sich vorstellen kann, weil eigentlich fast allen das Gleiche drinsteckt. Und warum habe ich mir gerade die Glühbirne ausgesucht? Das ist ganz einfach. Die Glühbirne ist so der einfachste Gegenstand, den man sich vorstellen kann. Das ist einfach ein Verbrauchsmaterial. Früher war es einfach nur eine Glühbirne. Heute muss alles Smart sein und überall muss Internet drin sein und Cloud. Und wenn das sogar schon in der Glühbirne drin ist, können wir uns überlegen, wo das sonst noch überall drin ist. Jeder hat Angst vor Geräten mit Kamera und Mikrofon. Warum? Man aber vielleicht auch mal schauen muss, welche Gefahren in so eine Glühbirne stecken. Das erfahren wir heute in meinem Vortrag. Weiter geht es darum, dass es viele IT-Cloud Anbieter gibt, wo immer ein ganz einfach jegliches Gerät in die Cloud bringen kann und dazu gar kein Know-how braucht. Und so einen Anbieter, den habe ich mir ein bisschen genauer angeschaut und mal geschaut, wie sicher das ist. Und dann auch einen Proof-of-Concept, verschiedene Angriffszenarien gemacht und werde euch noch sagen, welche Konsequenzen das für den User hat. Genau. In der Presse liest man ständig irgendwelche Sachen über Smart-Home und über die Gefahren, was da alles passieren kann und so weiter. Und selbst die Bundesnetzagentur hat vor Weihnachten gewarnt vor smarten Weihnachtsgeschenken, besonders vor Kameras und Geräten mit Mikrofonen drin. Und weil eben Weihnachten war, habe ich gedacht, ich habe auch noch eine smarte Glühbirne, die ich jetzt einfach mal irgendjemand hier vorne schenken möchte. Bitte schön. Sehr gut gefangen. So, zu meiner Person, mein Name ist Michael Steigerwald. Ich bin Hart- und Software-Entwickler. Besonders bin ich tätig im Bereich Security Research und habe Mitte des Jahres ein Start-up gegründet, die VITRAS GmbH, bei der wir uns auch um IT-Sicherheit kümmern. Die Motivation zu meinem Vortrag war so, dass ein Kunde auf uns zukam, der sein smartes Gerät an die Cloud anbinden wollte und gesagt hat, das ist nicht unsere Expertise, wir kennen uns mit unserem Produkt aus, aber nicht mit der Cloud und nicht mit der Sicherheit, die damit verbunden ist und hat gefragt, ob wir den helfen können, das in die Cloud anzubinden. Und wie man das natürlich immer so macht, ist man schaut sich mal um, was gibt es so, gibt es schon fertige Lösungen, gibt es irgendwas im Markt, was man dafür benutzen kann und da bin ich auf einen Anbieter gestoßen, der ganz tolle, der über 11.000 verschiedene Produkte schon in die Cloud gebracht hat, mit über 10.000 Herstellern und das in 200 Ländern und mit über 20 Milliarden Requests am Tag. Die Versprechen dieses Herstellers sind auch sehr groß, also es geht, es spricht von Rapid Development und dass man schon in sechs Stunden eine Demo haben kann und die Massenproduktion auch schon nach 15 Tagen starten kann. Das hört sich sehr wenig an, aber tatsächlich habe ich mir das ein bisschen angeguckt und ist es auch wirklich so, man kann sehr schnell seine Geräte mit der Technik ins Internet bringen. Und was mir noch sehr gefallen hat natürlich, war, dass sie Military Trade Security versprechen und dazu kommen wir später nochmal. So, der erste Schritt ist, man meldet sich an, das geht in fünf Minuten und danach kann man schon anfangen und kann seine Geräte anlegen oder aus einem großen Portfolio auswählen. Eine OEM App zu installieren ist auch ganz einfach, man kann einfach die vorhandene App mit seinen Logos personalisieren und seinen Farben und hat die dann innerhalb Kürzes der Zeit im Internet und in den Play Stores und Apple Store. Das war vor einem halben Jahr noch kostenlos, jetzt kostet es 1.500 Dollar oder so in dem Preisrahmen, aber also für das Geld kann man definitiv keine App programmieren. Wenn man das gemacht hat, kann man einfach fertige Module bestellen oder auch direkt fertige Geräte, also zum Beispiel auch diese Klübien, kann man direkt bestellen, sein eigenes Label drauf drucken und ist danach IoT Anbieter. So, jetzt habe ich bei dem Durchklicken in diesem Webformular aber auch eine Seite gefunden, die mich ein bisschen stutzig gemacht hat und zwar gab es Firmenware Update und da gab es die Punkte Silent Upgrade und Forced Upgrade, wo ich gedacht habe, okay, ja, wie macht man Upgrade an der Klübiene, generell geht es vielleicht über die App oder sowas, aber was da wirklich in der Klübiene passiert ist, weiß ja niemand. Und ich hatte mir zwar schon 20 Module zum Spielen bestellt, aber bis die aus Fernost geliefert werden, dachte ich mir, ich nehme einfach mal einen großen Versandanbieter, die liefern am folgetag und habe mir mal verschiedene Klübien und auch smarte Steckdosen bestellt. Genau, dann wie funktioniert es? Das ist ganz einfach, man registriert die Klübiene mit seinem Handy, das geht ganz schnell, man bringt ihn in Einrichtungsmodus und danach wird die Konfiguration übertragen und die Klübiene verbindet sich dann selbst mit der Cloud des Herstellers über HTTP und MQTT und schon kann man sie aus und anschalten. Weil jetzt immer wieder MQTT fällt und das vielleicht nicht jedem Begriff ist, MQTT ist ein Message Queuing Telemetry Transport Protokoll, das wird es in jedem IoT-Gerät verwendet, das ist einfach ein Protokoll, wie man eine Lampe, die irgendwo im privaten Netzwerk ist, von außen auch steuern kann. Das heißt, die Lampe selbst verbindet sich mit dem MQTT Proker und kann danach Daten an Geräte pushen wie den Zustand oder kann auch darüber geschaltet werden. So, jetzt war der erste Punkt, was steckt denn da überhaupt drin? Ich habe mal ein paar verschiedene aufgemacht, eigentlich habe ich immer so ein ESP286 gefunden, der wird den meisten hier bekannt sein, das ist ein sehr, sehr günstiger 32-Bit Prozessor mit einem W-Line integriert und das war ein megabyte Fläsch drin und der ist auch sehr, sehr einfach auslesbar. Das heißt, ich habe einfach die fünf Löt-Stellen, also fünf Lötpunkte gesetzt und habe den mal an seriellen Port gehängt und dann kann man das mit dem ESP-Tool einfach auslesen und hat ein Binary, ja, die Firmenwehr. Was sehr wichtig ist, ist, dass man da aufpasst, dass die Produzenten aus Fernost es nicht immer so mit der Bezeichnung halten. Das heißt, es kann auch mal auf dem DC-Crown eine Phase sein und das musste ich auch schmerzlich mal feststellen. Also ganz wichtig, Achtung, 230 Volt. So, das Fläsch habe ich jetzt ausgelesen. Generell ist es so, das hat verschiedene Partitionen. Erstmal ein Bootloader, der an Stelle 0 sitzt und dann gibt es zweimal zwei User Partitions, in denen die Firmenwehr sitzt. Das liegt daran, dass es eben eine Upgrade-Funktionalität gibt und wenn dann zum Beispiel User 1 gebooted ist, kann User 2 überschrieben werden und umgedreht und dann gibt es auch noch eine Konfiguration Partition, bei der die Konfiguration erhalten bleibt, auch bei einem Upgrade. Und was mir dann aufgefallen ist, ist, dass mein WLAN SSID und mein Passwort unverschlüsselt in der Konfiguration Partition abgelegt sind. So viel nochmal zum Thema Military-Crade-Security. Man kann auch denken, ja, was ist jetzt so schlimm daran, aber ich kenne Leute, die benutzen solche Glühbirnen in ihrem Garten zu Hause, da kann der Nachbar einfach mal die Glühbirne holen und weiß danach die WLAN-Passwörter. Und es gibt noch mehrere Anwendungsfehler, wo das eigentlich nicht so sein soll und es gibt auch eigentlich überhaupt keinen Grund, sowas unverschlüsselt im Fläsch abzulegen. Des Weiteren habe ich noch diverse Keys gefunden und Schlüssel. Also einmal zum Beispiel ist das die Seriennummer, die drin liegt. Die bildet sich auch aus der Mac-Adresse und noch einen Prefix. Dann gibt es den Outs-Key, das ist ein Schlüssel, der verwendet wird, dass der Hersteller weiß oder der Cloud-Anbieter weiß, dass es auch ein wirkliches Modul von ihm ist. Und dann gibt es noch eine Product ID. Diese Product ID wird generiert beim Anlegen des Produkts in der Cloud. Das heißt, vorhin habe ich diese Oberfläche gezeigt, wo man einfach Produkte anlegen kann. Und wenn ich die Anlege, wird diese Product ID generiert und die wird danach vom Hersteller in das Modul reinprogrammiert. Es gibt auch noch ein Local Key und ein Sec Key, also der wurde auch genauso genannt in dem Chasen-File im Fläsch. Die sind für die Verschlüsselung und Signierung von der Kommunikation zuständig. Da ich jetzt ja eigentlich nur gekaufte Produkte von einem Fremd-Anbieter hatte, habe ich mir überlegt, wie kann ich das denn kapern? Und das Einzigste, was mir eingefallen ist, oder das Erste war, ich schreibe doch mal ins Fläsch an der Stelle, wo Product ID steht, meine Product ID rein und danach muss man noch die Checksumer korrigieren vom, das geht auch mit dem ASP-Tool oder die Standard-ASP-Checksumer und habe es zurück geflasht in die Glühbirne und sehe da, die gekaufte Glühbirne war in meinem Account. Jetzt hat es mich doch sehr verwundert, dass ich direkt gesehen habe, dass, ja genau, auch noch mal so viel zum Thema Military Trade Security, aber mich hat sehr verwundert, warum da die E-Mail-Adresse, die ich zum Registrieren benutzt habe, mit drin steht in der Sache und dann habe ich gesehen, dass wenn man auf Details geht, gibt es noch viel mehr Informationen. Also steht die Beining-E-Mail-Adresse drin mit den Seriennummern und so weiter, wobei das auch sehr oft ein Handynummer ist, wenn man sich mit dem Handy registriert hat, oder es steht zum Beispiel auch die Koordinaten drin und wo man sich befindet. Jetzt weiß ich nicht, warum der Hersteller oder der Rieseller von meiner Glühbirne wissen muss, wo die eingesetzt wird, aber dafür gibt es wahrscheinlich auch Gründe. Ja, die Anschalt- und Ausschaltvorgänge weiß auch jeder, wann, wer zu Hause ist und schaltet. Das bekommt auch jeder raus und standardmäßig bekommt man nur sieben Tage Loks seiner Kunden. Wenn man aber mehr will, muss man einfach nur fragen. Ja, dann gibt es noch schöne Auswertungen, wo man sieht, wie viele Kunden, wann, welche Geräte aktiviert haben, dass man einfach den Markt besser nutzen kann. Für mich war das ein bisschen komisch und meine Kundenanfrage war eigentlich auch so, dass es gerade darum ging, den Kunden und seine Daten zu schützen. Und weil ich überhaupt keine Ahnung hat, wer auf die Daten alles zugreifen kann, habe ich doch einfach mal an den Hersteller eine E-Mail geschrieben und habe gefragt, ob man deren Technik auch benutzen kann, ohne dass die Daten an die Cloud geschickt werden. Weil, wie gesagt, auch für mein Kunden nicht gut ist, wenn die Koordinaten seine Kunden in der Cloud gespeichert waren. Die Antwort war nein. Also es ist nicht möglich, die IoT-Geräte ohne die Daten zu betreiben und sie haben ja aber versichert, sie beschützen die Daten sehr gut. Und was sie auch noch gemacht haben in diesem Kontext, weil sie haben mir direkt noch ein Dokument mitgeschickt, das mir zeigt, wie ich die Nutzerdaten besser für mich ausnutzen kann. Vom Prinzip ist es so, dass in den Apps immer Datenschutzrichtlinien drin sind, die sind aber sehr, sehr erstens mal lang und auch verwirrend. Und wenn ich jetzt darüber sprechen würde, bräuchte ich noch eine Stunde länger. Also das heißt, da kann mir noch mal einen kompletten anderen Talk draus machen. Und da will ich jetzt nicht weiter drauf eingehen. Das Bundesministerium für Sicherheit hat einen Lagebericht zur IT-Sicherheit 2018 rausgebracht und hat dann das in verschiedene Gefährdungslagen aufgeteilt. Erstens die Gefährdungslage, wo der User der IoT-Geräte das Ziel ist und den Schaden hat. Und da gibt es Punkte wie die Manipulation von Daten, das Ausspähen von Daten, Sabotage und IoT-Geräte als Hintertür. Und als zweite Gefährdungslage hat er die Gefährdungslage genannt, bei der andere Personen dadurch zu Schaden kommen können. Wie zum Beispiel das Aufbau von Bot-Netzwerken, Identitätsverschleuerung, Kryptomeinungen, Klickbetrug bei Werbebannern und so weiter. Und ich muss sagen, das sind die Gefährdungslagen, die das BSI genannt hat. Die sind alle mit der Klübierne machbar. Kryptomeining ist zwar ein bisschen schlecht, weil die Performance nicht ausreichend ist, aber theoretisch würde das auch funktionieren. So, jetzt habe ich mir überlegt, was könnte denn ein mögliches Angriffsszenario sein beim Benutzen so einer Klübierne? Und generell ist es ja so, dass die Klübierne als Netzwerkteilnehmer auf das komplette lokalen Netzwerk zugreifen kann und auch ganz oft auf Urlaubsbilder und so weiter oder auch irgendwelche anderen Daten durch ARVs, BOOFING und so weiter abgreifen könnte und dann einfach zu einem Server nach außen schicken kann. Und das habe ich auch dann gemacht. Also vom Prinzip, die erste Idee war, ich habe mir einfach mal die WLAN-Daten selbst rausgeschickt und habe das mit reingemacht. Das funktioniert ohne Probleme. So, ganz kurz zwischendurch, jeder kann Hersteller und Reseller werden. Also es geht wirklich innerhalb von fünf Minuten oder man kann auch irgendwelche Geräte kaufen, kann sie mit den eigenen Produkt-IDs verbinden und dann hat man sie in der eigene Cloud, um auf die Daten komplett zugreifen zu können. Und danach kann wirklich der Cloud-Anbieter selbst, kann auf die Daten zugreifende Hersteller und auch die Lieferanten, wenn die das wollen. Wir haben alle auch Zugriff auf die Firmenwehr. Man kann die Firmenwehr auch während des Betriebes ändern und ganz schlimm natürlich ist, dass man auf alle User-Daten zugreifen kann. Und das Datensammeln ist wirklich in einem extrem hohen Ausmaß, also mit Koordinaten und so weiter. Das muss eigentlich bei der Glybina alles gar nicht sein. Das Datensammeln kann nicht abgestellt werden, wurde mir ja gesagt, weil es ja nicht möglich ist. Und ja, ist auch ein großer Punkt. Das heißt eigentlich kann man als deutscher Hersteller solche Anbieter überhaupt nicht verwenden. Das Inverkehrbringen von solchen Geräten ist auch sehr einfach. Also man kann die ganz einfach verkaufen, man kann sich viele kaufen, die als Retouren zurückgehen lassen. Man kann im Gebrauchtmarkt, muss man sehr aufpassen, weil man nie weiß, was drin ist. Und der junge Herr zum Beispiel hat für mir eine Geschenk bekommen. Das ist natürlich noch eine andere Möglichkeit, auch solche Geräte in Verkehr zu bringen. So, jetzt war eigentlich für mich die Arbeit beendet, weil meinem Kunden konnte ich natürlich nicht mehr helfen oder nicht sagen, okay, wir nehmen einen tollen Military Grade Anbieter aus Fernost, sondern wir müssen was Eigenes machen. Trotzdem hatte ich eine eigene neue Motivation und zwar erstens mal ist es denn möglich, diese ganzen Geräte, wie sie alle hier sind, auch ohne die Cloud zu betreiben. Und zweitens wollte ich natürlich auch nochmal den wirklichen Proof of Concept von dem Trojaner haben. Und das heißt, es ging jetzt für mich nochmal eine Runde weiter. So, dafür habe ich mir ein kleines Test Setup aufgebaut. Ich habe einfach einen Raspberry Pi mit einem Kali Linux benutzt und da ein Software Access Point laufen lassen, den Host-APD. Dann brauchte ich meinen eigenen DNS-Server, um auch Anfragen umleiten zu können. Ich habe den eigenen HTT-Server gebraucht und ein MQTT-Proker. Und zum Analysieren habe ich Weiherschlag benutzt und Man in the Middle Attacken mit Better Cap gemacht. Dann ging es erstmal zur Netzwerkanalyse. Ich habe mir das erst mal angeguckt, was geht denn da rein und raus auf der Netzwerksseite. Es ist ganz einfach, es gibt eigentlich drei Sachen. Es gibt DNS-Requests, es gibt HTTP Anfragen. Die sind eigentlich meistens unverschlüsselt beziehungsweise auch die wichtigen Sachen, die zum Beispiel Schlüssel enthalten sind dann unverschlüsselt. Und ja, MQTT ist auch vorhanden und ist auch verschlüsselt. Aber es wird auch, wenn in der Lampe selbst HTTPS und MQTTTS implementiert sind, wird es einfach nicht benutzt. Und ja, das wieder sehr sicher. Also, wie gesagt, in dem Feld, man sieht es hier nicht, aber da ist auch der Local Key in Clear drin in der Anfrage. Und dann habe ich eine kleine Krypto-Analyse gemacht, um auch zu sehen, was sonst noch so alles in den verschlüsselten Nachrichten drin steckt. Und dadurch, dass der ESP verwendet wird und der diesen Tensilla Extensor Core hat, ist es disassemblierend sehr mühselig von dem Binary, weil es eben keine guten Plugins gibt und auch keine guten Disassembler. Und dann habe ich mich mal ein bisschen umgeschaut und es gibt von dem Cloud-Anbieter eine sehr gute AP-Dokumentation, die zwar auch sehr viele Fehler hat, aber darin sind auch sehr wichtige Teile wie Verschlüsselungen teilweise dokumentiert. Und es gibt noch ein SDK. Das habe ich angefragt, aber bevor ich es geschickt bekommen habe, habe ich es auch im Internet gefunden, ist eigentlich auch öffentlich zugänglich. Und mit dem SDK waren Pre-Compile Libraries drin, die ich dann auch benutze, analysieren konnte. Und wenn ich meine eigene Firmware damit kompiliert habe, hatte ich eine Sampler-Output und brauchte kein wirkliches Disassembly. Das Ergebnis der Krypto-Analyse war, dass ich dann in einem kleinen 60-Zeilen-Skript ja alle verwendeten Verschlüsselungen drin hatte. Und es wird eigentlich nur ein AES 128 verwendet mit dem Local Key und die MD5-Texo teilweise über gewisse Teile davon gebildet, auch als Sicherheit. Und signiert werden die Daten auch mit einem MD5. So, dann habe ich erst mal geguckt, wie funktioniert denn so eine Registrierung? Also die Registrierung selbst einer Lampe an der Cloud funktioniert so, dass die Mobile App einen Token-Anfrag an der Cloud schickt den über ein Morse-Protokoll namens SmartConfig mit den Wi-Fi Credentials zu Lampe. Die meldet sich im WLAN an und schickt dann den Token zurück an die Cloud, bekommt die MQTT-Login-Daten und fragt nach der Activation. Das ist eine HTT-Anfrage auch bei der dann der Local Key und der Security Key in Clear zurückkommen. Der Local Key geht auch zur App und danach kann sich die Lampe anmelden an der Cloud und sie kann einfach, sie kommuniziert weiterhin mit der Cloud und ja, kann verwendet werden. Was mich viel mehr interessiert hat, war das Upgrade, weil ich ja eigentlich meine eigene Firmenwährein bringen wollte und dazu habe ich mir, hatte ich eine Lampe, die hat eine neue Firmenwähre, ein Firmenwähreupgrade gehabt und das funktioniert im Endeffekt so, dass die auf dem Handy wird gefragt, ob das Upgrade durchgeführt werden soll. Dann wird ein Trigger ausgelöst und der Trigger wird an die Lampe gesendet und die Lampe fragt über HTTP, wo gibt es die neue Firmenwähre und welche Version hat die usw. und dann gibt es letztlich die Lampe einfach von einem HTTP Server, das Binary und installiert es in die nicht genutzte User Partition. So, für mich war es ganz einfach, ich habe mir als allererstes mal den eigenen MQTT Server genommen und habe dann versucht, das Trigger selbst zu generieren und danach habe ich mit einem Man in the Middle Attack den HTTP-Request verändert und habe der Klybien eben gesagt, dass er von einem eigenen Server die Firmenwähre laden soll. Funktionieren tut es ganz einfach so, der eigene MQTT Server wird benutzt. Dafür musste ich einfach den DNS Server umbiegen, dass eben nicht mehr auf den MQTT Server des Cloud-Anbieters geschaut wird, sondern auf meinen Lokalen und man sieht, dass sich die Lampe anmeldet und irgendwelche Nachrichten ausgetauscht werden. Das nächste war eigentlich so das kniffligste, das war der Upgrade Trigger, den habe ich erstmal analysiert, der kommt tatsächlich verschlüsselt und wurde dann endschlüsselt mit einem Local Key und dann hat man drin gesehen, dass das Protokoll 15 quasi das Upgrade Trigger hat und man kann sich dann einfach mit meinen Skrips die Trigger generieren. Beim Time Stamp, der verwendet wird, ist es auch so, dass es die Lampe da sehr, sehr knedig ist, also der kann auch gerne mal ein bisschen älter sein oder man kann das auch öfter verwenden. Das funktioniert dann auch immer wieder und so konnte man einfach über den Moskito Befehl das Upgrade Trigger an. Ja, ich habe es dann noch ein bisschen automatisiert, das ist nicht mehr, das alles in ganz mit einem Klick passiert quasi. Das habe ich auch eigentlich gemacht für euch alle, weil ich das dann später alles veröffentlichen werde. Der nächste Punkt war das Ende der Upgrade Quelle. Hierzu habe ich ein fertiges Tool benutzt, das heißt Beta Cap. Damit kann man HTTP Requests einfach in Real Time ändern und da ich ja eh den Kali Linux als Access Point benutzt habe, konnte ich da auch relativ gut dran und habe quasi dann in die URL und in den MD5 einfach die Daten meiner neuen Firmen geschrieben und das geht auch mit ein paar kleinen Skrips. Das heißt, man gibt ein, dass er irgendwelche fertigen Strings in den HTTP Replies sucht und dann einfach ersetzt und danach ging es eigentlich nur noch darum, einen eigenen HTTP Server zu installieren und die Lampe hat beim, nach dem Upgrade Trigger das Beinerie von meinem Server gezogen. Ja, jetzt geht es noch zum Thema eigene Firmenwehr. Ich habe euch ja schon gesagt, genau, die habe ich ja schon erwähnt, dass ich da verschiedene Versionen machen wollte unter anderem die eine, die eigentlich nur das WLAN Passwort mal rauspuscht und dann habe ich die einfach mal eingespielt. Generell ist so, ich habe jetzt hier verschiedene Terminal-Windows auf, das kann man natürlich noch alles vereinfachen. Ganz oben der ersten Zeile sehen wir den Access Point, dann den Moskitoserver auf der anderen Seite, habe ich ein HTTP Server gestartet, auf dem mein Bein reliegt und ein Skript, das mir alle Kommandos in Real Time entschlüsselt. Dann gibt es noch das Better Cap, das eben die Anfragen verändert und unten rechts sehen wir ein Terminal, in dem wir eigentlich nur die Ausgaben, die seriellen Ausgaben der Lampe sieht und die habe ich jetzt gestartet und danach sende ich mit dem letzten Befehl unten noch einfach mal den Trigger Request und dann sollte man sehen, wie genau jetzt kommt der Request und jetzt kommen überall Anfragen und die Lampe bootet neu und es ist eine neue Filmwehr drauf, also geht ganz schnell. Genau. So, jetzt ging es um die Filmwehr, die drauf geht. Ich habe euch gesagt, ich wollte einen Proof of Concept machen von einem Droyana. Was macht der Droyana? Ganz einfach, der verbindet sich zu meinem eigenen Server, der irgendwo extern im Internet steht, schickt die WLAN Credentials und öffnet noch ein Reverse Tunnel, über den ich dann zurück ins lokalen Netzwerk gehe. Der agiert bei mir in meiner Implementation einfach als HTTP oder Socksproxy. Das heißt, man kann einfach irgendeinen Prouser nehmen, gibt die von meinem externen Server die IP-Adresse ein und den Port und ist dann im lokalen Netzwerk des Lampenbetreibers. Das Ganze ist noch, war mir noch sehr wichtig, dass es transparent ist. Das heißt, der Nutzer der Lampe bekommt es überhaupt nicht mit und die ganz normale Lampenfunktion ist noch genauso gegeben wie vorher. Hier habe ich auch einen kleinen Demo davon. Oben habe ich wieder das Terminal der Lampe selbst. Dann habe ich auf meinem Server selbst ein Proxy-Forwarder, auch ein kleines Python-Skript und unten habe ich irgendwo im Internet dann ein Rechner. Das sehen wir jetzt gleich. Dann habe ich einfach mal eine IP-Abfrage gemacht. Genau. Jetzt verbindet sich die Lampe zu meinem Server und ich mache unten eine Abfrage der IP. Die externe IP ist in dem Fall 213 irgendwas. Jetzt mache ich das alle gleiche mit dem Proxy. Genau. Da habe ich jetzt einfach meinen eigenen Proxy noch mit reingesetzt und sehe auf einmal, dass bei der Lampe selbst die Anfrage kommt und auf einmal die IP, die lokale IP der Lampe gesendet wird. Dann wollte ich noch zum Test mal auf im Internet-Netzwerk was zugreifen und habe jetzt einfach mal auf Fritz.box eine Abfrage gestellt und konnte somit sehen, dass in dem Netzwerk auch eine Fritzbox drin ist. Also das heißt, man kann mit dem Proxy nicht nur den Internet-Count des Opfers benutzen für Bot-Netze und so weiter oder für alles andere, sondern man kann sich auch im lokalen Netzwerk ganz einfach bewegen. Die große Frage ist, warum ist es so gefährlich? Man weiß nie, was in so einem Gerät drinsteckt und gerade auch dieser Button Silent Upgrade hat mich sehr verwunden lassen und in meinem Fall war es jetzt noch nicht mal so, dass das zum Upgraden der Fernwehr in der Lampe irgendeine Bestätigung vom User kommen musste oder so weiter. Das heißt, man bekommt es nicht mit und man kann einfach Trojaner in irgendwelche Lampen reinflächen und das halt auch im ganz großen Bereich. Das heißt, wenn ich jetzt 20.000 Lampen verkauft habe, dann kann ich einfach mich durch meine Web-Applikation klicken, lad das neue Beinerie mit dem Trojaner hoch und gestern war es noch eine sichere Lampe und morgen ist es einfach der Trojaner und der Nutzer selbst bekommt es einfach überhaupt nicht mit. Wie gesagt, ich habe das Flächen selbst gemacht durch Löten am Anfang. Es geht aber auch mit der ganz normalen Men in the Middle Attack oder der Cloud Provider kann es einfach mit seinen ganz normalen Tools jederzeit durchführen. Was auch noch ein Thema war für mich war, eben kann ich das Ding auch ohne Cloud betreiben. Wenn ich jetzt so eine Lampe zu Hause habe, dann habe ich gedacht, okay, es gibt verschiedene Open Source Software, die auch sehr viele tolle Funktionen haben, sogar danach noch mehr können und so weiter und der normale Workflow zu Flächen ist einfach, dass man wirklich die Lampe aufbricht und dann die Kontakte anlötet und so weiter und da hört es bei den meisten Leuten auf. Jetzt können wir aber auch mit der Methode wie ich sie gezeigt habe, natürlich auch eine andere Firmware in die Lampe Flächen, um sie eben ohne die Cloud betreiben zu können und wie gesagt, ich werde es dann auch veröffentlichen. Da kann dann jeder damit machen, was er möchte. Zum Fazit, das Sicherheitslevel von diesen Geräten ist tatsächlich minimal. Also es ist wirklich so, dass ja alles, was ich probiert habe, hat direkt funktioniert. Es gab keinerlei Verschlüsselung von Daten, die in dem Gerät selbst abgelegt werden. Die Firmware war weder signiert, noch die Updates waren signiert, also ich konnte direkt Änderungen direkt dran machen. Die Datenspeicherung ist unverschlüsselt und die Datenübertragung war auch eigentlich in den kritischsten Fällen unverschlüsselt und da, wo sie verschlüsselt war, war es keine Hürde. Das viel erschreckendere jedoch ist das große Datensammeln. Also für mich ist es völlig unklar, warum der Hersteller und der Rieseller oder wer auch immer Zugriff auf den Account hat, wissen muss, wo genau diese Lampe sich befindet und das war wirklich so, dass die GPS-Koordinaten, die waren über das Handy ermittelt bei der Registrierung, aber die waren sehr genau und ich habe quasi den Schreibtisch, an dem ich gesessen habe, quasi in den Koordinaten wiedergefunden und da sehe ich keinen Grund dafür und es ist natürlich auch erschreckend, wer alles darauf Zugriff hat. Die Datenweitergabe und Speicherung ist auch äußerst undurchsichtig. Also es wird zwar teilweise gesagt, dass die Daten mit auch in Deutschland gehostet werden, aber auch jederzeit nach Fernost übertragen werden können und wer wirklich darauf Zugriff hat, das weiß natürlich keiner und ist auch ja nicht bekannt. Und ja, das große Problem für mich ist, dass es die einfachsten Verbrauchsgegenstände, weil eine Glühbirne ist ja wirklich eigentlich nur dazu da, ein bisschen Licht zu machen und für mich vergleichbar zu Klopapieren einfach ein Verbrauchsgegenstand und jetzt wird nach und nach alles smart und wenn selbst so kleine Geräte, die so normal für uns alle sind, weil jeder hat eine Glühbirne zu Hause, auf einmal smart sein müssen, dann bringt man natürlich auch viele Gefahren mit im eigenen Haushalt und den meisten Leuten ist es einfach nicht bewusst, weil sie denken, okay, wenn jemand die Glühbirne hekt, was will er machen, das Licht an ausschalten, aber die tatsächliche Konsequenz ist natürlich ganz anders, dass auf einmal das komplette lokale Netzwerk ja von außen offen ist und auch auf private Daten und so weiter zugegriffen werden kann. Das einzigst positiver jedoch aus meinen Erkenntnissen ist eben, dass man die Hersteller cloud doch recht gut abschalten kann. Das zeigt aber auch wieder, dass es eigentlich überhaupt nicht notwendig ist, weil man kann die Lampe mit den anderen Firmen werden noch viel besser benutzen und so weiter, ohne dass eben diese Daten gespeichert werden und eigentlich ist es von meiner Seite ein Appell an die IoT-Hersteller eben diese gute Technik und schöne Technik und bequeme Technik den User bereitzustellen, ohne diese ganzen Daten zu sammeln und wenn der Anbieter zu mir sagt, it is a voidless auf die Frage, ob die Daten denn nicht gespeichert werden können, ist es tatsächlich eine Lüge und auch nicht notwendig. Ja, ich habe schon angekündigt, ich werde noch weitere Infos auf unsere Webseite zum Download bereit geben und da darf man halt auch Skripte, mit denen man dann andere Firmen auf solche Geräte flaschen kann und bin leider noch nicht dazu gekommen, das alles fertig zu machen, aber das wird in kürze folgen. Ja, jetzt sind wir beim Fragenteil angekommen und ich glaube jetzt kommt jemand auch auf die Bühne zum Fragen. Ja, vielen lieben Dank, Micha. Ich bin immer noch beunruhigt und fühle mich überhaupt nicht military grade irgendwas. Frage an den jungen Mann oder den jungen Besucher, der vorhin die Lampe bekommen hat, willst du sie noch behalten? Bist du sicher? Okay, gut, haben wir den Fragen? Geht schon los, fangen wir da an, Mikro 2 bitte. Ja. Ist MQTD jetzt verschlüsselt oder nicht? MQTD ist verschlüsselt, ist mit AIS verschlüsselt und mit dem Lockerkey, den man über den HTTB Befehl in Klartext angezeigt bekommt. Dankeschön. Wir machen gleich bei dir weiter, ihr kommt da als Nächste. Deine Frage, bitte. Um ehrlich zu sein, habe ich da nicht weiter geschaut, ich habe nur, aber dadurch, dass es open source ist, kann natürlich jeder da rein programmieren, was er möchte und hat da volle Kontrolle und ob das jetzt in klar abgespeichert wird oder nicht, kann ich jetzt nicht direkt sagen. Okay, vielen Dank. So, nächste Frage, Mikro 1, bitte. Wenn die Lampen so populär sind, könnte man nicht eine Stiftung dazu haben, die 10 Millionen Lampen verkauft, auf denen wir dann 10 Millionen Tor Exit-Nord zu laufen lassen. Das ist natürlich eine sehr interessante Idee und man kann dann noch viel mehr damit machen. Also theoretisch könnte man auch sagen, jeder sollte, man macht nur ein Katalog aus verschiedenen Firmen werden, die für verschiedene Modelle eben funktionieren und macht da eben solche Sachen mit rein und dann könnte man das sehr gut betreiben. Wobei, aber die ja die Power oder die CPU Power doch sehr limitiert ist. Okay, ich denke mal, wir nehmen jetzt die nächste Frage, Mikro 1 nochmal. Du hattest von Anfang des Vortrags gesagt, das ist ein sehr bekannter und namhafter Hersteller, das allein die Cloud-Plattform und die Dashboards uns auch hergegeben haben. Kannst du uns vielleicht ein bisschen mehr dazu sagen, welche Produkte der Hersteller noch herstellt und verkauft, außer von Lüber? Also es gibt wirklich alles, also es ist nicht ein Hersteller, das ist eben genau das Schlimme daran, deswegen kann man auch nicht einfach so nennen, es gibt 10.000 verschiedene Hersteller, die eben genau diese Technologie einfach einsetzen und die sind wirklich weltweit überall, das heißt es gibt deutsche Hersteller, die diese Technologie benutzen und man denkt, man kauft ein deutsches Produkt, tatsächlich steckt aber das drin und Produkte gibt es auch alles, also ich habe von Küchengeräten, Kühlschränke und so weiter, der Hersteller nennt 30 verschiedene Kategorien, es ist tatsächlich fast überall drin. Für mich war die Klübie das einfachste und auch diese elektrische Steckdosen, weil sie einfach sehr populär sind und überall eingesetzt werden. Okay, ich würde jetzt gerne mit Mikro Nummer 3 weitermachen, da stehen nämlich auch scheinend zwei Leute. Ihre Frage bitte. Ja, die Frage ist, ob doch die Shellys angeguckt hat, die haben ja diese Jumperkabel ansteckt Möglichkeit, aber die haben auch den Cloud ausgeschaltet, weißt du da was zu? Nee, also die weiß ich nicht, aber ich weiß auch nicht, ob die von Haus aus diese Cloud benutzen, habe ich nicht gemacht. Ich glaube, dass es einfach nur auch eine Open Source Hardware ist, auf der jetzt nichts von dem Anbieter selbst läuft. Okay, danke, dann nehmen wir das nächste Mikro Nummer 2 bitte. Ja, ich bin kein Programmierer, meine Nächte werden jetzt deswegen aber auch nicht besser und deswegen meine Frage und dann einmal raus in die Wellen an die Bildschere, welchen Tipp liefst du? Nicht im Fernosten kaufen, nur Markenwaren? Es ist natürlich relativ schwierig, was zu nennen, weil man weiß natürlich nie was drinsteckt und wie ich gesagt habe, es gibt auch deutsche Hersteller, die das benutzen. Ich habe mir die Konkurrenzprodukte noch nicht angeschaut, kann deswegen noch nicht sagen, was man kaufen soll, aber für mich ist natürlich auch ein Tipp eigene Firmware zu verwenden und auch namhafte Hersteller, weil die ganz andere Sachen zu verlieren haben. Also wenn jetzt eine kleine Firma aus Fernost, die machen einfach oder verschieden Namen Firmen auf und danach ist es egal, ob da irgendwelche Hacks oder Sachen rauskommen, wenn da großen Namen hinten dranstehen, ist es natürlich eine andere Sache. Deswegen lieber was mit einem Bekannten haben kaufen. Okay, danke. Ich sehe ein Licht, ein Licht sagt mir das Internet hat eine Frage, Lieber Signal, Engel? Na ja, in Wirklichkeit rausfinden tut man es immer, das ist mir auch bewusst, aber es muss natürlich nicht so obviel sein, weil wenn man wirklich nur das Beinrie ausliest und danach den Klartext Schlüssel hat, dann ist es natürlich sehr verdächtig und man findet es schon beim Durchskrollen durchs Beinrie oder wenn man einfach Strings eingibt. Wenn man alleine nur was drüber gezoert hätte, wäre es schon nicht so auffällig, wie es tatsächlich wirklich ist. Okay, danke schön. Ich nehme erstmal das Mikronummer 7, da wartet schon jemand länger. Die Frage bitte. Ja, das ist jetzt fast eine Anmerkung zu dem, sorry. Wenn du eine Frage hast, dann melde dich bitte mit einer Frage, Kommentare möchten wir bitte nicht. Danke schön. Dann Mikronummer 8, bitte schön. Danke. Ja, hallo. Der MQTT, der geht dir direkt an den Cloudhersteller. Genau, also die MQTT ist im Endeffekt das Protokoll, das verwendet wird, um aus dem Internet ins lokale Netzwerk zu kommen und da wird quasi ein MQTT-Tunnel aufgestellt und es gibt ein Topic, das quasi subscribt wird von der Lampe selbst, wo es quasi Befehle annimmt und einer, der verwendet wird, um Publisches zu machen, wo Status-Meldungen rausgehen. Okay, danke. Wir haben noch eine Frage auf der 5, die wartet schon länger, bitte schön. Danke sehr. Gibt es irgendwelche Einschränkungen, wenn ich ein Internet-of-Hings-Wee-Lan-Aufbau mit sehr eingeschränkten Internetzugang? Es ist tatsächlich möglich, auch mit der Firmware, die drauf ist, einen lokalen Betrieb zu machen. Ich glaube auch nicht mit allen Geräten, die ich getestet habe, aber die Lampe ist noch auf dem Port 6668 offen, nimmt da sehr ähnliche Befehle an und man kann sie quasi auch damit selbst steuern, auch mit dem selben Local-Kiefern die Daten dann verschlüsselt und das heißt, es ist auch möglich, wenn man ja der Lampe selbst das Internet abstellt, die lokal mit dem Handy zu steuern. Okay, danke schön. Ich würde sagen, drei Fragen machen wir noch? Ja, gerne. Okay, hier vorne die Eins, bitte. Hast du die angeschaut, wie die Sicherheit auf der Server-Seite von diesem Cloud-Unbeter ist, also ob man da was machen kann, ob man die Daten von Fremd-Geräten kommt und ob man persönlich über das MQTT mit fremden Devices sprechen kann? Also ich habe mal probiert, ein MQTT zu einem anderen Revice zu schicken, das hat nicht funktioniert, aber ich habe auch nicht weiter geschaut, also nicht so genau und auch nicht probiert, um irgendwelche Accounts zu kapern. Danke. Okay, wir haben da noch ein bisschen Zeit, deswegen, wir machen noch ein paar Fragen mehr, wenn dir das recht ist, Michael. Ja klar. Okay, dann würde ich jetzt den Signalengel nochmal einleuchten lassen. Ja, also eigentlich ist es eine sehr schwere Frage, weil man wirklich das schlecht realisieren kann, aber trotzdem denke ich, dass es Möglichkeiten gibt, wo dann zum Beispiel das Update von der App kommt und die dann so ist, dass der User definitiv Kontrolle darüber hat und das auch mitbekommt. Natürlich ist es immer eine Implementationssache und relativ schwierig, Updates anzubieten für solche Gräte. Okay. Ich glaube, Mikrosieben ist noch jemand. Das war die gleiche Frage. Ja, okay. Das war die gleiche Frage. Okay, dann Likro 8. Ich glaube, hier vorne im Exten auch ganz wieder. Hat jemand aufgegeben. Okay, es blinkt noch, habe ich das richtig gesehen? Ja, hier vorne. Ah, okay, die drei, bitte schön, danke. Thank you. So this clear text logically over HTTP. How often is it sent? Only the first time or does it send it more often? This is basically only during the registration, but there's more clear messages. I mean, HTTP in general is not encrypted when the cloud sends something to the bar. But the keys are only transmitted during activation. Okay, vielen Dank. Wir haben dann noch ein Licht. Deine Frage, bitte. Ist der Sprecher bereits einen sicheren IoT-Gegenstand begegnet? Vielleicht, aber nicht meines Wissens. Mikro 3, bitte schön. Gibt es Anzeichen, dass die Daten der User verkauft werden? Und wenn nein, wie leicht könnte man das rauskriegen? Ich denke, da in einem Talk, den es hier mal gab, der hieß Bit.io ohne HTTP. Da hat eine Fed-Firma die Daten versucht zu kaufen. Also, das wäre ja möglich. Also, alles, was ich jetzt sagen würde, wäre Spekulationen. Und das will ich eigentlich nicht. Aber es ist sehr auffällig, wie viel Geld hinter den Firmen steckt und wie viele Geräte sie verkaufen. Und irgendwie geht bei mir die Mathematik nicht auf. Und es geht für mich um mehr Geld, als man mit solchen Geräten verdienen kann. Aber es ist, wie gesagt, alles Spekulationen. Und dazu kann ich dann weiter nichts sagen. Wäre doch mal eine gute Idee für einen neuen Talk. Vielleicht mag das ja mal jemand eruieren. Eine Frage haben wir noch an der Sieben, bitte schön. Bin ich richtig in der Annahme, dass SIGPIK-Geräte nicht betroffen sind? Das kommt darauf an, ob der SIGPIK-Server oder der es dann ans Internet ankruppelt, damit er betroffen ist. Weil, das gibt es natürlich auch. Also, wenn die Bridge selbst diese Technologie zum Beispiel benutzt, dann ist es das gleiche Spiel. Weil, dann ist das Opfer nicht mehr die Glühbirne selbst, sondern eben die Bridge. Mikro-1 haben wir noch eine Frage, bitte schön. Ich hätte eine kleine Frage zu dem SmartConfig. Bei dem SmartConfig ist ja so, dass die Konfiguration über SSID und so weiter zu dem IoT, die weiß geschickt wird. Inwiefern kann ich einfach in einer, sagen wir mal, großen Bodenblock einfach selber einen Expressive-Axis-Gerät simulieren und die Informationen abgreifen, die das dann rumschickt? Man muss das gar nicht groß simulieren, weil das Protokoll ist ja auch sehr offen und im Endeffekt ist es sehr einfach, diese Aktivierungsprozesse mitzuhören und den Klartext auszugeben. Das heißt, man kann einfach die WLAN-Zugangsdaten und auch den Token sehr, sehr einfach entschlüsseln. Wir haben noch eine Frage aus dem Internet. Bitte noch die Fragestellensignal-Engel. Entschuldigung, nein, keine weitere Frage aus dem Internet. Okay, dann würde ich sagen, wir haben auf der einen noch eine Frage und dann können wir auch langsam Schluss machen. Deine Frage bitte. Es wurde ja gesagt, dass es auch deutsche Anbieter gibt, die diesen Service nutzen. Ist es dann überhaupt legal nach deutschen Datenschutzrecht, jetzt auf diesem Recht auf das Löschen von Daten? Also ich bin kein Fachmann, was es angeht. Mein Kollege hat sich damit ein bisschen mehr beschäftigt im Laufe des als ich die ganzen Sachen analysiert habe und vielleicht kriege ich ihn ja noch dazu ermutigt, dass er auch noch ein Talk darüber hält, weil da gibt es wirklich viele Sachen und ich glaube, auch da kann man sehr, sehr lange und sehr viel darüber sprechen, weil da sehr groteske Sachen auch mit in die Datenschutzbestimmung stehen. Ja, klingt nach einem interessanten Follow-up. Ja. Okay. Ist das dein Applaus?