{"id":8090,"date":"2021-12-15T21:35:04","date_gmt":"2021-12-15T19:35:04","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=8090"},"modified":"2022-12-12T18:23:35","modified_gmt":"2022-12-12T16:23:35","slug":"log4shell-schwere-sicherheitsluecke-in-log4j-einfach-fuer-nicht-itler-erklaert","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/log4shell-schwere-sicherheitsluecke-in-log4j-einfach-fuer-nicht-itler-erklaert\/","title":{"rendered":"&#8222;Log4Shell&#8220;\/&#8220;Log4Bash&#8220;: Schwere Sicherheitsl\u00fccke in log4j einfach f\u00fcr Nicht-ITler erkl\u00e4rt"},"content":{"rendered":"<p>Log4Shell ist mittlerweile in aller Munde. Sehr zur Verwunderung jener, die sich nicht so sehr mit IT und Technik auskennen. Euch m\u00f6chte ich das heute so einfach wie m\u00f6glich erkl\u00e4ren. <\/p>\n<p><a href=\"https:\/\/u-labs.de\/portal\/schwere-sicherheitsluecke-log4bash-in-log4j-erklaert-zahlreiche-java-anwendungen-betroffen-u-a-minecraft-apple-twitter-tesla-steam-amazon-und-mehr\/\" title=\"Schwere Sicherheitsl\u00fccke \u201eLog4Bash\u201c in Log4j erkl\u00e4rt: Zahlreiche Java-Anwendungen betroffen, u.a. Minecraft, Apple, Twitter, Tesla, Steam, Amazon und mehr\">Die technische Seite hat Daniel bereits in einem Beitrag erl\u00e4utert<\/a>. Wer sich daf\u00fcr interessiert, kann dort weiter lesen. Mein Name ist Luis, ich bin auf U-Labs unter dem Pseudonym &#8222;Hase&#8220; aktiv und m\u00f6chte euch zusammen mit Dani die Log4j Sicherheitsl\u00fccke  so erkl\u00e4ren, dass ihr sie auch dann versteht, wenn ihr euch nicht so sehr mit Technik und Programmieren auskennt.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Log4Shell: SICHERHEITSL\u00dcCKE in Log4j einfach f\u00fcr Nicht-ITler erkl\u00e4rt - so gef\u00e4hrlich ist LOG4SHELL\" width=\"650\" height=\"366\" src=\"https:\/\/www.youtube.com\/embed\/pkQPHyE4zaQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div>\n<\/figure>\n<h2 class=\"wp-block-heading\">Was ist Log4j? Einfache Erkl\u00e4rung f\u00fcr Nicht-Entwickler<\/h2>\n<p>Log4j ist eine Bibliothek f\u00fcr Java, eine g\u00e4ngige Programmiersprache. Eine Bibliothek enth\u00e4lt Teilfunktionen eines Programms und kann in mehreren Programmen genutzt werden. Es ist daher \u00fcblich, bestimmte Funktionen in eine Bibliothek zu packen und anderen zur Verf\u00fcgung zu stellen. Bei quelloffenen Programmen ist das sogar \u00fcblich: Hier stellen Programmierer den gesamten Code zur freien Verf\u00fcgung, damit jeder ihn nutzen kann und sich so Arbeit spart.<\/p>\n<p>Ein Beispiel: <strong>Chart.js <\/strong>ist eine Bibliothek f\u00fcr verschiedene Diagramme. Statt mich zu besch\u00e4ftigen wie ich ein Balkendiagramm oder ein Liniendiagramm zeichne, kann ich diese Bibliothek nutzen. Ihr \u00fcbergebe ich meine Daten und wie diese als Diagramm dargestellt werden, darum k\u00fcmmert sich die Bibliothek. \u00c4hnlich ist es mit Log4j: Diese Bibliothek ist f\u00fcr Protokolle gedacht. <\/p>\n<p>Vor allem auf Servern schreiben Programme verschiedene Informationen in sogenannte Logdateien. Oft sind es Fehler oder Hinweise auf Fehler. So ist der Administrator informiert und bekommt im besten Falle m\u00f6glichst viele Informationen, um das Problem l\u00f6sen zu k\u00f6nnen. Auch hier ein Beispiel: Ihr habt eine Registrierungsseite. Wenn die Registrierung fehlschl\u00e4gt, k\u00f6nnte Log4j Informationen in das Protokoll schreiben, wie etwa der verwendete Internetbrowser, welche Daten ihr angegeben habt und weitere Details.<\/p>\n<h2 class=\"wp-block-heading\">Was ist die Sicherheitsl\u00fccke Log4Shell?<\/h2>\n<p>Ein Fehler erm\u00f6glicht es, dass man \u00fcber das Internet b\u00f6sartigen Programmcode ausf\u00fchren kann. Das funktioniert so: Daten die von Au\u00dfen kommen, werden mithilfe von Log4j in eine Protokolldatei geschrieben. Beispielsweise eine Meldung, dass sich Nutzer XY angemeldet oder Registriert hat. Oder Informationen \u00fcber einen Fehler. Oft sind solche Informationen von au\u00dfen hilfreich, um die Meldung besser zu verstehen oder \u00fcberhaupt nachvollziehen zu k\u00f6nnen. Solche Daten k\u00f6nnen aber leicht manipuliert werden, weswegen sie normalerweise immer auf b\u00f6se Befehle gepr\u00fcft werden m\u00fcssen.<\/p>\n<p>Und genau in dieser Pr\u00fcfung befindet sich ein Fehler: Man kann vereinfacht gesagt mithilfe eines Dollar-Zeichens verschiedene Programmcodes ausf\u00fchren, wenn sie mithilfe von Log4j in ein Protokoll geschrieben werden. Da heutige Anwendungen vieles protokollieren, ist das leicht.<\/p>\n<p>Sicherheitsl\u00fccken erhalten heutzutage Namen, \u00e4hnlich wie Unwetter und andere Katastrophen. Diese hier wurde Lock4Shell genannt. Eine Shell ist vereinfacht gesagt eine Konsole, \u00fcber die man mit Textbefehlen einen kompletten Computer oder Server steuern kann. Da ein Angreifer \u00fcber diese L\u00fccke beliebig Programmcode einschleusen kann, ist es auch m\u00f6glich, eine Shell zu starten. Damit hat er nicht nur Zugriff auf das Programm, sondern auch auf den Server oder Computer, auf dem es l\u00e4uft. Zumindest, wenn dieser nicht zus\u00e4tzlich gesch\u00fctzt wurde, was leider oft der Fall ist.<\/p>\n<h2 class=\"wp-block-heading\">Sicherheitsl\u00fccken gibt es doch immer wieder, warum ist Log4j so gef\u00e4hrlich?<\/h2>\n<p>Hier kommen mehrere ung\u00fcnstige Aspekte zusammen:<\/p>\n<ol class=\"wp-block-list\">\n<li>Da viele Daten die von au\u00dfen \u00fcber das Internet in das Programm kommen mit Log4j aufgezeichnet werden, ist es f\u00fcr Angreifer sehr einfach, diese auszunutzen.<\/li>\n<li>Die L\u00fccke ist schwerwiegend. Man kann damit beliebigen Java-Programmcode in fremde Programme einf\u00fcgen. Das ist so ziemlich die schlimmste Art von Sicherheitsl\u00fccke, die es geben kann.<\/li>\n<li>Java und Log4j gibt es seit Jahren, sie erfreuen sich gro\u00dfer Beliebtheit. Daher ist diese Kombination sehr verbreitet.<\/li>\n<li>Viele Entwickler und vor allem Unternehmen aktualisieren Ihre Programme nur z\u00f6gerlich oder gar nicht. <\/li>\n<\/ol>\n<p>Man kann sich das in etwa so vorstellen: Zwei Forscher entwickeln in Ihrer Freizeit einen neuen, besseren Zement und ver\u00f6ffentlichen alle Informationen dazu, sodass jeder diesen Zement herstellen kann. Zahlreiche Unternehmen finden gefallen daran und bauen damit verschiedene Geb\u00e4ude &#8211; ohne zu pr\u00fcfen, ob dieser Zement von der Statik her tauglich ist. <\/p>\n<p>Einige Jahre sp\u00e4ter sind zahlreiche gro\u00dfe Geb\u00e4ude entstanden und in regem Betrieb, \u00fcberall wurde dieser Zement verwendet. Nun ist dieser Zement aber nicht ausreichend stabil, die Geb\u00e4ude beginnen einzust\u00fcrzen. In dieser Phase befinden wir uns mit der Log4Shell L\u00fccke: Wir wissen nun, dass der Zement instabil ist. Erste Geb\u00e4ude sind bereits eingest\u00fcrzt. Deswegen wird nun gepr\u00fcft, wo \u00fcberall dieser Zement verwendet wird, damit man diese Geb\u00e4ude absichern kann.<\/p>\n<h2 class=\"wp-block-heading\">Was kann durch einen Angriff geschehen?<\/h2>\n<p>Bisher scheinen die meisten Angriffe sich auf sogenannte Cryptominer zu beschr\u00e4nken: Sie nutzen die Leistung des Systems, um Mathematische Berechnungen durchzuf\u00fchren. Dadurch bekommen sie Cryptow\u00e4hrungen, die man gegen Fiatgeld eintauschen kann. <\/p>\n<p>Vergleichsweise harmlos, denn ein erfolgreicher Angreifer kann mindestens die volle Kontrolle \u00fcber die jeweilige Seite oder den Internetdienst bekommen. Das hei\u00dft: Er kann z.B. auf Daten zugreifen, diese Manipulieren oder das System manipulieren. Gerade bei gro\u00dfen Diensten kann das lukrativ sein, wenn diese sensible Informationen oder Zahlungsdaten enthalten.<\/p>\n<h2 class=\"wp-block-heading\">Bin ich als Privatperson betroffen? Was kann bzw. sollte ich tun?<\/h2>\n<p>Haupts\u00e4chlich sind Unternehmen betroffen sowie Privatpersonen, die Java-Programme betreiben. Wer beispielsweise einen Minecraft-Server hat, der ist \u00fcber den Chat verwundbar: Jeder der Zugriff auf den Chat hat, kann dort mit bestimmten Befehlen vollen Zugriff erhalten. Wer solche Dienste nicht selbst betreibt, kann derzeit wenig tun &#8211; er ist davon abh\u00e4ngig, dass Unternehmen die er verwendet die L\u00fccke beheben. Netflix hat dies beispielsweise schon sehr zeitig getan.<\/p>\n<p>Aber auch wer keine IT-Dienste betreibt, kann betroffen sein: Beispielsweise \u00fcber Ger\u00e4te. In einigen smarten Ger\u00e4ten des &#8222;Internets der Dinge&#8220; wird Java ebenfalls genutzt. Diese Ger\u00e4te k\u00f6nnen infiziert und f\u00fcr Angriffe missbraucht werden. Hier gilt: Nach Aktualisierungen Ausschau halten und diese so schnell wie m\u00f6glich einspielen. Bei Ger\u00e4ten die \u00c4lter sind oder keine Updates mehr erhalten, sollte man den Hersteller kontaktieren. Im Zweifel diese Ger\u00e4te vom Internet trennen, bis Gewissheit herrscht, dass diese nicht verwundbar sind.<\/p>\n<p>Leider ist gerade in diesem Bereich die Lage schlecht: In einer Studie mit rund 340 untersuchten IOT-Firmen haben fast 80% unzureichend oder sogar gar nicht auf gemeldete Sicherheitsm\u00e4ngel reagiert. Bei so einer Sicherheitslage kann man als Kunde im schlechtesten Falle tats\u00e4chlich nur die Ger\u00e4te vom Netz nehmen und beim Hersteller Druck machen.<\/p>\n<p>Weniger dramatisch sieht es bei klassischen Ger\u00e4ten wie Computern, Laptops oder Smartphones aus. Selbst wenn diese betroffen sind, kommt ein Angreifer in der Regel nicht einfach so \u00fcbers Internet an die Ger\u00e4te heran.<\/p>\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n<p>Ich hoffe, euch damit die aktuellen Probleme rund um die Log4j Sicherheitsl\u00fccke verst\u00e4ndlich erkl\u00e4rt zu haben, auch wenn ihr nicht aus dem IT-Bereich kommt. Falls mir das gelungen ist, gebt gerne einen Daumen nach oben. Hat euch etwas gefehlt oder ihr habt anderes Feedback? Dann schreibt es zu uns ins Forum auf u-labs.de oder in die Kommentare!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Log4Shell ist mittlerweile in aller Munde. Sehr zur Verwunderung jener, die sich nicht so sehr mit IT und Technik auskennen. Euch m\u00f6chte ich das heute so einfach wie m\u00f6glich erkl\u00e4ren. Die technische Seite hat Daniel bereits in einem Beitrag erl\u00e4utert. Wer sich daf\u00fcr interessiert, kann dort weiter lesen. Mein Name ist Luis, ich bin auf &#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[87,998,60],"class_list":["post-8090","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-java","tag-log4j","tag-sicherheitsluecke"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=8090"}],"version-history":[{"count":17,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8090\/revisions"}],"predecessor-version":[{"id":9804,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8090\/revisions\/9804"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=8090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=8090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=8090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}