Der JTL-Servicepartner Modern Solution GmbH & Co KG ist erneut einem schweren Datenleck ausgesetzt. Die neue Version der Anwendung moso.connect, welche das ursprüngliche Datenloch schließen sollte, ist ebenfalls durchlässig. Aktuellste Händlerdaten, Endkundendaten, personenbezogene Daten inklusive Bankdaten und Transaktionsdaten sind einsehbar. UND: Daten sind außerhalb des Unternehmens in die Hände Unbefugter gelangt. Seit heute Nacht ist der Server ausgefallen und die Anwendung moso.connect nicht live.

Datensatz von gestern. Hier vom Marktplatz tyre24.de

Datensatz von gestern. Hier vom Marktplatz tyre24.de. Bankdaten sind einsehbar.

Betroffen sind erneut die Händler, Endkunden- und Transaktionsdaten der Marktplätze wie z. B. otto.de, tyre24.de, kaufland.de, check24.de oder Mirakle. Seit Donnerstag, 24. Juni, wurde durch den JTL-Partner eine neue Version namens moso.connect ausgerollt. Modern Solution GmbH & Co KG versprach seinen Partnern, das Datenleck sei mit der neuen Version geschlossen. Dem ist nicht so!

Was bedeutet das für betroffene Händler und Partner?

Händlern ist angeraten, unverzüglich ihren Datenschutzbeauftragten zu informieren und einen Rechtsbeistand zu kontaktieren, um zu prüfen, wie mit dem neuen Vorfall umzugehen ist. Jeder Händler sollte die zukünftige Nutzung der Anwendung moso.connect kritisch prüfen. Auch JTL und die Marktplatzpartner sollten ihre Zusammenarbeit mit der Modern Solution GmbH & Co KG erneut auf den Prüfstand stellen.

Zugriff mit Zeitstempel

Zugriff mit Zeitstempel

Es ist zu erwarten, dass die Schnittstelle über das Wochenende erneut ausfällt, damit keine Daten an die Händler übermittelt werden können. Allerdings bedeutet das wohl auch, dass somit gar keine Daten bei den Plattformen abgeholt werden können. Einige Marktplätze schlossen die API-Zugänge der Händler.

Der Schnittstellenanbieter Marcos Software hat über das Wochenende Ressourcen für Händler bereitgestellt, wenn sie auf die von ihm angebotene Schnittstelle Unicorn2 wechseln möchten. Das Unternehmen verzichtet auf die sonst übliche Umzugs- und Einrichtungsgebühr in Höhe von 200 €. Weitere Lösungsanbieter sind z. B. auch Magnalister oder Synesty.

Am gestrigen Abend informierte Modern Solution seine Händler wie folgt:

Information der Modern Solution vom 25. Juni

Information der Modern Solution vom 25. Juni

Die Kommunikation ist für einen durchschnittlichen Händler kaum verständlich. Insbesondere wird keine klare Handlungsempfehlung geliefert. Aus dem Text ist herauszulesen, dass die Händler den ersten Datenvorfall bis heute an ihre zuständige Datenschutzbehörde zu melden haben.

Technische Beschreibung für Versierte

Der Quellcode der ›moso.connect‹-Anwendung wurde kaum angepasst. Das Passwort wird immer noch im Klartext angezeigt. Auf dem ›aufgeräumten‹ Server sind einige Modern-Solution-spezifische Datenbanken ›verschwunden‹. An der grundsätzlichen Struktur der Händlerdatenbank und der Datenübertragung hat sich nichts geändert. Diese war auf unverändertem Weg erneut einseh- und kopierbar.

Etwas sarkastisch und mit Galgenhumor liefert der Sicherheitsexperte seine technische Sichtweise:

Die neue Version von moso.connect ist sicher. Oder?

Als ich die neue EXE samt Abhängigkeiten erhalten habe, freute ich mich zunächst. Immerhin hat es MoSo geschafft, innerhalb weniger Tage eine vermeintlich sichere Version zu erstellen. Und nicht nur das. Jetzt ist auch eine Zertifikats-Datei im Lieferumfang enthalten. “Zertifikat” klingt erstmal sicher für den allgemeinen Nutzer. Da passiert was mit Kryptographie und ordentlicher Verschlüsselung! Oder etwa doch nicht? (Screenshot 43)

MySQL-Verbindung wird weiterhin aufgebaut

Ich habe also mir erstmal die EXE geschnappt und hinter einer Testumgebung gestartet. Ergebnis war, dass immer noch eine Verbindung zu einer MySQL-Datenbank aufgebaut wird. Mir erschlich sich an der Stelle ein böser Verdacht. Mit einer Vorahnung, aber immer noch guten Hoffnungen schaute ich mir die Programm-Dateien einmal an.

Aber die EXE ist jetzt sicher. Oder?

Hier folgt ein Teil, den man als Deep-Dive in die Deobfuskierung bezeichnen könnte, technisches Blabla oder: Warum Obfuskieren Schwachsinn ist. Wer obfuskiert, hat was zu verbergen. Eventuell schlechten Coding-Stil, gibt es vielleicht noch mehr Schwachstellen? Fragen über Fragen…

Den Decompiler meiner Wahl gestartet und was musste ich da sehen? Auf einmal war die EXE-Datei obfuskiert, also verschleiert oder einfacher: nicht lesbar, Grütze (Screenshot 38). Das hält den einfachen Pöbel vom Lesen der Datei ab, aber nicht mich, als “ethischen Hacker”! Ein paar Funktionen ließen sich auch gar nicht mehr rekonstruieren. Also habe ich direkt mal geschaut, was da so alles werkelt und gesehen, es werden Module während der Laufzeit erzeugt. Zu technisch? Na gut, der Computer bastelt in etwa das Programm während der Laufzeit zusammen. Das erklärt auf jeden Fall, warum Funktionen fehlten. Die waren noch nicht da.

