0:00:00.000,0:00:17.250 35C3 Preroll Music 0:00:17.250,0:00:23.510 Herald: So, der nächste Talk heißt "Smart[br]Home - Smart Hacks" und ich weiß nicht wie 0:00:23.510,0:00:27.650 es euch geht, ich hab immer so ein[br]bisschen Probleme und hab mir noch gar 0:00:27.650,0:00:32.369 nichts installiert zu Hause, obwohl es[br]mich jedes Mal in den Fingern kribbelt. 0:00:32.369,0:00:37.140 Ich würd's mir so gern kaufen, es gibt so[br]tollen Kram. Aber ich traue mich nicht und 0:00:37.140,0:00:41.390 deswegen habe ich mich sehr gefreut, dass[br]ich diesen Talk heute announcen darf. 0:00:41.390,0:00:45.260 Danach weiß ich dann Bescheid. Also, hier[br]ist Michael Steigerwald und ich bitte euch 0:00:45.260,0:00:48.755 um einen großen Applaus. Vielen Dank. 0:00:48.755,0:00:57.279 Applaus 0:00:57.279,0:01:01.441 Michael Steigerwald: Hallo. Heute geht's[br]um die Glühbirne. Naja eigentlich nicht 0:01:01.441,0:01:05.210 nur um die Glühbirne, sondern es geht um[br]fast alle Smart Home Geräte die man sich 0:01:05.210,0:01:11.189 vorstellen kann, weil eigentlich in fast[br]allem das Gleiche drin steckt. Und warum 0:01:11.189,0:01:14.420 habe ich mir gerade die Glühbirne[br]ausgesucht? Das ist ganz einfach, die 0:01:14.420,0:01:17.261 Glühbirne ist so der einfachste Gegenstand[br]den man sich vorstellen kann, das ist 0:01:17.261,0:01:22.600 einfach ein Verbrauchsmaterial. Früher war[br]es einfach nur ne Glühbirne, heute muss 0:01:22.600,0:01:27.460 alles smart sein und überall muss Internet[br]drin sein und Cloud. Und wenn das sogar 0:01:27.460,0:01:31.090 schon in der Glühbirne drin ist, können[br]wir uns überlegen, wo das sonst noch 0:01:31.090,0:01:39.660 überall drin ist. Jeder hat Angst vor[br]Geräten mit Kamera und Mikrofon. Warum man 0:01:39.660,0:01:43.010 aber vielleicht auch mal schauen muss[br]welche Gefahren in so einer Glühbirne 0:01:43.010,0:01:50.070 stecken,das erfahren wir heute in meinem[br]Vortrag. Weiter geht es darum, dass es 0:01:50.070,0:01:56.590 viele IT-Cloud-Anbieter gibt, wo man ganz[br]einfach jegliches Gerät in die Cloud 0:01:56.590,0:02:01.869 bringen kann und dazu gar kein know-how[br]braucht und so einen Anbieter, den habe 0:02:01.869,0:02:05.969 ich mir ein bisschen genauer angeschaut.[br]Und mal geschaut, wie sicher das ist und 0:02:05.969,0:02:10.750 dann auch ein proof of concept[br]verschiedener Angriffszenarien gemacht und 0:02:10.750,0:02:22.920 werde euch noch sagen, welche Konsequenzen[br]das für den User hat. Genau. In der Presse 0:02:22.920,0:02:29.220 liest man ständig irgendwelche Sachen über[br]Smart Home und über die Gefahren, was da 0:02:29.220,0:02:34.160 alles passieren kann und so weiter und[br]selbst die Bundesnetzagentur hat vor 0:02:34.160,0:02:40.231 Weihnachten gewarnt vor smarten[br]Weihnachtsgeschenken. Besonders vor 0:02:40.231,0:02:47.140 Kameras und Geräten mit Mikrofonen drin.[br]Und weil eben Weihnachten war hab ich 0:02:47.140,0:02:50.340 gedacht, ich habe auch noch eine smarte[br]Glühbirne die ich jetzt einfach mal 0:02:50.340,0:02:55.280 irgendjemandem hier vorne schenken möchte.[br]Bitteschön. Sehr gut gefangen. 0:02:55.280,0:02:59.730 Applaus 0:02:59.730,0:03:04.300 Zu meiner Person: Mein Name ist Michael[br]Steigerwald. Ich bin Hard- und 0:03:04.300,0:03:09.670 Softwareentwickler. Besonders bin ich[br]tätig im Bereich Security Research und 0:03:09.670,0:03:15.030 habe Mitte des Jahres ein Startup[br]gegründet die VTRUST GmbH, bei der wir uns 0:03:15.030,0:03:22.030 auch um IT-Sicherheit kümmern. Die[br]Motivation zu meinem Vortrag war so, dass 0:03:22.030,0:03:28.270 ein Kunde auf uns zukam, der sein smartes[br]Gerät an die Cloud anbinden wollte und 0:03:28.270,0:03:31.770 gesagt hat: Das ist nicht unsere[br]Expertise. Wir kennen uns mit unserem 0:03:31.770,0:03:35.510 Produkt aus, aber nicht mit der Cloud und[br]nicht mit der Sicherheit, die damit 0:03:35.510,0:03:39.820 verbunden ist und hat gefragt, ob wir[br]denen helfen können das in die Cloud 0:03:39.820,0:03:43.930 anzubinden. Und wie man das natürlich[br]immer so macht, man schaut sich mal um. 0:03:43.930,0:03:47.380 Was gibt's so? Gibt es schon fertige[br]Lösungen? Gibt's irgendwas im Markt was 0:03:47.380,0:03:53.730 man dafür benutzen kann? Und da bin ich[br]auf einen Anbieter gestoßen der ganz 0:03:53.730,0:03:59.260 tolle, ja, der über 11.000 verschiedene[br]Produkte schon in die Cloud gebracht hat. 0:03:59.260,0:04:05.730 Mit über 10 000 Herstellern und das in 200[br]Ländern und mit über 20 Milliarden 0:04:05.730,0:04:15.170 Requests am Tag. Die Versprechen dieses[br]Herstellers sind auch sehr groß, also er 0:04:15.170,0:04:19.150 spricht von rapid development und dass man[br]schon in sechs Stunden eine Demo haben 0:04:19.150,0:04:23.170 kann und die Massenproduktion auch schon[br]nach 15 Tagen starten kann. Das hört sich 0:04:23.170,0:04:27.150 sehr wenig an, aber tatsächlich habe ich[br]mir das ein bisschen angeguckt und ist es 0:04:27.150,0:04:33.820 auch wirklich so. Man kann sehr schnell[br]seine Geräte mit der Technik ins Internet 0:04:33.820,0:04:38.970 bringen. Und was mir noch sehr gefallen[br]hat natürlich, war, dass sie Military- 0:04:38.970,0:04:48.020 Grade security versprechen und dazu kommen[br]wir später nochmal. So, der erste Schritt 0:04:48.020,0:04:52.310 ist, man meldet sich an. Das geht in fünf[br]Minuten und danach kann man schon anfangen 0:04:52.310,0:04:59.110 und kann seine Geräte anlegen oder aus[br]einem großen Portfolio auswählen. Eine OEM 0:04:59.110,0:05:04.350 App zu installieren ist auch ganz einfach.[br]Man kann einfach die vorhandene App mit 0:05:04.350,0:05:08.230 seinen Logos personalisieren und seinen[br]Farben und hat die dann innerhalb 0:05:08.230,0:05:15.630 kürzester Zeit im Internet und in den Play[br]Stores und Apple Store. Das war vor einem 0:05:15.630,0:05:18.722 halben Jahr noch kostenlos. Jetzt kostet[br]es 1.500 Dollar oder so in dem 0:05:18.722,0:05:24.330 Preisrahmen, aber für das Geld kann man[br]definitiv keine App programmieren. Wenn 0:05:24.330,0:05:29.800 man das gemacht hat, kann man einfach[br]fertige Module bestellen und oder auch 0:05:29.800,0:05:35.500 direkt fertige Geräte. Also zum Beispiel[br]auch diese Glühbirnen kann man direkt 0:05:35.500,0:05:42.970 bestellen, sein eigenes Label drauf[br]drucken und ist danach IoT-Anbieter. 0:05:42.970,0:05:51.330 Genau. So. Jetzt hab ich bei dem[br]Durchklicken in diesem Webformular aber 0:05:51.330,0:05:55.740 auch eine Seite gefunden, die mich ein[br]bisschen stutzig gemacht hat. Zwar gab's 0:05:55.740,0:06:04.180 Firmware-updates und da gab es die Punkte[br]Silent Upgrade und Forced Upgrade. Wo ich 0:06:04.180,0:06:09.180 gedacht habe, okay, ja, wie macht man ein[br]upgrade an einer Glühbirne? Generell geht 0:06:09.180,0:06:12.310 es vielleicht über die App oder sowas,[br]aber was da wirklich in der Glühbirne 0:06:12.310,0:06:16.780 passiert, das weiß ja niemand. Und ich[br]hatte mir zwar schon 20 Module zum Spielen 0:06:16.780,0:06:21.370 bestellt, aber bis die aus Fernost[br]geliefert werden, dachte ich mir, ich 0:06:21.370,0:06:26.060 nehme einfach mal einen großen[br]Versandanbieter, die liefern am Folgetag 0:06:26.060,0:06:33.460 und hab mir mal verschiedene Glühbirnen[br]und auch smarte Steckdosen bestellt. 0:06:33.460,0:06:41.650 Genau. Dann: Wie funktioniert das? Das ist[br]ganz einfach. Man registriert die 0:06:41.650,0:06:47.930 Glühbirne mit seinem Handy. Das geht ganz[br]schnell. Man bringt ihn in den 0:06:47.930,0:06:54.620 Einrichtungsmodus und danach wird die[br]Konfiguration übertragen und die Glühbirne 0:06:54.620,0:06:59.310 verbindet sich dann selbst mit der Cloud[br]des Herstellers über HTTP und MQTT. Und 0:06:59.310,0:07:06.380 schon kann man sie aus- und anschalten.[br]Weil jetzt immer wieder MQTT fällt und das 0:07:06.380,0:07:10.889 vielleicht nicht jedem ein Begriff ist:[br]MQTT ist ein Message Queuing Telemetry 0:07:10.889,0:07:17.080 Transport Protocol. Das ist eigentlich,[br]wird es in jedem IoT-Gerät verwendet. Das 0:07:17.080,0:07:23.750 ist einfach ein Protokoll, wie man eine[br]Lampe, die irgendwo im privaten Netzwerk 0:07:23.750,0:07:31.090 ist von außen auch steuern kann. Das[br]heißt, die Lampe selbst verbindet sich mit 0:07:31.090,0:07:39.410 dem MQTT-Broker und kann danach, ja, Daten[br]an Geräte pushen wie den Zustand oder kann 0:07:39.410,0:07:46.000 auch darüber geschaltet werden. So, jetzt[br]war der erste Punkt: Was steckt denn da 0:07:46.000,0:07:49.520 überhaupt drin? Ich habe mal ein paar[br]verschiedene aufgemacht. Eigentlich hab 0:07:49.520,0:07:54.290 ich immer so ein ESP8266 gefunden. Der[br]wird den meisten hier bekannt sein. Das 0:07:54.290,0:07:59.540 ist ein sehr, sehr günstiger 32-Bit[br]Prozessor mit einem WLAN integriert und es 0:07:59.540,0:08:05.300 war 1 MB Flash drin und der ist auch sehr,[br]sehr einfach auslesbar. Das heißt, ich 0:08:05.300,0:08:11.830 habe einfach die fünf Lötstellen, also[br]fünf Lötpunkte, gesetzt und hab den mal an 0:08:11.830,0:08:15.590 einen seriellen Port gehängt. Und dann[br]kann man das mit dem esp tool einfach 0:08:15.590,0:08:22.740 auslesen und hat ein Binary, ja, die[br]Firmware. Was sehr wichtig ist, ist, dass 0:08:22.740,0:08:30.430 man da aufpasst, dass die Produzenten aus[br]Fernost es nicht immer so mit der 0:08:30.430,0:08:37.070 Bezeichnung halten. Das heißt, es kann[br]auch mal auf dem DC-Ground eine Phase sein 0:08:37.070,0:08:42.689 und das musste ich auch schmerzlich mal[br]feststellen. Also ganz wichtig: Achtung, 0:08:42.689,0:08:50.749 230 Volt. So. Das Flash hab ich jetzt[br]ausgelesen. Generell ist es so, das hat 0:08:50.749,0:08:54.350 verschiedene Partitionen, erst einmal ein[br]Bootloader, der an Stelle 0 sitzt. Und 0:08:54.350,0:08:58.930 dann gibt's zweimal zwei user Partitions,[br]in denen die Firmware sitzt. Das liegt 0:08:58.930,0:09:03.379 daran, dass es eine Upgrade-Funktionalität[br]gibt und wenn dann z.B. user 1 gebootet 0:09:03.379,0:09:08.089 ist, kann user 2 überschrieben werden und[br]umgedreht und dann gibt es noch eine 0:09:08.089,0:09:13.829 Konfigurationspartition, bei der, ja, die[br]Konfiguration erhalten bleibt, auch bei 0:09:13.829,0:09:22.850 einem Upgrade. Und was mir dann[br]aufgefallen ist, ist, dass mein WLAN-SSID 0:09:22.850,0:09:30.130 und mein Passwort unverschlüsselt in der[br]Konfigurationspartition abgelegt sind. So 0:09:30.130,0:09:35.649 viel nochmal zum Thema Military-Grade[br]security. Man kann auch denken: Ja, was 0:09:35.649,0:09:39.740 ist jetzt da so schlimm daran? Aber ich[br]kenne Leute, die benutzen solche 0:09:39.740,0:09:43.300 Glühbirnen in ihrem Garten zu Hause. Da[br]kann der Nachbar einfach mal die Glühbirne 0:09:43.300,0:09:50.110 holen und weiß danach die WLAN Passwörter.[br]Und es gibt noch mehrere Anwendungsfälle 0:09:50.110,0:09:53.029 wo das eigentlich nicht so sein sollte und[br]es gibt eigentlich überhaupt keinen Grund 0:09:53.029,0:09:58.910 sowas unverschlüsselt im Flash abzulegen.[br]Des Weiteren habe ich noch diverse Keys 0:09:58.910,0:10:05.300 gefunden und Schlüssel. Also einmal zum[br]Beispiel ist die Seriennummer die drin 0:10:05.300,0:10:10.810 liegt, die bildet sich auch aus der MAC-[br]Adresse und noch ein Prefix, dann gibts 0:10:10.810,0:10:16.029 den AUZ-Key, das ist ein Schlüssel der[br]verwendet wird, dass der Hersteller weiß 0:10:16.029,0:10:22.399 oder der Cloud-Anbieter weiß, dass es auch[br]ein wirkliches Modul von ihm ist. Und dann 0:10:22.399,0:10:28.619 gibts noch eine Product ID. Diese Product[br]ID wird generiert beim Anlegen des 0:10:28.619,0:10:33.390 Produkts in der Cloud. Das heißt, vorhin[br]hab ich diese Oberfläche gezeigt, wo man 0:10:33.390,0:10:38.339 einfach Produkte anlegen kann. Und wenn[br]ich die anlege, wird diese Produkt ID 0:10:38.339,0:10:41.089 generiert und die wird danach vom[br]Hersteller in das Modul rein programmiert. 0:10:41.089,0:10:46.610 Es gibt auch noch einen local Key und[br]einen sec Key, also der wurde auch genau 0:10:46.610,0:10:51.629 so genannt in dem Jason-File im Flash. Die[br]sind für die Verschlüsselung und 0:10:51.629,0:10:58.790 Signierung von der Kommunikation[br]zuständig. Da ich jetzt ja eigentlich nur 0:10:58.790,0:11:04.459 gekaufte Produkte von einem Fremdanbieter[br]hatte, hab ich mir überlegt: Wie kann ich 0:11:04.459,0:11:08.830 das denn kapern? Und das Einzigste was mir[br]eingefallen ist, das Erste war, ich 0:11:08.830,0:11:14.730 schreib doch mal ins Flash an der Stelle wo[br]die Product ID steht, meine Product ID 0:11:14.730,0:11:20.259 rein und danach musste man noch die[br]Checksumme korrigieren - das geht auch mit 0:11:20.259,0:11:24.899 dem esp tool, oder die standard esp-[br]Checksumme - und hab's zurück geflasht in 0:11:24.899,0:11:32.540 die Glühbirne und siehe da: Die gekaufte[br]Glühbirne war in meinem Account. Jetzt hat 0:11:32.540,0:11:38.230 es mich doch sehr verwundert, dass ich[br]direkt gesehen habe, dass... ach ja genau: 0:11:38.230,0:11:42.579 auch nochmal soviel zum Thema Military-[br]Grade security. Aber mich hat sehr 0:11:42.579,0:11:49.470 verwundert, warum da die E-Mail-Adresse,[br]die ich zum Registrieren benutzt habe mit 0:11:49.470,0:11:54.139 drinsteht in der Sache. Und dann habe ich[br]gesehen, dass wenn man auf die Details 0:11:54.139,0:12:00.360 geht, gibt's noch viel mehr Informationen.[br]Also es steht die binding E-Mail-Adresse 0:12:00.360,0:12:05.339 drin mit den Seriennummern und so weiter.[br]Wobei das auch sehr oft eine Handynummer 0:12:05.339,0:12:10.160 ist, wenn man sich mit dem Handy[br]registriert hat. Oder es stehen zum 0:12:10.160,0:12:15.709 Beispiel auch die Koordinaten drin und wo[br]man sich befindet. Jetzt weiß ich nicht, 0:12:15.709,0:12:22.079 warum der Hersteller oder der Reseller von[br]meiner Glühbirne wissen muss, wo die 0:12:22.079,0:12:29.569 eingesetzt wird. Aber dafür gibts[br]wahrscheinlich auch Gründe. Die Anschalt- 0:12:29.569,0:12:36.720 und Ausschaltvorgänge: weiß auch jeder[br]wann wer zuhause ist und schaltet. Das 0:12:36.720,0:12:41.519 bekommt auch jeder raus. Und standardmäßig[br]bekommt man nur 7 Tage Logs seiner Kunden. 0:12:41.519,0:12:48.620 Wenn man aber mehr will, muss man einfach[br]nur fragen. Dann gibt es noch schöne 0:12:48.620,0:12:54.100 Auswertungen, wo man sieht, wie viele[br]Kunden wann welche Geräte aktiviert haben, 0:12:54.100,0:13:01.050 dass man einfach den Markt besser nutzen[br]kann. Für mich war das ein bisschen 0:13:01.050,0:13:06.139 komisch und meine Kundennachfrage war[br]eigentlich auch so, dass es gerade darum 0:13:06.139,0:13:11.240 ging, den Kunden und seine Daten zu[br]schützen. Und weil ich überhaupt keine 0:13:11.240,0:13:15.410 Ahnung habe, wer auf die Daten alles[br]zugreifen kann, habe ich doch einfach mal 0:13:15.410,0:13:20.790 an den Hersteller eine E-Mail geschrieben[br]und hab gefragt, ob man deren Technik auch 0:13:20.790,0:13:25.970 benutzen kann, ohne dass die Daten an die[br]Cloud geschickt werden. Weil, wie gesagt, 0:13:25.970,0:13:30.800 auch für meinen Kunden nicht gut ist, wenn[br]die Koordinaten seiner Kunden in der Cloud 0:13:30.800,0:13:39.440 gespeichert werden. Die Antwort war: Nein.[br]Also es ist nicht möglich diese ... Ja 0:13:39.440,0:13:46.709 ...IoT-Geräte ohne die Cloud, nein ohne[br]die Daten zu betreiben. Und sie haben mir 0:13:46.709,0:13:53.689 aber versichert, sie beschützten die Daten[br]"sehr gut". Und was sie auch noch gemacht 0:13:53.689,0:13:58.829 haben in diesem Kontext war: sie haben mir[br]direkt noch ein Dokument mitgeschickt, das 0:13:58.829,0:14:06.119 mir zeigt, wie ich die Nutzerdaten besser[br]für mich ausnutzen kann. Vom Prinzip ist 0:14:06.119,0:14:10.019 es so, dass in den Apps immer[br]Datenschutzrichtlinien drin sind, die sind 0:14:10.019,0:14:15.940 aber sehr, sehr ... erstens mal lang und[br]auch verwirrend. Und wenn ich jetzt da 0:14:15.940,0:14:19.149 drüber sprechen würde, bräuchte ich noch[br]eine Stunde länger. Das heißt, da könnten wir 0:14:19.149,0:14:22.119 nochmal einen kompletten anderen Talk[br]draus machen und da will ich jetzt nicht 0:14:22.119,0:14:30.560 weiter darauf eingehen. Das[br]Bundesministerium für Sicherheit hat einen 0:14:30.560,0:14:34.991 Lagebericht zur IT-Sicherheit 2018[br]rausgebracht und hat dann das in 0:14:34.991,0:14:42.879 verschiedene Gefährdungslagen aufgeteilt.[br]Erstens: die Gefährdungslage, wo der User 0:14:42.879,0:14:48.290 der IoT-Geräte das Ziel ist und den[br]Schaden hat. Und da gibt es Punkte wie die 0:14:48.290,0:14:53.949 Manipulation von Daten, das Ausspähen von[br]Daten, Sabotage und IoT-Geräte als 0:14:53.949,0:15:00.940 Hintertür. Und als zweite Gefährdungslage[br]hat er die Gefährdungslage genannt, bei 0:15:00.940,0:15:06.160 der andere Personen dadurch zu Schaden[br]kommen können, wie zum Beispiel der Aufbau 0:15:06.160,0:15:10.019 von Bot-Netzwerken, Identitäts-[br]Verschleierung, Crypto-Mining, Klick- 0:15:10.019,0:15:15.399 Betrug bei Werbebannern und so weiter. Und[br]ich muss sagen, das sind die 0:15:15.399,0:15:20.999 Gefährdungslagen die das BSI genannt hat,[br]die sind alle mit der Glühbirne machbar. 0:15:20.999,0:15:24.910 Crypto-Mining ist zwar ein bisschen[br]schlecht, weil die Performance nicht 0:15:24.910,0:15:33.880 ausreichend ist aber theoretisch würde das[br]auch funktionieren. Jetzt habe ich mal mir 0:15:33.880,0:15:38.740 überlegt, was könnte denn ein mögliches[br]Angriffs-Szenario sein beim Benutzen einer 0:15:38.740,0:15:44.129 Glühbirne. Und generell ist es ja so, dass[br]die Glühbirne als Netzwerk-Teilnehmer auf 0:15:44.129,0:15:48.859 das komplette, lokale Netzwerk zugreifen[br]kann und auch ganz oft auf Urlaubsbilder 0:15:48.859,0:15:52.449 und so weiter oder auch irgendwelche[br]anderen Daten durch ARP-Spoofing und so 0:15:52.449,0:16:01.600 weiter abgreifen könnte und dann einfach[br]zu einem Server nach außen schicken kann. 0:16:01.600,0:16:07.600 Und das hab ich auch dann gemacht. Also[br]vom Prinzip die erste Idee war: Ich hab 0:16:07.600,0:16:11.160 mir einfach mal die WLAN Daten selbst[br]rausgeschickt und hab das mit reingemacht 0:16:11.160,0:16:19.839 und das funktioniert ohne Probleme. So,[br]ganz kurz zwischendurch: Jeder kann 0:16:19.839,0:16:22.420 Hersteller und Reseller werden. Also es[br]geht wirklich innerhalb von fünf Minuten 0:16:22.420,0:16:26.199 oder man kann auch irgendwelche Geräte[br]kaufen, kann die mit der eigenen Produkt- 0:16:26.199,0:16:32.400 ID verbinden und dann hat man sie in der[br]eigenen Cloud, um auf die Daten komplett 0:16:32.400,0:16:37.600 zugreifen zu können. Und danach kann[br]wirklich der Cloud-Anbieter selbst kann 0:16:37.600,0:16:41.040 auf die Daten zugreifen, der Hersteller[br]und auch die Lieferanten, wenn die das 0:16:41.040,0:16:46.290 wollen Die haben alle auch Zugriff auf die[br]Firmware. Man kann die Firmware auch 0:16:46.290,0:16:52.360 während des Betriebes ändern und ganz[br]schlimm natürlich ist, dass dann auf alle 0:16:52.360,0:16:57.309 User-Daten zugreifen kann. Und das[br]Datensammeln ist wirklich in einem extrem 0:16:57.309,0:17:02.579 hohen Ausmaß: also mit Koordinaten und so[br]weiter; das muss eigentlich bei der 0:17:02.579,0:17:06.699 Glühbirne alles gar nicht sein. Das[br]Datensammeln kann nicht abgestellt werden, 0:17:06.699,0:17:13.780 wurde mir ja gesagt, weil es, ja, nicht[br]möglich ist. Und ja auch ein großer Punkt. 0:17:13.780,0:17:17.799 Das heißt: Eigentlich kann man als[br]deutscher Hersteller solche Anbieter 0:17:17.799,0:17:22.069 überhaupt nicht verwenden. Das[br]Inverkehrbringen von solchen Geräten ist 0:17:22.069,0:17:26.800 auch sehr einfach: Man kann die ganz einfach[br]verkaufen: Man kann sich viele kaufen und 0:17:26.800,0:17:31.500 die Retouren zurückgehen lassen. Man kann[br]... im Gebrauchtmarkt muss man sehr 0:17:31.500,0:17:35.121 aufpassen ,weil man nie weiß was drin ist.[br]Und der junge Herr zum Beispiel hat von 0:17:35.121,0:17:40.309 mir eine geschenkt bekommen. Das ist[br]natürlich noch eine andere Möglichkeit 0:17:40.309,0:17:48.950 auch, solche Geräte in den Verkehr zu[br]bringen. Jetzt war eigentlich für mich die 0:17:48.950,0:17:53.919 Arbeit beendet, weil meinem Kunden konnte[br]ich natürlich nicht mehr helfen oder nicht 0:17:53.919,0:18:00.230 sagen, okay wir nehmen einen tollen[br]Military-Grade Anbieter aus Fernost, 0:18:00.230,0:18:04.480 sondern wir müssen was Eigenes machen.[br]Trotzdem hatte ich eine eigene, neue 0:18:04.480,0:18:08.370 Motivation. Und zwar erstens mal, ist es[br]denn möglich, diese ganzen Geräte, wie sie 0:18:08.370,0:18:14.610 alle hier sind, auch ohne die Cloud zu[br]betreiben. Und zweitens wollte ich 0:18:14.610,0:18:21.269 natürlich auch noch mal den wirklichen[br]Proof of Concept von dem Trojaner haben. 0:18:21.269,0:18:27.360 Und das heißt es ging jetzt für mich[br]nochmal eine Runde weiter. So, dafür habe 0:18:27.360,0:18:32.460 ich mir ein kleines Testsetup aufgebaut.[br]Ich habe einfach einen Raspberry Pi mit 0:18:32.460,0:18:36.870 einem Kali Linux benutzt und da einen[br]Software-Access Point laufen lassen, einen 0:18:36.870,0:18:43.470 hostapd. Dann brauchte ich meine eigenen[br]DNS-Server, um auch Anfragen umleiten zu 0:18:43.470,0:18:49.660 können. Hab den eigenen HTTP-Server[br]gebraucht, Und den MQTT-Broker und zum 0:18:49.660,0:18:54.180 Analysieren habe ich Wireshark benutzt und[br]man-in-the-middle-Attacken mit bettercap 0:18:54.180,0:19:00.100 gemacht. Ja, dann ging es erst einmal zur[br]Netzwerkanalyse, Ich habe mir erst einmal 0:19:00.100,0:19:05.320 angeguckt, was geht denn da rein und raus[br]auf der Netzwerk Seite. Es ist ganz 0:19:05.320,0:19:09.700 einfach. Es gibt eigentlich drei Sachen:[br]Es gibt DNS-Requests. Es gibt HTTP 0:19:09.700,0:19:15.150 Anfragen. Die sind eigentlich meistens[br]unverschlüsselt bzw. auch die wichtigen 0:19:15.150,0:19:21.330 Sachen, die zum Beispiel Schlüssel[br]enthalten, sind dann unverschlüsselt. Und 0:19:21.330,0:19:27.769 MQTT ist auch vorhanden und verschlüsselt.[br]Aber es wird auch, wenn in der Lampe 0:19:27.769,0:19:39.941 selbst https und die MQTTs implementiert[br]sind, einfach nicht benutzt. Und das ist 0:19:39.941,0:19:43.390 wieder "sehr sicher". Wie gesagt, in dem[br]Feld. man sieht es hier nicht, aber da ist 0:19:43.390,0:19:51.110 auch der local Key in clear drin, in der[br]Anfrage. Und dann habe ich eine kleine 0:19:51.110,0:19:55.580 Crypto Analyse gemacht, um auch zu sehen[br]was sonst noch so alles in den 0:19:55.580,0:20:01.370 verschlüsselten Nachrichten drin steckt[br]und dadurch dass der ESP verwendet wird 0:20:01.370,0:20:07.520 und diesen Tensilica XTENSA Core hat, ist[br]das Disassemblieren sehr mühselig von dem 0:20:07.520,0:20:11.929 Binary, weil es eben keine guten Plugins[br]gibt und auch keine guten Disassembler. 0:20:11.929,0:20:17.740 Und dann hab ich mich mal ein bisschen[br]umgeschaut. Und es gibt von dem Cloud- 0:20:17.740,0:20:23.440 Anbieter eine sehr gute API Dokumentation,[br]die zwar auch sehr viele Fehler hat, aber 0:20:23.440,0:20:27.380 da drin sind auch sehr wichtige Teile wie[br]Verschlüsselungen teilweise dokumentiert. 0:20:27.380,0:20:33.740 Und es gibt noch ein SDK das habe ich[br]angefragt aber bevor ich es geschickt 0:20:33.740,0:20:36.759 bekommen habe, habe ich es auch im Internet[br]gefunden, ist eigentlich auch öffentlich 0:20:36.759,0:20:43.690 zugänglich und mit dem SDK waren pre-[br]compiled Libraries drin, die ich dann auch 0:20:43.690,0:20:47.740 analysieren konnte und wenn ich meine[br]eigene Firmware damit kompiliert habe, 0:20:47.740,0:20:52.639 hatte ich ein Sample Output und brauchte[br]kein wirkliches Disassembling. Das 0:20:52.639,0:21:00.110 Ergebnis der Crypto-Analyse war, dass ich[br]dann in einem kleinen 60 Zeilen Skript ja 0:21:00.110,0:21:05.740 alle verwendeten Verschlüsselungen drin[br]hatte und es wird eigentlich nur ein 0:21:05.740,0:21:13.029 AES-128 verwendet mit dem Local Key und[br]die MD5 Check-Summe teilweise über gewisse 0:21:13.029,0:21:18.750 Teile davon gebildet, auch als Sicherheit[br]und signiert werden die Daten auch mit 0:21:18.750,0:21:29.200 einem MD5. So, dann hab ich erst mal[br]geguckt wie funktioniert denn so eine 0:21:29.200,0:21:33.139 Registrierung. Also die Registrierung[br]selbst einer Lampe an der Cloud 0:21:33.139,0:21:40.750 funktioniert so, dass die Mobile-App einen[br]Token anfragt an der Cloud, schickt den 0:21:40.750,0:21:48.490 über Morse Protokoll namens SmartConfig[br]mit den Wifi-Credentials zur Lampe, die 0:21:48.490,0:21:56.240 meldet sich im WLAN an und schickt dann[br]den Token zurück an die Cloud und bekommt 0:21:56.240,0:22:06.130 die MQTT-Login Daten und fragt nach der[br]Activation. Das ist eine HTTP-Anfrage 0:22:06.130,0:22:11.470 auch, bei der dann der Local Key und der[br]Security Key in clear zurückkommen. Der 0:22:11.470,0:22:16.090 Local Key geht auch zur App und danach[br]kann sich die Lampe anmelden an der Cloud 0:22:16.090,0:22:25.529 und kommuniziert weiterhin mit der Cloud[br]und kann verwendet werden. Was mich viel 0:22:25.529,0:22:29.580 mehr interessiert hat war das Upgrade weil[br]ich ja eigentlich meine eigene Firma 0:22:29.580,0:22:35.399 reinbringen wollte und dazu hatte[br]ich eine Lampe, die hat eine neue 0:22:35.399,0:22:42.120 Firmware, ein Firmware-Upgrade gehabt und[br]das funktioniert im Endeffekt so, auf dem 0:22:42.120,0:22:47.429 Handy wird gefragt, ob das Upgrade[br]durchgeführt werden soll. Dann wird ein 0:22:47.429,0:22:51.710 Trigger ausgelöst und der Trigger wird an[br]die Lampe gesendet und die Lampe fragt 0:22:51.710,0:23:01.260 über HTTP, wo gibt's die neue Firmware und[br]welche Version hat die, und so weiter. 0:23:01.260,0:23:06.620 Dann lädt sich die Lampe einfach von einem[br]HTTP-Server das Binary und installiert es 0:23:06.620,0:23:13.130 in die nicht genutzte User Partition. Für[br]mich war es ganz einfach, ich habe mir als 0:23:13.130,0:23:20.769 allererstes mal einen eigenen MQTT-Server[br]genommen und hab dann versucht das Trigger 0:23:20.769,0:23:27.669 selbst zu generieren. Und danach habe ich[br]mit einer Man-in-the-Middle Attack den HTTP 0:23:27.669,0:23:31.500 Request verändert und hab der Glühbirne[br]eben gesagt, dass sie von meinem eigenen 0:23:31.500,0:23:38.389 Server die Firmware laden soll.[br]Funktionieren tut das ganz einfach so, der 0:23:38.389,0:23:43.610 eigene MQTT-Server wird benutzt. Dafür[br]musste ich einfach den DNS-Server 0:23:43.610,0:23:50.840 umbiegen, dass eben nicht mehr auf den[br]MQTT-Server des Cloud Anbieters geschaut 0:23:50.840,0:23:56.679 wird sondern auf meinen Lokalen. Man sieht[br]dass sich die Lampe anmeldet und 0:23:56.679,0:24:05.299 irgendwelche Nachrichten ausgetauscht[br]werden. Das Nächste war eigentlich so das 0:24:05.299,0:24:12.210 kniffligste. Das war der Upgrade-Trigger,[br]den hab ich erst mal analysiert, der kommt 0:24:12.210,0:24:16.690 tatsächlich verschlüsselt und wurde dann[br]entschlüsselt mit einem Local Key und dann 0:24:16.690,0:24:23.289 hat man darin gesehen dass das Protokoll[br]15 quasi das Upgrade triggert und man kann 0:24:23.289,0:24:29.690 sich dann einfach mit meinen Skripts die[br]Trigger generieren. Beim Timestamp der 0:24:29.690,0:24:33.570 verwendet wird ist es auch so, dass es die[br]Lampe sehr sehr gnädig ist. Der kann auch 0:24:33.570,0:24:36.659 gerne mal ein bisschen älter sein oder man[br]kann das auch öfter verwenden. Das 0:24:36.659,0:24:45.700 funktioniert dann auch immer wieder und so[br]konnte man einfach über den Moskito Befehl 0:24:45.700,0:24:50.320 das Upgrade triggern. Ja, ich habe dann[br]noch ein bisschen automatisiert, dass 0:24:50.320,0:24:56.340 alles mit einem Klick passiert quasi, das[br]hab ich auch eigentlich gemacht für euch 0:24:56.340,0:24:59.340 alle, weil ich es dann später alles[br]veröffentlichen werde. 0:24:59.340,0:25:07.259 Applaus 0:25:07.259,0:25:12.360 Punkt war das Ändern der Upgrade-Quelle;[br]hierzu habe ich ein fertiges Tool benutzt 0:25:12.360,0:25:19.419 das heißt bettercap; damit kann man HTTP-[br]Requests einfach in Realtime ändern. Und 0:25:19.419,0:25:26.009 da ich ja eh Kali Linux als Access Point[br]benutzt habe, konnte ich auch relativ gut 0:25:26.009,0:25:33.110 dran und habe quasi dann in die URL und in[br]den MD5 einfach die Daten meiner neuen 0:25:33.110,0:25:42.600 Firmware geschrieben. Und das geht auch[br]mit ein paar kleinen Skripts. Das heißt, 0:25:42.600,0:25:49.669 man gibt an, dass er irgendwelche fertigen[br]Strings in den HTTP-Replies sucht und dann 0:25:49.669,0:25:54.600 einfach ersetzt und danach ging es[br]eigentlich nur noch darum einen eigenen 0:25:54.600,0:26:02.500 HTTP-Server zu installieren und die Lampe[br]hat nach dem Upgrade Trigger das Binary 0:26:02.500,0:26:10.110 von meinem Server gezogen. Ja, jetzt[br]geht's noch zum Thema eigene Firmware. Ich 0:26:10.110,0:26:17.480 habe euch ja schon gesagt - ach genau -[br]die hab ich ja schon erwähnt, dass ich da 0:26:17.480,0:26:21.299 verschiedene Versionen machen wollte unter[br]anderem die eine die eigentlich nur das 0:26:21.299,0:26:26.659 WLAN Passwort mal raus pusht. Und dann hab[br]ich die einfach mal eingespielt. Generell 0:26:26.659,0:26:29.710 ist es so, ich hab jetzt hier verschiedene[br]Terminal Windows auf, das kann man 0:26:29.710,0:26:34.779 natürlich noch alles vereinfachen, ganz[br]oben in der ersten Zeile sehen wir den 0:26:34.779,0:26:40.980 Access Point, dann den Moskito Server auf[br]der anderen Seite, hab ich ein HTTP-Server 0:26:40.980,0:26:46.011 gestartet auf dem mein Binary liegt und[br]ein Script, das mir alle Kommandos in 0:26:46.011,0:26:54.220 Realtime entschlüsselt. Dann gibt's noch[br]das bettercap, das eben die Anfragen 0:26:54.220,0:27:00.080 verändert und unten rechts sehen wir ein[br]Terminal, in dem wir eigentlich nur die 0:27:00.080,0:27:07.909 die seriellen Ausgaben der Lampe sieht und[br]die hab ich jetzt gestartet und danach 0:27:07.909,0:27:14.680 sende ich mit dem letzten Befehl unten[br]noch einfach mal den Trigger Request. Und 0:27:14.680,0:27:23.809 dann sollte man sehen wie die, ja genau[br]jetzt kommt der Request und jetzt kommen 0:27:23.809,0:27:29.080 überall Anfragen und die Lampe bootet neu[br]und es ist eine neue Firmware drauf, also 0:27:29.080,0:27:39.409 geht ganz schnell. Genau so jetzt ging es[br]um die Firmware, die draufgeht. Ich habe 0:27:39.409,0:27:44.570 euch gesagt, ich wollte ein Proof-of-[br]Concept machen von einem Trojaner. Was 0:27:44.570,0:27:48.279 macht der Trojaner? Ganz einfach, der[br]verbindet sich zu meinem eigenen Server 0:27:48.279,0:27:54.190 der irgendwo extern im Internet steht,[br]schickt die WLAN Credentials und öffnet 0:27:54.190,0:28:00.299 noch einen Reverse Tunnel über den ich[br]dann zurück in das lokale Netzwerk gehe. 0:28:00.299,0:28:04.340 Der agiert bei mir in meiner[br]Implementation einfach als HTTP oder Socks 0:28:04.340,0:28:10.799 Proxy, d.h. man kann einfach irgendeinen[br]Browser nehmen, gibt die von meinem 0:28:10.799,0:28:19.710 externen Server die IP-Adresse ein und den[br]Port und ist dann im lokalen Netzwerk des 0:28:19.710,0:28:25.260 Lampenbetreibers. Das Ganze war mir noch[br]sehr wichtig, dass es transparent ist, 0:28:25.260,0:28:30.659 d.h. der Nutzer der Lampe bekommt das[br]überhaupt nicht mit und die ganz normale 0:28:30.659,0:28:36.510 Lampenfunktion ist noch genauso gegeben[br]wie vorher. Hier habe ich auch eine kleine 0:28:36.510,0:28:42.799 Demo davon. Oben habe ich wieder das[br]Terminal der Lampe selbst; dann hab ich 0:28:42.799,0:28:48.370 mal auf meinem Server selbst einen Proxy[br]Forwarder, ist auch ein kleines Python 0:28:48.370,0:28:55.211 Script, und unten hab ich irgendwo im[br]Internet dann einen Rechner, das sehen wir 0:28:55.211,0:29:00.279 jetzt gleich. Dann hab ich einfach mal[br]eine IP-Abfrage gemacht. Genau. Jetzt 0:29:00.279,0:29:07.919 verbindet sich die Lampe zu meinem Server[br]und ich mache unten eine Abfrage der IP, 0:29:07.919,0:29:13.620 dass ist also die externe IP, ist in dem[br]Fall 213 irgendwas; jetzt mache ich das 0:29:13.620,0:29:22.639 Gleiche mit dem Proxy, genau da habe ich[br]jetzt einfach meinen eigenen Proxy noch 0:29:22.639,0:29:26.830 mit reingesetzt und sehe auf einmal dass[br]bei der Lampe selbst die Anfrage kommt und 0:29:26.830,0:29:33.419 auf einmal die lokale IP der Lampe[br]gesendet wird, und dann wollte ich noch 0:29:33.419,0:29:40.249 zum Test mal im internen Netzwerk was[br]zugreifen und habe jetzt einfach mal auf 0:29:40.249,0:29:47.639 fritz.box eine Abfrage gestellt und konnte[br]somit sehen dass in dem Netzwerk auch eine 0:29:47.639,0:29:56.259 Fritzbox drin ist. Also das heißt, man[br]kann mit dem Proxy nicht nur den Internet 0:29:56.259,0:30:01.610 Account des Opfers benutzen für Bot-Netze[br]und so weiter, oder für alles andere, 0:30:01.610,0:30:04.539 sondern man kann sich ja auch im lokalen[br]Netzwerk ganz einfach bewegen. 0:30:04.539,0:30:14.009 Applaus 0:30:14.009,0:30:21.440 Die große Frage ist: Warum ist es so[br]gefährlich? Es ist eigentlich so, man weiß 0:30:21.440,0:30:26.379 nie was in so einem Gerät drin steckt und[br]gerade auch dieser Button "Silent Upgrade" 0:30:26.379,0:30:31.289 hat mich sehr verwundern lassen und in[br]meinem Fall war es noch nicht einmal so, 0:30:31.289,0:30:35.640 dass dass zum Upgraden der Firmware der[br]Lampe irgendeine Bestätigung vom User 0:30:35.640,0:30:40.970 kommen musste oder so weiter. Das heißt[br]man, man bekommt es nicht mit und man kann 0:30:40.970,0:30:46.380 einfach Trojaner in irgendwelche Lampen[br]rein flashen und das halt auch im ganz 0:30:46.380,0:30:51.070 großen Bereich. Das heißt, wenn ich jetzt[br]20 000 Lampen verkauft hab, dann kann ich 0:30:51.070,0:30:56.149 einfach mich durch meine Web-Applikationen[br]klicken, lade das neue Binary mit dem 0:30:56.149,0:31:00.019 Trojaner hoch und gestern war es noch eine[br]sichere Lampe und morgen ist es einfach 0:31:00.019,0:31:04.990 der Trojaner und der Nutzer selbst bekommt[br]es einfach überhaupt nicht mit. Und, ja, 0:31:04.990,0:31:12.210 wie gesagt, ich habe das Flashen selbst[br]gemacht durch, durch Löten am Anfang, es 0:31:12.210,0:31:15.380 geht aber auch mit der ganz normalen Man-[br]in-the-Middle-Attack, oder der Cloud 0:31:15.380,0:31:22.629 Provider kann das einfach mit seinen ganz[br]normalen Tools jederzeit durchführen. Was 0:31:22.629,0:31:27.759 auch noch ein Thema war für mich, war[br]eben: Kann ich das Ding auch ohne Cloud 0:31:27.759,0:31:34.879 betreiben? Wenn ich jetzt so eine[br]Lampe zuhause hab, dann hab ich gedacht, 0:31:34.879,0:31:41.370 Ok, es gibt verschiedene Open Source[br]Software die auch sehr viele tolle 0:31:41.370,0:31:47.450 Funktionen haben sogar danach noch mehr[br]können und so weiter und der normale 0:31:47.450,0:31:52.289 Workflow, das zu flashen ist einfach dass[br]man wirklich die Lampe aufbricht und dann 0:31:52.289,0:31:57.299 die Kontakte anlötet und so weiter und da[br]hört bei den meisten Leuten auf. Jetzt 0:31:57.299,0:32:02.830 können wir aber auch mit der Methode wie[br]ich sie gezeigt habe natürlich auch eine 0:32:02.830,0:32:07.039 andere Firmware in die Lampe flashen um[br]sie eben ohne die Cloud betreiben zu 0:32:07.039,0:32:10.590 können. Und wie gesagt,ich werde es dann[br]auch veröffentlichen da kann dann jeder 0:32:10.590,0:32:19.809 damit machen was er möchte. Ja, zum Fazit.[br]Das Sicherheitslevel von diesen Geräten 0:32:19.809,0:32:26.820 ist tatsächlich minimal. Also es ist[br]wirklich so, dass alles was ich 0:32:26.820,0:32:33.460 probiert habe hat direkt funktioniert. Es[br]gab keinerlei Verschlüsselung von Daten 0:32:33.460,0:32:41.250 die in dem Gerät selbst abgelegt werden.[br]Die Firmware war weder signiert noch die 0:32:41.250,0:32:46.380 Updates waren signiert. Also ich kann[br]direkt Änderungen direkt daran machen. Die 0:32:46.380,0:32:52.059 Datenspeicherung ist unverschlüsselt und[br]die Datenübertragung war auch eigentlich 0:32:52.059,0:32:57.549 in den kritischsten Fällen[br]unverschlüsselt. Und da war, wo sie 0:32:57.549,0:33:06.039 verschlüsselt war es ja keine[br]Hürde. Das viel Erschreckendere jedoch ist 0:33:06.039,0:33:13.830 das große Datensammeln. Für mich ist es[br]völlig unklar warum der Hersteller und der 0:33:13.830,0:33:20.019 Reseller oder wer auch immer Zugriff auf[br]den Account hat, wissen muss wo genau 0:33:20.019,0:33:23.049 diese Lampe sich befindet und das war[br]wirklich so, dass die GPS-Koordinaten die 0:33:23.049,0:33:28.110 waren über das Handy ermittelt, bei der[br]Registrierung. Aber die waren sehr genau 0:33:28.110,0:33:34.080 und ich habe quasi den Schreibtisch an dem[br]ich gesessen habe quasi in den Koordinaten 0:33:34.080,0:33:40.020 wiedergefunden und da sehe ich keinen[br]Grund dafür. Und es ist natürlich auch 0:33:40.020,0:33:46.320 erschreckend wer alles darauf Zugriff hat.[br]Die Datenweitergabe und -Speicherung ist 0:33:46.320,0:33:53.679 auch äußerst undurchsichtig. Also es wird[br]zwar teilweise gesagt, dass die Daten mit 0:33:53.679,0:33:58.749 auch in Deutschland gehostet werden aber[br]auch jederzeit nach Fernost übertragen 0:33:58.749,0:34:04.730 werden können. Und wer wirklich darauf[br]Zugriff hat, das weiß natürlich keiner und 0:34:04.730,0:34:15.540 ist auch nicht bekannt. Und. Ja. Das große[br]Problem für mich ist, dass es die 0:34:15.540,0:34:19.360 einfachsten Verbrauchsgegenstände, weil[br]eine Glühbirne ist ja wirklich eigentlich 0:34:19.360,0:34:26.580 nur dazu da ein bisschen Licht zu machen,[br]und für mich vergleichbar zu Klopapier ein 0:34:26.580,0:34:31.000 einfacher Verbrauchsgegenstand. Und jetzt[br]wird nach und nach alles Smart und wenn 0:34:31.000,0:34:36.880 selbst so kleine Geräte, die so normal für[br]uns alle sind, weil jeder hat eine 0:34:36.880,0:34:40.640 Glühbirne zuhause, auf einmal smart sein[br]müssen dann bringt man natürlich auch 0:34:40.640,0:34:44.990 viele Gefahren mit in seinen eigenen[br]Haushalt. Und den meisten Leuten ist es 0:34:44.990,0:34:48.990 einfach nicht bewusst weil sie denken: Ok.[br]Wenn jemand die Glühbirne hackt, was will 0:34:48.990,0:34:54.590 er machen? Das Licht an-ausschalten? Aber[br]die tatsächliche Konsequenz ist natürlich 0:34:54.590,0:35:03.560 ganz anders, dass auf einmal das komplette[br]lokale Netzwerk von außen offen ist und 0:35:03.560,0:35:09.620 auch auf private Daten und so weiter zu[br]zugegriffen werden kann. Das einzig 0:35:09.620,0:35:14.310 Positive jedoch aus dem, aus meinen[br]Erkenntnissen ist eben, dass man die 0:35:14.310,0:35:19.600 Hersteller-Cloud doch recht gut abschalten[br]kann. Das zeigt aber auch wieder, dass es 0:35:19.600,0:35:23.720 eigentlich überhaupt nicht notwendig ist,[br]weil man kann die Lampe mit den anderen 0:35:23.720,0:35:27.910 Firrmwaren noch viel besser benutzen und[br]so weiter, ohne dass eben diese Daten 0:35:27.910,0:35:33.350 gespeichert werden. Und eigentlich ist es[br]von meiner Seite ein Appell an die IoT- 0:35:33.350,0:35:39.400 Hersteller eben, dass diese gute Technik[br]und schöne Technik und bequeme Technik den 0:35:39.400,0:35:45.410 Usern bereitzustellen ohne diese ganzen[br]Daten zu sammeln. Und wenn der Anbieter zu 0:35:45.410,0:35:52.200 mir sagt: "it is avoidless", auf die Frage[br]ob die Daten denn nicht gespeichert werden 0:35:52.200,0:36:01.160 können, ist es tatsächlich eine Lüge und[br]auch nicht, ja, notwendig. Ja. Ich habe 0:36:01.160,0:36:08.630 schon angekündigt, ich werde noch weitere[br]Infos auf der, auf unserer Website zum 0:36:08.630,0:36:14.750 Download bereit geben. Unter anderem halt[br]auch Skripte mit denen man dann andere 0:36:14.750,0:36:17.743 Firmware auf solche Geräte flashen kann 0:36:17.743,0:36:21.040 und bin leider noch nicht dazu [br]gekommen das alles fertig 0:36:21.040,0:36:29.070 zu machen aber das wird in Kürze folgen.[br]Ja, jetzt sind wir beim Fragenteil 0:36:29.070,0:36:36.690 angekommen und ich glaube jetzt kommt[br]jemand auch auf die Bühne zum Fragen. 0:36:36.690,0:36:48.133 Applaus 0:36:48.133,0:36:54.620 Herald: Ja, vielen lieben Dank Micha. Ich[br]bin immer noch beunruhigt und fühle mich 0:36:54.620,0:37:00.100 überhaupt nicht Military-Grade-Irgendwas.[br]Frage an den jungen Mann oder den jungen 0:37:00.100,0:37:06.040 Besucher der vorhin die Lampe bekommen[br]hat. Willst du sie noch behalten? Bist du 0:37:06.040,0:37:13.140 sicher? Okay, gut. Haben wir denn Fragen?[br]Geht schon los. Fangen wir da an. 0:37:13.140,0:37:18.280 Mikro 2 bitte.[br]Mikro 2: Ist MQTT jetzt verschlüsselt, 0:37:18.280,0:37:20.490 oder nicht ? Ich habe es nicht ganz[br]verstanden. 0:37:20.490,0:37:25.540 Michael: MQTT ist verschlüsselt. Ist mit[br]AES verschlüsselt und mit dem Local-Key, 0:37:25.540,0:37:29.570 den man über den HTTP Befehl in Klartext[br]angezeigt bekommt. 0:37:29.570,0:37:35.430 Gelächter[br]Herald: Dankeschön. Wir machen gleich bei 0:37:35.430,0:37:41.080 Dir weiter. Ihr mommt dann als nächster.[br]Deine Frage bitte. 0:37:41.080,0:37:44.880 Mikrofon: Wie lösen die alternativen[br]Firmwares [unverständlich] Problem von dem 0:37:44.880,0:37:49.570 Klartextpassword fürs WLAN?[br]Michael: Um ehrlich zu sein habe ich da 0:37:49.570,0:37:52.470 nicht weiter geschaut. Ich habe nur..[br]Dadurch dass es Open-Source ist kann 0:37:52.470,0:37:59.200 natürlich jeder da reinprogrammieren was[br]er möchte und hat da volle Kontrolle. Und 0:37:59.200,0:38:02.610 ob das jetzt in Klar abgespeichert wird[br]oder nicht kann ich jetzt nicht direkt sagen. 0:38:02.610,0:38:10.974 Herald: Okay, vielen Dank. [br]So, nächste Frage, Mikro 1 bitte. 0:38:10.974,0:38:14.020 Mikro 1: Wenn die Lampen so populär sind 0:38:14.020,0:38:19.850 könnte man nicht eine Stiftung haben die[br]zehn Millionen Lampen verkauft auf denen 0:38:19.850,0:38:24.740 wir dann zehn Millionen Tor-Exit-Nodes[br]laufen lassen? 0:38:24.740,0:38:33.140 Gelächter & Applaus 0:38:33.140,0:38:35.060 Michael: Das ist natürlich eine sehr 0:38:35.060,0:38:40.420 interessante Idee und man kann da noch[br]viel mehr damit machen. Theoretisch könnte 0:38:40.420,0:38:44.970 man auch sagen, man macht nur einen[br]Katalog aus verschiedenen Firmwaren die 0:38:44.970,0:38:47.830 für verschiedene Modelle eben[br]funktionieren und macht da eben solche 0:38:47.830,0:38:53.730 Sachen mit rein. Und dann könnte man das[br]sehr gut betreiben wobei aber die ja die 0:38:53.730,0:38:58.880 Power oder die CPU Power doch sehr[br]limitiert ist. 0:38:58.880,0:39:08.790 Herald: Ok, Ich denke mal wir nehmen jetzt die[br]nächste Frage Mikro 1 nochmal. 0:39:08.790,0:39:14.380 Mikro 1: Du hattest am Anfang des Vortrags[br]gesagt, das ist ein sehr bekannter und 0:39:14.380,0:39:18.700 namhafter Hersteller, was allein die[br]Cloud-Plattform und die Dashboards 0:39:18.700,0:39:23.220 hergegeben haben. Kannst du uns vielleicht[br]ein bisschen mehr dazu sagen welche 0:39:23.220,0:39:27.020 Produkte der Hersteller noch herstellt und[br]verkauft außer von Glühbirnen. 0:39:27.020,0:39:31.400 Michael: Also es gibt wirklich alles. Es[br]ist nicht ein Hersteller das ist eben 0:39:31.400,0:39:34.910 genau das Schlimme daran deswegen kann man[br]ja auch nicht einfach so nennen das sind 0:39:34.910,0:39:38.250 10000 verschiedene Hersteller die eben[br]genau diese Technologie einfach einsetzen 0:39:38.250,0:39:44.090 und die sind wirklich weltweit überall das[br]heißt es gibt deutsche Hersteller, die 0:39:44.090,0:39:47.260 diese Technologie benutzen und man denkt[br]man kauft ein deutsches Produkt. 0:39:47.260,0:39:53.500 Tatsächlich steckt aber das drin. Und[br]Produkte gibts auch alles. Ich habe von 0:39:53.500,0:40:00.170 Küchengeräten, Kühlschränke und so weiter.[br]Der Hersteller nennt 30 verschiedene 0:40:00.170,0:40:05.440 Kategorien. Es ist tatsächlich fast[br]überall drin. Für mich war die Glühbirne 0:40:05.440,0:40:10.690 das einfachste und auch diese elektrischen[br]Steckdosen weil sie einfach sehr populär 0:40:10.690,0:40:16.730 sind und überall eingesetzt werden.[br]Herald: Ich würde jetzt gern mit Mikro 0:40:16.730,0:40:21.510 Nummer 3 weitermachen da stehen nämlich[br]auch schon zwei Leute. Ihre Frage bitte. 0:40:21.510,0:40:26.571 Mikro 3: Die Frage ist ob ihr auch die[br]Shelleys angeguckt hat. Haben ja diese 0:40:26.571,0:40:32.070 Jumperkabelansteckmöglichkeit aber die[br]haben auch die Cloud ausgeschaltet. Weißt 0:40:32.070,0:40:36.180 Du da was zu?[br]Michael: Nee, das weiß ich nicht aber ich 0:40:36.180,0:40:41.610 weiß auch nicht ob die von Haus aus diese[br]Cloud benutzen. Hab ich nicht gemacht. Ich 0:40:41.610,0:40:47.690 glaube dass es einfach nur eine Open-[br]Source Hardware ist auf der jetzt nichts 0:40:47.690,0:40:53.390 von dem Anbieter selbst läuft.[br]Herald: Ok danke, dann nehmen wir das 0:40:53.390,0:40:59.990 nächste Mikro Nr. 2 bitte.[br]Mikro 2: Ich bin kein Programmierer, meine 0:40:59.990,0:41:04.710 Nächte werden deswegen aber auch nicht[br]besser und deswegen meine Frage einmal 0:41:04.710,0:41:08.820 raus in die Welt an die Bildschirme,[br]welchen Tipp gibst du? Nicht im fernen 0:41:08.820,0:41:13.360 Osten kaufen? Nur Markenware?[br]Michael: Es ist natürlich relativ 0:41:13.360,0:41:18.520 schwierig was zu nennen weil man weiß[br]natürlich nie was drin steckt und wie ich 0:41:18.520,0:41:24.100 gesagt habe es gibt auch deutsche[br]Hersteller die das benutzen. Ich hab mir 0:41:24.100,0:41:28.960 die Konkurrenzprodukte noch nicht[br]angeschaut und kann deswegen auch nicht 0:41:28.960,0:41:32.840 sagen was man kaufen soll aber für mich[br]ist natürlich auch ein Tipp eigene 0:41:32.840,0:41:37.700 Firmware zu verwenden und auch namhafte[br]Hersteller weil die ganz andere Sachen zu 0:41:37.700,0:41:44.700 verlieren haben. Also wenn jetzt eine[br]kleine Firma aus Fernost die machen 0:41:44.700,0:41:48.320 einfach unter verschiedenen Namen Firmen[br]auf und danach ist es egal ob da 0:41:48.320,0:41:53.520 irgendwelche Hacks oder Sachen rauskommen.[br]Wenn da große Namen hinten dran stehen ist 0:41:53.520,0:42:00.150 das natürlich eine andere Sache. Deswegen[br]lieber was mit einem bekannten Namen kaufen. 0:42:00.150,0:42:05.540 Herald: Ok, danke. Ich sehe ein Licht. Ein[br]Licht sagt mir das Internet hat ne Frage. 0:42:05.540,0:42:08.122 Lieber Signalengel. 0:42:08.122,0:42:11.710 Signalengel: Ja die Frage: Welche[br]Alternative zur Klartextablage des Wlan- 0:42:11.710,0:42:15.760 Passworts bzw. des relevanten Schlüssels[br]siehst du? 0:42:15.760,0:42:21.060 Michael: Naja, in Wirklichkeit rausfinden[br]tut mans immer das ist mir auch bewusst 0:42:21.060,0:42:25.650 aber es muss natürlich nicht so obvious[br]sein weil wenn man wirklich nur das Binary 0:42:25.650,0:42:31.170 ausliest und danach den Klartext Schlüssel[br]hat dann ist es natürlich sehr verdächtig 0:42:31.170,0:42:35.250 und man findet schon beim Durchscrollen[br]durchs Binary oder wenn man einfach 0:42:35.250,0:42:41.310 strings eingibt. Wenn man alleine nur was[br]drüber xored hätte wäre es schon nicht so 0:42:41.310,0:42:47.830 auffällig wie es tatsächlich wirklich ist.[br]Herald: Ok, Dankeschön. Ich nehme erst mal 0:42:47.830,0:42:51.920 das Mikro Nr. 7. Da wartet schon jemand[br]länger. Die Frage bitte. 0:42:51.920,0:42:55.310 Mikro 7: Ja das ist jetzt fast eher eine[br]Anmerkung. Zudem... 0:42:55.310,0:42:58.670 Herald: Das tut mir leid aber wir nehmen[br]leider keine Anmerkungen. Wenn du eine 0:42:58.670,0:43:02.690 Frage hast dann melde dich bitte mit einer[br]Frage. Kommentare möchten wir bitte nicht. 0:43:02.690,0:43:06.680 Dankeschön. Dann Mikro Nummer 8.[br]Bitteschön, danke. 0:43:06.680,0:43:12.980 Mikro 8: Der MQTT-Request geht ja direkt[br]an den Cloudhersteller oder? 0:43:12.980,0:43:18.920 Michael: Genau, also die MQTT ist im[br]Endeffekt das Protokoll das verwendet wird 0:43:18.920,0:43:24.050 um aus dem Internet ins lokale Netzwerk zu[br]kommen und da wird quasi ein MQTT Tunnel 0:43:24.050,0:43:29.681 aufgestellt und es gibt ein Topic das[br]quasi subscribed wird von der Lampe selbst 0:43:29.681,0:43:34.590 wo es quasi Befehle annimmt. Und einer der[br]verwendet wird um Publishes zu machen wo 0:43:34.590,0:43:40.140 Statusmeldung rausgehen.[br]Herald: Ok danke, wir haben noch eine 0:43:40.140,0:43:44.550 Frage auf der 5, die wartet schon[br]länger, Bitteschön. 0:43:44.550,0:43:50.080 Mikro 5: Danke sehr, gibt es irgendwelche[br]Einschränkungen wenn ich ein Internet of 0:43:50.080,0:43:53.300 Things WLAN aufbaue mit sehr[br]eingeschränktem Internetzugang? 0:43:53.300,0:44:01.250 Michael: Es ist tatsächlich möglich auch[br]mit der Firmware die drauf ist einen 0:44:01.250,0:44:04.730 lokalen Betrieb zu machen. Ich glaube[br]nicht mit allen Geräten die ich getestet 0:44:04.730,0:44:12.810 habe, aber die Lampe ist noch auf dem Port[br]6668 offen; nimmt da sehr ähnliche Befehle 0:44:12.810,0:44:19.300 an und man kann sie quasi auch damit[br]selbst steuern. Auch mit dem selben local 0:44:19.300,0:44:23.780 key werden die Daten dann verschlüsselt[br]und das heißt ist es auch möglich wenn man 0:44:23.780,0:44:28.710 der Lampe selbst das Internet abstellt die[br]lokal mit dem Handy zu steuern. 0:44:28.710,0:44:36.330 Herald: Ok, Dankeschön. Ich würde sagen[br]drei Fragen machen wir noch. 0:44:36.330,0:44:38.630 Michael: ja gerne.[br]Herald: Ok, dann hier vorne die 1 bitte. 0:44:38.630,0:44:42.870 Mikro 1: Hast du dir angeschaut wie die[br]Sicherheit auf der Serverseite von diesem 0:44:42.870,0:44:47.050 Cloud-Anbieter ist. Also ob man da was[br]machen kann, ob man in die Daten von 0:44:47.050,0:44:52.130 Fremdgeräten kommt und ob man[br]potentiell über das MQTT mit fremden 0:44:52.130,0:44:55.900 Devices sprechen kann.[br]Michael: Also ich hab mal probiert einen 0:44:55.900,0:44:59.900 MQTT zu einem anderen Device zu schicken.[br]Das hat nicht funktioniert aber ich habe 0:44:59.900,0:45:05.620 auch nicht weiter geschaut, also nicht so[br]genau und auch nicht probiert um 0:45:05.620,0:45:09.440 irgendwelche Accounts zu kapern.[br]Mikro 1: Danke. 0:45:09.440,0:45:14.040 Herald: Ok, wir haben dann ein bisschen[br]Zeit. Deswegen wir machen noch ein paar 0:45:14.040,0:45:18.330 Fragen mehr wenn Dir das recht ist[br]Michael. Ok, dann würde ich jetzt den 0:45:18.330,0:45:19.880 Signalengel nochmal einen leuchten[br]lassen. 0:45:19.880,0:45:25.380 Signalengel: Die Frage was wäre in der[br]Praxis Update best practices für IOT- 0:45:25.380,0:45:30.470 Devices? Wenn du Autoupdates machst bist[br]du angreifbar, wenn du keine Autoupdates 0:45:30.470,0:45:34.660 machst bist du nie gepatched.[br]Michael: Ja also eigentlich ist das eine 0:45:34.660,0:45:40.570 sehr schwere Frage weil man wirklich das[br]schlecht realisieren kann aber trotzdem 0:45:40.570,0:45:45.070 denke ich dass es Möglichkeiten gibt wo[br]dann zum Beispiel das Update von der App 0:45:45.070,0:45:50.011 kommt und die dann so ist dass der User[br]definitiv Kontrolle darüber hat und das 0:45:50.011,0:45:55.410 auch mitbekommt. Natürlich ist es immer[br]eine Implementationsache und relativ 0:45:55.410,0:46:00.520 schwierig Updates anzubieten für solche[br]Geräte. 0:46:00.520,0:46:07.740 Herald: Ok, ich glaube Mikro 7 ist noch[br]jemand. Deine Frage bitte. 0:46:07.740,0:46:09.920 Mikro 7: Es war die gleiche Frage.[br]Michael: Ja okay. 0:46:09.920,0:46:14.110 Herald: Es war die gleiche Frage ok dann[br]Mikro 8. 0:46:14.110,0:46:18.641 Michael: Ich glaub da vorne im Eck sind[br]noch ganz viele. 0:46:18.641,0:46:19.760 Lachen[br]Herald: Hat jemand aufgegeben. Okay es 0:46:19.760,0:46:23.040 blinkt noch, hab ich das richtig gesehen?[br]Michael: Ja, hier vorne. 0:46:23.040,0:46:30.450 Herald: Ah ok, die 3 Bitteschön, danke.[br]Mikrofon 3: Thank you, so this cleartext 0:46:30.450,0:46:37.690 local key of HTTP how often is it sent?[br]Only the first time or does it send more 0:46:37.690,0:46:40.750 often?[br]Michael: This is basically only during the 0:46:40.750,0:46:49.900 registration but there's more clear[br]messages. I mean HTTP in general is not 0:46:49.900,0:46:57.590 encrypted when the cloud sends something[br]to the bulb. But the keys are only 0:46:57.590,0:47:07.250 transmitted during activation.[br]Herald: Ok, vielen Dank. Wir haben da noch 0:47:07.250,0:47:16.090 ein Licht. Deine Frage bitte noch.[br]Signalangel: Ist der Sprecher bereits 0:47:16.090,0:47:26.464 einem sicheren IOT-Gegenstand begegnet?[br]Michael: Vielleicht aber nicht meines Wissens. 0:47:26.464,0:47:34.621 Lachen & Applaus 0:47:34.621,0:47:36.360 Herald: Mikro 3 Bitteschön. 0:47:36.360,0:47:44.190 Mikro 3: Gibt es Anzeichen dass die Daten[br]der User verkauft werden? Und wenn nein 0:47:44.190,0:47:48.780 wie leicht könnte man das rauskriegen?[br]Also ich denke an einen Talk den es hier Mal 0:47:48.780,0:47:54.210 gab, der hieß build your own NSA. Da[br]hat ne Fakefirma die Daten versucht zu 0:47:54.210,0:47:59.320 kaufen. Also das wär ja möglich.[br]Michael: Also alles was ich jetzt sagen 0:47:59.320,0:48:03.930 würde wär Spekulation und das will ich[br]eigentlich nicht, aber es ist sehr 0:48:03.930,0:48:08.610 auffällig wie viel Geld hinter den Firmen[br]steckt und wie viele Geräte sie verkaufen 0:48:08.610,0:48:14.030 und irgendwie geht bei mir die Mathematik[br]nicht auf. Und es geht für mich um mehr 0:48:14.030,0:48:18.040 Geld als man mit solchen Geräten verdienen[br]kann. Aber wie gesagt es ist alles 0:48:18.040,0:48:21.930 Spekulation und dazu kann ich dann weiter[br]nichts sagen. 0:48:21.930,0:48:24.140 Herald: Wär doch mal eine gute Idee für[br]einen neuen Talk. 0:48:24.140,0:48:25.830 Michael: Ja.[br]Herald: Vielleicht mag das ja mal jemand 0:48:25.830,0:48:28.900 eruieren. Eine Frage haben wir noch an der[br]7. Bitteschön. 0:48:28.900,0:48:35.150 Mikro 7: Bin ich richtig in der Annahme[br]dass Zigbee-Geräte nicht betroffen sind? 0:48:35.150,0:48:44.040 Michael: Das kommt drauf an ob der Zigbee-[br]Server der es dann ans Internet ankuppelt 0:48:44.040,0:48:49.310 damit betroffen ist. Weil das gibt's[br]natürlich auch, also wenn die Bridge 0:48:49.310,0:48:55.450 selbst diese Technologie z.B. benutzt dann[br]ist es das gleiche Spiel weil dann ist das 0:48:55.450,0:49:01.250 Opfer nicht mehr die Glühbirne selbst[br]sondern die Bridge. 0:49:01.250,0:49:06.120 Herald: Mmh. Mikro 1 haben wir noch eine[br]Frage. Bitteschön. 0:49:06.120,0:49:09.681 Mikro 1: Ich hätte eine kleine Frage zu[br]dem smartconfig. Bei dem smartconfig ist 0:49:09.681,0:49:14.010 es ja so das die Konfiguration über SSID[br]usw. zu dem IOT device geschickt wird. 0:49:14.010,0:49:16.500 Michael: Ja.[br]Mikro 1: Inwiefern kann ich einfach in, 0:49:16.500,0:49:22.100 sagen wir mal, einem großen Wohnblock[br]einfach selber ein Expressif-Gerät 0:49:22.100,0:49:25.360 simulieren und die Informationen abgreifen[br]die das dann rumschickt. 0:49:25.360,0:49:30.320 Michael: Man muss das gar nicht groß[br]simulieren weil das Protokoll ist ja auch 0:49:30.320,0:49:37.700 sehr offen und im Endeffekt ist es sehr[br]einfach diese Aktivierungsprozesse 0:49:37.700,0:49:42.660 mitzuhören und im Klartext auszugeben. Das[br]heißt man kann einfach die WLAN 0:49:42.660,0:49:45.550 Zugangsdaten und auch den Token sehr sehr[br]einfach entschlüsseln. 0:49:45.550,0:49:51.870 Herald: Ok, wir haben noch eine Frage aus[br]dem Internet. Bitte noch die Frage stellen 0:49:51.870,0:49:54.180 Signalengel.[br]Signalengel: Entschuldigung, nein keine 0:49:54.180,0:49:57.810 weitere Frage aus dem Internet.[br]Herald: Ok, dann würde ich sagen wir haben 0:49:57.810,0:50:02.190 auf der 1 noch eine Frage und dann kann[br]man auch langsam Schluss machen. Deine 0:50:02.190,0:50:04.940 Frage bitte.[br]Mikro 1: Es wurde ja gesagt das es auch 0:50:04.940,0:50:10.030 deutsche Anbieter gibt die diesen Service[br]nutzen. Ist es denn überhaupt legal nach 0:50:10.030,0:50:13.940 deutschem Datenschutzrecht, jetzt auf[br]diesem Recht auf das Löschen von Daten. 0:50:13.940,0:50:18.210 Michael: Also ich bin kein Fachmann was[br]das angeht. Mein Kollege hat sich damit 0:50:18.210,0:50:26.400 ein bisschen mehr beschäftigt im Laufe[br]des.. also als ich die ganzen Sachen 0:50:26.400,0:50:31.960 analysiert habe und vielleicht kriege ich[br]ihn ja noch dazu ermuntert das er auch 0:50:31.960,0:50:36.310 noch einen Talk darüber hält. Weil da[br]gibt's wirklich viele Sachen und ich 0:50:36.310,0:50:40.250 glaube auch da kann man sehr sehr lange[br]und sehr viel drüber sprechen weil da sehr 0:50:40.250,0:50:43.290 groteske Sachen auch mit den[br]Datenschutzbestimmungen stehen. 0:50:43.290,0:50:48.440 Herald: Klingt nach einem interessanten[br]Follow up. Ok. 0:50:48.440,0:50:50.500 Applaus 0:50:50.500,0:50:51.607 Herald: Das ist Dein Applaus 0:50:51.607,0:50:58.470 Applaus 0:50:58.470,0:51:18.010 35c3 closing music plays 0:51:18.010,0:51:22.000 Untertitel erstellt von c3subtitles.de[br]im Jahr 2020. Mach mit und hilf uns!