 Willkommen zu der letzten Session zum letzten Vortrag heute aus diesem Zelt. Ich darf euch heute Dennis Giese vorstellen und er wird euch von privatsphäre Lücken in Smart Devices in Smart Geräten zu Hause berichten. Vielen Dank. Herzlich Willkommen aus der Besetzerkabine von Lukaro und Eibwen. Wir haben ein Social Media Channel. Ihr könnt uns dort Feedback geben unter etc3t. Heute möchte ich über Privacy Leaks in Smart Devices reden. Also über, ja, wie man Daten aus benutzten Smart Home Geräten extrohieren kann. Ich möchte anfangen mit der Motivation, wie sich daran gegangen bin. Ich dann welche Arten von Daten man auf den IoT-Geräten erwarten kann und wie sie gespeichert wird, wie man sie auch zurücksetzen kann, wenn sie verwendet wurden. Und auch einige Methoden, wie man diese Daten dann extrahieren kann. Und zu guter Letzt möchte ich ein paar Beispielfälle für einige Geräte vorstellen, die ich schon analysiert habe. Ein paar Infos über mich. Ich bin ein Doktorant an der Nordöstlichen Universität in Amerika, also aus Boston. Und ich bin aber auch ein Universitätsstudent von der Technik Universität Darmstadt in Deutschland. Ja, ich interessiere mich dafür, viele interessante Geräte zurückzubauen und unter anderem IoT-Geräte oder auch Schlösser. Ein paar Sachen, über die ich reden möchte. Ich habe mittlerweile schon viele Xiaomi Talks oder Vorträge gehalten, aber diesmal wird es nicht um Xiaomi reden. Diese Probleme betreffen eigentlich alle Hersteller. Viele von den Methoden sind auch bereits bekannt und werden auch schon weiträumig benutzt. Also ich habe viele von den Daten sensiert, einfach aus ethischen und rechtlichen Gründen. Aber wenn ihr diese Methoden selber ausprobieren wollt, dann ist es auf euer eigenes Risiko, euer eigenes Gefahr. Wenn ihr euer Smart-Home-Device kaputt macht, dann seid ihr selber schuld, nicht meine Schuld. Und natürlich muss ich auch einige Sachen vereinfachen. Also NAND-Fleschen ist sehr, sehr schwierig, sehr, sehr aufwendig, kompliziert. Da vereinfache ich eine ganze Menge. Und es gehört auch nicht zum Rahmen dieses Vortrags, sondern es ist auch sehr, sehr gerätespezifisch, wie man jetzt hier NAND-Daten extrahieren kann. Also lasst uns anfangen mit der Motivation. Ja, dass man Daten auf verwendeten Festplatten hat, ist eigentlich ein altes Problem. Aber dieses Problem wurde halt erst dadurch so brisant, dass Leute angefangen haben auf ebay gebrauchte Computerhardware zu verkaufen. Und das kann natürlich alle Arten von Daten sein, also Persönlich-Informationen, E-Mails, Bilder und auch wirklich brisante, sensitive Daten, Dokumente. Und hier Anfang 2000 haben wirklich auch Wissenschaftler angefangen, da darauf hinzuweisen und haben wirklich analysiert, was für verschiedene Daten da gefunden wurden und wie man die hätte löschen können. Das gleiche Problem betrifft auch Drucker und Laborausrüstung und es gibt einen Standard dafür, NIST, die haben das auch als Problem erkannt und haben einen Standard festgelegt, wie man Geräte sich erlöschen können. Und eine von den Lösungen war, die Festplatten zu formatieren oder halt eben die Festplatten vorher auszubauen und dann die Geräte ohne Festplatte zu verkaufen. Aber es gibt natürlich immer noch ein paar Probleme, die übrig bleiben, zum Beispiel wissen viele nicht davon, denen ist das Problem nicht bekannt, nicht alle Nutzer sind bewusst, was für Arten von Daten da gesammelt werden und wie die gelöscht werden können. Viele Leuten, es ist auch egal, sie sagen, sie haben nichts zu verbergen, das sind keine wichtigen Informationen, also ja, es ist ihnen eigentlich egal. Und der Standardfall ist einfach, das Gerät ist kaputt und wir können es nicht löschen, weil es kaputt ist. Man könnte denken, dass es heutzutage kein Problem mehr ist, aber in diesem Jahr gab es schon wieder eine Studie, dass 42 Prozent der Festplatten, die man auf eBay kaufen konnte, immer noch private Daten enthalten. Nächste Sache nach Festplatten waren Smartphones. Dort gibt es sozusagen private Daten to go. Dort auf den Telefonen gibt es noch viel, viel mehr private Informationen, solche Fotos, Nachrichten, Passwörter und so weiter. Und diese Smartphones waren für eine lange Zeit auch nicht standardmäßig verschlüsselt. Es war erst seit 2014 auf iOS 8 oder mit Android 6 in 2015. Erst seitdem war das standardmäßig aktiviert. Weiterhin ein Problem war, dass zurücksetzende Geräte nicht alle Daten gelöscht hat. Es gab immer ein Paper dazu, dass noch viele private Daten übrig geliebt sind. Da gab es einen neuen NIST-Standard, 2014, der das ein bisschen beschreibt, wie das gefixt ist. Das Problem mit IoT im Internet of Things ist, dass es überall ist. Es gibt, anders als beim Computer oder Smartphone, kein User-Interface, keine Möglichkeit, direkt auf die Daten zu zu greifen. Das heißt, es ist nicht klar, man kann nicht auf die Daten zu greifen. Das heißt, man weiß auch gar nicht, welch Daten überhaupt gesammelt werden. Und auf Fabrikerinstellungen zurückzusetzen, wenn man das macht, dann weiß man auch nicht genau, was das tut. Man kann es nicht verifizieren. Es kann von Versionen und Hersteller usw. abhängen. Das heißt, die Motivation für diesen besonderen Vortrag war, dass während ich meiner Masterarbeit geschrieben habe, bei CIMO, da habe ich versucht, auf vielen Geräten Route Access zu bekommen. Also hat man Zugriff. Jedes Mal, wenn ich die Geräte zurückgesetzt habe, waren immer noch Spuren der alten Daten da. Das fand ich interessant. So, woher kriegt man jetzt diese gebrauchten Geräte? Einfach von eBay, von Amazon Warehouse, Flow-Markt, alte Alexa Echo Dots oder im Müll, von den Nachbarn. Kann alles interessant sein. Und alternativ ist Tradition in vielen Familien. Und da gibt man einfach alte Hardware weiter. Warum weiter schauen? Man kann auch einfach die Internet-of-Thanks-Geräte im eigenen Zuhause schauen. Warum ist das auch gerade in Deutschland interessant? Hier z.B. die Polizei hat auch mal versucht, auch die Daten von den IoT-Devices zu greifen. Die Daten, die auf den Geräten sind, ist natürlich stark davon abhängig, welche Arten von Geräten wir uns angucken. Aber alle IoT-Geräte haben eines gemeinsam. Sie haben WLAN-Zugangsdaten, Sie haben Zugangsdaten für die Cloud und manchmal haben Sie auch Verbindungen zu einem bestimmten Account in der Cloud. Je mehr Funktionen, die mehr Performance, je mehr Speicher ein Gerät hat, desto mehr Daten sind auch darauf zu finden. Also lass uns jetzt mal ein paar Geräte anschauen. Z.B. Staubsauger. Es gibt mittlerweile schon viele Staubsaugerroboter, verschiedene Modelle. Was man da findet, sind Connection-Logs, also Verbindungsdaten. Wann wurde welche Verbindung aufgebaut? Wann haben die Smartphones Verbindung zu den Geräten aufgebaut? Karten vom Apartment und auch Reinigungs-Logs, also wie es gereinigt wurde. Und auch eine Nutzer-Identifikation, weil man ja auch ein Benutzer-Account erstellen muss. Es gibt auch andere Geräte, z.B. Smart Home-Gateways, also die Sensoren und andere Smart Home-Geräte ins Internet anschließen, denen natürlich auch Verbindungsdaten, Verbindungsprotokolle, aber natürlich auch Verbindungen zu den Sensoren und auch dafür Protokolle. Z.B. wenn man eine Tür aufnimmt, dann wird das auch aufschreiben in so ein Protokoll, dass jemand die Tür aufgemacht hat. Wenn man natürlich viele verschiedene Geräte verbindet, dann hat man auch Schlüsseldaten und so. Und natürlich auch wieder Benutzer-Accounts. Und ein weiteres Gerät, was sehr verweitet ist, sind natürlich Kameras, besonders in Deutschland. Und natürlich auch Türklingel-Kameras. Und viele von denen speichern tatsächlich auch Videoclips oder Fotos. Manchmal sogar auch aufgezeichnete Videos, aber natürlich auch Protokolle, wann bis was passiert und auch wieder Benutzer-Damen. Und häufig sind dort auch Zugangsdaten für irgendwelche Clouds, wo die Kamera ihre Videostreams zu hoch lädt. Und manchmal war es sogar möglich, die Videostreams dann auch abzurufen. Etwas, was jetzt nicht direkt Smart Home ist, aber auch sehr wichtig für Zuhause, ist der Router. Und der hat natürlich verschiedene Protokolle über die DHCP-Verbindung, also welches Gerät hat, welche IP-Adresse bekommen beim Verbinden zu dem Router, also welche Geld haben sich wann verbunden. Außerdem natürlich die Konfiguration der Firewall. Und es gibt natürlich auch die etwas besseren Router, wie zum Beispiel die von AVM in Deutschland, die auch irgendwie Mediadaten, also USB-Sticks oder sowas, verwenden können, um natürlich auch wieder ganz viele andere Protokolle. Also zum Beispiel, wenn es DNS-Abfragen gemacht werden, welche Webseiten werden besucht oder wenn es irgendwelche Filter gibt für Eltern, die ihre Kinder im Internet einschränken wollen oder so, auch dafür gibt es Protokolle. Dann gibt es auch wieder ein Haufen an Zugangestaten. Dann gibt es auch noch ein Haufen von ja, Media-Playern, also quasi für den Fernseher, die sind auch sehr verbreitet. Und natürlich hier gibt es auch wieder Verbindungsprotokolle, aber auch ganze Medienbibliotheken, Wiedergabelisten, Zwischenspeicher von Mediendateien, also auch eine ganze Menge Video- und Medieninhalte. Und wenn da zum Beispiel auch Android drauf installiert ist, dann kann man da auch mit dem Internet gehen, also einen Browser verwenden. Dann gibt es da halt auch einen Bausing-Verlauf. Dann gibt es natürlich auch Zugangestaten für irgendwie ein Google Play Store, um Apps runterzuladen oder vielleicht auch Zugangestaten für Netzwerkfestplatten. Und ich kann dieses Gerät jetzt hier nicht verwenden, weil ich habe echt viele, viele Geräte gehabt, die sehr merkwürdige Videos enthalten haben. Also den kann ich ja leider nicht zeigen, leider. Ja, und zuletzt auch Spielzeuge. Da denken viele Leute überhaupt gar nicht daran, was die alle für Daten enthalten können, aber da können natürlich Konfigurationsdaten drauf sein. Das ist natürlich nicht interessant, aber manche können ja auch Video und Audio aufzeichnen und natürlich auch eine Menge an Nutzungspotokollen, also wann und wie oft und an welchen Orten wurde dieses Gerät verwendet und so. Das sind natürlich auch interessante Daten. Ja. Schauen wir uns mal an, wie die Daten überhaupt auf diesen Geräten gespeichert sind. Im Allgemeinen braucht man natürlich irgendwie die meisten Speichergeräte. Es gibt zum einen einfach Flash, es gibt zwei Untergruppen, entweder Serialenflash, SPI, oder Nanflash und das Parallel und das andere ist Blockgeräte, EMC, EMCP oder SD-Karten. Je nach Speichergerät wird auch die Wahl des Dateisystems beeinflusst. Also je nach Speichertyp gibt es halt einfach unterschiedliche Dateisysteme, die nutzbar sind. Also reden wir erstmal über Nanflash. Normalerweise ist das so unter 64 MB groß oder 64 MB der Flash, das ist immer relativ einfach zu benutzen. Das andere, den Nanflash, ist so zwischen 128 MB bis 4 GB, haben größere Pakete, gibt es da verschiedene Versionen, TESOP 48, TESOP 56, BGR 63. Der Grund, warum dieser Flash häufig genutzt ist, ist, weil es schnell und günstig ist, hat aber mit Fehler. In dem Fall müssen wir aber, muss der Prozessor das Haus dafür sorgen, dass der Speicher gleichmäßig genutzt wird und so weiter, dass Fehler korrigiert werden. Das wird alles von Nierungs übernommen, das wird vom MTD-System übernommen, das wird dann einfach als Block-Speichergerät präsentiert. So, Nanflash ist in Blöcken und Seiten organisiert. Um Daten zu löschen, muss man den kompletten Block löschen und löschen heißt, dass wir alle Bits auf einsetzen. Typischerweise ist so ein Block zwischen 16 und 12 GB groß und eine Seite ist halt nur ein halben bis 2 GB. Was man also machen kann, ist, auf dem Page-Level programmieren, aber löschen dann auf dem Block-Level. Dann gibt es natürlich ein bisschen Out-of-Band-Data für das Management von dem und ein bisschen Error-Correction. Der Flasch hat dann einfach verschiedene Blöcke für dieses Management, sodass man auch kaputte Blöcke ersetzen kann. Der Fehlerkorrekturcode wird meistens vom Hostprozessor ausgerechnet. Manchmal ist sogar die tatsächliche Berechnung herstellerabhängig. Also, ja, herstellerabhängig. So, wie funktioniert Wail-Level, also dafür zu sorgen, dass der Flasch gleichmäßig benutzt wird. Das Problem ist, jede Flasch-Zelle hat eine Grenzeanzahl an Schreibzugriffen. Das Problem ist, Dateisysteme wie X2, 3 oder 4 sind nicht, die wissen nichts über diese Geräte. Das heißt, sie können nicht darauf angepasst. Das heißt, sie können relativ einfach den Flasch kaputt machen. Die Lösung dazu ist, Dateisysteme zu benutzen, die den Flasch bekannt ist. Also, da gibt es zum Beispiel Jeffs oder JFFS oder JFS2. Das ist jetzt eine weitere Schicht zwischen dem Betriebssystem und der Anwendung. Diese Systeme sorgen dann dafür, dass die kaputten Blöcke rausgeworfen werden und dass alle Blöcke ungefähr gleichmäßig benutzt werden. Die Idee ist, wenn Blöcke gelöscht werden, werden sie nicht tatsächlich gelöscht. Sondern sie wird bloß markiert und dann wird die geänderte Information auf einen neuen Block kopiert. Der Gabel-Collector sorgt dann dafür, dass die gelöschten Blöcke irgendwann aufgeräumt werden. Hier sieht man ungefähr, wie das funktioniert. Als erstes ist es der logische Level. Hier haben wir im logischen Level ein Datenblock und wir wollen jetzt diesen Datenblock ändern. Dann erstellen wir einen neuen Block. Der Block wird neu verlinkt und so hat man die neuen Daten. Das Problem ist, die alten Daten sind noch da, bis der Gabel-Collector da ist. Da kann man natürlich verschiedene interessante Eigenschaften und sich anschauen. Zum Beispiel kann es mehrere Kopien von den Daten geben. Jedes Mal, wenn wir Daten ändern, müssen sie in einem neuen Block kopiert werden und die alten Daten bleiben so lange da, bis der alte Block vielleicht immer mal wirklich gelöscht wird. Diese Kopien sind dann meistens über zwei Kilowatt-Kurs. Man hat viele, viele Kopien von einer Datei und wenn man Daten sehr häufig ändert, zum Beispiel Protokoll-Dateien oder WLAN-Zugangsdaten, dann hat man manchmal sogar den Verlauf von allen WLAN-Zugangsdaten. Wenn man das erste Mal eingerichtet hat, dann hatte man das erste Passwort da drin stehen und dann denkt man sich, vielleicht möchte ich das nicht in dem gleichen WLAN haben wie mein PC, also mein neues WLAN-Netzwerk, ändere die WLAN-Zugangsdaten, aber dann sind die alten WLAN-Zugangsdaten immer noch da. Es gibt hier ein paar interessante Materialen zum Thema Nend- und Flash-Speicher, zum Beispiel hier ein Vortrag von Blackhead, Vortragreihe von Jay und Wook. Ja, und da gibt es auch ein paar Tipps, wie man den auslöten kann, wieder einlösen kann und auch irgendwie man die Datenformaten zurückbauen kann oder untersuchen kann. Und dann gibt es noch ein Artikel über Nend-Chips und Dateien von Jean-Marc Picot und das auch an Link. Noch ein Randnotiz zu diesem ganzen Flash-Kram. Häufig sind auch die Hersteller überhaupt gar nicht von diesen Eigenschaften bekannt oder wissen das gar nicht. Zum Beispiel hier hat der, also der wurden die Entwickler-Archies gar nicht gelöscht, weil die noch in dem gelöschten Block drin vorhanden waren und die wurden auf Millionen von Geräten kopiert. Also wenn man das gelöschen kann, sollte man wirklich nicht darüber vergessen. Dann gibt es die zweite Gruppe, das sind die Blockgeräte und das sind halt im Prinzip verwaltete Nend-Speicher. Es gibt verschiedene Standards, also zum Beispiel EMC, EMMC 5 oder 4 oder 5. Im Prinzip ist es immer, also es gibt einen Unterschied zwischen EMMC und EMCP. EMMC ist einfach nur ein Flash-Speicher mit einem Controller dabei, also einem kleiner Chip, der eben diesen Flash-Speicher verwaltet, sodass das die CPU der Prozessor nicht machen muss. Häufig findet man die in so Paketen mit 153 Pins oder so. Und EMCP ist im Prinzip ähnlich wie EMMC, aber es gibt dann noch einen solchen Arbeitsspeicher dazu. Und der Vorteil davon ist, dass der Arbeitsspeicher und der Hauptspeicher auf einem Chip sind. Also man braucht nur einen Chip für beides. Also es ist halt viel einfacher, das zu verwenden. Und naja, dann hat man halt 162 oder 221 Pins. Und unter Linux hat man halt normalen Blockspeicher, meistens im Data-F-System, Extended 2, 3 oder 4. Und die Chips haben halt eine integrierte Verwaltung, die halt dafür sorgen, dass die gleichmäßig verwendet werden und das kaputte Blöcke markiert werden und so weiter. Das muss die CPU nicht machen. Aber jetzt ist die Frage, wie kann man da gelöschte Daten abrufen und naja, normalerweise erlaubt dieser EMMC-Controller nicht ins Zug auf die Roh-Daten von diesem Speicher, auch weil die Daten dann da mit Trimkommunus gelöscht werden. Aber im Prinzip nutzt der EMMC oder EMCP intern immer noch normalen Nandspeicher. Und manchmal kann man den EMMC-Controller umgehen und dann direkt in Zug auf die Roh-Daten erhalten. Der einzige Herausforderung ist halt herauszufinden, in welchem Datenformat der EMMC-Controller die Daten verwaltet. Da gibt es auch noch einen Vortrag, den ich hier empfehlen würde, und zwar EMMC-Chips, Datenrettung über den Controller hinaus bei Rosoloot. Und die Zusammenfassung dazu ist, dass selbst wenn der EMMC den Chip komplett löscht, die Daten sind immer noch im internen Speicher vorhanden und man muss sie halt nur irgendwie rausfinden. Aber auch das ist jetzt hier ein bisschen außerhalb vom Rahmen. Okay, lass uns ein bisschen über zurückste Stadium von Geräten nach und zurücksetzen. Meistens ist der Zurücksetzstatus abhängig von dem letzten Besitzer. Meistens oder häufig findet man Geräte, die überhaupt nicht resettet worden sind. Das heißt, die Geräte enthalten noch all die Daten, die Konfigurationen. Wahrscheinlich passiert das, weil die Leute nicht wissen, wie man die Geräte zurücksetzen kann oder die Geräte einfach kaputt sind. Der andere Fall ist, dass die Konfigurationen oder das WLAN gelöscht worden sind. Aber der Rest der Daten noch da ist. Viele Geräte unterstützen nur diesen Reset-Modus, dass nur die WLAN Daten entfernt werden. Das heißt, die tatsächlich Daten noch drauf sind. Der andere Fall ist, dass das Gerät komplett gelöscht wird. Zum Beispiel all die Daten gelöscht worden sind und wieder in Fabrik zustande ist. Aber selbst in diesem Fall findet man noch Spuren von Daten. Und nicht alle Geräte unterstützen diesen Reset. Um die beiden Reset-Typen zusammenzufassen, es gibt Wifi-Reset. Da gibt es nochmal einen besonderen Button für. In diesem Fall kann das Gerät den WLAN resetten. Die Idee ist, warum nicht alles gelöscht wird, ist, damit man die Geräte schnell zu einem neuen WLAN verbinden kann, keinen langen Dauer vom Reset hat und die meisten Einstellungen verbleiben. Wenn man die Geräte selber neu verbinden möchte, dann ist das wahrscheinlich das, was man haben möchte. Die Idee von Datensextrechen ist, die ich da erst mal hatte, waren alle Datensextrechen. Die Methoden sind da über die Software, in der man Boot access bekommt, über das Lesen des Flashes, ohne dass man es entlötet, oder man löte es tatsächlich ab und liest die Daten dann direkt. Die Software-Methode hat für viele Geräte funktioniert, z.B. auch für irgendwelche Amazon-Echo-Dots gibt es einfach Anleitungen, wie man die routet, manche Kameras oder so, kann man dazu überzeugen, einfach ein Trivus-System von einer SD-Karte zu booten und sobald man das kann, nutzt man DD, um alle Daten vom Flash zu kopieren. Wenn wir das mit DD machen, ist das sehr nützlich, weil DD nicht Flash kennt und dann kriegen einfach alles, wie man das jetzt tatsächlich rausbekommt, ist verschieden, man kann es auf eine andere SD-Karte schreiben, über SSH oder über NetCad schicken. Der Vorteil ist, das funktioniert sehr gut, z.B. für JFFS oder UBFS. Ein bisschen schlecht ist, dass es ein bisschen davon abhängt, was für ein Kernel man hat, es könnte begrenzt sein, der Zugriff. Die nächste Methode ist, dass man den Flash direkt ausliest, ohne das abzulöten. Das funktioniert hauptsächlich für SPI und EMC Flash und das funktioniert meistens, wenn die Geräte neu programmiert werden können. Also was es z.B. funktioniert, ist, man kann ein paar Pins, sodass der On-Chip-Prozessor nicht läuft und dann kann man die Hardware direkt anstellen. Das Gute ist, es ist weniger wahrscheinlich die Hardware zu zerstören, aber das Problem ist, man muss wissen, was die Pins tun oder wie die Verbindungen auf dem Brett dann tatsächlich sind. Die letzte Methode ist, den Flash-Chip auszulöten. Das funktioniert für alle Flash-Chips, unabhängig vom Hersteller. Im Allgemeinen wollen wir erst mal das Board vorheizen, um Schaden zu vermeiden und es ein bisschen einfacher zu machen. Für manche Flash-Chips, die schon sichtbare Anschlüsse haben, muss man halt mit einer niedrigen Temperatur und so einer Lüttpaste auf die bestehende Lüttpaste auftragen, um die Chips einfach entfernt zu können. Für Chips, die keine sichtbaren Pins haben, muss man sich was überlegen mit Heißluft oder einer Reflow-Station oder so mit Reflow-Ofen oder mit Infrarotlicht. Der Nachteil natürlich ist, wenn man die wiederverwenden möchte, dann muss man sie halt manuell mit Lötzeln wiederversehen und das braucht natürlich wieder, erfordert wiederzutzliche Tools und ist sehr aufwendig. Und wenn man halt einen Nennflash auslötet, dann muss man halt auch einen speziellen Adapter haben, um den Pin-Count, also die Anzahl an Anschlüssen zu entsprechen. Was für Werkzeuge man dafür verbrauchen kann, wenn man einfach nur ein SPI-Flash auslegen möchte, kann man bestimmt, kann man beliebige Mikrocontrollerverwenden, die Alt-GPI ausbieten, also allgemeinverwendbare Ein- und Ausgänge, also zum Beispiel in Raspberry Pi oder in Arduino oder so. Mein Favorit ist hier die Flash-Card-USB, weil das eben besonders komfortabel ist. Für EMMC-Flash ist es ähnlich einfacher, aber man muss da ein bisschen vorsichtig sein, weil es halt manche EMMC-Chips gibt, die halt weniger Schweiche verwendet. Also bevor man da irgendwas machen möchte, sollte man erstmal das Datenblatt von diesem EMMC-Chip lesen. Zum Beispiel gibt es hier diese EMMC-Adapter von Explority.as, die ungefähr 0,10 Dollar kosten, wo man die Kabel vom SD-Karten-Laser auf den Chip lesen kann. Also man kann den Chip einfach direkt an den SD-Karten-Laser des Computers anschließen. Die Schwierigkeit hier ist halt eben, dass man besonders gute Augen oder halt ein Mikroskop braucht, um halt eben so fein lösen zu können. Und wenn man einen SD-Karten-Adapter hat, dann hat man nicht immer so gut auf alle Partitionen. Das für uns jetzt nicht so relevant ist, weil wir wollen ja generell einfach nur alle Daten, alle Nutztandarten rauskommen. Wir interessieren uns nicht für Systemdaten oder so. Es gibt auch billige chinesische Tools, zum Beispiel auch viele Smartphone-Repair-Chips verwenden das. Zum Beispiel die Ufibox Lite, die hat verschiedene BGA-Adapter. Und das ist halt eine sehr einfache Verbindung, man legt den BGA-Chip da drauf und macht dann die Klappe zu. Und dann sind da halt kleine Kontakte, die den BGA-Chip berühren und so. Das unterstützt halt eben auch Chips mit verschiedenen Spannungen. Denn nach da ist halt man auch viele Versuche, um rauszufinden, wie man den BGA, also den Chip richtig positionieren muss. Und man kann es nicht gut unter Windows verwenden, weil Windows das halt erst als Virus erkannt wird, dass den Virenschutz deaktivieren muss. Und der Hersteller sagt halt, naja, das ist kein Problem, das deaktiviert euren Virenschutz, aber man sollte sich dabei aber Gedanken machen. Was halt beim NAND schwierig ist, man muss halt einen Haufen Pins bekommen, und man muss halt irgendwie eine Art von NAND-Controller verwenden. Hier gibt es halt noch einen Vortrag Reverse Engineering Flash for Fun and Benefit. Es gibt aber natürlich auch hier wieder Adapter, zum Beispiel die FlashCat, die halt auch verschiedene Adapter unterstützt, sodass man auch BGA-Chips auslesen kann. Also das unterstützt wirklich eine breite Vielfalt an FlashSpeicher. Der Nachteil ist halt, es kann natürlich die ECC oder also die Fehlerkorrektordaten nicht interpretieren. Das muss man halt manuell machen, aber das interessiert uns ja jetzt nicht so sehr, weil wir die Daten nur extrahieren wollen, aber wenn man halt wirklich ein bisschen Reverse internieren, ein bisschen zurückbauen will, dann ist das wirklich schon relevant. Was auch noch möglich ist, ist mit so einem, mit einem Entwicklerkit für dieses spezielle, für dieses spezielle CPU oder für dieses spezielle Gerät, weil wenn man hier arbeitet zu bekommen und man kann dann einfach den Flash von dem einen, also von dem einen PCB, von dem einen Board, auf das andere umlöten, dann kann man es direkt verwenden. Aber natürlich gibt es solche Entwicklerkits nicht für alle CPU-Modelle, für alle Gerätemodelle und sie sind auch häufig relativ teuer. Also wenn man eins hat, ist das praktisch, aber häufig ist es auch nicht so. Sobald man diesen Dump hat, also die Inhalte, dann kann man einfach Bindwork drauflaufen lassen, zum Beispiel, man kann Hex-Editor benutzen, um die SSD-ID zu finden, was man auch machen kann, um NAND-Dumps zu sich anzuschauen. Es gibt einmal das Dump Flash Tool, NAND-Dump Tool, das Problem ist, manchmal gibt es da komische, probleme mit exotischen Metadaten. Für UBI-Images gibt es den UBFS-Dumper, der wird auch von Bindwork benutzt. Es gibt also allgemein ziemlich viele Tools, um diese Dumps sich anzuschauen. Also schauen wir uns jetzt mal ein paar Beispielgeräte an. Die übliche Methode, um das zu machen, war, das Gerät auseinanderzunehmen, den Flash zu dumpen, und dann habe ich die Geräte angeschaltet, geroutet, dann habe ich versucht, sie wieder zu der App-Ziffe zu verwenden, dann die Geräte zu benutzen, sie hätten, und dann mal schauen, wie die Daten aussehen, vor und nach dem Reset. Das erste Gerät, was ich angeschaut habe, war der EvoWax D-Bord 900, ein beliebter Staubsauger. Der letzte Ordner hat gesagt, er hat es auf ein Fabrik-Einstellung zurückgesetzt. Es benutzt Linux, hat ein Nandflash, hat auch 128 Mbit RAM. Die Raten geht es, die ich hier genutzt habe, war, den Nandflash zu dumpen und über UART zu verbinden. Als ich den Flash gedumpt habe, wollte ich erst mal schauen, dass das Gerät auf Fabrik-Einstellung zurückgesetzt worden ist. Und dann habe ich hier im Log gefunden, was das Gerät auf Fabrik-Einstellung zurückgesetzt worden ist. Ich habe aber auch Fragmente von Logs, Schlüsseln und so weiter gefunden. Also habe ich gesehen, wie häufig die Pinsel benutzt worden sind. Das Problem ist, es ist unklar, wie die Metadaten hier funktioniert haben. Das UART von dem Bord ist leider nur für Leastzugriffe verfügbar, aber ich habe ein paar Informationen herausgefunden. Es benutzt einen besonderen Nandtreiber, um dafür zu sorgen, dass alles gleich mit genutzt wird. Wo ich gerade von Benutzernahmen und Passwörtern rede, ist hier bei den Rücksetzungen auf Fabrik-Einstellungen sehen wir, dass der Hersteller immer mehr Wifi-Passwörter hinzugefügt hat. Interessant ist auch das Verbindungs-Log. Da sieht man verschiedene WLANs. Da sieht man, wer das Gerät programmiert hat. Hier zum Beispiel ein Galaxy-Telefon. Die Frage ist, können wir das benutzen, um herauszufinden, wo die Leute gelebt haben? Das Gute ist, wir können die Geolocation-API von Google benutzen. Wir geben hier einfach zwei MAC-Adressen und eine Signalstärke und kriegen dann einfach eine Position. Das Problem war, ich hatte bloß eine MAC-Adresse, aber das Gute ist, es gibt eine Suchmaschine für SSIDs und ich hatte zwei SSIDs und hier habe ich auf der Website gesucht und dann habe ich gesehen, dass die beiden an derselben Stelle genutzt worden sind. Das heißt, hier für dieses Gerät, zusammenfassend würde man sagen, man konnte noch die meisten Daten sehen, man konnte die Netzwerkverbindungen sehen. Ich habe nicht herausgefunden, wie die Wohnungskarte gebaut war. Selbst nachdem ich das Gerät dreimal resette, waren immer noch Daten übrig. Interessanterweise war auf dem Gerät auch noch Logs von der Fabrik. Das heißt, man konnte sehen, wie das Gerät getestet worden sind und so weiter. Man konnte also verheerige Benutzer nachverfolgen. Das Gute war, die App hat nicht die verheerigen Maps angezeigt. Ähnliches Verhalten habe ich gefunden, z.B. bei Viomi Vacuum Robot V2, was essentiell die gleiche Hardware hat. Das nächste Gerät, das ich mir angehuckt habe, ist aus 2018. Da war ich mir nicht sicher, an welchen Zuständen sich das befindet, weil es gab ein Wasserdefekt und die haben einen Quadcore, also 4Kennprozessor von Allwinner und 4Gbps an Flashbeicher, E-MMC-Format und sogar 512 MBit Ram, also deutlich leistungsstärkeres Gerät. Ich habe dieses Gerät schon vor einer ganzen Weile mal geroutet und jetzt habe ich die Partition über UART gedammt und habe das Gerät zu einem neuen Cloud-Account verbunden. Das Schöne ist, dass es schon eine Route-Methode gab. Ich habe es schon vor 2 Jahren auf dem Kongress vorgestellt. Es ist sehr einfach, eine Standardzugift zu bekommen über UART oder über eine benutzedefinite Firmware und man kann dann eben auch alle Daten über SSH exterhieren und das ist natürlich eine gute Methode, um zu verhindern, dass man den Flash-Tipp tatsächlich auslöten muss oder so, was ja viel aufwendiger wäre. Wenn man sich das Layout, also die Zusammensetzung von dem Schweicher von den Partitionen anguckt, das sind natürlich eine Haufen Partitionen für das Betriebssystem und so, aber am Ende ist eine Partition, die mit der Beschriftung HUE-Disk und die enthält halt die Nutzerdaten, sodass die halt eben für uns interessant war. Also, das ist halt ein interessantes Geht, weil es sowohl ein WLAN-Reset als auch ein Werkseinstellungsreset unterstützt. Wenn man den WLAN-Reset verwendet, dann löcht es halt nur die WLAN-Stüge am Starten, aber wenn man den normalen Werkseinstell, also den ganzen Werkseinstellungsreset verwendet, dann muss man halt irgendwie noch 3 Knöpfe drücken, was gar nicht so gut dokumentiert war. Dann werden halt die, also die Betriebssystem Partitionen werden wiederhergestellt von so einem Wiederherstellungsimit und wird formatiert, aber nicht überschrieben, sodass die Daten halt nicht wirklich gelöscht werden. Also, die Nutzungsdaten, wie oft der benutzt wurde, in was für einem Bereich, wie lange, das wird überhaupt nicht gelöscht. Also, das ist immer noch da. Was habe ich hier für Informationen gefunden? Also, genau bei dem sind Sie auf eBay gefunden. Wenn ich das mit einem neuen Account verbunden habe, waren die alten Daten sofort wieder sichtbar in der App. Also, ich konnte alle Reinigungsprotokolle angucken. Ich konnte das ganze Appartement mit mir angucken. Also, für eine ganze Weile zurück, also insgesamt 68 Benutzungszuckeln. Und was ich halt auch hier rausgefunden habe, ist, dass die Daten sofort in die Cloud hochgeladen werden. Also, egal, wenn man den, also egal, wenn man das Geld zurücksetzt und den Benutzerkant löscht, soweit man das wieder verbindet, die Reinigungsroboter sofort wieder alles in die Cloud hoch. Und auch auf dem lokalen Speicher waren die ganzen Protokolle noch da. Nach dem, also nach dem wirklichen Werksanstaltungsbeset waren die Map-Dateien nicht mehr sichtbar, aber trotzdem noch viele andere Daten. Und ich konnte hier den ursprünglichen Besitzer also lokalisieren, weil er hatte anscheinend zwei Access Points, also zwei Zulangspunkte in seinem Haus. Das hat dann mir ermöglicht, die Google Geolokations-Schnittstelle zu verwenden. Und ich konnte wirklich Koordinaten rausfinden, die nach Hanau führen, also in Deutschland. Und auch die WLAN-Zugangestaten zeigen halt ein Teil von der Straßennahme und ein Teil von der Hausnummer. Also, ja, hier werden scheinbar wirklich persönliche Information für die WLAN-Zugangestaten verwendet. Und auch die Benutzereidee, also der Benutzerkant wird in eine Dateien gefunden. Und wenn man dann diesen Benutzernamen in der Smartphone-App sucht, kann man das Gerät mit dem Nutzer freigeben, um sogar den echten Klarnamen von diesem Nutzer zu erhalten. Und auch das Betriebs- und auch das Profibild und so. Und das ist natürlich schon ziemlich interessant. Also, im Zusammenfassung für dieses Gerät, alle Daten waren immer noch vorhanden. Der Nutzer hat sich nicht zurückgesetzt, wahrscheinlich, weil es kaputt war. Das Gerät wurde nicht überschrieben, sondern nur so ein WLAN-Zugangestaten-Reset wurde gemacht. Und der Reset-Button ist ein bisschen irreführend, weil nun, wenn man diesen Knopf drückt, also es reicht nicht aus, dann muss man noch andere Knöpfe drücken. Und das ist natürlich im Benutzern-Buch dokumentiert, aber viele Leute lesen das ja einfach gar nicht. Und ich konnte ja sogar den ursprünglichen Eigentümer ermitteln, einfach nur durch die Daten, das ist im Protokoll-Dateien. Also, dieses Gerät legt wirklich sehr deutliche Lock-Dateien an und das ist eigentlich eine ziemliche Datenlücke. Ein kurzes Beispiel hier ist noch diese Kinderspielzeuge, so eine Drohne, kostet 50 Dollar, hat Android drauf, hat ein Quad-Core, 4 Gigabyte Speicher, 512 Gigabyte RAM, es hat zwei Kameras, eine für Navigation und eine für Videoaufzunehmen und man kann darauf sogar für einen seriellen Port oder über ADB, wenn man es geroutet hat, auf dem Gerät ist dann die, dann sind da Videos drauf, auf dem Gerät und wenn die Kinder das einfach in die Wand hauen, die Drohne, dann ist es kaputt, man kann es nicht löschen. Also, hier hat das zum Beispiel, das ist jetzt natürlich nicht die echte Daten von dem Gerät, weil es ein bisschen peinlich sein könnte. Andere Beispiele dafür sind, die ein ähnliches Design nehmen, die benutzen alle UBIF oder JFS, normalerweise kann man da SD-Karten einführen, um die Videos abzuspeichern, aber da war keine drin, deswegen habe ich nichts gefunden. Hier, wo ich gerade einen Staubsauger ruhte, da habe ich was Gutes gefunden. Da gibt es eine Trustzone, die das Ganze verwaltet, die Datenpartitionen sind mit Lux verschlüsselt, der Schlüssel ist gehandhabt von der Trustzone und wenn das gelöscht wird, dann wird das einfach über die Trustzone gegangen. Das finde ich eigentlich ein sinnvoller Möglichkeit. So, zusammenfassend. Man weiß nie, was das Gerät tut. Die Geräte werden Datenspeichern und wenn man ein Factory Set machen möchte, dann ist das ziemlich schwer. Man weiß nicht genau, z.B. wenn das Landflash ist, dann weiß man nie, wie viele Daten tatsächlich von dem Gerät runter sind. Viele Hersteller, andere Punkte, viele Hersteller löschen auch nicht alle benutzergenerierten Daten. Wenn man z.B. Lockfiles findet, dann sind da viele Benusserdaten noch drin. Manchmal ist es auch einfach so, dass die Benutzer nicht genau wissen, wie das Gerät funktioniert. Das sorgt dann für große Probleme. Was ich euch empfehle, wenn ihr Geräte loswerden möchtest, dann werft sie nicht weg oder verkauft sie nicht. Wenn ihr denkt, dass es private Informationen haben und z.B. versucht, die Geräte zu zerstören, selbst wenn sie kaputt sind, macht sie einfach weiter kaputt. Wenn ihr sowas macht, dann solltet ihr vielleicht auch mal eure WLAN, wenn ihr WLAN-Zugangsdaten habt, dann ändert sie vielleicht oder nutzt ein separates WLAN für Internet of Things. Hier gibt es noch eine Liste von Leuten, die mich unterstützt haben, z.B. Prof. Goebbel Nubiri, von Essen University, von Essen University, von Essen University, von Essen University, von Essen University, und jetzt bin ich noch offen für Fragen. Vielen Dank. Okay, thank you Dennis. Ich denke, wir haben ein Zeitfilm, ein paar kurze Fragen. I can't see very well, so you have to make eye contact with him. There is a question right behind you, you go first. You mentioned one device that has did it properly, securely, which device was this, and if there was it did it properly, securely, securely, securely, securely, securely, securely, dass die Hersteller diese Funktionen nicht ankündigen. Also man kann nicht erkennen, welche Hersteller, welche Geräte das gut machen. Die meisten Geräte, die es gut machen, sind halt eben Smartphones, weil wir aus der Geschichte schon gelernt haben. Aber ansonsten kann ich mich an die viele Geräte erinnern, die es gut gemacht haben. Das ist eigentlich die wenigsten. Eine weitere Frage? Kannst du uns ungefähr auf das Scala sagen? Ich habe so einen Chip. Kannst du uns so eine Scala geben, was implementiert werden sollte für so ein Datencleaning? Ja, also was man als Hersteller natürlich machen kann, ist natürlich einfach gar nicht diese Protokoll-Date überhaupt erst sammeln. Also Daten, die gar nicht erst gesammelt werden, kann man auch hinterher nicht anrufen. Natürlich WLAN-Zugangsdaten müssen irgendwo gespeichert werden. Irgendwie auch im Klartext, sonst kann man mit dem WLAN nicht verbinden. Aber man kann natürlich auch die irgendwie verschlüsseln oder in irgendwelche Vertraulichkeitszonen stecken, sodass sie nicht so einfach abgerufen werden können. Hat das deine Frage beantwortet? Okay, da war noch eine Frage. Daneben, dass man sie zerstören kann oder es nicht kaufen, was kann man benutzt und sonst empfehlen, die sich nicht so mit IT-Sachen auskennen, was sie damit machen sollen, nachdem sie es benutzt haben? Ja, das ist natürlich eine schwierige Frage. Ich hatte sogar diese Diskussion heute schon, wo mir jemand gesagt hat, naja, man kann halt nicht einfach jedes Geld kaputt machen, weil zum Beispiel so ein Smart TV, also einfach für den wirtschaftlichen und Umweltaspekt, das ist halt einfach Quatsch, das einfach kaputt zu machen. Aber wenn man den Gedanken hat, dass das eigene Gerät, ja, Daten enthält und wenn es halt ein billiges Gerät ist, was für ich nur 50 Dollar kostet, dann einfach mitmachen und kaputt schlagen. Das Gleiche ist, wenn man eine kaputte Festplatte hat, eine kaputte Festplatte ist, wenn es einfach nicht mehr läuft, wenn man es nicht mehr löschen hat, dann einfach aufschrauben und ein paar Löcher einbauen, also halt physikalische Zerstörung. Viele, viele Leute würden es halt nicht tun, gerade bei einem teuren Fernseher oder so, aber... Ja, es ist eine schwierig zu beantworten Frage, es gibt keine einfache Lösung dazu, es ist ein großes Problem und es gibt keine gute Lösung dafür im Moment. Okay, da drüben. Ja, es ist eine gute Idee, die Chips in die Mikrowelle zu legen, um sie zu zerstören, also man sieht immer Videos, die das machen, kann das funktionieren. Ich denke, also wir wissen, dass, wenn man Pässe in die Mikrowelle stellt, dass es manchmal ein Feuer auslösen kann, also ich würde überhaupt keine Bauteile in eine Mikrowelle lesen. Vielleicht kann man sie anders physikalisch zerstören, also wenn man eine SD-Karte hat, sie einfach durchbrechen, dann können erfahrene Leute immer noch die SD-Karte wieder zusammensetzen und versuchen die Daten auszulesen, aber es hat sich die Frage, wie wahrscheinlich ist das, dass es jemand versuchen würde? Wie wichtig sind die Daten? Also vielleicht doch einfach mit einem Schraubendreher den Chip entfernen und dann wegwerfen und wenn jemand den Chip findet und sich die Mühe macht, dann ja okay, ist halt die Frage, ob die CIA oder das FBI irgendwas von dir wissen. Also die Frage, was da dein Feind ist, aber eigentlich müsste das reichen. Es läuft langsam die Zeit aus, insofern danken wir mal Dennis für seinen Vortrag.