Das Modul konnte ich mir einfach als neue EXE-Datei in meinem Decompiler anzeigen lassen, ein paar Module ausgebaut, die das ganze “schützen” sollen, und voilà, alle Funktionen sind dekompiliert und “lesbar” (Screenshot 39). Man verwendet an der Stelle while-switch Schleifen, die das Ganze noch viel unleserlicher machen, als der ursprüngliche Code schon war. Zwinkersmiley. Auch die Benennung war grausam zerpflückt. Funktionen, Variablen usw. hatten Namen, die sich keinesfalls lesen lassen.

Jetzt kam Code-Analyse ins Spiel. Kurz und knapp, ich musste einfach den Code etwas aufräumen, um ihn etwas weniger schwer lesbar zu machen.

Bis hierhin habe ich 20 Minuten gebraucht. Das Einbauen der Obfuskierung war also eher weniger wirksam.

Analyse der EXE-Datei

Als nächstes habe ich mir den Quellcode der EXE-Datei zu Gemüte geführt. Hier hat sich nichts verändert, bis aus die Zugangsdaten (Screenshot 40). Das Kennwort wird in meinem Fall noch von einer Funktion zusammengebaut, aber das ist eine Hürde von wenigen Sekunden. Keine Kryptographie oder ähnliches, auch Klartext genannt. (Screenshot 41)

Aber da war doch das Zertifikat!

Ja, was soll ich dazu sagen? Das Zertifikat wird beim Aufbauen der Verbindung mit dem MySQL-Server mitgesendet (Screenshot 44). Das ist der öffentliche Teil einer asymmetrischen TLS-Verschlüsselung. Im Klartext, die client.pfx ist der öffentliche Teil, auf dem Server liegt der private Teil. Sollte der Server nicht den privaten Teil haben, kann dieser die Nachrichten vom Client nicht verwerten.

So wird sichergestellt, dass der Server am anderen Ende auch der richtige ist. Netter Nebeneffekt und vermutlich auch der angestrebte ist, dass die Verbindung zwischen Client und Server somit verschlüsselt ist. Ob das für Kunden bei MoSo auf den Servern notwendig kann ich nicht sagen. Normalerweise fließt solcher Verkehr nicht über das Internet, sondern über ein internes Netz. Aber ist definitiv nice to have.

Der MySQL-Server ist doch sicher vor externen Zugriffen nun geschützt!

Das war meine letzte Hoffnung. Irgendwas müssen die doch auf die Kette kriegen. Ich, voll entschlossen, schnell einen externen Server gestartet, das MySQL-CLI geöffnet und siehe da. Ich bin drin, inkl. Einsicht in aktuelle Daten aller Kunden.

Beim Testen größerer Datensätze stürzt jedoch der Datenbankserver ab (Screenshot 42). Das ist wohl das “neue Sicherheitskonzept”. Sehr effizient, nicht? (Screenshot 45)

Fazit: Modern Problems require Modern Solution.

Humor ist die beste Stressbewältigung. Ich kann sowohl die MoSo als auch das Thema nicht mehr ernst nehmen. Was hier geliefert wurde, ist Teil 2 der Reihe ›Beleidigung aller ›guten‹ Programmierer oder IT-Spezis‹.

Information vom JTL-Servicepartner Modern Solution GmbH & Co KG

Aktuelle Information von JTL Partner Modern Solution

Aktuelle Information von JTL Software Partner Modern Solution | Stand 26. Juni 9:00 Uhr

Diesmal erfolgte eine zeitnähere Information an die Kunden. Der Datenschutzvorfall ereignete sich am gestrigen Abend gegen 23:00 Uhr. Das ›Update‹ zur Datenschutzverletzung wurde heute gegen 9:00 Uhr an die Kunden versendet. Leider versäumt der JTL-Partner, die Kunden über den Umfang der Verletzung zu informieren. Er scheint das Leck noch nicht erfasst zu haben.

Kommentar

Nicht sprachlos aber doch mir gegen die Stirn klatschend. Das ist echt kaum in Worte zu fassen. Liebe JTL Software GmbH, liebe Modern Solution GmbH & Co KG, liebe Marktplätze und Dienstleister, mal ein paar kleine aufgekommene Fragen:

  • Warum durfte eine so unsichere Anwendung ausgerollt werden?
  • Warum sind den Händlern keine Auftragsdatenverarbeitungsverträge angeboten worden?
  • Warum hat JTL diese Anwendung ohne Prüfung beworben?
  • Warum setzte JTL und die Marktplätze die Händler solchen Risiken aus?
  • Warum haben JTL-Dienstleister, die die ›moso.connect‹-Systeme betreuen, die Anwendung nicht geprüft?
  • Warum gestatteten Marktplätze den unkontrollierten Zugriff und vor allem die unkontrollierte und unverschlüsselte Speicherung der Daten?
  • Warum werden die Händler verunsichert?

Ich hätte da noch viel mehr Fragen, die gestellt werden müssten. Die Rollen von JTL als ERP- und Wawi-Anbieter und der angeschlossenen Marktplätze muss dringend untersucht werden! Aber von außen. Selbst kriegt man das wohl nicht hin!

Bisherige Berichterstattung:

Modern Solution Datenleck: ALLE Plattform-Endkundendaten einsehbar

Falsche Anzeige einer Datenschutzverletzung durch Modern Solution GmbH & Co. KG

Warnung: Datenleck beim JTL-Partner Modern Solution GmbH & Co. KG