 Auch ich möchte Sie ganz herzlich begrüßen. Ich stehe hier so ein bisschen hinter unserer Technik. Das hat den Grund, dass wir gleich für eine der Präsentationen den Bereich hier frei halten müssen. Zunächst erstmal, weil wir da zunächst ohne Personen darin den Hintergrund kurz erlernen müssen. Bevor wir aber anfangen, möchte ich uns zunächst ganz gerne vorstellen. Mein Name ist Ecker Herr Thermann. Ich komme von der Hochschule Oberösterreich, genauer von Hagenberg. Ich bin dort im Studiengang Informationssicherheit bzw. sichere Informationssysteme. Wir haben drei Studiengänge dort für den Bereich Software Sicherheit zuständig. Gemeinsam mit meinem Kollegen, der die Professur für Cloud Security und IT-Risiko-Management hat, im Harald-Lambesberger arbeite ich mit Studenten gemeinsam bzw. in unserer Forschungsgruppe an dem Themenbereich künstliche Intelligenz oder Methoden der KI eingesetzt im Bereich Informationssicherheit bzw. Risiko-Management. Die beiden anderen im Team ist der Alexander Eichner, Doktorand bei uns in der Forschungsgruppe. Sein Schwerpunktthema ist ebenfalls Verwendung von intelligenten Methoden im Kontext des Risiko-Managements. Er hat auch was den KI-Teil betrifft, den größten Anteil hier programmiert. Der zweite im Bund bei den Programmierern ist René Zeller. Er ist zurzeit im Endspurt seiner Masterarbeit bei uns im Masterstudiengang und beschäftigt sich dort mit dem Angriff auf IoT-Geräte. Und genau diese Kombination, das heißt also zunächst Angriff auf ein IoT-Gerät, und zwar konkret auf eine Kamera. Zusammen mit der Manipulation des Videostreams in Echtzeit werden wir auch gleich gerne herzeigen. Zunächst die Agenda. Wir werden als Allererstes die Demo selber mal zeigen. Ich muss dazu sagen, das sind Forschungsergebnisse. Wir zeigen hier keine fertigen Produkte her. Das kann also durchaus sein, dass an der einen oder anderen Stelle etwas hängt oder hakt, oder man sieht, dass die KI sich verrechnet. Gerade dieser Teil ist für uns selbst auch relativ interessant. Auch da haben wir zurzeit einen Abschlussarbeit dran, sitzen sich damit beschäftigt, wie überhaupt die Entscheidungsfindung in einem speziellen Fall zustande kommt. Wir werden also zunächst einmal den einen Showcase kurz herzeigen, wo wir Personen aus dem Livestream herausrechnen. Genau, hier haben wir den Aufbau von unserem Netz hier vorne, dass man das auch so ein bisschen nachvollziehen kann, was genau wir machen. Wir haben auf der einen Seite unsere Kamera. Das ist ein handelsübliches Produkt. Da haben wir bei Amazon bestellt, wie wir uns das vorstellen, wie sie im Bereich der Überwachungskameras zum Einsatz kommt. Wir haben dann unseren Rechner, der steht hier vorne, ist auch zurzeit geöffnet, weil der vorhin einen kleinen Transportschaden hatte, der buddelte nicht, so dass wir schon Angst hatten, wir könnten gar nichts herzeigen, aber jetzt funktioniert es wieder. Da sind zwei Titan-Volta-Karten drin, auf denen das Neuronalnetz läuft. Für die Präsentation selber benötigen wir nur eine. Für das Training benötigen wir zwei Karten. Was wir dann noch gleich zusätzlich dabei haben, ist ein Weiteren. Gissen auf das andere Bild, bitte. Das machen wir später. Den erweiterten Aufbau werde ich dann gleich noch zeigen, wenn wir in diesen Hacking-Teil einsteigen werden. Was wir jetzt zeigen werden, ist unsere Kamera hier, die tut jetzt erst mal 20 Sekunden lang den Hintergrund in diesem Bereich lernen. Das benötigen wir dafür, wenn wir gleich Personen in dem aufgezeichneten Video dann erkennen, dass wir diese Personen ersetzen durch die letzten 20, oder das Interpolierte der letzten 20 Sekunden, was sich an dieser Stelle befunden hat. Und können dann relativ gut, das funktioniert, wie Sie es gleich sehen werden, recht gut, auch die Personen mit aktuellem Hintergrund ersetzen. Ja, ich glaube, das funktioniert schon. Was man jetzt sieht, ist, dass sobald wir Gegenstände anfassen, kommen die in den Rahmen hinein, den die KI eben um uns herum aufspannt, sobald sie uns erkannt hat. Und dann werden die mit rausgerechnet. Während, wenn die Gegenstände weit genug von unserem Körper entfernt sind, dann sieht man, dass die entsprechend als eigenständige Objekte erkannt werden und somit auch nicht ersetzt werden. Ich hatte schon gesagt, ich gehe noch mal ganz kurz dann auf unseren Aufbau, den wir jetzt hier für den Angriff selber, also wir werden erst das Live-Hacking der Kamera machen, haben ein. Wir haben also zunächst die Kamera, die Idee, die wir haben, um einen vollständigen Angriffsvektor zeigen zu können, ist die, dass Überwachungskameras ja relativ star sind und somit irgendwie in bestimmten Raum überwachen, nicht dynamisch hin und her schwenken. Aus dem Grund haben wir uns überlegt, dass wir eine solche Kamera angreifen. Es wird zunächst die Firmware auf der Kamera ersetzt werden, gegen eine manipulierte Firmware. Wir werden den Video Stream dann umleiten auf das Neuronal-Netz, was auf einen der Walderkarten läuft. Es werden die Personen herausgerechnet, das ist den Hintergrund, der setzt. Der Video Stream geht dann wieder zurück in die Kamera und erst dann an das Anzeigelement, also den Bildschirm. Ich werde jetzt das Mikro übergeben an René, der den Angriff auf die Kamera machen wird. Wie schon gesagt, was wir hier zeigen, sind Ergebnisse von Forschungsarbeiten. Aus dem Grund werden wir auch hier eine andere Kamera gleich sehen, die wir aber später dann auch für das Herausrechnen der Personen einsetzen werden. Der Grund ist der, der René hat sich genau mit dieser Kamera im Rahmen seiner Abschlussarbeit beschäftigt und kennt diese eben sehr gut, kennt dort die Schwachstellen, die er auch gleich dann ausnutzen wird. Die andere Kamera war während seiner Abschlussarbeit weniger ein Thema, so dass wir jetzt, wie gesagt, den Angriff auf der kleinen schwarzen Kamera hier vorne zeigen werden. Genau. Was Sie hier noch mal sehen, ist noch mal das Überblicksbild und was wir jetzt gleich live machen werden, ist eben die Firma von dieser Kamera mit deinen Skript zu versehen, um eben den Videostream umzuleiten und zu manipulieren und die Firma dann wieder auf das Gerät einzuspielen. Zunächst einmal, wie geht man bei den Modifizieren von der Firma bzw. Einspielen vor? Zuerst einmal muss man sich irgendwie die Firma in diesem Fall von der Warns für Kamera organisieren. Da gibt es den verschiedensten Möglichkeiten, das kann man entweder direkt von der Herstellerseite herunterladen und dann den Hersteller kontaktieren. Bei diesem Gerät war das auch der Fall. Wir haben den Hersteller kontaktiert, der hat uns die Firma übermittelt. Es geht aber genauso, dass der Flash-Speicher ausgelötet wird und dann eben ausgelesen wird. Ja, weil man dann eben die Firma hat, wird diese eben entpackt bzw. die darin enthaltenen Archive, der Dysystem entpackt und dann das gesamte Dysystem analysiert. Was ist da drinnen, welche Bektormöglichkeiten, wie kann man den Stream modifizieren in diesem Fall und wie kann man dann das gesamte, die gesamte Firma wieder zusammenpacken und eben auf das Gerät einspielen. Auf das Gerät einspielen gibt es auch wieder verschiedenste Möglichkeiten. Das geht zum einen eben über eine offizielle Update-Funktion von der Kamera selbst oder über durch das, zum Beispiel, wenn der Flash-Speicher ausgelötet worden ist über eine serielle Schnittstelle, wie zum Beispiel SPI, die Firma wieder draufzuschreiben. Genau bei diesem Modell werde ich es live über die Update-Funktion vorzeigen. Wir haben es aber auch schon über eine Schwachstelle gemacht, wo wir direkt mit den Flash-Commandos die Firma neu draufgespielt haben. Dann kommen wir eigentlich eh schon zu der Live-Demo. Was Sie hier sehen, ist im Prinzip, das heißt, Firmen-Idiot, also Firmenware-Inspection und Debugging vor IoT. Das ist ein interaktives Python-Formwork, was in unseren IoT-Labs, also während des Masterstudiums entstanden worden ist, wo von mir schon ein Kollege davor seine Masterarbeit drüber geschrieben hat und auf die ich eben, auf die ich aufgebaut habe. Und mit diesem Formwork werden wir sozusagen die gesamten Schritte, was ich vorher kurz erklärt habe, mit dem Parken modifizieren und wieder Parken erstellen und diese Firme dann auf das Gerät einspielen. Dazu haben wir eben die Möglichkeit, zuerst einmal die Firmenware zu laden, also zu initialisieren, also initialisieren einfach ein Objekt. Dabei wird im Hintergrund die Firma schon analysiert, sind darin ein bekannte Firmerheader. Also es gibt verschiedenste Hersteller mit unterschiedlichen Headers, die bei dem Update-Prozess geprüft werden und die nicht korrekt sind, kann das Update nicht eingespült werden, beziehungsweise die Firmenware. In diesem Fall sind es ein paar Informationen über die Firmenware. Als nächstes eben wollen wir reinschauen, was ist alles in der Firma enthalten. Dazu eben eine Methode mit den Namen doExtract, wie wir mit die Firmenware extrahieren können. In diesem Fall ist, wie man hier sieht, ein Archiv in der Firma enthalten. Das wollen wir uns natürlich auch näher ansehen. Wir können auf die entpackten Elemente zugreifen. Die sind einfach in der Liste hinterlegt, in diesem Fall ist nur ein Objekt extrahiert worden und können diese Elemente auch wieder extrahieren. Das ist wieder das Dateisystem extrahiert. In diesem Fall wurde ein Objekt mit den Namen von einem Typ Squashefest identifiziert. Squashefest ist ein Rout, Dateisystem, das was Rit-on-List, also zur Laufzeit kann man das Dateisystem nicht ändern und ist das häufigste verwendete Dateisystem auf IoT gereden. Und das werden wir jetzt auch noch extrahieren bzw. modifizieren. Dazu wieder die Auswahl des Objekts und dann eben mit extract können wir das Dateisystem extrahieren. Was hier im Hintergrund besteht, ist, dass das Dateisystem extrahiert und durch Sucht nach interessanten Dateien unter anderem eben, wo wir das Script für die Modifikation vor dem originalen Videostream einbauen. Dazu gibt es eben dann die Funktion do-back-door, über die wir das machen können. Ihr seht hier drei Methoden, welche möglich sind zum Einbauen. Das hat diesen Hintergrund, dieses Masterware bzw. dieses Framework wurde dazu entwickelt, um IoT-Geräte zu analysieren bzw. es ist ein Hilfswerkzeug, um eine weitere Sicherheitsanalyse auf den IoT-Geräten durchzuführen. Aus diesem Grund, oft hat man ein IoT-Gerät und das ist einfach eine Blackbox und man bekommt keine Informationen sowie Protokoll Dateien oder sonst irgendwas. Aus diesem Grund gibt es verschiedene Bektormöglichkeiten, die in die Firmen induziert werden und dadurch man eben Zugriff drauf erhält. In diesem Fall wollen wir die Möglichkeit eins, wir wollen den Stream modifizieren und was ihr jetzt noch fragt ist, welches Autostatskript oder über was soll unser Skript, was wir initiieren, bearbeitet werden, da weilen wir jetzt einfach das erste aus und hier kommt der Stream, von den wir, also von wo, hier kommt die Adresse, die URL, von wo wir den modifizierten Stream abrufen. In diesem Fall ist das die GPU Box, also der große Rechner hier. Das heißt, der Rechner ruft anschließend von den Video Stream, danke, von der originalen Kamera ab und diese Adresse ist eben von der GPU Box, der stellt den modifizierten Stream wieder zur Verfügung und die Kamera ruft ihn von dort eben ab. Wir haben jetzt sozusagen das Skript eingebaut, jetzt folgt der Schritt, zusammen, eben zuerst das Dateisystem, anschließend das Archiv und zum Schluss die Firma selbst. Ja, beim Bau in der Firma wird zusätzlich noch überprüft, ob die neu gebaute Firma größer ist als die originale. Dass er diesen Hintergrund auf den Geräten ist, ein Fläschspeicher drauf, wo die Firma draufgeschrieben wird und unter anderem hat die Firma dazu zu führen, dass eventuell das Gerät gar nicht mehr startet. In diesem Fall wurde es aber genau analysiert und es ist kein Problem, die größere Firma drauf zu spielen, weil einfach genug Platz ist. So, wir haben hier die neu erstellte Firma, in diesem Fall die hier, die nennen wir kurz um und was jetzt kommt, ist eben, wir müssen jetzt die Firma, also die Firma Patch PKG, eben auf das Gerät einspielen. Und dazu brauchen wir eben mal Zugriff zu der Kamera. In diesem Angriff-Szenario nutzen wir auf der Kamera einen CSF-Angriff aus, also einen Kost-A-Week-Quest-Forgery-Angriff, in diesem Fall sollte oder ist grundsätzlich so ausgelegt, dass der User normal auch in der E-Mail zum Beispiel auf einen Link draufklickt. Es ist aber auch möglich, dass der Link einfach in die E-Mail eingebettet wird und getestet wird, dass zum Beispiel auf Outlook-Unterwahl oder fahren gar keine Interaktion statt, um den Zugriff auf das Gerät zu ermöglichen. Diesen Schritt eben durch den CSF-Angriff haben wir das Passwort von den Admin-Account eben auf das Default-Passwort zurückgesetzt und dadurch haben wir jetzt Zugriff auf das Admin-Interface. Das ist einfach 1 für 3 für 5, 6, das ist auch der Standardpasswort und sind jetzt sozusagen auf der Kamera drauf. Und hier sieht man eigentlich den Stream. Hierzu muss man sagen, beim Testen der Kamera läuft das normal über den Flashplayer, aber ich hab's auf Windows 7 und so probiert mit dem Flash bei so einem Stilieren. Ich hab den originalen Stream von der Kamera nie gesehen, aber durch die Modifikation, was in der Firma vorgefallen ist und die wir jetzt einspielen, funktioniert das Livestream dann auch hier im Interface. Dazu legen wir noch einen Backdoor-Account an. Dieser dient eben dazu, dass unsere GPU-Box den Stream dann abrufen kann. Den fügen wir hinzu und dann können wir dadurch, dass der Firma-Header aktualisiert worden ist, die Firma einfach über das Web-Interface einspielen. Was jetzt passiert ist, ein Spielprozess. Das heißt, dieser Angriff ist jetzt im Prinzip abgeschlossen, die modifizierte Firma wird jetzt eingespielt und ich übergebe demnächst an den Kollegen, der dann den genaue Modifikation von den Stream erläutert. Noch kurz zu dem anderen Angriff. In diesem Fall haben wir die Firma über das normale Web-Interface eingespielt. Es gibt aber auch noch ein anderer Szenario, in dem man eine undokumentierte Funktion in der Firma von dieser Kamera benutzt, über die es möglich ist, einen Tellnet-Service zu öffnen und man durch die Admin und 1.4.3.Codentials Rutsuriff auf das Gerät hat. Dann ist es eben möglich und dort dann wurde eben auch die Größe von den Flash-Speicher ausgelesen. Wirklich über die Flash-Komando selbst, die Firma bzw. die Teile der Firma auf die jeweilige Partition zu spielen. Aber das werden wir jetzt nicht mehr live vorzeigen, weil wir es über die Update-Funktion eingespielt haben. In diesem Fall übergebe ich an den Kollegen und er erklärt den Modifikationsvorgang. Hallo? Okay. Gut. Die Kamera, die der René jetzt eben mit der modifizierten Firmware geflasht hat, die muss kurz rebooten. Dann können wir den Show gestern wieder starten. Ich erkläre mal ganz kurz die Einbindung, die wir jetzt haben in das System und warum wir das überhaupt zu machen. Die beiden Schnittstöne, die wir jetzt eben haben, sind zum einen den Backdoor-Account, über dem es unseren Angreifersystem möglich wird, dem Stream abzurufen. Und die Schnittsteller zurück ist eben ein DCP-Server auf dem Etecker-System, das den Stream bereitstellt und das von der IP-Kamera dann wieder abgerufen werden kann. So wird unser System eingebunden. Und in dem Fall haben wir das eben über eine modifizierte Firmware gemacht. Aber dadurch, wie das Angreifersystem eingebunden ist im Netzwerk, das Stream hinein und schickt wieder einen hinaus, ist es ermöglicht, zum Beispiel über einen ganz normalen Mäh- und Mittelangriff im selben Netzwerkssegment der Kamera wehren, das Ganze zu modifizieren, ohne direkten Zugriff auf die Kamera zu haben. Das wäre jetzt ein weiterer Angriffs-Spektor. Wir sind jetzt auf dem Angreifersystem und wie der René schon gesagt hat, diese Kamera, diese Hikwischen, da hat diese Live-View im Web-Interface so nie richtig funktioniert. Und hoffentlich funktioniert es jetzt. Nachdem es rebooted hat, dann haben wir das auch gefixt. Die Kamera hat neu gestartet. Ich starte jetzt diesen Showcase, der die Personen entfernt neu. Im Gegensatz zu dem, was wir zuerst gezeigt haben, da haben wir das Ganze auf ein Desktop-Viewer gezeigt, also wo der Stream an der Desu-Applikation gesehen worden ist. Und jetzt zeigen wir das Ganze im Web-Interface und wir können auch zeigen, dass der Stream da modifiziert, sonst ein Angreifersystem herauskommt. Gegenüber der Kamera haben wir ein bisschen mehr Verzögerung, als über seine Echtzeit, aber ein wenig Verzöger. Das liegt unter anderem daran, weil der Stream schon mit ungefähr zwei Sekunden Verzögerung direkt aus der Kamera herauskommt. Und ja, schauen Sie es einmal an. Jetzt haben wir das erste mal repariert, weil wir überhaupt ein Bild haben. Und zweitens, mit einiger Verzögerung, aber da haben wir ein kleines Buffer-Problem im Firefox wird behaupten, wir können uns das ganze Jahr live im Fall-C Player anschauen. Das ist der modifizierte Stream. Jetzt nur mit einer anderen Anzeigesofte, nicht mit dem Browser, da müsste man mit ungefähr zwei Sekunden Verzögerung sehen, wie der durchläuft. Und jetzt wirft mir der Harald, hoffentlich irgendwas zu und ich kann das fangen. Hopp. Haben Sie mich kurz gesehen? Ich werfe euch wieder zurück, circa zwei Sekunden. Aber wie gesagt, das ist leider das Live-Bild von dieser Kamera, was schon von Hause ein bisschen verzögert ist. Jetzt erzähle ich euch ein bisschen was wie wir überhaupt diese Bildmanipulation erreichen. Das ist mein Part. Und das, was wir schon zu Beginn des Tauches gesehen haben, das ist einfach mehr ein Standard, ich sage Standard Objekterkennung. Das ist ein normales Netzwerk, das heißt JOLO. Was heißt JOLO? JOLO heißt I only look want. Und warum heißt das Ganze so? So Standard Objekt, Detektoren wie man es kennt, die sind beispielsweise trainiert auf irgendeinem Objekt, sagen wir Person, Katze, was auch immer, bewegen sie in verschiedene Größen über das Bild und sagen dann, links oben ist ein Katze, rechts unten ist eine. Und JOLO schaut sich jedes einzelne Frame nur einmal an und man kennt sämtliche Objekte darin, wo sie sich befinden, also die Bounding Boxen und dann Confidence Core. Ich sage jetzt beliebig viele und das ist eigentlich stark vereinfacht. Es gibt auf einmal, wie man das berechnen kann über die Convolutions und Anzahl der Objekte, in Wirklichkeit erkennen wir 14.900 Objekte pro Bild. Und das 25 mal in der Sekunde bei Full HD Objekte, die wir da erkennen. Das heißt, wir können sagen, wann wir das einmal in Echtzeit schaffen, schaffen wir das immer in Echtzeit, egal wie viele Objekte wir erkennen werden. Das ganze ist JOLO V3 in der größten möglichen Konfiguration, das sind 8.6 und 8.6 und 8. Eingangs Neuronen, sage ich dazu, ganz kurze Erklärung, falls noch nie wer aus gehört hat von Machine Learning Neuronal Netze, das wird jetzt nicht mathematisch noch ganz einfach erklärt, sondern es ist einfach ein Neuron. Ein Neuron bekommt Merkmale, Features wie immer. Das ist zum Beispiel, sagen wir, der Pixel ist grün, du bist ein Mensch, oder das ist ein Apfel, was immer. Und das Gewicht jetzt, wie ein Mensch das auch tun würde, jeder Mensch wird so und kennt das halt für mehr Gewicht, das hat weniger Gewicht. Dann bildet es eine große Summe und dann kommt der Ergebnis heraus. Und ein Convolutes Neuronales Netzwerk geht stark vereinfacht, macht das halt nicht eindimensionaler von Vector, sondern es gibt auch andere Objekte. In dem Fall sind es ein 2-dimensionaler Bild, nur mit Farbkanälen und man kann sich das vorstellen alle Stellen gleichzeitig in einer gewissen Convolution Größe. Das wird dann immer kleiner, es sind mehrere dieser Leer hintereinander und auf dann drei verschiedene Größen werden dann Objekte erkannt. Das ist jetzt eine ganz einfache Erklärung, wie das funktioniert. Und die Struktur von drei Waschervorhanden, vielleicht kennenswert, ist die Originalimplementierung in C, C++ und dann gibt es Darkflow, Python-Umsetzungen, aber performancemäßig sind die ich sage mal jetzt nicht das wahre und wir hätten es ja damals probiert, aber im Endeffekt habe ich das dann selbst umgesetzt und ein paar Teile noch parallelisiert und jetzt schaffen wir das wirklich in der größten Umsetzung in Echtzeit weil wir wissen, sind wir da die einzigen Momente an. Das Ganze ist trainiert mit dem Coco Datensatz, das ist halt ein Standard Microsoft Datensatz mit 80 Objektklassen, wo drin ist Person, Cellphone, Bottle, einige Toyklassen, einige Tiere und das verwenden wir jetzt für unseren Showcase. Und was machen wir weiter damit? Das Erste, was wir da an ESP empfangen, wirklich diesen RTS-Bestream von der Kamera, dekodieren den eben in Einzelframes, also in 25 Einzelbilder pro Sekunde, da machen wir erstens diese Objekterkennung und grenzen ein auf Personen. Also wir wollen nur wissen, wo sind Personen im Raum, keine anderen Objekte, also alles andere, was sie bewegt oder was im Raum ist, das ist uns eigentlich egal. Das nächste, was wir machen, ist wir machen eine Segmentierung, also eine Segmentmaske, dass wir nicht nur die Box der Person haben, sondern feinkranularer Umrisse von einer Hand, von Finger, von Füßen und das Dritte ist eben ein aufkommulierter Mittelwert der letzten circa 20 Sekunden, die Stimmung ungefähr, es geht auf FPS mit einer Gewichtung, damit wir einen Hintergrund haben, durch was wir eben diese Maske ersetzen. Und die Kombination dieser drei Funktionen ermöglicht es eben, dass man gezielt Personen aus ein Stream empfernen. Dazu sage ich gleich was, dann kann ich bei Fragen verwecknen, momentan nehmen wir einfach eine generische Personenglasse, d.h. das funktioniert momentan mit alle Personen, damit man einzelne Personen empfernt, müssen wir z.B. eine Klasse Alex machen, mit einer Brüder von mir oder eine Klasse Harald, und dann wird sofern Alex oder Harald erkannt werden, nur Alex oder Harald entfernt werden. Und das nächste ist natürlich, es wird zwar frame per frame, 25 FPS werden diese Personen erkannt, aber wir machen keine Identifizierung der Personen, d.h. von einem Frame auf den nächsten weiß das System nicht mehr, dass es der Serb Alex ist. Dazu braucht man Object Tracking, an dem arbeiten wir auch, dass uns z.B. eine Person markieren kann, die ein gefährliches Objekt zieht, markiert wird, sieht wird das Objekt wieder weg und wird trotzdem weiterverfolgt. Da haben wir auch Arbeiten dazu, aber das ist noch nicht ganz vorführungsreif, würde ich sagen. Gut. Harald, mit ein paar abschließende Informationen. Ja, also, wir haben jetzt sehr viel hergezeigt, warum befassen wir uns eigentlich mit dem Herausrechnen von Personen? In Wirklichkeit war das ein Nebenprojekt, ein Nebenergebnis von einem Spaßprojekt, sagen wir mal. Und zwar, convolutional Networks sind in der Bildverarbeitung extrem stark vorhanden und wir fanden einfach dieses Yolo Framework eigentlich recht lustig mit dieser Objekterkennung. Das war auch das, was wir am Anfang in die Menge gerichtet haben, wo verschiedenste Objekte aber premier Personen markiert wurden. Und die erste Idee, die wir hatten, eigentlich wollen wir ganz spezifische Objekte erkennen. Wir würden gern wissen, wie komplex das ist, dass ich ein ganz spezifisches Objekt erkenne. Und das war so circa vor ein Liberator mal ausgedruckt, so eine 3D-druckbare Waffe, keine Sorge, es ist nur ein Modell, es ist innen hohl und leer. Und wir wollten wissen, wie komplex ist es, dass ich selber einen Datensatz generiere, um mit einem Yolo Framework in Echtzeit ein eigenes Objekt, ein spezifisches Objekt zu erkennen. Wir haben circa 2.000 Fotos benötigt. Jedes Foto musste manuell gelabelt werden für dieses Training der KI. Labeln heißt, ich muss eine Bounding Box zeichnen. Und wir hatten natürlich das Glück, einige Studenten haben uns da stark geholfen. Und so Erfahrungswert war, circa 2.000 Bilder waren notwendig, dass es halbwegs funktioniert. Wenn alles klappt, dann kann ich das auch nachher kurz herzeigen. Ja, und dann waren wir halt auf dem Punkt, wir können objekte, ganz spezifische Objekte erkennen. Hier zum Beispiel, wir haben dann gesehen, es funktioniert halbwegs gut. Und der nächste Schritt war dann eigentlich, ja, eigentlich wollen wir aber dann selber nicht erkannt werden, wenn das so einfach geht. Und so ist dann die Idee entstanden, dass man Personen rausrechnet. Die Idee war nicht neu, die gibt es schon lange, wer Science Fiction liest. In den 80er Jahren war der erste Fall, ich glaube, Shiro Masamune hat darüber in einem Manga geschrieben. Und in Medien, in Hollywood taucht das Thema immer wieder auf. 2018 war der letzte Netflix-Film, wo Personen rausgerechnet werden, gezielt aus Dreams und Mission Impossible. Also die Idee war nicht neu. Wir wollten einfach mal schauen, ob es technisch machbar ist. Deswegen ist es auch eine Machbarkeitsstudie. Die Zeit, die reingelaufen ist, war circa vier bis fünf Monate Arbeitszeit. Ohne viel Vorkenntnisse in dem Bereich, größte Teile dazu, der Alex gemacht. Ja, und das war eigentlich das Nebenprodukt, dass man das wirklich als Machbarkeitsstudie herzeigen kann, dass es geht, dass man so echt Bilder manipulieren kann. Wir machen jetzt bei uns in der FH auch andere Projekte. Zum einen wie kann ich mich dagegen wehren, dass meine Daten verändert werden, dass wir sie schützen. Da ist ein Thema, wo wir uns vorerst nur mit Einzelbildern befassen und da eine Blockchain verwenden, um Interpretät-Information abzulegen. Das andere ist natürlich diese Verwendung von KI generell in Security. Und wir haben auch einige Anschlussprojekte zu dem Thema. Also eben diese Objekterkennung, Objekterverfolgung, habe ich erwähnt. Etwas, was wir, dieses Tracking, da haben wir auch schon viele Ideen, dass man sich ein bisschen besser machen kann. Ein anderer Punkt, den wir auch festgestellt haben, ist, dass diese Software-Stacks sehr komplex sind. Also diese Software-Stacks, dass man mal ein Video-Signal in ein Framework reinbekommt und dort die ganzen abgestimmten Bibliotheken hat, dass man damit arbeiten kann. Und wir arbeiten da gerade auch an einer WebRTC-Lösung, dass ich eben über HTML5, ohne dass ich irgendwas installiere, ein Smartphone oder von einem Laptop an eine leistungsstarke Maschine bei unserem Rechenzentrum, den Stream hinschicke und dort in einem Docker Container, dass diese Vollbilder direkt verarbeiten kann. Dann ist das recht überschaubar. Wir hätten den, glaube ich, sogar da. Ja, rennt das momentan. Seitlich bitte. Okay, das ist, das ist HTML5 Framework, damit man direkt im Zugreifen kann. So. Ja, das ist jetzt die integrierte Kamera vom Laptop. Man kann da oben ein paar fertige Filter auswählen. Jetzt ist no transform, das ist einfach nur ein Echo von dem Signal, dass wir in das Data Center bei uns schicken und wieder Retour bekommen. Man kann da aber auch jetzt zum Beispiel Objekterkennung machen. Ohne dass das extra Rechenleistung auf dem Geräder fordert. Okay, mach's wieder zurück. Praktisch, wenn man schnell in das einsteigen möchte und nicht die Hardware hat, wie Sie sehen, ist das ja ziemlich viel aufwand hier, so diese Kameras irgendwie hinzubekommen mit diesem HTML5 WebRTC. Geht das recht einfach, dass man damit arbeitet. So. Ein anderer Punkt, den man vielleicht gesehen hat, ist, dass diese Objekterkennung Fehler macht. Dass manchmal Boxen aufpoppen, die man nicht zuordnen kann. Oder die dort an dieser Stelle keinen Sinn ergeben. Das ist generell ein Problem mit KI. Gerade diese convolutional Netzwerke sind wie Black Boxen. Ein Thema, mit dem wir uns auch befassen, ist eben diese Begründung. Wie begründet sich eine bounding Box? Welche Bildpunkte waren dafür verantwortlich, dass hier zum Beispiel ein Liberator erkannt worden ist? Oder eine Person? Das ist auch ein aktuelles Forschungsthema. Ein anderes betrachtet jetzt dieses Training. Für den Liberator haben wir 2.000 Bilder benötigt und das funktioniert mehr schlecht als recht. Eine Idee war, wir könnten ja das Objekt vorher 3D-Scannen und uns dann beliebig Bilder aus diesen 3D-Scannen ableiten. Das ist derzeit eine laufende Masterarbeit bei uns. Die Idee ist, dass man zum Beispiel, wenn man nach einem ganz bestimmten Gegenstand sucht, den man kennt, den man in einem Geschäft vielleicht abfotografieren kann, scannt man den schnell und kann sofort überall in Videos den lokalisieren. Und zu guter Letzt befassen wir uns auch mit der Anwendung von diesen Erkenntnissen, die man zum Beispiel Objekte, die man erkennt, um damit eben so Risikoanalysen zu betreiben. Das sind so grob die Themen, die wir machen. Ich hoffe, es war ganz interessant. Wir haben eigentlich den Ende erreicht. Vielen Dank. Wenn es noch Fragen gibt, wir stehen gerne jetzt auf der Bühne zur Verfügung. Die Frage war, ob das IoT-Toolkit auf GitHub ist oder nur bei uns an der FH? Aktuell nur auf der FH, aber es ist die Überlegung, dass es veröffentlich wird. Die Frage war, dass das hin- und herschicken, dieses Netzwerk Streams, wenn man das Netzwerk monitort, fällt ja sofort auf, dass das passiert. Und ob wir das an Bord auf den Kameras hinbekommen, also auf diesen Kameras, die wir hier haben, nicht, die haben viel zu wenig Rechenleistung, aber generell wäre das verfolgt, dass sich so im Embedded- und Automotive-Bereich Nvidia da ganz stark in den Markt reinpresst und diese Tensor-Core sind praktisch jedem Produkt integriert. Und wenn so so kapabilit ist, auf dem Gerät verfügbar sind, ist es denkbar, grundsätzlich. Ja? Warum wird eigentlich die Kamera modifiziert? Das wäre ja einfacher, wenn ich einfach das Routing modifiziere. Das heißt, den Stream aus der Kamera über einen Router- oder Switch-Umleiter auf den Rechner geht den Stream der Kamera. Da sparen wir ja die komplette Modifikation und das ist relativ schnell in einer Switch umgesetzt in ein paar Sekunden durch Kommandos. Ja. Wir wollten einfach einen Angriffsvektor zeigen, der vielleicht hinter einem NAP funktioniert, wo man nicht direkt auf den Switch drauf kann. Oder wo man, also wir haben auch andere Angriffsvektoren angeschaut mit Mänen in den Mittel, das würde auch funktionieren. Ja. Ja. Meistens Cisco oder Mikrodick. hingegen da muss ich wirklich die Firmware analysieren und das kann Tage dauern. An Switch kann ich in ein paar Minuten so weit haben. Also wenn einer geübt ist, der hat das in Sekunden abgeändert. Ja, wenn man den Zugriff hat. Wenn man den Zugriff hat, wird es gehen. Den Zugriff muss ich sagen, sonst komme ich nicht auf die Kamera. Also ich muss ihm nett sein. Ja. Da haben wir auch noch eine Frage. Die Einlernphase, also die für das, für den Hintergrund, das ist im Prinzip ein eigenes KI-System, aber ein ganz enttriviales, das ist nur eine Makrofkette, die eben lernt, wenn Bildpunkte statisch sind über die Zeit. Wir könnten, das wird auch funktionieren, wenn wir das in die Menge halten, aber da wird es sehr lange brauchen, dass es nur mit der Hintergrund über bleibt. Und wenn wir aus dem Bild gehen beim Start, da ist es in ein paar Sekunden erledigt und wir können diesen Showcase live vorführen. Also das war der Grund. Aber da habe ich vielleicht kurz eine Ergänzung. Gleich ganz generell die Frage, warum diese drei Komponenten und vielleicht ein großes neuronales Netz, das Problem ist jetzt wirklich die Leistungsfähigkeit von diese Grafikkarten, die wir da haben, in Wirklichkeit das neuronale Netz macht die Objekterkennung und die Segmentierung und das Auffüllen des Hintergrundes sind jetzt noch andere Methoden. Es gibt aber schon Ansätze, dass man die Objekterkennung, die Segmentierung natürlich hat das Ganze im Paint, dafür gibt es auch schon Netze und das wird dann auch funktionieren, wenn man keine statischen Positionen hat. Haben wir meistens bei Erwarkungskameras drum dieser Showcase, zum Beispiel, waren es bei Nachschlagen wie MaskRNA, war so ein Ansatz. Aber das Problem ist wirklich, wir arbeiten mit der Hardware und wir haben, wie sonst, Titan, RTX, etc. Aber das schaffen wir es auch nicht ganz. Aber das ist nur ein Faktor 5. Also ich sage, das wird wahrscheinlich möglich sein, dass man das alles in einem großen Netz obbilden wird in nachher Zeit durch lange durch verbesserte Netzstrukturen und durch Verbesserungen an der Hardware. Das sind jetzt nicht mehr um Riesenfaktoren daneben. Das ist nur mehr 5. Das ist in Wirklichkeit nicht mehr viel, werde ich behaupten. Ich wäre da, wenn es Fragen gibt, einfach hier kommen. Danke.