Klaus und seine magische Kiste: Warum Monolithen nicht die Antwort sind

Neulich erzählte mir mein Beifahrer von einem faszinierenden Geschäftspartner in der Mechatronik und Automatisierung. Dieser war seit Jahren in der Branche tätig und frustriert über die ständigen Anpassungen in komplexen Systemen. Jede kleine Änderung führte dazu, dass Kollegen monatelang das gesamte System umstellen mussten. Ein neuer SPS-Typ, der keinen GOTO-Befehl unterstützte? Problem. Ein spezieller Sensor, der nur RS-232, aber kein CAN konnte? Noch ein Problem. Also beschloss unser Held, das Problem ein für alle Mal zu lösen, indem er eine programmierbare „magische Kiste“ baute – ein Gerät mit allen möglichen Schnittstellen, das angeblich jedes Kompatibilitätsproblem beheben sollte. Ohne Code. Klingt toll, oder? Nun ja…

Als ich diese Geschichte hörte, musste ich schmunzeln. Ich unterbrach meinen Beifahrer und erklärte ihm, warum ich skeptisch war – anhand der berüchtigten All-in-One-Stereoanlagen aus den 1980er Jahren. Diese Geräte waren damals der letzte Schrei und versprachen alles in einem: CD-Player, Kassettendeck, Verstärker, Radio – und oft sogar einen Schallplattenspieler. Doch sie waren Monolithen, und das brachte erhebliche Nachteile mit sich:

  1. Monolithen und Modularität: Wenn das eingebaute Netzteil oder der Verstärker kaputtging, funktionierte gar nichts mehr. Weder der CD-Player noch die Kassettendecks – alles war tot.
  2. Bezahlte Überflüssigkeit: Selbst wenn man nur CDs abspielen wollte, zahlte man für Funktionen, die man nicht brauchte – wie ein zweites Kassettendeck oder den eingebauten Plattenspieler.
  3. Platzfresser: Diese Geräte waren riesig und belegten mehr Raum als nötig.
  4. Eingeschränkte Kompatibilität: Lautsprecher konnten manchmal ersetzt werden, aber nur, wenn sie über standardisierte Cinch-Buchsen angeschlossen waren. Wenn nicht, Pech gehabt.
  5. Qualitätskompromisse: Audiophile legten sich oft zwei Systeme zu, weil eines bessere Kassettenwiedergabe bot, während das andere bei CDs brillierte.

Und das alles in einer Ära ohne EU-Gewährleistung! Manche Hersteller boten stolz ein halbes Jahr Garantie, andere gerade mal zwei Monate.

Die Wende zur Modularität

Ende der 80er und Anfang der 90er lernten die Hersteller aus ihren Fehlern. Sie zerlegten ihre Monolithen in einzelne Module. Verbraucher konnten nun:

  1. Nur die Module kaufen, die sie tatsächlich benötigten.
  2. Komponenten verschiedener Hersteller kombinieren: ein Kassettendeck von Marke X, ein CD-Player von Marke Y und ein Verstärker von Marke Z – ideal, um die 1000-Gigawatt-Boxen fürs nächste Erdbeben mit Saft zu versorgen.

Die Lektion für die Software

Die Geschichte der Stereoanlagen zeigt, warum Modularität wichtig ist – eine Lektion, die auch in der Softwareentwicklung gilt. Die Frustration des Automatisierungs-Mechatronikers, der nach jeder kleinen Änderung das gesamte System anpassen musste, deutet auf ein grundlegendes Problem hin: Ad-hoc-Programmierung ohne durchdachte Software-System-Architektur.

Ein erfahrener Softwareentwickler (bzw. SW-Architekt) hätte sich sofort gefragt:

  1. Was, wenn Hersteller U nicht mehr existiert?
  2. Was, wenn Hersteller V das Produkt nicht mehr anbietet?
  3. Was, wenn Hersteller W die Lizenzbedingungen ändert?
  4. Was, wenn Hersteller X seine Treiber oder Schnittstellen ändert?
  5. Was, wenn Hersteller Y nur noch neue Modelle ohne vollständige Abwärtskompatibilität verkauft?
  6. Was, wenn Standard Z obsolet wird?

Die Liste ließe sich endlos fortsetzen. Ohne diese „Was-wäre-wenn„-Fragen läuft man Gefahr, eine digitale eierlegende Wollmilchsau zu bauen – eine magische Kiste, die zwar beeindruckend klingt, in der Praxis aber niemand will.

Niemand möchte von einem einzigen Hersteller abhängig sein, oder von einem einzigen Softwaresystem oder Produktmodell usw.

Niemand möchte mehr für Schnittstellen und wunderbare Features und Möglichkeiten bezahlen, die zwar mehr Raum und Speicher belegen und komplexer sind, diese aber nicht benötigt.

Der Unterschied zwischen Coder und Architekt

