 Good, we will start our talk about the web based crypto hacking in the wild, when your browser is mining coins for other people. It will be by Marius Musch, who is doing a PhD as Technical University Boundary on web application security, with a focus on client-side attacks and large scale analysis. Willkommen Marius! Hallo zusammen, ich bin Marius, schön, dass Sie hier sein können. Und heute möchte ich über web-basiertes crypto-tracking sprechen. Das ist ein Projekt, das ich zusammen Kollegen im Zugemeiner Dissertationen untersuche. Falls Ihr, so lange Ihr nicht in einer Höhle gelebt habt, in den vergangenen Jahren, habt Ihr wahrscheinlich bei Bitcoin und crypto-tracking gehört. Der Wechselkurs ist extrem stark gestiegen in den vergangenen zwei Jahren und ist seit ungefähr einem Jahr wieder stark gefallen. Wir haben das Projekt im Februar begonnen und die Daten im Mai erhoben. Das war also nach dem großen Hype, aber Kryptowährungen waren noch beliebter und wertvoller, als sie heute waren. Zunächst zum Mining generell, das ist der Prozess, in dem neue Coins hergestellt werden. Man braucht dafür den Status des Netzwerkes und einen Nonz. Aus diesen beiden berechnet man einen Hasch, der wird mit einem Zielwert verglichen. Man sucht also einen Hasch, der eine sehr niedrige Nummer hat, also mit sehr vielen Nullen am Anfang. Bei Bitcoin sucht man einen Hasch mit 19 Nullen am Anfang. Das ist natürlich sehr selten, deswegen brutforst man sehr viele Hasches und zum Schluss findet man hoffentlich einen passenden Hasch. Und dann hat man einen Block gemeint und das ist das, was man mit Mining bezeichnet. Und in diesem Prozess wird man also wird Rechenkraft, Rechtenleistungen eingetauscht gegen diese Coins. Und natürlich ist das nur sinnvoll, wenn der Coin mehr wert ist, als die Elektrizität, die er kostet. Es gibt auch Mining-Pools. Wenn du jetzt anfangen würdest mit deinem Desktop-Computer und einem normalen CPU, dann ist das Problem, dass es sehr inkonsistent ist, weil du Jahrhunderte lang Meinen könntest und keinen einzigen Block bekommst. Das heißt, du zahlst trotzdem für die Elektrizität, bekommst aber keine Belohnung. Du kannst dich jetzt aber zusammenschließen mit anderen Minern und dann dieses Risiko ausgleichen. Denn sobald jemand in diesem Pool einen Block findet, wird der Profit mit allen aufgeteilt. Es ist also deutlich weniger zufällig verteilt. Hier habe ich ein vereinfachtes Protokoll von mir, der mit dem Protokoll spricht. Ich verstehe Version 7 des Protokolls. Dieser Side-Key wird später noch relevant. Und damit werden die Hashes, die ich berechne, also mit meinem Account verbunden, damit ich später auch bezahlt werden kann. Und dann antwortet der Pool und sagt, ja, ich kenne dich, du hast bisher null Hashes ausgerechnet. Hier ist der Block, der Status des Netzwerkes gerade. Und das enthält also den aktuellen Blockheader und den Merkle-Tree, aber das ist nicht so wichtig für uns, das ist einfach mein Block. Und der Pool sagt, hier ist das Ziel. Ich brauche also, ich suche nach Zahlen, die kleiner sind als diese Zahl. Und das probieren wir jetzt eine Weile und sagen, hier, ich habe diesen Nons gefunden und der Hashes ist dieses Ergebnis. Und das kann der Pool dann überprüfen. Das sind jetzt nur zwei Neuen am Anfang, das wird also kein neuer gemeinter Block. Und der Pool möchte nicht betrogen werden. Deswegen berichten wir zurück mit einer Untermenge der Hashes. Die Hashes sind ziemlich zufällig, wir können sie nicht im Voraus berechnen. Wir wissen, dass sie x-seidizimal, das heißt, es gibt 16 mal 16 mögliche Hashes, sind 256. Und das setzt sich fort und setzt sich weiter fort. Und so viel für die Einführung ins Mining und den Mining Pool. Was ist jetzt Crypto-Jacking, was eigentlich das Thema dieses Vortrags ist? Stellt euch also diese Geschichte vor? Jemand hat die Idee, wir haben diese Kosten, das kostet Strom. Aber wir haben eigentlich keine Lust, die zu bezahlen. Warum kann das nicht jemand anderes machen? Stell dir vor, du bist eine Stromfirma, die zum Beispiel jede Menge radioaktiven Müll herstellt. Und sich denkt, ach, lass uns einfach die Gesellschaft Richtung kümmern. Und dann haben sie die Kosten externellisiert. Und dieses Erfolgsmodell wurde für die Kryptowelt abgewandelt. Mit Menschen, die sich denken, ich meine einfach auf anderer Leute Computer. Und dann brauche ich mich, um die Kosten nicht weiter zu kümmern. Das sind recht alte Nachrichten. Das Register hat im Mai 2017 geschrieben, dass Kryptocurrency, Kryptowährung meiner gefunden wurden, die sich mit Exploits bewaffnet haben. Ich finde das aber relativ langweilig, denn wenn man ein Computer mit malware identifizieren kann, dann kannst du beliebigen Code ausführen. Du könntest die Festplatte verschlüsseln, aber dann ist das auch irgendwie schmerzhaft. Und vielleicht hat der Typ ein Backup. Du startest also lieber einen Minor, aber das ist nicht wirklich interessant oder neu. Aber dann haben wir diesen Artikel gefunden aus dem Oktober 2017 von Wired. Und der Artikel schreibt, dass dein Computer Kryptowährung für einen fremden Meinen könnte. Und jetzt kommen Exploits ins Spiel. Das sind also nur Leute, die eine Website besuchen. Und plötzlich sind sie Teil eines Kryptomeining Rings. Du brauchst also nur eine beliebte Website. Und das ist webbasiertes Krypto-Check-In. Du hast also eine beliebte Website. Und fügst einfach nur ein kleines Miningscript ein. Was ist ein kleiner JavaScript-Datei? Kein Export notwendig. Leute besuchen deine Website. Sie meinen, die verlassen die Website wieder und hören wieder auf zu meinen. Das heißt, das ist natürlich ein Nachteil. Sobald man deine Website schließt, dann hört das Mining auf. Aber dafür ist es auch viel leichter anzufangen zu meinen, weil du niemanden wirklich infizieren musst, sondern Leute müssen einfach nur eine Website besuchen. Man möchte jetzt also, du möchtest im Browser also meinen, aber es gibt natürlich Probleme. Das Erste ist schnelle Ausführungen. Du denkst dir, dass ein Minor sich, ein Minor in JavaScript sich nicht wirklich gut anhört, aber zum Glück gibt es WebAssembly. Das ist eine, hat Assembly im Browser. Und so kannst du Code in C++ schreiben, in WebAssembly-Kompilien und so schnellen Maschinencode ausführen. Das ist super, das ist jetzt ein Problem weniger. Aber wir wollen natürlich auch mehrere Threads benutzen. Wenn also jemand mit vier Codes ankommt, dann möchten wir auch alle vier Prozessorkörner verwenden. Zum Glück gibt es dafür eine API in JavaScript, in der wir fragen können, wie viele Prozessorkörner der Computer hat. Und dann können wir sogenannte WebWorker instanzieren und im Grunde beginnen diese verschiedenen Threads und die laufen auch im Hintergrund, solange der Besucher das Tab nicht schließt. Das heißt, wir haben sehr effiziente und schnelle Ausführungen. Wir können alle Prozessorkörner verwenden. Effiziente Kommunikation wäre auch schön. Wir möchten nicht über HTTP mit dem Pool reden, weil wir sehr viele, sehr kleine Nachrichten schicken müssen. Und wir wollen nicht mit den ganzen HTTP-Headers rumschlagen. Dafür können wir WebSockets verwenden. Damit können, haben wir also eine Full Duplex-Kommunikation. Stell dir vor, du hast 10.000 gleichzeitigige Besucher. Du möchtest nicht wirklich, dass sie deine eigene Mininginfrastruktur dedossen. Das wäre sehr ärgerlich. Deswegen können wir WebSockets verwenden. Und wenn wir all diese Dinge kombinieren, dann haben wir einen ganz ordentlichen Miner. Aber ich bin mir sicher, dass einige von euch im Publikum immer noch skeptisch sind. Denn wir sind immer noch im Browser. Wir haben diese Hashing-Funktionen, die wir sehr, sehr oft ausführen müssen. Und sie läuft auf dem CPU. Und ihr denkt euch vielleicht, dass Mining im CPU sehr 2011 ist. Das stimmt für Bitcoin auf jeden Fall. Der Arbeitsbeweis in Bitcoin ist eine normale Schah-Hashing-Funktion. Und die ist auf dem GPU viel effizienter auszuführen. Oder sogar auf spezialisierte Hardware. Stellt euch eine Hardware vor, die wirklich nur dafür gemacht ist, diese Hashing-Funktionen auszuführen. Nicht wie eine GPU, die beliebigen Code ausführen kann, sondern wirklich nur diese Hashing-Funktionen. Aber das dafür sehr gut. So eine ASIC-Hardware könnte also 12.000 Mal so schnell arbeiten wie eine CPU. Das heißt, wir können nicht wirklich mit diesen Mining-Farms konkurrieren. Was ist die Lösung? Die Lösung ist einfach nur nicht Bitcoin zu meinen. Es gibt aber noch viele andere Kryptowährungen. In diesem Fall benutzen wir Monero. Das ist ein Teil der einer anderen Familie. Die haben eine neue Hashing-Funktionen erfunden, die sich sehr gut auf einer CPU ausführen lässt und auf einer GPU nicht deutlich schneller ist. Leute haben versucht, ASICs dafür zu bauen, aber das ist wirklich schwierig, weil sie den Algorithmus mit einem speziellen 2-Megabyte-Scratchpad gebaut haben. Das passt also genau in den Speicher. Zur Not ändern sie einfach den Algorithmus. Wenn jemand sagt, dass sie einen speziellen Monero ASIC verkaufen, dann macht Monero eben ein Hardwork und gibt es sich einen neuen Algorithmus. Die Hardware, die speziell für Monero entwickelt wurde, ist jetzt praktisch wertlos. Wir erstellen jetzt diesen Monero mit der Wettassembly und mit einer anderen Technologie. Irgendjemand stammelt das alles zusammen, das war die Idee und das war die Grundlage von CoinHive. CoinHive ist ein Service und eine Infrastruktur, die war einer der ersten und ist immer noch die größte dabei. Sie erstellen dieses JavaScript-Datei, die mit ihrer Webseite einbindet und dann macht man noch ein kleines Konfigurationsscript, das hier ist. Hier sieht man den Seitenschlüssel wieder. Man identifiziert seine Besucher, jeder gesammelte Hive-Hash wird zu diesem Account zugeordnet. Wenn wir da reinschreiben und wenn man nett ist, kann man auch sagen, ich möchte nicht 100% der TPU haben, aber weil ich nicht so schnell stören möchte, also kann man sagen, ich meine nur mit 70%. Das ist der Throttle-Wert hier. Was man auch noch machen kann, ist, wenn wir feststellen, dass es ein Mobilgerät ist, dann meinen wir, es war nicht, weil es wirklich hilft, aber es kann man auch einfach sein lassen. Die Behaupten, dass dieser Mainer, den sie implementiert haben, ist 65%, vor dem was ein normalerweise DCPU machen wird, das wäre natürlich immer noch effizient, wenn man das nicht in einem Browser ist, sondern direkt auf der Maschine macht, aber es ist nicht so schlimm. Das ist der möglichen Rechenkapazität im Browser. Und CoinHive hat die ganze Infrastruktur, mit den Websites und die Kommunikation, mit dem Pool und so, aber sie nehmen 30% vom Geld. Das heißt, man kriegt nur 70%. Es war klar, dass Leute, die das Skript geklont haben, die haben es kopiert, ein bisschen modifiziert und sich ihre eigenhintergrundstruktur aufgebaut haben. Das heißt mit Teilen, Modifikationen. Aber im Endeffekt ist es das selbe Skript, das initial implementiert wurde von CoinHive. Das ist auch deswegen interessant. Ich kann nicht zu genau reingehen, aber wenn ihr daran interessiert seid, schaut euch das Blog von Brian Krebs. Dann könnt ihr feststellen, dass es von diesem deutschen Imageboard-Programm herkommt. Das heißt, wenn ihr die Geschichte dahinter erkennen wollt, dann könnt ihr das nachschauen. Hier ist der tolle Service CoinHive, und wir haben die Seite, da sagt, Krypto-Jacking ist das neue Ding und oh, wie schlimm die Welt wird abbrennen. Aber wir haben uns gefragt, ist das wirklich die Situation, wie häufig wird das benutzt, wie viele Seiten machen dieses Krypto-Jacking, kann man damit Profite einstreichen, dass wir wollen, dass dieses in der freien Wildbahn wieder erfinden. Das heißt, wir sind auf viele Webseiten gegangen und habe geschaut, ob es irgendwelche Indikatoren gibt, dass wir einen Krypto-Currency mehr nachsuchen. Ich wollte nicht nur CoinHive suchen, sondern die generell finden, auch modifizierte Versionen davon. Bevor wir da weitermachen, möchte ich noch mal kurze Sachen sagen. Nicht alles meinen ist böse. Sie haben ja ein, zwei Bildschirme, die wirklich fragen, bevor sie das Mining in deinem Browser durchführen. Das ist, damit haben wir kein Problem. Das schauen wir uns nicht näher an. Wenn wir Krypto-Jacking anschauen wollen, dann sollen wir meinen, dass Automate startet und ohne, dass wir dem zustimmen. Alles andere ist in Ordnung. Das heißt, wir wollen, die uns sich näher anschauen. Dieses Aufmalen, Aufmalen ist offenenselben Leuten wie CoinHive, die haben festgestellt, dass viele Webböcker den stoppen wollen. Dann haben wir den zweiten gestartet, auch zu meinen. Aber das wird auch nicht häufig benutzt und viele Adblocker blockieren. Ich möchte nicht sagen, dass alles mein böse ist. Es könnte interessant sein, als Alternative für Werbung oder Chapters, wenn man beweist, dass man einen Proof of Work anstatt von der Chapter hinzufügen muss für eine AP, die Limitierung hat. Dann ist es eine Möglichkeit, aber hauptsächlich wollen Leute direkt davon Geld machen, dass die in Maina starten mit Krypto-Jacking. Wie können wir das herausfinden? Wir können eine URL-Blackliste machen. Das heißt, wir fangen mit CoinHive an und wenn wir das sehen, dann ist es wahrscheinlich ein Krypto-Maina und dann haben Leute ihre eigenen JQuery oder PlayerJS gestartet haben. Das hilft uns nicht wirklich weiter. Funktioniert das nicht gut. Wir könnten bekannte Strings suchen, aber Leute obskurifizieren ihren Maina und das funktioniert auch nicht wirklich. Also, die statische Detektion ist nicht sonderlich interessant und funktioniert auch nicht perfekt. Was haben wir stattdessen gemacht? Wir haben Ausführungs-Traces uns angeschaut. Das ist ein Werkzeug im Chrome und man muss sich näher anschauen, was da passiert ist. Ich bin auf Google gegangen und sie haben 4 JavaScript ausgeführt. Man sieht die ganze Funktion, die nächste Funktion und so weiter. Nach einer Weile ist die Seite fertig und dann passiert nicht mehr viel. Irgendwann hört es einfach auf. Das müssen wir uns nicht anschauen, sondern man muss sich nur den Unterschied anschauen. Das ist ein Kryptocurrency-Seite. Wir haben acht Threads. Ich könnte sie nicht alle ausbreiten, weil sie sich passen, aber diese Bars hier oben sind dieselben, wie die ausgebreiteten hier unten. Wir haben acht unterschiedliche Threads, die gleichzeitig ausgeführt werden mit dieselbe Funktion, die netterweise hash kreist. Das ruft ein Web-Assembly auf und das ist sehr spannend und diese Funktion wird wieder und wieder aufgerufen. Solange man auf die Seite ist, wird sie häufig ausgeführt, wie man da ist. Das mit acht parallelen Threads ist sehr starker Indikator, das hier in Krypto meiner läuft. Das heißt, wir haben diese und andere Indikatoren benutzt, um unsere Ergebnisse zu bekommen. Aber das haben wir im Mai gemacht. Also im Mai haben wir diese Daten gesammelt, aber ich habe auch ein paar neuere Informationen. Also zuallererst, wir haben auf die Alexa-Topp-Millionen-Seiten uns angeschaut. Wir haben eine Million Webseiten, die relativ bekannt sind und wir haben 2.500 Seiten gefunden, die einen aktiven Miner drauf hatten. Wir haben die Startseite aufgerufen und da haben wir einige davon nicht gefunden und gibt es auch viele andere Möglichkeiten, aber das ist einfach nur, um so eine Grundidee zu haben. Eine in 500 hatten so einen Skripten, was geplottelt. Es ist in den häufigen Seiten beliebter und es gibt weniger häufige Seiten. Und wenn man sich das jetzt anschaut, Alexa Ring 1 ist Google, es ist klein, es ist beliebt. Die beliebten Seiten sind hier vorne, die hatten die meisten Mining-Skripten, aber manche sehen auch, dass es meiner in den niedrigeren oder weniger beliebten Seiten sind. Es gibt einen kleinen Trend zu den häufig besuchten, aber wir wissen, was es für Webseiten sind, aber wir wollten nicht 1.500 Webseiten aufrufen, also haben wir Symantik benutzt. Die haben kategorisierende Webseiten und nicht alle Webseiten hatte eine Kategorie, die dazu geordnet wurde. Manche hatten mehrere, aber so grob haben wir festgestellt, dass Entertainment und Pornografie die beliebtesten sind und das macht Sinn, weil wenn man auf einer Webseite ist, die ein Video zeigt und zur Webfilm dann ist es gut für den Besitzer der Webseite, weil man lange da bleibt. Meine ist nur da und nur aktiv während der Tab im Browser offen ist. Was bedeutet das? Wir sind abgelenkt, wie ich es gerade war, weil wir schauen uns diesen Film an und du spielst Geräusche und wir sehen nicht wirklich, wie es in den Kühlen losläuft. Das passiert, wenn man Kryptocurrency laufen lässt. Aber wenn man die Filmschaut, dann ist es einem egal, dass der ein bisschen lauter ist. Jetzt ist die Frage, verdienen die viel Geld. Wenn wir jetzt die beliebtesten 10 Seiten nehmen, die 10 beliebtesten Webseiten, die einen Miner drauf haben, haben die im Durchschnitt 400.000 Besucher, die 6 Minuten da bleiben. Das ist eine sehr grundlegende Schätzung. Manche haben bessere Daten, aber das ist auch nicht klar, wie genau die sind. Wir haben herausgefunden, dass die in dieser Zeit ungefähr 180 Euro am Tag meinen konnten. Aber das ist die obere Ende. Eine durchschnittliche Webseite, immer noch die normale Webseite ist ein bisschen bekannt. Die haben ungefähr 25.000 Besucher und die verdienen nur ungefähr 5 Euro am Tag. Das ist ein sehr positiver Raten. Wir ermuten nicht, dass irgendjemand ein Adblocker hat. Wir hätten nicht viele Mobilgeräte dabei sein, für die viel weniger haschen. Viele Dinge könnten noch einfach schief laufen. Die Leute können die Seite polkotieren. Vielleicht gesagt, dass das ein Bitcoin-Männer auf der Seite ist. Wahrscheinlich wird man noch weniger Geld verdienen. Aber wenn ihr euch fragt, ist das ein Ende für die kleinen Webseiten? Nein, nicht wirklich. Wir haben uns gefragt, vielleicht haben viele kleine Webseite derselben Personen gehören. Dann könnte es wieder interessant werden. Wenn man die Webseiten hat, dann kann man vielleicht auch Geld mitmachen. Wir haben versucht, das Geld nachzuvolken. Aber wenn ihr ein bisschen über Monero kennt, wenn ihr reinschaut, dann ist das einfach nicht möglich. Im Gegensatz zu Bitcoin hat Monero viel mehr Privatsphäre in Sachen und die bezahlt sind nicht klar. Man kann keine Transaktionen zusammenfügen. Man weiß nicht von außen, wie viel Geld in Monero ist. Es gibt viele spannende Kriptografie, die wir nicht verstehen. Regen, Signaturen, Keys und alles mögliche. Wir können einfach nicht alles machen. Man kann Geld in Monero nicht einfach nachverfolgen. Das nächste Problem ist, wir wissen noch nicht mehr die Wallet-Adressen. Wir müssten erst einmal die Wallet-Adressen herausfinden. Aber da könnten wir immer noch nichts machen. Bei CoinHive hatten wir diesen Sidekey. Das ist nur eine ID, die zu einer Wallet treffen wird. Aber wir sind nicht auf CoinHive. Sie wissen nicht, welcher Sidekey welche Wallet-Adresse zugeordnet ist. Außerdem, der Sidekey soll eindeutig für jedes Webseite sein. Das heißt, wenn man mehrere Seiten hat, dann kann man einfach mehrere Sidekeys generieren. Von außen können wir gar nicht herausfinden, dass sie zum selben Account gehören. Aber Leute machen auch Fehler. Wir haben nur 570 Sidekeys von 830 Seiten gefunden. Das heißt, Sidekeys wurden manchmal mehrfach verwendet. Und einer wurde 45-mal verwendet. Und in diesem Bild können wir entlaster sehen von 21 Seiten, die denselben Sidekey hatten. Und einer dieser Seiten hatte einen zweiten, einer mit einem anderen Sidekey, wo diese 5 Seiten zugeführten. Diese Seite wurde zweimal investiert. Wir wissen es nicht genau, weil diese 21 Seiten mit dem selben Sidekey wissen wir überhaupt nicht, ob sie derselben Personen gehören oder ob sie gehackt wurden von derselben Gruppe. Wir wissen, dass sie irgendwie zusammengehören, dass dieselbe Person das Geld davon bekommt. Aber wir wissen nicht, ob das absichtlich ist oder nicht. Diese eine Webseite hat zwei Männer drauf, das macht wenig Sinn. Vielleicht wurde da irgendwas gehackt. Wir wissen es nicht genau von außen. Das ist ein bisschen traurig. Das hätte so was wir machen können. Das ist wahrscheinlich das Einfachste. Mit Artifakten. Wir schauen die mining-Skripte an. Wir schauen die URL-Skripte an. Wenn wir das Skript wieder und wieder sehen, das Backend wieder und wieder sehen, dann könnte es sein, dass sie zusammengehören. Aber wir wissen immer noch nicht, weil das sind Pools. Auf der anderen Seite gibt es private Pools, die keine öffentliche Webseite haben. Man kann sich dann nicht registrieren, dann können wir vermuten, dass es passt. Wir haben dieses Skript Generator, also die Hashers von den Java-Skripteinen, und haben die zusammengeclustered in diesem Bild. Offensichtlich ist CoinHive der größte, der große Block hier oben. Das bedeutet, Siebenhundert Skript benutzen genau diese Skripte. Dann gibt es die zweiten Block. Wir nennen AdvisorStat. Das ist die URL von diesem miner. Wir fragen uns 311 Seiten, die diesen miner benutzen. Aber wenn ich die Webseite besuche, sagt es nur 4.03 verboten. Das heißt, da ist nichts wirklich. Warum sind so viele Webseiten, die diesen miner verwenden, muss von den Leuten gemacht werden. Niemand würde online genau dieses Skript benutzen und kann es einfach inkludieren, wenn man auf der Seite sich gar nicht anmelden kann. Also haben wir uns ein paar von denen eingeschaut und haben festgestellt, dass sie alle diesen Banner haben. Das heißt, alle werden von einer freien, ukrainischen Hosting-Service laufen, und die haben diesen Banner auf ihren Webseiten inkludiert. Das heißt, über diesen Banner und über gewisse andere Domains, die den Huiscard hatten und so weiter, dass das ihr gar nicht herausfinden könnt, die gehören, wer sie registriert hat. Aber über diese Kette haben sie im Endeffekt über AdvisorStat, den das Skript inkludiert. Das Skript selber und die Socket-Kommunikation war auch obskorifiziert, und der Mainer war nur bei der ersten Besucht da. Später hat er in Cookie gesetzt und hat am selben Tag nicht wieder gemeint. Das heißt, sie waren sehr, sehr ruhig darüber. Aber andererseits reduziert das ihren Profit, weil wenn man die erste Seite besucht und aufklickt, dann endet der Mainer, hat man vielleicht ein paar Sekunden, um zu meinen? Ich weiß nicht. Aber sie haben 300 Seiten, wenn man das alles addiert, machen sie ein bisschen mehr Geld, die sind Ergebnisse aus dem Mai. Aber jetzt könnt ihr überlegen, ist das eine andere Seite? Das ist die Chart von Monero. Als wir unsere Untersuchung gemacht haben, waren wir ungefähr hier, wo Monero noch 250 Dollar wert war. Und heutzutage sind sie bei ungefähr 50 Dollar. Das heißt, die Webseiten, die wir haben, sind sie durch fünf Teilen oder vier oder so. Das heißt, wir sind bei, wenn man das runterrechnet, wir machen ein Euro am Tag für die durchschnittliche Webseite. Ich habe so, man kann so vermuten, dass es Leute haben, aufgehört zu meinen. Ich habe heute diesen Grafen nochmal nachgeschaut. 300 Mainer sind noch aktiv. Und interessanterweise sehen wir immer noch, dass die häufigsten Webseiten eine größere % dualer Anteil aktiv ist. 25 % der sind im 1. und im 1. Mai waren es 14. Das heißt, die beliebten Seiten haben das immer noch, aber die kleinen Seiten haben aufgehört. Hier unten machen wir einfach kein Geld. Also, vielen Dank, das war ein Vortrag. Danke fürs Zuhören und Fragen. Vielen Dank für den Vortrag. Wenn ihr Fragen habt, bitte stellt euch hinter die Mikrofone und die, die gehen. Bitte macht dies ruhig und leise. Frage von Bureau Wund 2. Hallo, habt ihr euch Quellen, offene Containmentsysteme die wir in einem beliebten WordPress-Plug-In-Mining wohl für jede Webseite vielleicht 10 Besucher pro Tag während man das immer noch um 100 Webseiten und vielleicht würde das wert machen. Die Geschichte habe ich gehört, aber wir haben uns das nicht wirklich angeschaut, denn für uns ist es von außen sehr schwierig, um nachzuvollziehen, ob eine Webseite zum Beispiel gehackt wurde oder ob der meiner Absicht dort ist. Wir könnten uns natürlich alle bekannten Exploits anschauen, aber das wo hört man dann auf, wenn ich schauen muss, ob die Webseite tatsächlich explodiert werden kann. Wir schauen einfach nur, ob es einen meiner auf der Seite gibt und dann wissen wir natürlich nicht, ob es der Betreiber der Webseite ist oder ob die Seite gehackt wurde. Das ist von außen sehr schwierig um nachzuvollziehen. Weitere Fragen bitte. Microphone 1. Es gibt Bibliotheken wie WebGL die Webcode durch den Grafikkarten laut finden können. Wäre es möglich direkt auf der Grafikkarte zu meilen? Ich habe eine Prototypimplimentierung davon gesehen, aber die wurde nicht weiterentwickelt. Sie hat sich ausprobiert, ob sie tatsächlich funktioniert. Es ist ein interessanter Winkel, aber wenn du sowieso Monero meinst, dann hast du eigentlich keinen Vorteil davon und denk dran, dass die meisten deiner Besucher keine Gaming-PCs haben. Das heißt, du kannst dir viel Mühe machen, einen GPU-Miner zu bauen, aber dann verlierst du alle Leute, die da sind, die keine Grafikkarte haben oder keine tolle Grafikkarte haben, aber noch eine ordentliche CPU haben. Das ist einfach den Aufwand nicht wert. Ich habe eine Frage von Microphone 4. Das Internet hat auch eine Frage. Was möchte das Internet wissen? Signal Angel. Wie könnte ein Benutzer CryptoJacking im Browser umgehen, außer wenn mein JavaScript einfach komplett blockiert? Das gibt Gegenmaßnahmen. Ich habe diese Folie im Voraus vorbereitet. Sie sind aber später rausgenommen, als ich festgestellt habe, das ist nur noch 300 meiner Gip. Das Problem mit der Detektion, die ich euch gezeigt habe, ist, dass sie sehr aufwendig ist. Das heißt, wenn dieser Profiler die ganze Zeit an ist, dann verlangsam, dass alle Websites, die keinen meiner haben. Das ist also nicht wert. Es gibt Browser-Erweiterungen. Wir haben drei davon ausprobiert. Meine Block No-Coin. Das sind der DVC-Erweiterungen. Die dritte Erweiterung ist eine Adblocking-Liste, die man abonnieren kann. Dahinter seht ihr die Anzahl der Mainer, die sie von den 2500, die wir gefunden haben, blocken. Das heißt, es gehen noch einige durch die Lappen, um die Lappen zu erweiten. Gleichzeitig ist aber der Aufwand auch niedriger. Das heißt, wenn ihr euch wirklich Sorgen darüber macht, dann ist das sinnvollste, eine solche Erweiterung zu installieren. Wir haben eine Frage von microphone 5. Microfon 5, bitte. Die Person, die es weggegangen hat. Wir haben eine Frage von microphone 4. Wäre es möglich, ein Krypto-Mail in eine Browser-Erweiterung zu setzen, dass er auf jeder Webseite läuft, solange der Browser offen ist? Ja, absolut. Mit Erweiterungen kannst du beliebigen Code in die Seite initiieren, zumindest wenn du die Berechtigung hörst. Deswegen wäre es sehr sinnvoll, so eine Erweiterung zu bauen. Gleichzeitig hast du aber das Problem, dass es leicht aus dem Store geworfen werden kann, wenn Leute darüber berichten. Das heißt, es ist ein interessanter Ansatz, aber du hast nicht das gleiche Ausmaß an Kontrolle, als wenn du es selber hosten würdest. Du brauchst auch die Berechtigung dazu, dieses Skript zu initiieren. Das bedeutet, dass du sowieso schon Kontrolle über alle Seiten hast, und das ist sowieso schon ein Problem. Das heißt, du musst den Nutzer dazu bringen, eine böswillige Erweiterung zu installieren. Und das echte Crypto-Jacking, das ich euch gezeigt habe, ist die einfache Variante, weil einfach die Hürde viel, viel niedriger ist. Mikrofon Nr. 1, bitte. Habt ihr ein Pop-Over iFrame gesehen, die es über die Schließnis-Tapz hinaus am Laufen hält? Nein, das haben wir nicht gesehen. Ein Pop-Under würde funktionieren. Ein normales iFrame nicht, denn wenn du die Seite fließt, ist das iFrame auch weg. Aber ein Pop-Under wäre wirklich eine gute Idee, sozusagen. Wir haben diese automatische Entdeckung, Detektionen gemacht. Die bedeutet, dass wir viele Websites besuchen konnten, aber gleichzeitig wir könnten uns einige besondere Tech-Arbeitsweisen entgangen sein. Aber ein Pop-Under würde definitiv funktionieren, weil es aktiv im Hintergrund alle anderen Taps ist. Wir haben noch Fragen. Wenn ihr euch nicht auch im Englischen schreiben wollt, dann könnt ihr sie auch in Deutsch in das IRC senden. Und da ist der Tag 35C3-C Jetzt sind eine neue Frage. Wäre Libre.js benutzt um hiergegen zu arbeiten? Ich weiß nicht genau, was Libre.js ist. Deswegen kann ich leider nicht sagen, ob es funktionieren. Aber vielleicht kann das Internet in der Zwischenzeit die Frage neu stellen. Eine Möglichkeit zu Detektieren, wäre es, wenn die acht Kerne gleichzeitig für eine lange Zeit benutzt werden. Aber Webseiten wie Netflix oder anderen Spiele sehen die nicht ähnlich aus? Besonders was Spiele angeht, hast du einen Punkt? Aber wir haben uns nicht wirklich angeschaut, ob die CPU stark beantwortet wird, sondern ob eine einzelne Funktion wieder und wieder ausgeführt wurde. Das heißt, wenn es hier und hier und hier die gleiche Funktion ist, dann ist das verdächtig. Natürlich gibt es Möglichkeiten, das umgehen. Denn wenn du weißt, dass wir das so gebaut haben, dann kannst du natürlich eine andere Funktion aufrufen. Aber in Spielen funktioniert das anders. Natürlich gibt es eine Funktion, die die ganzen Sprites zeichnet. Aber musst du die wirklich parallel auf allen acht Kernen ausführen, das bezweifle ich. Aber natürlich hätten wir wahrscheinlich einige falsche positive. Falls es keine weiteren Fragen mehr gibt und Marius nichts mehr hinzuzufügen hat, dann bedankt euch bitte bei Marius für einen großartigen Vortrag. Das war der Vortrag über Crypto Tracking.