 Echtliches Feedback zu den Übersetzungen auf Twitter an at C3Lingo oder unter dem Hashtag C3T. Exploiting techniques and reverse engineering and industrial security. And the talk today will be about Skyra, the gateway to Shell. Hello. And just one little notice, this talk will be in English and will be translated in German as well. Thank you. Awesome, thank you. Okay, welcome to my talk. Willkommen zu meinem Talk über the gateway to Shell. Ich bin Thomas Roth. Ich bin ein Sicherheitsforscher. Ich mache sehr viel Low-Level-Arm, reverse engineering und embedded Sicherheit. Ich bin auf Twitter oder schreibt mir auch eine E-Mail, wenn ihr wollt, an meiner E-Mail-Adresse. Bevor wir beginnen, möchte ich einen kurzen Einleitung zum Hintergrund geben. Ich habe dieses Jahr ein paar Pan-Tests von SCADA-Geräten gemacht. Und ich habe herausgefunden, dass diese kleinen Geräte nicht besonders gut abgedeckt sind. Die großen Siemens-Geräte, die werden gut erforscht. Es gibt aber eine Haufen kleine Geräte, welche hier in den Ethernet-Netzwerken rumfliegen. Und die sind nicht gut erforscht und die sind nicht sehr sicher. Und alle Geräte, von denen wir sprechen werden, sind auf dem neuesten Patchstand. Das heißt, wir werden hier Zero-Days haben. Das sind keine theoretischen Angriffe. Wenn man bei den richtigen Search Engines schaut, dann findet man Zehntausende solcher Geräte. Zuerst noch ein kurzer Einleitung in die Akronüme. Ich sage im Titel zu was SCADA, aber eigentlich sollte es ICS sein, nämlich Industrielle Kontrollsysteme. ICS beschreibt das ganze System vom Überwachungsraum zu den PLC-Geräten, zu den Sensoren, alles. Und SCADA beschreibt eigentlich nur die Überwachungs- und Kontrollcenter, die großen Bildschirme, die man in den Filmen sieht. Und wenn der Bösewicht kommt, dann werden da alle lichterrot. Und dann gibt es auch die PLCs, die programmierbaren Logik-Kontrolle. Eigentlich ein Arduino, aber in Industrieanwendungen. Und die sind super einfach zu programmieren, kann man bei Siemens oder bei Schneider kaufen und so weiter und so fort. Dann gibt es die RTUs, die Remote Terminal Units, das sind kleine Geräte, welche hauptsächlich für Überwachung genutzt werden. Die können aber heutzutage auch programmiert werden. Und darum ist es so ein bisschen eine Mischung aus dem und einem PLC, das aber halt an einem entfernten Standort ist. Sprechen wir jetzt von den Industrial Control Gateways. Wenn man ein solches Industrie-Netzwerk anschaut, dann findet man einen Haufen Sensoren und Akteuren, welche unterschiedliche Protokolle sprechen. Die könnten seriell sein oder IP oder Modbus und man kann darum diese Gateways kaufen, welche alle diese unterschiedlichen Protokolle auf ein IP-Netzwerk verwendet. Wir, Ethernet, GSM, Wi-Fi, was auch immer, die habe ich bei nahezu jeder Industrie-Installation gesehen, die ich gesehen habe. In Kraftwerken, Schaudämmen und so weiter. Und das Konzept zur Sicherheit dieser Geräte ist, dass sie airgapped sind. Und ja, sie sind airgapped, aber sie sind untereinander verbunden. Sie haben selber Antennen über eine Riesenmenge an verschiedenen Protokollen. Wi-Fi, Lorrawaren, GSM oder proprietary Systeme. Und auch die Case-Start ist zeigen, dass man beispielsweise hier ein Überwachungsnetzwerk hatte, welches alle die Sensoren verbindet und über die man das System überwachen kann. Und hier würden diese ganzen Daten über GPRS übertragen und das wissen wir, das ist kein sicheres Protokoll, also alle diese Daten könnten expandiert sein. Und auch hier in diesem Beispiel von Wasserspeichern sind diese über offene Netzwerke verbunden. Sprich, diese Geräte sind nicht airgapped. Um sie anzugreifen, wenn man auf Show dann geht, dann findet man einen Riesenhaufen dieser Geräte. Die sind alle übers Internet oder über GPRS erreichbar. Wenn man einen Staud am Anschaut, dann ist es schon noch spannend, da mit einem Software-defined Radio hinzugehen und mal schauen. Und da findet man ganz viele interessante Sachen. Und zum Teil kann man auf triviale Art und Weise Zugang haben zu den physischen Geräten. Und die sind dann einfach in einer weißen Kicht und dann kann man da einfach hingehen, kann die Sinnkarte manipulieren und dann ist man direkt im Scatter-Netzwerk. Aber bitte macht das nicht. Also, dann lass uns mal ein paar Gateways hacken. Die Ausrüstung, die ihr braucht, um alles, was in diesem Tocke macht, wurde nur mitgemacht mit den Geräten, die hier auf diesem Tisch steht. Ihr braucht ein Laptop, ein Oscilloscope oder ein ähnliches Messgerät, damit ihr eure Logic-Analyzer nicht durchbrennen lasst. Euren Logic-Analyzer, einen Lötkolben, Stromversorgung, dein Multimeter und das war es eigentlich schon. Damit könnt ihr fast jedes Embedded-Gerät hacken, welches diese Geräte mit diesen Geräten hacken. Um potenzielle Ziele zu finden, habe ich hier meinen Versuch gestartet. Kann ich die Firmware dieses Devices bekommen oder kann ich einen J-Tech verwenden, um sie aus dem Gerät zu bekommen? Kann ich das Gerät kaufen für einen vernünftigen Preis? Denn manche dieser Geräte kosten 600 Euro und wenn ihr 10 davon kauft, dann wird das sehr schnell teuer. Also muss ich gucken, ob sie es auf Ebay gibt, welche kann ich kaufen. Und sie sollten einen halben Volt Strom haben. Die meisten Geräte, die 10 Jahre alt sind, die sind komplett kaputt. Ihr müsst euch gar nicht anschauen. Das erste Gerät, welches ich ausgewählt habe, um mal richtig reinzuschauen, war der Moxa W2150A. Das ist dieses kleine Gerät, das man auf diesem Board zieht. Dort habe ich es festgemacht. Hauptsächlich, weil ich gesehen habe, dass es die Firmware gibt und das sieht interessant aus, weil es Wifi hat. Und wenn ich da einbrechen kann, dann kann ich den AirGap überspringen und herumpivoten. Der W2150A ist ein sehr einfacher Deviceserver. Man kann jedes serielle Gerät andocken, man kann RS485 anbinden und es exponiert sich auch über Internet und Wifi. Die Firmware ist öffentlich verfügbar und auf Ebay ist es sehr günstig. Es kostet ungefähr 150 Dollar oder Euro. Ich habe die Firmware runtergeladen und ich habe mir die Entropie der Firmware angeschaut. Und ich habe gesehen, dass die Entropie sehr hoch ist. Entweder es ist sehr komprimiert oder es ist verschlüsselt. Ich habe einen Tool verwendet für Binwalk. Das benutzt man, um sich firmware anzuschauen. Ich habe gesehen, dass es gar keine Kompression gibt, also war die Wahrscheinlichkeit sehr hoch, dass dieses Firmware-Image verschlüsselt ist. Aber ich habe gemerkt, dass auf der Webseite, bevor man zu Version 2.15 updateet, müsst ihr zusätzlich die Firmware 11 upgradeen musst. Das hört sich interessant an. Was steht denn da in den Veröffentlichen in den Release-Nutz drin? Es stellt sich heraus, dass 1.11 gibt den Support für die Verschlüssel-Firmware. Das heißt, ich habe die 1.11 heruntergeladen und siehe da, die ist unverschlüsselt. Und wenn ihr je etwas mit Arm gemacht habt, wenn ihr nur in den Firmware-Hacks reinschaut, dann seht ihr sofort, ist das Arm oder kein Arm. Denn die ersten vier Bits, jedes Befehl sind die Bedingungs-Bits und die sind fast immer E. Wenn jedes vierte Beit ein E ist, dann wisst ihr, dass das eine Arm-Firmware ist. Oder sie ist nicht verschlüsselt oder sonst was. Also gut, ich habe BindWalk auf diesem Image laufen lassen. Das heißt, wir sehen einen hohen Drop, einen Runterfall in der Entropie. Das ist der Bootloader ins Wohnen und dann eine hohe Entropie. Das ist das Komprometer-Dateisystem. Und BindWalk konnte bereits das Kostüm-EFS-Detektieren dieses Dateisystem und für mich sehr schnell leicht extrahieren. Mein Ziel war es, die Firmware zu extrahieren, den Firmware-Abweitrohr zu erkennen und dort die neue Firmware zu entschüsseln. Ich bin also bei diesen Teilen angeguckt und ich habe eine Datei gefunden, die heißt lib-upgrade-firmware.so. Und wenn wir da reinschauen in die Symbole, die sind zum Glück nicht entfernt worden. Es gibt ein schönes Symbol, das heißt F-W-Decrypt-Firmware-Decrypt. Wir erladen das in einen Disassembler, das sieht nach IDA Pro aus. Und wir sehen, dass es hier ein paar nette X-Oren, ein bisschen X-Oren, was gemacht wird. Und ich füge euch da mal durch, was da passiert in diesem Code. Das sieht eine Variable, die sich Passwort nennt, Passwort loaded into ein Register RL. Und dann ein gleiche Variable, die ebenfalls gesetzt wird. Und dann gibt es eine Schleife und erhöht sich immer um vier. Und es geht dann durch diese ganze Entschuldigung. Es geht durch diese ganze X-Ore-Kram. Das ist wohl die Opfoskierung-Methode für die AIS-Key. Das heißt, wir haben einen verschlüsselten, einen opfoskierten Key im Speicher. Und wenn wir diesen Code implementieren, dann können wir, wenn wir das in C implementieren oder im Emulator, dann können wir das entschlüsseln. Das wird dann als Schlüssel verwendet. In der AIS-Entschlüsselung. Das heißt, ich habe das Ganze in C implementiert. Das war eigentlich ein Copy-Paste vom Decompiler. In Ida Pro könnt ihr einfach F5 drücken, den C-Code kopieren, die Memory-Offsets reparieren und ihr habt schon die komplette Schlüsselopfoskierung, das Methode, fast automatisch, sozusagen reverse-engineered. Ich habe das kompelliert und ich habe gesehen, dass der Key 288-CON-7564, ich habe ein kurzes Skript gemacht, um die nächste Firmware, die nächste Höhere zu entschlüsseln und jetzt identifiziert BINVORG alle Dateien. Und wir können die Firmware reverse-engineeren. Applaus vom Publikum. Die Skripte sind auf meinem GitHub verfügbar. Ich werde den DeCrypt-Stoff hochgeschoben auf GitHub. Nachdem ich an diesem Punkt war, wusste ich, dass ich die Firmware entschließen kann, dass ich reinschauen kann, sie ist nicht signiert. Die einzige Verifizierungsmethode ist CRC32. Das heißt, ich wusste, ich kann dieses Gerät kaufen und damit spielen. Ich bin auf eBay gegangen, ich habe eines gekauft, ich habe es aufgemacht. Siehe da, da ist ein Armprozessor. Das ist ein Friskale IMX25, das ist der Standard Armprozessor. Ungefähr 400 MHz, denke ich. Und ich habe mir dann all die kleinen Pins geprüft, um mal herauszufinden, ob es ein J-Tag oder eine seriellen Anschluss gibt. Dann habe ich meine Stromversorgung an ein Fußpedal gemacht, um das Device schnell resetten zu können. Und siehe da, ich habe hier eine komplette serielle Konsole auf diesen vier oder drei Pins. Wenn ihr das Gerät bootet, dann sagt es euch, dass ihr enterdrucken musst, diese Konsole zu machen. Und wenn ihr euch dann dran verbunden habt, sagt ihr auf dem Device, Rot. Das ist schon ziemlich cool, aber dazu braucht man physischen Zugreif. Das ist nicht wirklich eine Schwachstelle, aber das ist sehr nett, um die ganze Sache besser zu untersuchen können. Man kann jetzt den ganzen Code debuggen. Und wenn man einen Exploit schreiben will, dann kann man einfach GDB dranhängen und anfangen. Dann kann man sehr einfach Exploit schreiben. Und jetzt war es Zeit, sich die verfügbaren Dienste auf dem Gerät anzuschauen. Es hat ein Web-Interface, es hat ein proprietäres Konfigurationsprotokoll, es hat Telnet, es hat SNMP, es hat ein serielles Treiber-Protokoll. Ich habe mir mal das Web-Interface angeschaut und es hat eine Cross-Site Scripting, Cross-Site Request Forgery und sichere Authentifizierung. Das wird einfach auf dem Client gehasht, mit ein bisschen JavaScript. Man kann Befehle einfügen, es hat Stack Overflows und vor ein paar Tagen wurde ein Zero Day für den Web-Server veröffentlicht. So, Demo Zeit. Lass mich das mal kurz nach vorne holen. Dieses ist abgesichert, da muss ich einfach das Default-Passwort eingeben. Das wird 90% der Zeit auch im Feld draußen funktionieren. Also klicken wir uns da mal durch. Jetzt kommen wir zu den Grundeinstellungen. Jetzt können wir über den Gerät den Namen ein leichter, schon ganz einfach Cross-Site Scripting machen. Jetzt paste ich da einfach mal ein bisschen JavaScript rein, gebe das allen und voilà. Hallo, 34 zu CC. Ich weiß, was ihr denkt. Cross-Site Scripting, das ist doch keine Schwachstelle. Das ist doch einfach das Nix. Schauen wir uns mal den Ping-Test an, der hier eingebaut ist. Witzigerweise, ein anderes Moxa-Gerät mit einer ganz anderen Firmware hat da schon die gleiche Schwachstelle. Aber wenn ich jetzt meine IP-Adresse in den Ping-Test rein mache und dann eine Semikolon und dann ein Cut, dann wird das hier auch ausgeführt. Voilà. Schon noch praktisch, aber sicher nicht beabsichtig so. Aber ich weiß, was ihr denkt. Das sind Bugs, die man hat, weil man im Web-Interface eingeloggt ist. Wir brauchen was, wo man nicht eingeloggt sein kann. Etwas Cooles, etwas ein echter Exploit. Also habe ich mir mal dieses Custom TCP-Protokoll auf dem Port 4900 angeschaut und habe versucht, das ganze Protokoll zu Reverse Engineering und zu fassen. Stellt sich raus, nicht nötig. Beim Testen habe ich einfach mal ein Haufen Bites dorthin geschickt und das Crash-Debugging über die Konsole aktiviert und es ist gecrashed und hat mein Program-Counter wunderbar auf 4.1.4.1.4.1 gesetzt. Kann man ganz einfach ein Stack-Overflow ausnützen. Demo-Zeit. Also, Demo-Zeit. Machen wir das ein bisschen größer hier, dann sieht man es auch. Ich habe ein kleines Skript geschrieben. Das habe ich MOXER OWN genannt. Ich gebe dem die IP-Adresse und schauen wir mal. Machen wir eine zweite Shell auf, um via Netcat da drauf zu verbinden. Und da sind wir, wir haben eine Route Shell auf dem Gerät. Und weiter Applaus aufs Publikum. Das war das MOXER Gerät. Der Name fällt einem ganz leicht. Das zweite Gerät, was ich mir angeschaut habe, ist der Advantech LKI 1522. Den kann man gerade hier finden, er zeigt auf einem Gerät am Tisch. Das ist ein ganz einfacher Seriello-Geräteserver. Der hat kein Wi-Fi, gibt zwar welche, aber der nicht. Der hat zwei Ethernetports, zwei serielle Schnittstellen. Ich habe das Gleiche gemacht. Ich habe die Firmware runtergeladen, ich habe sie mit BINWALK angeschaut. Und diesmal habe ich kaum Entropiegefunden, es ist praktisch unverschlüsselt. Es ist ARM, Linux 2631 und ein Boa Web Server. Der wurde 2005 zum letzten Mal abgedatet. Und die Firmware ist von 2017, von dem er schon etwas veraltet. Und in der Initialen Analyse habe ich gefunden, dass das Haupt-Binary dieses Edge-Server ist. Und das habe ich wieder in IDA Pro reingeladen. Und habe mir da verschiedene Calls angeschaut und habe da verschiedene Calls gefunden, welche eher als unsicher angeschaut werden. In statischer Analyse habe ich Code gefunden, um eine E-Mail-Benachrichtigung zu verschicken, wenn das System sich rebooted. Und das ist das volle Kommando hier, mail x minus s, bla bla bla. Wir haben gewisse Kontrollen hier, weil wir können die Tour-Adresse konfigurieren. Und wenn wir schauen, was hier passiert, dann wird dieser Format-String vorbereitet, die Betreffteile wird gesetzt, ein paar Argumente vom Stack werden geholt und das Ganze wird dem System übergeben. Kein Filter in, nichts. Wir kontrollieren einen nicht gefilterten Teil des Systemaufrufs und damit haben wir einen Code-Execution-Bug. Witzige Anekdote. Ich habe dieses Gerät zuerst gekauft, weil das einfach nur 40 Euro kostet. Aber das hat denselben Bug in der Firmware, aber die Mail-Funktionalität ist kaputt. Da konnte ich es nicht testen. Daher muss ich wieder auf eBay gehen und einen neuen kaufen. Also habe ich den größeren gekauft, der sieht so aus. Der kommt mit einer Kavium-CNS-CPU, der hat ein exponiertes JTAG da unten und eine serielle Konsole ohne jegliche Identifizierung. Wunderschön. Kann man mit dem Bus-Pirate oder sonst was darauf verbinden und schon hat man eine serielle Route-Konsole ohne Passwort. Und auch hier wieder haben wir Schwachstellen gesucht und wir haben verschiedene Services gefunden. Es hat wieder ein Web-Interface, ein proprietäres Konfigurationsprotokoll über UDP, Telnet, SNMP, serielle Treiber-Protokoll, genau wie zuvor. Wiederum, wir haben uns die Webseite angeschaut und wiederum Cross-Site-Scripting, alles. Wenn man sich aus einem Computer darauf einlockt, dann kann man von irgendwo sonst her ein komplett anderen Gerät darauf connecten und wird nicht mehr in das Passwort gefragt. Ich weiß nicht, warum das so ist, aber es ist so. Ich dachte, ich mache irgendwas falsch, aber es ist einfach kaputt. Und es hat wieder ein Stack-Overflow in einem anderen Protokoll. Ist schon wieder Zeit für eine Demo, denke ich. Schauen wir uns das Gerät selbst an. Ich kann natürlich das Passwort. Hier können wir eine Beschreibung vom Gerät bereiten. Das ist ein Web-Interface. Natürlich kann man einfach Java-Scripten reinkopieren, auf Speichern klicken, Neuladen und Cross-Site-Scripten. Schon wieder. Nicht so spannend, aber geht auch. Also schauen wir uns das Stack-Overflow an. Ich habe wieder ein kleines Script dafür gemacht, um das Warn-Tech-Pone. Habt ihr die IP vergessen? Und wir haben ein Netcat auf dem Laufen. Das ist eine Root-Shell auf der Warn-Tech-Device. Wieder ein Stack-Overflow. Also, zwei von drei Devices sind schon kaputt. Schauen wir uns das nächste an. Der Lantronics EDS 2100. Das ist sehr interessant, denn es ist kein Arm. Und ich arbeite normalerweise nur mit Arm-Prozession. Dieses Gerät ist ungefähr hier angebracht. Das hat ein seriell zu Ethernet-sicherer Geräteserver. Es hat zwei serielle Anschlüsse, Ethernet. Und es gibt es in zwei Varianten, eine mit Linux. Und das andere ist EvolutionOS. Das sieht ein properteres Betriebssystem von Lantronics wahrscheinlich. Ich benutze die Variante mit EvolutionOS in diesem Talk. Wir haben uns die Firmware angeschaut. Die ist unverschlüsselt und das ist eine Cold Fire Architektur. Das habe ich mir noch nie angeschaut, damit habe ich noch nichts gemacht. Und es gibt keine offensichtlichen Endextern-Software-Komponenten. Wenn ihr euch die Firmware anschaut, dann seht ihr, dass es eine SSH-Implementierung kommt. Es gibt eine SSL-Implementierung, aber es ist nicht OpenSSL. Und es ist nichts, was sehr gut bekannt ist. Und das gleiche gilt auch für den Webserver. Es ist nichts, was man kennt. Wenn ich das Device untersucht habe, habe ich nichts gefunden. Keine serielle Konsole, kein JTAC. Ich habe nur einen möglichen Debugger-Port. Aber ich hatte keinen passenden Debugger dafür. Die CPU ist von NXP, sie hat 166 MHz oder so. Und das ist schon ... Dieses Mal haben wir ein Web-Interface mit Telnet, SSL. Und das hat sozusagen ein Dateisystem. Das heißt, ihr habt FDP, TFTP, damit ihr die Konfiguration runterladen könnt und hochladen könnt. Und es ist schwer, das abzusichern, weil es so viele Protokolle hat. Und es ist nicht klar, was ist im Default drin. Aber ihr bekommt ein bisschen so einen Überblick. Dieses Mal ist das Web-Interface überraschend sicher. Es gab kein Cross-Side-Trip, es gab keine Command-Injection. Denn es gibt keine Shell, in der man überhaupt Kommandos ausführen kann. Aber ich habe noch ein paar Sachen gefunden. Eine Konfigurationseinspeisung, Konfiguration-Injection. Das erlaubt euch, das Format der Konfiguration zu ändern, indem man ein anderes Feld verwendet. Und ich habe eine Möglichkeit gefunden, die Authentifizierung zu umgehen. Das heißt, ich konnte ein bisschen Code starten, weil es in der Weile läuft und das entfernt das Passwort von dem Gerät. Also demutere Zeit, wenn wir uns mit dem Landtronics-Device verbinden, dann wird es jetzt nach einem Passwort fragen. Was wir in der Theorie nicht haben, also wir kennen das Passwort nicht. Hier ist die Anmeldemaske. Und dann lassen wir mal Landtronics auf den Lauf lassen. Das ging sehr schnell. Mal schauen, ob das funktioniert. Okay, und es hat funktioniert, das Passwort ist weg. Und es gibt wieder Applaus aus dem Saal. Großartig. Ich hatte nicht gedacht, dass die Demos so gut funktionieren. Ich hatte eigentlich eine Stunde für den Talk angemeldet. Das klappt alles sehr gut. Das freut mich, bevor wir am Schluss sind. Manche andere Geräte sind viel schlimmer. Zum Beispiel, ich habe ein paar andere Geräte gekauft, diesen Advantage-Gerät, dieses Moxa und diesen Landtronics. Das sind die Vorgänger der anderen Geräte. Diese Dinger sind ziemlich interessant, wenn man sie sich anschaut. Manche von diesen laufen E-Cost, das ist ein Embedded Linux. Eine Embedded Linux-Plattform, die das letzte Mal 2009 veröffentlicht wurde. Manche haben einen Linux-Colonel in einer 2.4 Linux-Wörderung. Es gibt einen UC Linux ohne Memory Protection. Das heißt, ein kleiner Stack Overflow in einem Userspace-Anwendung gibt euch kompletten Routzugang zu dem Gerät, weil ihr den direkt auf den Kernel zugreifen könnt. Und es gibt ungefixte öffentliche Verwundbarkeiten. In einem ersten kleinen Pen-Test, den ich gemacht habe, wo ich dieses kleine Moxa-Endport verwendet habe, habe ich gesehen, dass wenn man SNMP-Worg verwendet, dann bekommt ihr einfach das Administrationspassort über SNMP zurück. Das heißt, ich habe dann das versucht zu reporten an Moxa. Das ist bekannt, es gibt ein Metab-Sortmodul dafür. So bekannt ist die Verwundbarkeit schon. Diese ist nicht gefixt. Und diese Devices werden weiterhin unterstützt. Ich weiß nicht, warum der Hersteller die Verwundbarkeit nicht patcht. Die Zusammenfassung, wir haben relativ triviale Verwundbarkeit in den meisten Geräten, zumindest in allen, die ich mir angeschaut habe. Es gibt keine Möglichkeit, das zu mitigieren. Es gibt die Compiler Flex, die man dazu braucht. Die gibt es nicht, damit es ein bisschen Stack Protection gibt. Das ist nicht vorhanden, um Kies zu schützen, ist nicht da. Und manche von der Hersteller sind nicht gut, wenn man ihnen Verwundbarkeit in den Report schickt. Ich nenne die mal nicht, aber manchmal habe ich sie auf Twitter gefragt, könnte mir ein Security-Sankt-Charakter haben. Dann haben sie gesagt, benutze das Kontaktformular. Ich habe das schon dreimal verwendet. Ich habe auch schon E-Mails geschickt und ihr antwortet nicht. Und dann haben sie auch auf Twitter aufgehört zu antworten. Ich habe auch schon Applaus und Gelächter aus dem Saal. Also, wie kann man das mitigieren, den einzigen Weg, den ich mir vorstellen kann? Ich bin ja eigentlich mehr auf der dekonstruktiven Seite der Story. Das ist die sogenannte Defense and Deft. Exponiert diese Geräte niemals direkt zu dem Internet. Selbst wenn sie sagen, hey, wir unterstützen VPN, wir sind ein sicheres Device, tut es nicht. Holt euch ein echtes VPN Gateway und macht sorg dafür, dass ihr nie eine einzelne Ebene von Verschlüsselung habt als Schutz. WPA2 ist z.B. durch den Krachangriff gekrägt worden. Da gab es dann einen Patch nach zwei Monaten. Aber das sind zwei Monate, wo ihr Verwundbarkeiten habt auf eurem wichtigen System, eurem Industrie-System. Benutzt nie GPHS bei diesem Geräten ohne VPN. Das wird schief gehen. Okay. Jetzt haben wir Zeit für Fragen. Vielen Dank, dass ihr gekommen seid. Danke für den Talk. Wir haben sehr viel Zeit für Q&A. Die Fragen stellen Sie jetzt in die Mikrofone. Und die Frage kommt aus vom Mikrofonführer. Hallo. Hallo. Hallo. Danke für den Talk. Das ist Teil eines größeres Problems in der Sicherheit, in der IT, in jeder Technologie. Das wird immer schlimmer werden mit der Zeit, das Internet of Shit, Internet der Scheiße, Internet der Dinge, usw. Meine Frage. Du hast ein paar Mitigierungsstrategien vorgestellt, VPN-Verwandten usw. Meine Frage ist, die Hacker-Community ist ja nicht interessiert an Regulierung. Wenn wir eine Regierung sehen, die Regulierung mit Technologie was machen will, dann geht das schief. Wir haben im Kopf, das kann alles nur schief gehen, wenn es eine Regulierung gibt. Glaubst du, dass es vielleicht doch eine Möglichkeit gibt, hier eine Regulierung zu finden, um solche Probleme zu lösen? Ja, hier ist sicher Platz für solche Regulierung. Ich glaube nicht, dass die darunter liegenden technischen Probleme löst. Diese Geräte verwenden C in 2017. Das fragt einfach nach Problemen. Aber wir müssen unbedingt zu was, wie Russ zwitschern, was speichert sich jetzt, was memory-safe ist. Ich glaube, da gibt es keine andere Möglichkeit. Aber es hat sicher auch Platz für Regulierung. Das Internet möchte wissen, warum lernst du die schlechten Herstellerschnitte? Das ist doch vielleicht die einzige Option, die wir nicht antworten, dass man sie explodieren muss. Ich habe sie auf Twitter angesprochen. Da ist mein Twitter-Handel. Wenn ihr auf Tweet und Replys klickt, dann tja. Ich habe sie nicht genannt, damit das klar ist. Du hast gezeigt, ein Exploit, das beim letzten Device, was die Autorifizierung weggemacht. Was hast du benutzt, um das zu machen? Diese ist nicht gepatched und noch nicht gefixt. Darum würde ich gerne nicht darüber sprechen. Ich wundere mich, ob du dir auch den Bau von Automatisierungssystemen angeschaut hast. Den Bild. Man kann diese Geräte benutzen, wo man will. Ich glaube, einige der Moxer-Geräte sind in Heimautomatisierungssystemen verwendet. Ich habe mir Crestron angeschaut, aber noch nicht im Detail. Ich bin mehr auf der industriellen Seite im Moment. Hallo. Gibt es Felderfahrungen oder Meinungen, wenn man Respirary-Pies verwendet, mit Linux-Distributionen oder so? Das sind die Sicherungen. Das große Problem dort ist der Support. Es gibt einige deutsche Firmen, die für industrielle Respirary-Pies Support anbieten und auch mit Cases versorgen. Aber ich weiß nicht, ob der Respirary-Pie der wahre Weg ist. Das Problem ist nicht der darunter liegende Stack. Es ist nicht die Hardware, das das Problem ist. Es ist die Software. Da wirst du die gleichen Probleme auf dem Respirary-Pie haben. Ja, das kann man schon kaufen. Die sind industriereif und schockgeschützt. Man kann dein Linux draufmachen und das besser machen. Aber ich glaube, die Hardware, die Plattform, wird nichts ändern im Moment. Hallo. Hallo. Eine soziale Frage. Hast du denn direkt den Kontakt zu dem Entwicklerteam gekriegt? Oder gibt es vielleicht niemand hinter der E-Mail-Adresse? Einige dieser Firmen sind groß genug, dass sie dir nicht antworten, wenn du keinen Vertrag mit ihnen hast. Aber der Support von denen, die nicht auf meinem Twitter sind, ist einigermaßen okay, wenn es um Sicherheitsreports geht. Darum werden meine nächsten Schritte über das industrielle Kontrollsystem zärt. Es gibt Entwicklungsteams, die mit ihr in Kontakt treten werden, aber nicht von allen Wenders. Hallo. Das Internet möchte wissen, was tut man? Es gibt doch so viele alte Geräte draußen in der Welt. Wie sollte ein Herrscher damit umgehen mit den Updates? Also, die alten Geräte unterstützt zu überhalten, ist sehr, sehr teuer. Wenn man einen Qualcomm-Chip kauft, dann werden die irgendwann den Support für den Linux-Colonel sein lassen. Aber wenn man einen Free-Scale, Autochip kauft, dann hat man einen Vertrag, der bestimmt, wie lange sie denn unterstützen. Dafür muss man ziemlich viel Geld in die Hand nehmen. Die Lebensspanne von industriellen Systemen ist aber viel größer als die Unterstützung dieser Geräte und der Hardware. Wir müssen da irgendwie herausfinden, wie wir sichere Software auf die Geräte bringen. Aber ich glaube, das Problem ist wirklich, dass wir immer noch Memory Unsafe Sprache verwenden. Und das Verhandensein der Cross-Site-Scripting zeigt einfach, dass bei Gewissen dieser Wenders überhaupt kein Verständnis für Security ist. Ich habe mich gefragt, ob man manche von diesen Fabriken GPs verwenden. Wisst ihr, ob sie ihre eigene Infra haben oder benutzen sie die ganzen öffentlichen Telcos? Also sie werden die kommerziellen Netzwerke brauchen, meistens zumindest. Sie haben dann ein Custom-Dingens, mit dem sie IP-Sets machen, beispielsweise. Es gibt aber auch eine Firma, die man dann verkauft und mit denen kriegt man eine Public IP, aber die werden wir dann auf Schrotan wirklich nicht suchen. Hallo. Ist es nicht ein Problem, ist es ein Ökonomischloser, das sind ja dreckige Geräte. Wenn man so etwas baut, dann sollte man ja was machen, bevor man so etwas in der Masse verkauft. Das baut uns etwas, was nicht jeder hacken kann. Sonst kaufen wir euren Scheiß nicht mehr. Also ich meine, das ist in der ganzen IT, oder? Alles hat Schwachstellen und ja, es sollte Druck vom Markt kommen und darum will ich auch die Aufmerksamkeit darauf erhöhen für die Probleme bei den Geräten. Das Internet möchte wissen, wie und ist es und ob es eine gute Idee, wenn man diese Erwärmung erhöht. Das ist eine gute Methode, dass die Öffentlichkeit weiß, dass diese Infrastruktur in den Städten ein Risiko ist. Bitte wiederholen. Sie möchten wissen, wie kann man die Erwärmung in den Städten erhöhen? Eine gute Frage. Ich denke, da braucht man einige Zeitungsartikel in den normalen Nachrichten. Aber ich denke, da ist ein Unfall, der nur wartet, darauf zu passieren und da wird in irgendeiner Stadt etwas passieren. Irgendwer wird ein Fließventil öffnen und das wird ein Problem sein und dann werden diese Geräte verwendet. Ich habe sie in Kraftwerken gesehen. Ich weiß, sie werden in Staudamm-Kontrollsystemen. Ich weiß, sie werden verwendet, um eine CNC-Maschine an ein anderes Netzwerk anzuschließen. Wenn du eine große Fabrik hast, dann hast du Sensoren überall in Staudamm-Kontrollsystemen. Vielleicht kannst du deine Wasserstands-Sensoren mit Modbus haben und dann brauchst du Modbus zu TTP und dann hast du einen dieser Gateways. Ich habe auch schon gesehen, dass es 20 davon in einem Schrank hat. Ich habe deinen Tweet an Star Alliance retweetet. Danke. Ob du dir MQTT angeschaut hast von Becker Fuess' Sicherung? Ich habe damals ... Ich habe gerade gestern mit jemandem geredet, der mir das empfohlen hat, aber ich bin noch nicht zu mehr gekommen. Könntest du den Moxa-Webbanner zeigen? Weil ich würde gerne nur checken, was sie ... Was sie ... Welche Patch-Version sie zeigen. Ich glaube, dieser Browser ist nicht ganz wirklich. Okay. Schauen wir uns mal. Ah, da ist ein etwas kleingedrucktes ... Schön gesehen, schön gesehen. Ja, die wollen, dass man das am besten mit IE-5 anschaut. Ja, das daran wird es liegen. Very more questions. Any questions from the Internet? Keine weiteren Fragen? Das Internet möchte wissen, wie man eine memory-sichere Sprache, diesen Authentication Bypass verhindern würde. Ja, den würde es nicht verhindern. Aber es würde so viel anderes verhindern. Es ist ein Beispiel, wo sich die Industrie ändern müsste. Wir müssen aufhören, diese Sprachen zu verwenden. Wir müssen wirklich von Beginn weg Security ins Design einfließen lassen. 2017 ist es einfach nicht mehr recht zu fertigen, dass man Cross-Site-Scripting auf der Webseite hat. Und wenn man beim Landronics schaut, wenn man Logout anklickt, dann kommt die Meldung, Logout ist in den Browser nicht unterstützt. Das liegt wahrscheinlich daran, dass man nicht den Internet Explorer 5 verwendet. In dem Remote-Halter des Exploits, wo du den Puffer-Overflow gemacht hast, was ich nachdenke, ist es nicht sehr standard, dass ASLR auf diesen Geräten an ist. Nein. Sollte, aber es ist nicht. Das war meine Frage. Es scheint keine weitere Fragen zu geben. Das Internet möchte wissen. Ich muss erst wissen, ob ich den Puffer-Overflow machen muss. Ich möchte das nicht wissen. Okay, nein. Oder doch nicht. Okay, noch mal Applaus für Thomas Roth. Einer Runder Applaus. Und danke.