Hier kommt die entscheidende Lektion: Code zu schreiben ist nicht dasselbe wie Softwarearchitektur. Wer die Konzepte von Modularität, Komplexität und Abhängigkeiten nicht versteht, investiert vielleicht Jahre in einen Monolithen, der letztlich unbrauchbar ist.

Also, wenn Ihnen das nächste Mal jemand eine magische All-in-One-Lösung verspricht, denken Sie an die Stereoanlagen der 80er – und seien Sie skeptisch. Modularität mag weniger glamourös klingen, aber sie ist der Schlüssel zu langlebigen, flexiblen und wartbaren Systemen. Und das gilt für Hardware genauso wie für Software.

Gewidmet an P.M. (der Beifahrer)
Im nächsten Artikel erkläre ich dir, wie manche mit Buzz-Words wie „Low Code“ und „No Code“ viel Geld für das Blaue vom Himmel und sonstige Versprechungen (Blabla) verlangen und reich werden, während ihre Kunden doppelt und dreifach draufzahlen.

Industrie, Automatisierung & Malware: aktuelles Beispiel

Sicherheit in der Industrie: Warum viele noch immer blind über die Minenfelder spazieren

Trotz zahlreicher Berichte über IT-Einbrüche, die Entwendung sensibler Kunden- und Geschäftsdaten sowie die Verschlüsselung ganzer Festplatten durch Erpressungstrojaner (Ransomware), die erst nach Zahlung horrender Summen in Kryptowährungen wie Bitcoin entschlüsselt werden, bleibt eines konstant: Es gibt erschreckend viele Entwickler und Techniker, insbesondere in der Industrie und Automatisierung, die Sicherheitsaspekte entweder vollständig ignorieren oder ihnen bestenfalls stiefmütterlich begegnen.

Ein persönliches Beispiel illustriert diese alarmierende Realität:

Am 21. November 2024 bemerkte ich bei einer heruntergeladenen Software, dass die angegebene Prüfsumme – auch Hash genannt – nicht mit der meines Downloads übereinstimmte. Eine solche Diskrepanz deutet darauf hin, dass die Datei entweder manipuliert, mit Schadsoftware infiziert oder während des Downloads beschädigt wurde. In diesem Fall handelte es sich um eine ausführbare Installationsdatei (*.exe), die somit potenziell gefährlich für mein System war.

Für diejenigen, die mit Prüfsummen oder Hashes nicht vertraut sind: Diese dienen als eine Art „digitaler Fingerabdruck“ einer Datei. Selbst wenn nur ein einziges Bit innerhalb der Datei verändert wird, ändert sich auch die Prüfsumme. Seriöse Softwareanbieter stellen auf ihren Webseiten sowohl die Dateien als auch deren zugehörige Prüfsummen bereit, damit Nutzer die Integrität der Datei nach dem Download mit einem Tool überprüfen können. Stimmen die Werte überein, gilt die Datei als unverändert und sicher. Weichen die Werte jedoch ab, sollte die Datei keinesfalls ausgeführt, sondern sofort gelöscht oder zumindest mit einem Virenscanner geprüft werden.

Nach Feststellung des Fehlers wandte ich mich an das Forum der Open-Source-Software „Open PLC“, um die Community auf die falsche Prüfsumme hinzuweisen. Der zuständige Entwickler reagierte prompt und erklärte, er habe vermutlich vergessen, die Prüfsumme nach dem Upload zu aktualisieren. Er versprach, dies nachzuholen und die Webseite entsprechend zu korrigieren.

Doch heute, am 26. Dezember 2024 – über einen Monat später –, ist die Situation unverändert.
Die falsche Prüfsumme ist weiterhin online. Ein erneuter Download des Windows-Installers und die Berechnung der SHA1-Prüfsumme (einem mittlerweile veralteten und als unsicher geltenden Verfahren) ergaben den Wert: „5da05b890b2a6e3114b017ecfcd69a7a27744d32“.

Das wirft mehrere brisante Fragen auf:

  1. Wie oft wurde der fehlerhafte Installer seit dem 21. November heruntergeladen?
  2. In welchen Projekten oder Produktionssystemen wurde er möglicherweise eingesetzt?
  3. Handelt es sich tatsächlich nur um ein Versehen, oder gibt es Anzeichen für eine Manipulation durch Schadsoftware?

Fazit: „TO A MORE OPEN INSECURE FUTURE“


Die fehlende Sorgfalt im Umgang mit Sicherheitsaspekten zeigt, dass diese Software keinesfalls für professionelle Einsatzgebiete geeignet ist. Solange Entwickler Software ohne Sicherheitsüberprüfung verbreiten und Anwender sie ohne Rücksicht auf potenzielle Risiken einsetzen, bleibt die wachsende Zahl von Sicherheitsvorfällen – von ruinierten Unternehmen bis hin zu gestohlenen Kundendaten – eine unaufhaltsame Konsequenz (Stuxnet 2010, Wannacry 2017, NotPetya 2017, SolarWinds Hack 2020, uvm.).

Wünsche euch allen einen guten Rutsch ins neues Jahr