Latest / Coding Buddies | Tech & Dev-Mindset / Big Software Fails #5 - Java, Logs und der Weg ins Chaos
Transcript
- 0:00Die It Bedrohungslage ist extrem kritisch.
- 0:02Es sind sofortige Schutzmaßnahmen umzusetzen.
- 0:04Diese Sätze stammen aus einer BSI Pressemitteilung im Jahre 21
- 0:08es erfolgte eine Cyber Sicherheitswarnung der Warnstufe
- 0:11rot was passiert ist, das erfährst du in der heutigen
- 0:14Folge Coding Buddies, Deinem Podcast rund um
- 0:17Softwareentwicklung und aktueller Tech News, herzlich
- 0:20Willkommen. Einen wunderschönen guten Tag
- 0:35und herzlich Willkommen zur neuen Folge vom Coding Buddies
- 0:38Podcast. Es gibt eine neue Folge und es
- 0:40wird eine tolle Folge und bevor wir jetzt richtig starten
- 0:44können, werde ich natürlich erstmal den Tino hier begrüßen.
- 0:46Tino, wie geht's dir? Moin Moin Fabi, Was geht ab?
- 0:50Was geht ab? Das obligatorische, Was geht ab.
- 0:54Das ist die Frage, die man als erstes geklärt hat.
- 0:57Und ich liebe Sie also. Aber du beantwortest sie selten,
- 1:01falls es dir auffällt. Du sagst nie, was so abgeht.
- 1:03Ich glaube, das ist eine rhetorische Frage, aber.
- 1:05Was so abgeht. Podcast geht.
- 1:07Ab und es wird eine habergeile neue Folge, weil es wird mal
- 1:11wieder eine Big Fails Folge und wir haben natürlich.
- 1:16Wieder einen Fall her. Das stimmt und wir haben wieder
- 1:18einen spannenden Fall mitgebracht.
- 1:20Aber bevor wir zu diesem fantastischen Fall der Big Fails
- 1:25in der Softwareentwicklung kommen, wollte ich noch mal ganz
- 1:27kurz einmal sagen, Liebe Zürin, lieber zürer, wenn du den
- 1:32Podcast super cool findest und sagst, ey, ich mag die beiden
- 1:35und ich möchte die gerne unterstützen, dann kannst du das
- 1:37auf jeden Fall machen. Einen Link zur kleinen
- 1:40Unterstützung findest du in den Shownotes guck da mal auf jeden
- 1:43Fall rein und vergiss auch nicht, den Podcast zu bewerten,
- 1:47so. Tino aber jetzt haben wir alles
- 1:51organisatorisch abgearbeitet. Jetzt lass uns doch mal rein,
- 1:54jetzt endlich loslegen, lass uns rein starten und zwar worum geht
- 1:59es heute Tino, möchtest du das einmal den Fall sozusagen
- 2:02vorstellen, ankündigen? Ja, und zwar haben wir uns n
- 2:05Fall rausgesucht, der noch gar nicht so lange her ist und
- 2:09ebenfalls wieder Millionen an Systeme betroffen waren.
- 2:12Also es ist wieder nen. Nee, relativ will ich gar nicht
- 2:15sagen. Es ist ein sehr großer Fall, der
- 2:17auch viel Schaden erfahren verursacht hat, obwohl das
- 2:22meiste dabei gar nicht bekannt ist, würde ich sagen, also ich
- 2:25denke, dass da noch der echte oder tatsächliche Schaden noch
- 2:29wesentlich höher ist als das was bekannt ist.
- 2:32Und zwar geht es um die Sicherheitslücke, die als Log
- 2:35for Shell bekannt ist aus dem Jahre 2021 also da wurde sie
- 2:40entdeckt und war dann auch wirklich.
- 2:43In den Nachrichten überall verbreitet.
- 2:45Also das war mal wieder so n Fall, dass selbst Standard
- 2:49Nachrichtensender darüber berichtet haben aus der Tech
- 2:52Welt, quasi weil es halt wirklich so ne großen
- 2:54Auswirkungen hatte und vor allem weil die Sicherheitslücke
- 2:59wirklich simple Angriffe ermöglichte, das heißt Leute die
- 3:04nicht so technisch versiert waren, selbst die konnten diese
- 3:07Angriffe auf Zielsysteme fahren und das hat es auch so
- 3:10unfassbar. Wie soll ich sagen, gefährlich
- 3:14gemacht? Einfach ja, und das ganze würde
- 3:17ich mir gerne mit dir heute anschauen.
- 3:19Ich würde mir gerne anschauen was die Java Bibliothek log for
- 3:22j von Apache Software Foundation, also von der
- 3:25Foundation damit zu tun hat und wie überhaupt diese
- 3:28Sicherheitslücke entstehen konnte und kleine Anmerkung
- 3:32liebe Zuhörer, liebe Zuhörer, falls du jetzt Angst hast, dass
- 3:35es zu technisch wird. Da können wir dich beruhigen.
- 3:38Fahren wir nicht, während das auf sehr hoher Ebene erklären
- 3:41bisschen in die Technik abdriften, damit auch die
- 3:44Technik Fans was davon haben, aber wir versuchen es so gut wie
- 3:47möglich allgemein zu erklären. Ja, auf jeden Fall.
- 3:52Was ich super spannend fand dabei ist, dass der Bug ja auch
- 3:57vom BSI sogar richtig angekündigt wurde, da gab es ne
- 3:59riesen PDF Datei, dass du alles ganz genau durchlesen konntest.
- 4:02Ich find es da richtig. Rot eingestuft.
- 4:04Ne, ja. Genau, und ich find das ist
- 4:06immer irgendwie so, n schon so n Zeichen, dass man sich so denkt.
- 4:09So OK, Moment was? So Leute, jetzt ist es ernst.
- 4:12Was ist da los? Aber man muss sich auch mal
- 4:15überlegen, dass dieser Bug, über den wir ja gleich noch mal
- 4:18sprechen und worauf wir genauer eingehen werden.
- 4:21Den gab es oder die Sicherheitslücke, die gab es
- 4:23seit 2013 und Ende 2021 wurde das entdeckt und jetzt sagst
- 4:29hast du ja schon angekündigt, dass es ja eigentlich gar nicht
- 4:32schwer ist, diesen diesen Bug oder diese Sicherheitslücke
- 4:35auszunutzen und ich finde es einfach immer wieder unglaublich
- 4:39krass und auch irgendwo beängstigend und auch
- 4:42gleichzeitig irgendwie beeindruckend.
- 4:43Ich weiß nicht, das ist alles so ein Brei.
- 4:46Ja. Wie lange sowas offen ist, weißt
- 4:50du. Das ist das.
- 4:51Solange es nicht entdeckt wird, verursacht es ja auch keinen
- 4:54Schaden. Aber sobald bekannt ist oder
- 4:56sich rumspricht, wie man vielleicht eine potenzielle
- 4:59Sicherheitslücke da ausnutzen kann, da wird es dann halt
- 5:01gefährlich. Und das gefährliche dabei ist
- 5:04ja, dass es unerkannt ist, weil meistens auch in unseren Fällen,
- 5:09die wir bisher schon behandelt hatten, ist so ein fix ja
- 5:12relativ schnell gemacht. Also du kannst ja schnell die
- 5:16Sicherheitslücke beheben, aber du weißt einfach nicht, seit
- 5:18wann sie ausgenutzt wurde und das ist halt immer das
- 5:21gefährliche dabei. Genau das ist halt der Punkt.
- 5:23Also wahrscheinlich gibt es immer Leute die das diese diese
- 5:26Sicherheitslücke dann schon kannten und auch ausgenutzt
- 5:28haben. Deswegen wie du meintest, so man
- 5:30weiß halt nie wie groß der Schaden eigentlich wirklich ist.
- 5:33Was ich aber auch super interessant fand war, dass
- 5:36sobald dieser diese Sicherheitslücke bekannt wurde.
- 5:40Auf einmal wurden halt wirklich tatsächlich ganz, ganz viele
- 5:43Angriffe gefahren. Über die Sicherheitslücke
- 5:45versucht zu fahren. Also das war so richtig so.
- 5:48OK, das ist die Sicherheitslücke und auf einmal ging es richtig
- 5:50zur Sache, dass. Immer das gefährliche dabei ist,
- 5:54wenn du es bekannt gibst. Logischerweise musst du es
- 5:57machen damit. Sag ich mal die Server oder die
- 6:01die Inhaber sag ich mal auch die Chance haben diese
- 6:05Sicherheitslücke zu fixen, musst du es ja bekannt geben, aber
- 6:09gleichzeitig gibst du es ja der ganzen Welt bekannt und alle die
- 6:13dann nicht sofort diese Sicherheitslücke fixen und immer
- 6:17noch angreifbar sind, werden dann logischerweise auch
- 6:20angegriffen und das ist halt das problematische dabei, aber.
- 6:24Wie du ja schon meintest, die war jetzt ewig da, diese
- 6:27Sicherheitslücke potenziell, ob sie bekannt war, weiß man nicht
- 6:30und ich stell mir da immer so vor, stell dir einfach vor, so
- 6:33ne kleine Hackergruppe im Untergrund, die jahrelang so
- 6:36Sicherheitslücken immer ausnutzt und dann wird es bekannt gefixt
- 6:40und die denken sich so, oh jetzt war es vorbei, also es wird ja
- 6:45hundertprozentig Leute geben die die wirklich längerfristig
- 6:48genutzt haben und das muss einfach so sein.
- 6:51Definitiv. Aber springen wir doch mal ins
- 6:53Jahr 21 und zwar Ende 21 gab es ja dann vermehrt Berichte über
- 7:00Angriffe auf Spiele, Server und das finde ich auch so
- 7:02interessant. Und zwar war das Spiel Minecraft
- 7:05betroffen, weil da die Server ja oft auf Java basierten oder
- 7:12immer noch basieren und es wurden Angriffe berichtet, die.
- 7:17Dass es eine einfache Methode gab, um quasi diese Spieleserver
- 7:22zu attackieren, indem man einfach Chat, Nachrichten,
- 7:27spezielle Zeichenketten quasi, also spezielle Chat Nachrichten
- 7:31im Chat postete und dadurch sensible Daten abgreifen konnte
- 7:35oder auch schadhafte Software ausführen konnte auf dem Server,
- 7:39was jetzt erstmal total absurd klingt.
- 7:42Aber da gab es halt vermehrt Berichte, weil das natürlich
- 7:45super schnell aufgefallen ist, dass da irgendwas nicht stimmt.
- 7:48Und war jetzt der Spieleserver Schuld oder woran lag das?
- 7:52Das wurde halt Ende 21 festgestellt und zeitgleich
- 7:57haben sicherheitsvorsteller Vorsteller Sicherheitsforscher
- 8:02sich mal verschiedene Java Bibliotheken zur Brust genommen
- 8:07und haben festgestellt, dass Log for J.
- 8:13Sicherheitslücken hat und haben die berichtet an Apache, dass
- 8:17sie sich darum mal bitte kümmern sollten.
- 8:19Und so hat das Ganze denn quasi seinen Lauf genommen.
- 8:23Wir haben auf ein auf der einen Seite schon Mitteilungen, das
- 8:26Halt so in der Spielewelt bekannt war.
- 8:27Ey, da stimmt irgendwas nicht, andererseits haben wirklich die
- 8:31Experten festgestellt, Hey guck mal da bei euch in eurem Package
- 8:35Log for J, da stimmt was nicht. Und wie das ganze jetzt
- 8:39zusammenhängt, was das mit dem Server zu tun hat und was log
- 8:41for j jetzt wirklich ist. Liebe Zuhörerinnen, liebe
- 8:43Zuhörer, das werden wir uns jetzt angucken und dann auf die
- 8:46Sicherheitslücke kommen. Bleibt gespannt, es ist wirklich
- 8:49der absolute Hammer, also fabi, Start mal.
- 8:52Also was ich zuerst noch sagen muss, ist, dass ich mich auch
- 8:56noch super genau dran erinnern kann, wo wir jetzt gerade im
- 8:59Jahr 2021 sind, weil ich saß auf Arbeit und es war irgendein Tag
- 9:04Ende des Jahres, wo dann wirklich?
- 9:07Diese Nachrichten kamen, wo dann aber auch in unserer auf auf der
- 9:12Arbeit halt eben auch sozusagen die Nachricht rumgingen und wir
- 9:14dann auch wirklich alle gucken sollten, ob wir denn irgendwo
- 9:18log 4 j benutzen, weil wir auch mit Java oder cotlin Anwendung
- 9:21zu tun hatten und das ja auch eine Java Bibliothek ist.
- 9:25Ne und log 4 j an sich ist ja eine Bibliothek, die eigentlich
- 9:29dafür da ist oder die wirklich nicht nur eigentlich, sondern
- 9:32wirklich dafür da ist Daten zu loggen, das heißt?
- 9:36Du nutzt log 4 J, um einfach in deiner Server Anwendung zum
- 9:40Beispiel bestimmte Events einfach in ein Log file zu
- 9:43schreiben und ein Log file ist ja auch nichts anderes, als dass
- 9:46du im Endeffekt eigentlich nur wissen willst.
- 9:48Okay was wird denn jetzt hier also protokollierst was in
- 9:51deinem Server passiert, um zum Beispiel auch herauszufinden,
- 9:55läuft dann alles richtig, gibt es vielleicht irgendwelche
- 9:57Probleme und so weiter und sofort und das ist ja im
- 10:02Endeffekt. Eigentlich nur die Bibliothek
- 10:04und jetzt kann man sich natürlich fragen, was hat denn
- 10:07jetzt eine, also eine Bibliothek, die einfach nur
- 10:11dokumentiert, was dein Server macht, wie kann es denn
- 10:15überhaupt dazu kommen, dass man darüber sozusagen eine
- 10:18Sicherheitslücke erzeugt? Und nicht irgendeine
- 10:21Sicherheitslücke, sondern eine extrem krasse Sicherheitslücke,
- 10:25so dass man wirklich von einer Art Remote Code Execution
- 10:29sprechen kann. Das ist ja sozusagen 1 der
- 10:32schwerwiegendsten Sicherheitslücken, die man
- 10:34irgendwie machen kann, weil du kannst halt, du hast halt die
- 10:36Möglichkeit, Code auf dem Server, also als Angreifer Code
- 10:40auf dem Server auf dem Ziel Server sozusagen auszuführen,
- 10:44deinen eigenen Code, das was du machen willst.
- 10:46Du kannst rein theoretisch, hättest jeden Code.
- 10:49Den du dir rein theoretisch, ich sag jetzt mal so vorstellen
- 10:51kannst, hättest du auf dem Angreifer also angegriffenen
- 10:54Server laufen lassen kann und das finde ich krass gefiltert,
- 10:57ungefiltert und da muss man sich überlegen, wie heftig das ist
- 11:00und man kann sich ja auch berechtigterweise fragen, wie
- 11:04kann das bei einer Bibliothek passieren, die nie für
- 11:08eigentlich für nichts anderes da ist, als Daten zu locken.
- 11:11Ja, vor allem, da sie ja Open Source ist und so weit
- 11:15verbreitet ist. Wie kann denn überhaupt ne
- 11:18Sicherheitslücke da drin sein? Das ist ja auch immer so die
- 11:20Frage, ne, also es ist sag ich mal der ganzen Welt verstreut,
- 11:24alle locken ihre Events und Daten mit Log 4 J nicht alle
- 11:29aber sehr vieles ist wirklich weit verbreitet und auf einmal
- 11:33fällt das auf das das das spielt ja wieder in die Karten zu sagen
- 11:37ey das ist so lange schon drin, wer weiß was da alles mit
- 11:41passiert ist ne? Und die Frage ist, wie kann das
- 11:44jetzt passieren? Das ist ja genau die richtige
- 11:47Frage, die du gerade gestellt hast.
- 11:48Jetzt hat n Server Log for J verwendet, also die Entwickler
- 11:51verwenden das und sagen zum Beispiel gehen wir noch mal auf
- 11:54den Spieleserver ein, weil das so n so n einfaches Beispiel
- 11:58ist, wo niemand sich was Böses bei denkt.
- 12:01Und jetzt habe ich nämlich zum Beispiel Log for J auf meinem
- 12:04Server um zu locken, welche Chatnachrichten reinkommen und
- 12:08da möchte ich zum Beispiel loggen um. 14:38 Uhr hat User
- 12:17Fabi 1234 geschrieben. Hey.
- 12:20Leute, ich mein Usernamen Link. Hat geschrieben Hey Leute, ich
- 12:26hab richtig Lust auf ne Runde Minecraft so das wäre jetzt so n
- 12:29log du hast die Uhrzeit, du hast gelockt wer das geschrieben hat
- 12:33fabi 1234 noch mal kurz sein Username und die Nachricht.
- 12:37Also das macht ja Sinn sowas zu loggen für dein System, damit du
- 12:40weißt was passiert auf deinem Spieleserver und wie es zum
- 12:44Beispiel auch die Auslastung, das sind ja alles so Punkte,
- 12:46warum man Logs erzeugt, am Ende genau und genau da ist nämlich
- 12:51auch eine Funktionalität drin, was ich gerade erklärt habe, die
- 12:54am Ende auch entscheidend für die Sicherheitslücke war und
- 12:58zwar geht es darum, dass du in diesen Logs dynamisch Inhalte
- 13:04anzeigen möchtest oder Laden möchtest.
- 13:06Weil gehen wir von dem Chat aus. Du hast hier 2030 Leute da drin
- 13:11und die chatten miteinander, dann soll ja nicht bei jedem Log
- 13:14stehen 14:38 Uhr, fabi 1234 und dann die Nachricht, sondern du
- 13:19möchtest ja zum Beispiel ne aktuelle Uhrzeit anzeigen, du
- 13:23möchtest den richtigen Usernamen anzeigen und das sind so
- 13:26dynamische Inhalte in vorgefertigten Log Nachrichten
- 13:31oder dann halt zum Beispiel auch die die Chat Message, die ich
- 13:34vorhin genannt hatte. Die du quasi ersetzen möchtest.
- 13:37Du möchtest dann in diesen vorgefertigten Nachrichten diese
- 13:40dynamische Inhalte wie username Uhrzeit einfügen und das Ganze
- 13:45als Notiz, sozusagen als log speichern, damit man weiß, um
- 13:4914:38 Uhr hat fabi 1234 folgendes geschrieben.
- 13:53Wenn ich das jetzt 5 Tage später mir den log angucke.
- 13:56Und für diese Funktionalität, weil wir ja gesagt haben, das
- 13:59war in so n Server auf Java basierend und Log for J ist auch
- 14:03eine Java Bibliothek, wurde genauso eine Java Funktionalität
- 14:07verwendet und zwar die JNTI. Wenn ich jetzt ich bin aber bei
- 14:12Abkürzung, das ist quasi Java Naming Directory Interface,
- 14:18magst du mal drauf eingehen was das am Ende macht oder wofür das
- 14:23sorgt? Genau also im Endeffekt, wie du
- 14:26schon meintest. Du hast also Jndi ist an sich ja
- 14:31eigentlich nur ein Interface, was dafür da ist, sozusagen oder
- 14:35was ein Protokoll verwendet um zu kommunizieren um sozusagen
- 14:42irgendwo Daten herzubekommen, die halt genau diese diese
- 14:46dynamischen Daten, die du brauchst.
- 14:48Und du kannst halt im Endeffekt. Jndi verwenden also, das ist
- 14:53sozusagen also Jndi ist ein Vermittler, kann man sich so
- 14:56vorstellen, der die Anfrage interpretiert, zum Beispiel, das
- 14:59ist fabi 1234 und du willst jetzt zum Beispiel Daten noch
- 15:03weitere Daten über diesen User haben und diese Anfrage wird
- 15:07dann interpretiert und weitergeleitet dahin, wo du halt
- 15:10eben diese Daten über, ich nenne es jetzt mal diesen diesen
- 15:14Schlüssel fabi 1234 herbekommst und da.
- 15:18Kannst du dann im Endeffekt über ein bestimmtes Protokoll
- 15:21kommunizieren, an einen externen Server zum Beispiel?
- 15:25Das heißt, du holst dir deine Daten von irgendwo her und auf
- 15:28irgendeinem Server sage ich jetzt mal, liegen irgendwelche
- 15:30Daten wie zum Beispiel eine Datenbank, wo du dir deine Daten
- 15:33am Ende her holst und das Ganze passiert dann zum Beispiel über
- 15:39einen sogenannten Adap Server so und ein adap Server ist.
- 15:43Bisschen ähnlich wie zum Beispiel ne Art Adressbuch, wo
- 15:47irgendwelche Daten hinterlegt sind.
- 15:48Das heißt du kannst da irgendwo nachschlagen, kannst sagen, ich
- 15:50möchte jetzt von diesem adap Server bestimmte Daten haben und
- 15:55sagst gehst dann hin und sagst Ich möchte Daten für Fabian 1234
- 15:58haben und dann kriegst du diese Daten wieder zurück und dann
- 16:01kannst du halt mit diesen Daten arbeiten und sagen OK hier.
- 16:04Fabian 124 der echte Name ist das und das und keine Ahnung,
- 16:08was auch immer dann sozusagen gelockt werden muss.
- 16:10Also du kannst dann sozusagen bestimmte Daten aus diesen
- 16:14Daten, aus diesem Datenpaket, was du vom Lda Server
- 16:16Zurückbekommst oder von deinem Adressbuch sozusagen
- 16:19zurückbekommst, kannst du dann verwenden und genau im Endeffekt
- 16:24kriegst du aber, und das ist jetzt so eine Java Eigenheit, du
- 16:26kriegst halt eine Java Klasse, also so ein Java klassenpaket.
- 16:31Kannst du halt von diesem Adapt Server bekommen und kannst dann
- 16:34im Endeffekt sozusagen diesen diese Klasse mit dem Java zum
- 16:38Java Class loader kannst du dann sozusagen laden und halt eben
- 16:41auch Daten abgreifen beziehungsweise Code ausführen.
- 16:45So, und das ist jetzt eigentlich genau der Knackpunkt, weil du
- 16:50kannst. Das fand ich auch so
- 16:52interessant, weil es wurde halt nicht davon ausgegangen und.
- 16:56Was man am Ende sozusagen damit machen kann, also mit dieser
- 17:00Funktionalität, weil im Endeffekt um das ganze kurz
- 17:03zusammenzufassen, hast du eine Möglichkeit, um ein Place Holder
- 17:08in deinen in deine Log Nachricht reinzuschreiben und dieser Place
- 17:12Holder ersetzt dann am Ende Daten beziehungsweise da wird
- 17:17etwas ersetzt, was am Ende da reinkommt und das was da
- 17:20reinkommt kann halt eine aus ein auszuführender Code Baustein
- 17:25sein und. Und dann kannst du halt im
- 17:27Endeffekt sagen, okay, du hast eine Log Nachricht und da
- 17:30ersetze mir mal was. Das heißt dein Log for J
- 17:33Bibliothek macht nichts anderes als den Adap Server anzufragen,
- 17:37also dein Adressbuch und dir irgendwelche Daten aus diesem
- 17:39Adressbuch rauszuholen und diese Daten dann dort einzusetzen, was
- 17:43zum Beispiel Daten sein können, was zum Beispiel Code sein kann,
- 17:46der ausgeführt wird und mit diesem Code der ausgeführt wird
- 17:50an dieser Stelle, damit wurde irgendwie nicht so richtig
- 17:53gerechnet. Genau weil wie du gesagt hast,
- 17:55dass der Java Class loader Halt einfach diese Referenz auch lädt
- 17:59und erzeugt. Und dann wird es halt ausgeführt
- 18:01und man geht natürlich nie von was bösem aus.
- 18:06Deswegen war es ja grundsätzlich, oder ist es ja
- 18:08grundsätzlich cool, dass das JDNIJNDI so quasi auch die
- 18:16Möglichkeit hat oder Protokolle implementiert hat, wie zum
- 18:19Beispiel das LDAP. Auch externe Server Anfragen zu
- 18:22können für Daten diese zu bekommen und dann in den Logs
- 18:25einzutragen. Problem ist halt dieser Aspekt,
- 18:29dass quasi diese Java Referenzen durch den Class Loader geladen
- 18:33werden und halt auch ausgeführt werden und da hat man ist man
- 18:36halt einfach von nichts schlimm ausgegangen, man hat gesagt ist
- 18:38doch cool, dann kann ich mir von einem externen Server noch Daten
- 18:40holen die ich da loggen will wie du ja so schön meintest, ich
- 18:42habe mein Place Place holder 123 Entschuldigung place holder.
- 18:48Und möchte da einfach nur dynamisch die Daten dann
- 18:51eintragen. Ich meine ich habe da nichts
- 18:52Böses im Sinn, das ist ja nur ein log, genau so was du jetzt
- 18:56aber machen kannst innerhalb diesem Placeholder und das ist
- 18:59jetzt auch der Knackpunkt, du kannst auch angeben von welchem
- 19:03Server du das haben möchtest. Du kannst halt wirklich explizit
- 19:07sagen Log for j. Hier ist eine Log Nachricht und
- 19:13da drin ist ein Place holder wo drin steht.
- 19:15Ich möchte, dass ein LDAP Server angefragt wird mit der folgenden
- 19:19Adresse und du gibst sogar die Server Adresse an mit Port und
- 19:23allem und gibst auch an welche Daten du haben möchtest.
- 19:27Also quasi einfach gesagt welcher Code geladen werden soll
- 19:33am Ende und das wurde ungefiltert durchgelassen, das
- 19:38heißt? JNDI hat gesagt, OK, ich guck
- 19:43nach lookup, ja OK, ich hab hier das und das ldap OK Adresse
- 19:48frage ich an AE Server XY hier unser berühmter Server 5 hinten
- 19:54rechts in der Ecke der Böse der wird angefragt hast du hier die
- 19:57Daten? Ich brauch mal Schadpaket ABC
- 20:01und er sagt Hey kein Problem hier bitte hast du.
- 20:04Das wird geladen, wird noch in den Log da eingetragen, spielt
- 20:08aber keine Rolle, weil der Code schon ausgeführt wird.
- 20:10Genau. So, und dann wird dieses
- 20:12schadhafte Code Paket auf deinem Server auf dem Zielsystem
- 20:16ausgeführt und das kann halt alles Mögliche sein.
- 20:19Wir können ja später noch auf so Fälle eingehen, die bekannt
- 20:22wurden, was damit so getrieben wurde, aber das ist am Ende
- 20:25jetzt die Sicherheitslücke und die ist Easy und du kannst die
- 20:28Trägern beispielsweise durch ein Chat Fenster auf einem Spiel
- 20:32Server. Indem du einfach genauso eine
- 20:35Nachricht absetzt. Und dann wird auf dem
- 20:37Spieleserver genau das ausgeführt und so konntest du
- 20:41zum Beispiel auch irgendwelche Hacks ausführen für Spiele ne,
- 20:45also das ist ja jetzt noch so der geringste Schaden, dass du
- 20:48in einem Spiel manipulierst dadurch oder oder betrügst sagen
- 20:52wir es mal. So, und das war ja auch zum
- 20:54Beispiel nicht nur, also wir haben jetzt zum Beispiel n
- 20:55Spieleserver als Beispiel genannt, aber du kannst ja auch.
- 20:58Angenommen du hast zum Beispiel eine Anmeldemaske von einem
- 21:00beliebigen Service, wo du irgendwie dich anmeldest.
- 21:04Kennt man ja Username Passwort und los geht's.
- 21:07Und wenn du jetzt zum Beispiel hingehst irgendeinem Service, wo
- 21:10du vielleicht auch sehr, sehr sensible Daten hast und dieser
- 21:13Server läuft am Ende auch wieder auf Java und nutzt Log 4 J, ist
- 21:16natürlich die Voraussetzung dafür, das weißt du als
- 21:19Angreifer nicht, aber du kannst halt gucken, dass du das, also
- 21:23dass du das herausfindest. Und dann könntest du zum
- 21:25Beispiel genauso nicht jetzt zum Beispiel bei einem Chatfenster,
- 21:29sondern einfach über die Anmeldemaske sagen, OK, ich bin
- 21:32Tino 1234 sorry, dass ich jetzt deinen Usernamen liegt.
- 21:37Nee, das. Ist nur ist nur fair ist nur.
- 21:39Fair, nicht Leute. Und dann hast du und jetzt kommt
- 21:44nämlich auch wieder der Knackpunkt und dann schreibst du
- 21:46halt genau diesen diesen JNDI Befehl mit diesem Lookup zu
- 21:50diesem. Adap Server schreibst du in den
- 21:53Usernamen mit rein und das wird dann quasi genauso wie es da ist
- 21:56gelockt unter Umständen, das muss man herausfinden, das war
- 22:00sozusagen die Schwierigkeit dabei.
- 22:02Am Ende können wir noch mal ein bisschen genauer darauf
- 22:04eingehen, dass du dann im Endeffekt dich versuchst, damit
- 22:06einzuloggen und der Effekt ist, dass die anmeldemaske dir sagt,
- 22:10es tut uns leid, aber Username und Passwort, irgendwas stimmt
- 22:13da nicht, was aber under the Hood passiert ist, ist, dass
- 22:16dieser. Befehl, den du in deinen
- 22:18Usernamen eingegeben hast, aber am Ende durch das Log for J
- 22:22Package ausgeführt wurde beziehungsweise wurde, dass
- 22:26dieser String ja nicht ausgeführt, sondern der String
- 22:29wurde angeschaut gesagt, OK, hier ist ein Placeholder, da ist
- 22:32ein JNDI Befehl drin, jetzt muss ich mir aber die Daten von dem
- 22:35entsprechenden Server holen und dieser Server auch wieder ein
- 22:38Knackpunkt, der muss natürlich vom Angreifer aufgesetzt worden
- 22:41sein und dann muss der Angreifer genau für diesen Befehl der da
- 22:45drin steht in diesem. Befehl in diesem in diesem J and
- 22:48I Befehl muss natürlich genau dafür eine bestimmte eine
- 22:52bestimmte Java Exploit Klasse hinterlegt sein.
- 22:55Ne die dann geladen wird und dann ausgeführt wird und das ist
- 22:59halt krass. Das heißt im Endeffekt musst du
- 23:01nichts anderes machen als einen String irgendwie ins System zu
- 23:05schleusen, zu überprüfen, also zu gucken, OK hoffentlich wird
- 23:08das an der Stelle gelockt und dann halt noch deinen Server
- 23:13aufzusetzen der von dem dann die Daten.
- 23:16Am Ende geholt wurden. So und dann hast du eigentlich
- 23:19schon die Sicherheitslücke ausgenutzt.
- 23:22Genau, ich finde, das ist auch ein gutes Beispiel, weil die
- 23:24Wahrscheinlichkeit sehr hoch ist, dass ein Error gelockt
- 23:26wird, wenn der locker nicht funktioniert.
- 23:30Das heißt, du gibst da halt wirklich bei Username.
- 23:33Dein schadhaften, deine schadhafte Zeichenkette ein, was
- 23:37du quasi ausführen möchtest, hatten wir ja vorhin gesagt, da
- 23:40schreibst du halt rein. Ich möchte bitte L darb auf
- 23:43folgenden Server gehen und schadhaft Software ABC ich weiß
- 23:47nicht mehr wie. Ich es genannt.
- 23:49Hab das bitte ausführen oder lan bekommen, die Daten ne und bei
- 23:54Passwort gibst du irgendwas ein. Du willst dich ja auch nicht
- 23:56einloggen, wäre jetzt irgendwie witzig wenn du damit dich
- 23:58einloggen könntest. Aber.
- 24:00Das passiert natürlich nicht, aber es wird sehr wahrscheinlich
- 24:03in Error gelockt und dementsprechend ist diese ganze
- 24:06Kette, wie du ja schon so schön sagtest, angetriggert und was am
- 24:10Ende dann passieren kann mit meinen schadhaften Code ist,
- 24:13dass ich mir echte Login Daten rausziehen könnte und dann quasi
- 24:18mein schadhafter Code wieder nach Hause telefoniert mit
- 24:21abgegriffenen Daten, also da oder oder einfach alle möglichen
- 24:25Sachen auf dem Zielsystem installieren, öffnen, wie auch
- 24:28immer. Du bist ja dann wirklich auf dem
- 24:31System und kannst dementsprechend auch agieren.
- 24:34Das krasse ist halt das gefährliche dabei.
- 24:36Genau, du hast ja rein theoretisch die Möglichkeit über
- 24:38ne ja innerhalb einer Java Klasse, zum Beispiel.
- 24:41Wenn du also diese klasse Ausführst, so diesen Code dieser
- 24:44Java Klasse ausführst, hast du ja die Möglichkeit zum Beispiel
- 24:46auch einfach Command Befehle in diese Java Klasse einzubetten
- 24:49und zu sagen, führe diese Command Befehle aus, was ja im
- 24:52Endeffekt. Durchaus zum Beispiel dazu
- 24:54führen kann, dass du halt wirklich auch n Remote Zugriff,
- 24:57also ne interaktive Shell sag ich jetzt mal zu diesem Rechner
- 25:02aufbauen kannst und dann interaktiv auf diesem Server
- 25:05arbeiten kannst. Nur mal als mal das.
- 25:07Ist so schön, weil deswegen ist es auch als Log for Shell in die
- 25:10Geschichte eingegangen, weil genau das ist halt möglich damit
- 25:13genau, und das zeigt halt auch, wie gefährlich das Ganze war.
- 25:17Ja, und das finde ich halt auch super krass.
- 25:19Also das also das ist, das ist eine Sache, die kann man sich
- 25:22eigentlich gar nicht vorstellen, weil du weißt nichts davon und
- 25:25jemand anderes hat Zugriff auf deinen Rechner sozusagen, und
- 25:29das ist richtig krass, also so eine kleine Analogie, die finde
- 25:32ich irgendwie ganz interessant, wenn man sich das jetzt
- 25:34vielleicht noch nicht so richtig vorstellen konnte, wie das so
- 25:37passiert. Angenommen, Liebe Zora, Liebe
- 25:39Zora, Du gehst jetzt zum Beispiel in ein Hotel rein und
- 25:41möchtest dich zum Beispiel da anmelden, dann hast du.
- 25:45Am Ende zum Beispiel die Rezeptionistin oder den
- 25:47Rezeptionist. Der steht da und nimmt sozusagen
- 25:49deine Anfrage auf. Du sagst, ich möchte gern n
- 25:52Zimmer haben und das soll gerne mit einem Doppelbett sein und
- 25:57bitte machen Sie auch ne Suite draus.
- 25:59Ich hab heute n ganz besonderen Abend, ich muss was feiern,
- 26:03keine Ahnung. Und dann wird das ja natürlich
- 26:05irgendwo niedergeschrieben. Das heißt ne, die
- 26:07Rezeptionistin, der Rezeptionist ist dann irgendwo sozusagen
- 26:10diese Log for j und schreibt die Sachen irgendwie auf, wird
- 26:12irgendwie dokumentiert, es wird gesagt, OK, Kunde XY möchte
- 26:16gerne das und das und das haben und dann kann es halt natürlich
- 26:18auch noch sein, dass du vielleicht noch bestimmte andere
- 26:20Wünsche hast, wie zum Beispiel, bitte tragen sie auch noch
- 26:24meine. Sachen hoch und die
- 26:26Rezeptionistin sagt Okay schreibe ich auf, gebe ich an
- 26:29einen Mitarbeiter oder Mitarbeiterin hier weiter.
- 26:32Das wird für sie gemacht, Ihre Sachen werden hochgetragen,
- 26:34könnten sie vielleicht auch noch eine Flasche Sekt schon mal kalt
- 26:36stellen und aufs Zimmer bringen? Ja machen wir auch, sondern wird
- 26:39im Endeffekt viele. Wünsche immer.
- 26:41Jetzt bin ich und dann hast du ja im Endeffekt den.
- 26:46Also der Effekt ist, dass die Rezeptionistin oder der
- 26:49Rezeptionist sagt Okay passt auf ich.
- 26:52Source, das sozusagen aus und gebe diese Aufgaben an jemand
- 26:55anderen weiter. Ne so und jetzt ist der
- 26:59Knackpunkt an der Geschichte, dass du rein theoretisch selber
- 27:03bestimmen könntest, wer diese Dinge ausführt.
- 27:06Das heißt, du könntest jetzt zum Beispiel sagen, ich möchte aber
- 27:09gerne, dass zum Beispiel mein Kumpel das aus, also diese
- 27:12Aufgabe erfüllt und zum Beispiel aber auch auf Zimmer 5 und nicht
- 27:17Zimmer 6. Also wenn ich jetzt zum Beispiel
- 27:18Zimmer 5 nicht hätte, aber Zimmer 6 gebucht hätte, dann
- 27:21könnte ich der Rezeptionistin sagen, schreiben Sie bitte auf,
- 27:24dass Kumpel von Fabian 1234 zum Beispiel.
- 27:30Irgendwas bestimmtes auf Zimmer 6 bringt so und er würde dann
- 27:34autorisiert sein das auf Zimmer 6 zu bringen, obwohl Zimmer 6
- 27:38eigentlich gar keinen Zugriff sozusagen.
- 27:40Er ist gar nicht autorisiert in dieses Zimmer zu gehen.
- 27:43Ja, geben Sie ihm einfach eine Schlüsselkarte für Zimmer 6.
- 27:46Genau, und das wurde halt 0,0 geprüft und das ist halt das
- 27:49interessante, weil dieser entsprechende Mensch konnte
- 27:53natürlich dann. In Zimmer 6 gehen und alles
- 27:56rausholen was er wollte, obwohl eigentlich gar keine
- 27:58Zugriffsberechtigung dafür da war und so kann man sich das
- 28:01ungefähr vorstellen und dass das nicht gut ist, kann man sich
- 28:05vielleicht auch relativ schnell vorstellen.
- 28:08Also da ist halt denn der Menschenverstand noch dazwischen
- 28:11zwischen Angreifer und Opfer, sage ich mal in dem Zimmer in
- 28:17dem Zimmer, also in dem Zimmer 6 dann wahrscheinlich das heißt.
- 28:22An der Rezeption werden sich die Leute wahrscheinlich denken,
- 28:24nein, warum so? Nein, machen wir nicht, aber
- 28:29wenn du das natürlich ungefiltert durchlässt und das
- 28:32einfach so abgearbeitet wird, so wie es jetzt hier bei Log 4 J
- 28:36der Fall war, dann wird es halt richtig gefährlich und wir
- 28:40können ja immer noch so auf andere Fälle eingehen, was ich
- 28:43halt auch super spannend fand ist als das rauskam gab es auch
- 28:47Berichte, Mutmaßungen, aber auch Berichte also.
- 28:51Immer mit Vorsicht genießen, aber ich fand es halt krass,
- 28:54dass Staaten wollen jetzt auch nicht explizit welche benennen,
- 28:58aber sofort angefangen haben, das für Spionagezwecke zu
- 29:01nutzen. Das heißt, es wurden wieder
- 29:03indirekte Angriffe auf andere Länder gefahren im Sinne von der
- 29:07Spionage und das finde ich halt so krass, also man erkennt quasi
- 29:11die Sicherheitslücke und sozusagen die Chance Daten
- 29:14abzugreifen und es wird auch direkt ausgenutzt.
- 29:17Genauso gab es verschiedene Hackergruppen.
- 29:20Die diese Sicherheitslücke genutzt haben, um im
- 29:23Kryptobereich meiner zu instanziieren auf Zielsystem,
- 29:29das quasi unentdeckt gemeint wurde, für verschiedene
- 29:32Kryptowährungen. Das find ich halt auch, ist auch
- 29:35so n super krasser Punkt einfach der dafür genutzt wurde, weil du
- 29:38halt wirklich Code ausführen konntest was du wolltest.
- 29:43Und deswegen wurde auch. Ja, man kann sie jetzt
- 29:46hinstellen und sagen, ja gut, dann wird halt da irgendwas
- 29:48gemeint. Auf meinem Rechner ist ja nicht
- 29:50so schlimm, passiert ja nichts Schlimmes auf meinem Rechner,
- 29:52aber ich meine du hast am Ende arbeitet ja dein Rechner für
- 29:55jemand anderen, also ne unabhängig was er da tut und du
- 30:00hast natürlich auch noch Stromverbrauch also klar kann
- 30:02man sie jetzt vielleicht hinstellen, so ist jetzt so
- 30:04schlimm ist das jetzt nicht, aber also Alter es ist falsch.
- 30:07Du hast halt Zugriff auf sämtliche Systeme.
- 30:09Dadurch erlangt ne. Und ich find es halt auch so
- 30:13spannend. Ich hab mich zum Beispiel
- 30:14gefragt, warum gerade eldaab als Protokoll JDNA hat ja auch die
- 30:21JNDA meine Güte, ich jedes Mal ne jedes Mal, hat ja auch andere
- 30:27Protokolle implementiert, du könntest ja auch zum Beispiel
- 30:29ganz normal über HTTP. Calls sind aber die werden halt
- 30:33oft denn einfach gefiltert oder sind eingeschränkt in der
- 30:36Nutzung. Und LDA ist halt einfach zu
- 30:38verwenden. Es ist auch simpel so einen
- 30:40schadhaften Lda Server aufzusetzen, du musst da nicht
- 30:43viel konfigurieren oder so, du kannst einfach sagen hey wenn
- 30:46die Anfrage hier reinkommt, dann leite ich halt hier zu meinem
- 30:49schadhaften Code weiter, liefert das aus die Referenz und fertig
- 30:54das war es schon, das heißt das konnte man halt wirklich auch
- 30:57schnell umsetzen. Weil dieses Protokoll adap so
- 31:01Leichtgewichtig. Ist das.
- 31:03Heißt was eigentlich, was der Vorteil dabei ist, war hier
- 31:06absolut der Nachteil, weil es so einfach ausgenutzt werden konnte
- 31:09und dass er nicht mal Schuld des Protokolls ist an der Stelle.
- 31:12Das Interessante ist, du kannst rein theoretisch diese
- 31:14Sicherheitslücke auch relativ einfach nachstellen und du
- 31:18brauchst auch nicht viel Code dafür, also kannst rein
- 31:21theoretisch um es auszuprobieren, brauchst du
- 31:23sozusagen diesen adap Server mit dem mit dem Code.
- 31:27Der da hinterlegt so diese Java Klasse und du brauchst halt
- 31:31irgendwie ein sagen wir mal einen Server der dann sozusagen
- 31:35log 4 J nutzt Wichtigerweise dabei auch ist zu sagen, dass es
- 31:38natürlich eine bestimmte Log 4 j Version sein muss, weil diese
- 31:42Log 4 j, also diese Sicherheitslücke wurde dann
- 31:46natürlich als es aufgetreten ist gefixt und gepatcht mit der
- 31:50Version 2 Punkt 15 und. Und vorher wurde es halt.
- 31:54Oder war es halt möglich, die Sicherheitslücke auszunutzen,
- 31:58ja. Aber das war sehr viele
- 32:00Versionen lang möglich. Genau also die
- 32:02Wahrscheinlichkeit. Ist halt groß, dass viele Server
- 32:04sich nicht sofort geupdatet haben in der Log 4 j Version
- 32:08deswegen weil du anfangs meintest, du kannst dich noch
- 32:10erinnern, wie da der Aufschrei war auf Arbeit kann ich mich
- 32:13auch dran erinnern bei meiner Arbeit damals aber.
- 32:16Deswegen war ja der Aufschrei da.
- 32:18Guckt bitte nach, wir müssen das updaten, wenn das irgendwo so
- 32:22unerkannt auf alter Version bleibt, dann haben wir halt echt
- 32:25n Problem und es sind 100 pro lange viele Server auf dieser
- 32:29alten Version hängen geblieben. Ja, ja, das ist halt das, das
- 32:33Halt das krasse, also man man sagt man, man weiß nicht genau,
- 32:37ob dieses ob dieser Fehler schon immer drin war oder erst ab
- 32:40einer bestimmten Version, aber definitiv in der Version 2 Punkt
- 32:4414. Davor sehr wahrscheinlich auch.
- 32:48Und aber wie gesagt ab der Version 215 wurde das dann mehr
- 32:53oder weniger gefixt. Ich glaube ab der Version 216
- 32:56oder so gab es dann gar nicht mehr diese jndi Funktionalität,
- 33:01die wurde da komplett rausgenommen, wenn ich da
- 33:02richtig informiert bin, aber. Das ist einfach schon gut.
- 33:07Dazu stimmt zu sagen updated. Auf 215 war ja damals so der
- 33:13Fix, das heißt, alle Betroffene mit ihren Servern oder wo auch
- 33:17immer sie diese Log 4 j verwendet haben, konnten im
- 33:21Prinzip durch einen Software Update oder beziehungsweise
- 33:25Library Update das fixen auf ihrer Seite.
- 33:28Das heißt wie kann man sowas verhindern.
- 33:30Ey bleibt aktuell wenn irgendwelche Sicherheitspatches
- 33:33rauskommen. Installiert sie auch, verwendet
- 33:36sie auch. Es ist super bequem auf alten
- 33:38Versionen zu bleiben, das kennen wir selbst und auch wir selbst
- 33:41machen das, das passiert, aber es ist halt immer ratsam,
- 33:45wirklich aktuell zu bleiben, gerade wenn sowas mal wieder
- 33:48auftritt und wie gesagt, Ende 21 ist noch nicht lange her, das
- 33:52ist auf jeden Fall n wichtiger Punkt was ich hätte man Zweiter
- 33:55verhindern können. Genau da wollte ich gerade drauf
- 33:57eingehen, weil ich fand das auch interessant, weil es wurde ja
- 33:59erstmal unglaublich krass gehypt.
- 34:01Bei uns zum Beispiel. Also ich hab das halt wie
- 34:03gesagt, du meinst. Ich auch am Anfang gesagt hab,
- 34:05ich hab es ja echt richtig erfahren, dass da auch Druck
- 34:08drauf kam auf das ganze und das interessante dabei ist und ich
- 34:14find das ist ja manchmal auch NN wichtiger Punkt, dass man nicht
- 34:18sofort völlig die Nerven verliert, weil man hat ja
- 34:23manchmal gibt es Bibliotheken die man nutzt, wo man um eine
- 34:28Sicherheitslücke nicht drumherum kommt, wenn man sie nicht
- 34:31patcht. Wenn man sie nicht updatet.
- 34:33In dem Fall war es aber nicht zwangsläufig so, dass das Ganze
- 34:37auch wirklich passiert ist. Es gab 2 verschiedene Sachen,
- 34:40einmal, wenn du sie nicht verwendet hast, diese
- 34:42Bibliothek, dann konnte es auch nicht passieren.
- 34:45Wichtig dabei ist, dass diese Bibliothek aber auch nicht
- 34:47versteckt in anderen Bibliotheken war und da quasi
- 34:50verwendet wurde, das war ein wichtiger Punkt, den man checken
- 34:53musste, aber wenn du zum Beispiel diese Bibliothek nicht
- 34:55verwendet hast, dann. Dann konnte es natürlich nicht
- 34:57auftreten und genauso. Das ist zum Beispiel auch noch
- 35:01ein Fall, nur weil diese Sicherheitslücke da war, heißt
- 35:04das noch lange nicht, dass sie ausgenutzt werden konnte, weil
- 35:07beispielsweise, wenn du zum Beispiel deinen Usernamen
- 35:10Lockst, mit diesem Beispiel, was ich vorhin meinte bei der
- 35:12Anmeldemaske und du aber zum Beispiel, und ich weiß, die
- 35:15Leute lieben es, Rex nutzt zum Beispiel, um deinen Usernamen zu
- 35:19validieren, ob er überhaupt valide ist oder nicht, es kann
- 35:23ja zum Beispiel sein, dass du beispielsweise.
- 35:26Wenn du angenommen, du hast einen Usernamen oder so, musst
- 35:29du ja nicht zwangsläufig in deinem Usernamen geschweifte
- 35:31klammern, sage ich jetzt mal zulassen, um zumindest mal eine
- 35:37gewisse Sicherheit reinzubringen.
- 35:39Du hast natürlich da noch die Möglichkeit das Ganze zu
- 35:41entkrypten und so weiter ne, also es gibt noch Möglichkeiten
- 35:43daran trotzdem vorbei zu Schiffen.
- 35:46Aber es ist halt eben die Frage, wie validierst du deine Daten,
- 35:51um zum Beispiel überhaupt zuzulassen, dass du diesen diese
- 35:54diese Möglichkeit überhaupt zulässt.
- 35:56Dass genau dieser String dann geloggt wird am Ende ne, das ist
- 35:59halt der Punkt. Das ist natürlich auch
- 36:01schwierig, wenn du dann am Ende wieder n Lock hast.
- 36:03Username is not valid und dann schreibst du den Username da
- 36:06rein oder so, dann hast du mich genau das gleiche erreicht am
- 36:09Ende, aber ich weiß worauf du hinaus möchtest.
- 36:11Du kannst natürlich auf Implementierungs auf deiner
- 36:13Implementierungsseite. Schon Sicherheitsmechanismen
- 36:18integrieren aber sagen wir mal so, man geht nicht davon aus,
- 36:23dass wenn ich was logge so was Schlimmes passieren kann.
- 36:25Deswegen keine Schande, wenn Leute das nicht abgefangen
- 36:29haben, sondern gesagt haben, ey, ich logge jetzt einfach, dass
- 36:31das nicht geht, ne definitiv also was ich halt interessant
- 36:34finde ist, dass Log for J standardmäßig einfach dieses
- 36:38JNDA aktiviert hatte. Du kannst es auch abschalten.
- 36:42Du kannst auch sagen, ich möchte das gar nicht machen.
- 36:43Diese lookup Funktion wäre der erste Punkt, also finde ich,
- 36:48dass man so was standardmäßig auch deaktivieren könnte.
- 36:50Der nächste Punkt ist, dass natürlich in J NDA selbst
- 36:54überhaupt nicht gefiltert wurde, was da eigentlich angefragt
- 36:57wird, das finde ich halt auch krass, also das wäre eigentlich
- 37:00die erste Instanz so was quasi zu überprüfen.
- 37:05Also du hattest jetzt eigentlich mehrere Stufen, sage ich mal.
- 37:10Wo man hätte es verhindern können, also auch als alle haben
- 37:13es aber nicht getan am Ende und das finde ich halt krass.
- 37:16Was zum Beispiel es? Ist ja wieder ne Verkettung am
- 37:18Ende wie bei allen Big Fails die wir hatten ne Verkettung von
- 37:21verschiedenen, in diesem Fall Funktionalitäten und Libraries,
- 37:25die aber im gesamten so eine krasse Sicherheitslücke
- 37:29aufgemacht haben. Und was ich zum Beispiel auch
- 37:31sehr, sehr interessant finde, und ich glaube, das ist auch ne
- 37:33Sache, die generell. Damals, aber auch heute noch
- 37:37sehr stiefmütterlich behandelt wird, ist zum Beispiel Firewall
- 37:40Konfiguration, weil man muss natürlich davon ausgehen, dass
- 37:43am Ende hast du ja über diesen Lookup an diesen Lda Server
- 37:48irgendwo eine Kommunikation, die irgendwo hingeht, die du ja rein
- 37:53theoretisch mit einer richtigen Firewall Konfiguration
- 37:56eigentlich von Default auch sowieso blocken solltest, weil
- 37:59du in einer schönen heilen Welt. Konfigurierst du ja eigentlich
- 38:04dein System so, dass du sagst, da darf ich hin, da darf ich
- 38:07nicht hin, weil wir haben ja vielleicht sehr, sehr sensible
- 38:10und wichtige Informationen und Daten auf unserem System und
- 38:14deswegen sollte man gucken, dass man da nicht irgendwie solche
- 38:16Sachen zulässt. Und da sollten auch nicht
- 38:18irgendwie aus Versehen irgendwelche Kommunikation in
- 38:22irgendwo hingehen, wo wir es gar nicht erlauben ne, also das wäre
- 38:24auf jeden Fall auch ein sehr, sehr wichtiger und also
- 38:27wichtiger Punkt, den man hätte machen können.
- 38:30Einfach schon präventiv, egal ob man diese Library benutzt oder
- 38:34nicht. Einfach generell, aber
- 38:37erfahrungsgemäß wird das so nicht immer umgesetzt.
- 38:43Ich habe noch einen Punkt, bevor die Folge abschließen können,
- 38:46weil ich finde, wir haben es jetzt schon wieder sehr
- 38:47ausführlich besprochen. Ist halt auch einfach ein
- 38:49spannendes Thema, aber was mir auch wieder gezeigt hat, was
- 38:54geht eigentlich bei Menschen ab? Das also ich frage mich immer,
- 38:59wie komme ich auf die Idee oder warum habe ich so eine böse
- 39:01Intention dahinter, weil als das bekannt wurde, wurden sofort
- 39:07Bots entwickelt, die das ganze Netz quasi gescannt haben nach
- 39:12anfälligen Servern die noch die falsche Log Vj Version
- 39:15verwenden, weil du kannst auch über dieses dynamische Lan dir
- 39:20die Version ausgeben lassen. Beispielsweise auf jeden Fall
- 39:24wurden Bots entwickelt, die Scannen nach anfälligen Servern,
- 39:28damit diese dann gezielt angegriffen werden können.
- 39:30Und da siehst du diese, diese, diese Motivation dahinter finde
- 39:33ich einfach so krass zu sagen, haha, hier ist ne riesen
- 39:35Sicherheitslücke, jetzt geht es los und das das fand ich halt
- 39:38auch wieder so erstaunlich im negativen Sinne, da ist schon
- 39:42schon heftig, oder? Also das Ding ist, und das ist
- 39:45ja auch krass, also. Also das das Scannen und das
- 39:48Einschleusen davon ist ja auch wirklich.
- 39:50Also wir hatten jetzt 2 Beispiele genannt, aber um auch
- 39:53noch mal das Ausmaß noch mal weiter noch mal bisschen zu
- 39:57dramatisieren, du kannst ja rein theoretisch auch versuchen über
- 40:01ein HTTP header in einem Header quasi da auch so was
- 40:05einzuschleusen, also du kannst es über so viele versuchen, also
- 40:08so viele sag mal Vektoren versuchen wo irgendwo.
- 40:15Wahrscheinlich irgendwas gelockt wird.
- 40:16Also du hast ja bestimmte, also bestimmte, du kannst ja
- 40:21erfahrungsgemäß sagen, okay, das wird wahrscheinlich gelockt und
- 40:25das wird wahrscheinlich gelockt und das wird wahrscheinlich
- 40:26gelockt und über diese Möglichkeiten, wo häufig
- 40:30irgendwelche Server Logs sozusagen stattfinden, an den
- 40:34entsprechenden Punkten, da wurde es natürlich versucht und da
- 40:37wurde natürlich versucht, genau dieser Code einzuschleusen, aber
- 40:39ich finde einfach, wenn man sich das noch mal, wenn man das noch
- 40:42mal wirklich sich vor Augen hält, dann.
- 40:45Finde ich das schon krass und dann nur weil ich das auch sehr
- 40:48beeindruckend fand, war, dass du ja auch relativ schnell in der
- 40:52Lage bist zu sagen, wenn du so einen Server kompromittiert
- 40:55hast, kannst du ja zum Beispiel ein Skript auf diesem Server
- 40:58installieren, der regelmäßig fragt, also ein Ping sozusagen
- 41:03macht und an deinen bösen Angriffsserver anfragt, ob es
- 41:08irgendwas auszuführen hat. Das heißt, du kannst rein
- 41:10theoretisch konntest in diesem Moment alle Server, die du
- 41:13kompromittiert hast dann. Regelmäßig mit einem Skript
- 41:17versorgen und sagen, für das aus, sekündlich und.
- 41:20Dann auch wieder Angriffe von eh schon eingenommenen Servern
- 41:25quasi ausführen. Genau das heißt im Endeffekt
- 41:27hast du, könntest du genau du könntest dann sozusagen schon
- 41:29fast ein Bot. Also eigentlich kannst du ein
- 41:31Botnetz damit aufbauen und das. Eigentlich noch mehr
- 41:35verschleiern halt, wo der eigentliche Angriff herkommt.
- 41:38Also das sind super Spannende. Themen kann man sich auch mal
- 41:42überlegen, ob wir da mal ne Podcast folge drüber machen über
- 41:44diese Strategien. Ansonsten würde ich sagen hat
- 41:48wieder Mega Spaß gemacht, super cooles Thema, wie gesagt noch
- 41:51nicht lange her, vielen Dank dafür.
- 41:53Fabi ebenso. So so.
- 41:58Und ja, liebe, zuhören, Liebe zuhören.
- 42:00Falls du Fragen zu dem Thema hast oder dir vielleicht etwas
- 42:03nicht ganz klar geworden ist dabei, das ist gar kein Problem,
- 42:06dann schreibt uns gerne, auch wenn du Feedback hast.
- 42:08Die Podcast Mail findest du in den Show Notes.
- 42:10Wir freuen uns über jede Nachricht und werden sie auch
- 42:14sehr, sehr gerne beantworten, falls Dir der Podcast gefallen
- 42:17hat und besonders die Folge, dann lass es doch auch deine
- 42:20Freunde wissen und empfiehlt den Podcast weiter, vielleicht so 23
- 42:23Leuten, das wäre super das auch gerne eine Bewertung da, das
- 42:26hilft uns enorm und. Schau auch gerne bei unseren
- 42:29anderen Plattformen vorbei oder auf unserem Discord Server.
- 42:32Die Links findest du wie immer in den Shownotes und ansonsten
- 42:34würde ich sagen, hören wir uns alle beim nächsten Mal wieder.
- 42:36Ich wünsche euch eine gute Zeit bis dahin ciao ciao deine
- 42:40Corning. Bodys gemeinsam am besten.