December 03, 2024

Should software be updated?

Before this controversial question gets answered let us take a step back and describe the situation from a general perspective. Software development is usually done in the upstream which is technically realized as a git repository. Multiple software developers are commiting changes to the repository frequently. They are solving bugs, clean up the code and introducing new features. Its not possible to reinvent this workflow because the described combination of programmers who are submitting updates to the git repository is the industry standard.

The only open debate is about how frequently the upstream source code gets converted into binary production ready executable code. This question remains unsolved and its the major cause why so many Linux distributions are available. The first distribution in the ecosystem, Gentoo Linux, assumes, that the end user has a need to compile the code by itself, because his needs are individual. The second distribution, Arch Linux, assumes that the user likes to update the software multiple times per week because this will make the system stable. The third distribution, Debian Linux, assumes that the end user runs a production server which is updated once a month and only security updates are desired.
The simple question is: which strategy is recommended? Nobody knows, and because of this unclear situation lots of opposite Linux distributions and Linux users are available. In general there are two conflicting opinions: rolling release vs. stable release. Rolling release means to increase the update frequency. In the maximum case this is equal to install every day new versions of the packages. The opposite ideology, stable release, means in the extrem case to run an oldoldstable Debian system which wasn't updated since months and some major security updates were skipped because of individual reasons.
Even computer scientists are assuming that the world can be described with Yes and no, True and false, its pretty difficult to answer which of the update strategies is more secure and more recommended. What we can say instead is, that in the reality, the stable release principle is applied in the reality more frequently. Most production servers in the internet are running with a stable release Linux distribution but not with a rolling release system like Archlinux or Debian SID.
To understand the conflict we have to describe how an upstream release gets delivered to a downstream software package. Suppose on day 1 a new version of a software gets installed for the first time on a computer. On this single day 1 the upstream and the downstream is synced perfectly. Both layers are running the same software. A few days later, the git repository in the upstream was modified because of different reasons. And one month later, the upstream git repository was improved drastically because the developers have modified the code. Unfortunately, the code on the downstream layer wasn't affected so the layers are running out of sync. The version in the upstream might be v1.05 but the version in the downstream remains v1.00.
Even without doing something, the out of sync situation will become serious over the time axes. After 12 months, the downstream will run still v1.0 but the upstream has improved the code towards v2.0. This will generate a conflict between the parties. The upstream argues, that the downstream is in charge to update to the new version, but the downstream has no reason for doing so and argues, that he can't update because its a production server with no downtime window.
Resolving the conflict isn't easy. In most cases, the downstream will take a decision. He can update the system in a certain frequency, for example, each month, each year or never. Its not clear what the optimal frequency is and most computers are updated in a different interval. The only thing which is for sure is, that a longer duration between two updates increase the out of sync situation between upstream and downstream.

December 02, 2024

Sind regelmäßige Softwareupdates sinnvoll?

 Moderator: "Herzlich willkommen zu unserer heutigen Diskussion über Software-Updates. Wir haben heute zwei Experten bei uns, die zwei sehr unterschiedliche Meinungen zu diesem Thema vertreten. Auf der einen Seite haben wir Klaus, einen erfahrenen Sicherheitsexperten, der die Notwendigkeit regelmäßiger Updates betont. Auf der anderen Seite ist Tim bei uns, ein Verfechter der 'Never touch a running system'-Philosophie. Beide werden uns ihre Sichtweise auf das Thema näherbringen.

Klaus, beginnen wir mit Ihnen. Warum sind Ihrer Meinung nach regelmäßige Software-Updates so wichtig?"

Klaus: "Vielen Dank für die Einladung. Software-Updates sind in der heutigen digitalen Welt von entscheidender Bedeutung. Stellen Sie sich vor, Ihr Haus hätte ständig offene Türen und Fenster. Ein Einbruch wäre nur eine Frage der Zeit. Genauso verhält es sich mit Software ohne aktuelle Sicherheitsupdates. Cyberkriminelle suchen ständig nach Schwachstellen, um in Systeme einzudringen, Daten zu stehlen oder sogar Unternehmen lahmzulegen. Durch regelmäßige Updates schließen wir diese Sicherheitslücken und machen es Angreifern deutlich schwerer, erfolgreich zu sein."

Moderator: "Das klingt nach einem starken Argument. Tim, können Sie das entkräften? Warum sind Sie der Meinung, dass Updates eher eine Gefahr als ein Nutzen darstellen?"

Gegner von Updates: "Ich verstehe die Sicherheitsbedenken, aber ich glaube, dass die Risiken von Updates oft unterschätzt werden. Jedes Update birgt die Gefahr, dass neue Fehler eingeführt werden, die das System instabil machen oder sogar zum Absturz führen können. Außerdem sind nicht alle Updates wirklich notwendig. Viele enthalten nur kleine Verbesserungen oder neue Funktionen, die für den durchschnittlichen Nutzer keinen Mehrwert bieten. Ich bevorzuge es, ein System zu haben, das zuverlässig funktioniert, anstatt ständig mit neuen Updates experimentieren zu müssen."

Penetration Tester: "Das ist ein weit verbreiteter Irrglaube. Die meisten modernen Updates sind sehr gut getestet und haben nur einen minimalen Einfluss auf die Systemstabilität. Außerdem sind viele dieser 'kleinen Verbesserungen' entscheidend für die Sicherheit des Systems. Nehmen wir zum Beispiel die jüngsten Ransomware-Angriffe. Viele dieser Angriffe nutzen bekannte Schwachstellen aus, die durch einfache Updates hätten geschlossen werden können."

Gegner von Updates: "Aber was ist mit den Fällen, in denen Updates tatsächlich zu Problemen führen? Ich habe selbst erlebt, wie ein wichtiges Programm nach einem Update nicht mehr funktionierte. Das kann für Unternehmen verheerende Folgen haben."

Moderator: "Das ist ein wichtiger Punkt. Es gibt sicherlich Fälle, in denen Updates zu Problemen führen können. Aber ist das Risiko nicht geringer, als das Risiko eines erfolgreichen Cyberangriffs?"

*Penetration Tester: "Absolut. Das Risiko, dass ein System durch veraltete Software kompromittiert wird, ist weitaus höher als das Risiko, dass ein Update zu Problemen führt. Außerdem gibt es Möglichkeiten, das Risiko von Update-Problemen zu minimieren, zum Beispiel durch das Erstellen von Backups oder das Testen von Updates in einer isolierten Umgebung."

Gegner von Updates: "Trotzdem bleibe ich dabei, dass ein funktionierendes System nicht ständig angefasst werden sollte. Wenn es nicht kaputt ist, dann repariere es nicht."

Moderator: "Vielen Dank für Ihre Ausführungen, beide. Wir werden dieses Thema gleich noch weiter vertiefen und auch auf die persönlichen Erfahrungen eingehen, die Sie mit Software-Updates gemacht haben."

----

Moderator: "Vielen Dank für diese klare Darstellung der beiden Seiten. Lassen Sie uns nun etwas persönlicher werden. Klaus, können Sie uns von einem konkreten Fall erzählen, bei dem ein Unternehmen aufgrund veralteter Software einen schweren Cyberangriff erlitten hat?"

Penetration Tester: "Natürlich. Ich erinnere mich noch sehr gut an einen Kunden, ein mittelständisches Unternehmen aus der Fertigungsindustrie. Sie hatten eine extrem veraltete Industriesteuerung im Einsatz, die seit Jahren nicht mehr gepatcht wurde. Ein Cyberangriff legte die gesamte Produktion still. Das Unternehmen musste mehrere Wochen lang schließen und erlitt einen immensen finanziellen Schaden. Die Mitarbeiter waren entlassen, die Kunden verärgert und der Ruf des Unternehmens nachhaltig beschädigt. Das war ein dramatischer Fall, der zeigt, welche verheerenden Folgen veraltete Software haben kann."

Moderator: "Tim, Sie haben ja bereits erwähnt, dass Sie negative Erfahrungen mit Updates gemacht haben. Können Sie uns von einem solchen Fall berichten?"

Gegner von Updates: "Ja, das kann ich. Ich hatte einmal ein sehr stabiles Betriebssystem, das seit Jahren problemlos lief. Dann kam ein großes Update, das versprach, viele neue Funktionen zu bieten. Nach der Installation waren plötzlich viele Programme nicht mehr kompatibel, und das System wurde extrem langsam. Ich habe mehrere Tage damit verbracht, das Problem zu beheben, und konnte in dieser Zeit kaum arbeiten. Solche Erfahrungen machen einen sehr skeptisch gegenüber neuen Updates."

Moderator: "Das sind eindrückliche Beispiele, die die beiden Seiten dieser Medaille sehr gut verdeutlichen. Klaus, wie kann man denn Unternehmen dazu bewegen, die Bedeutung von regelmäßigen Updates ernster zu nehmen?"

Penetration Tester: "Das ist eine komplexe Frage. Es bedarf einer Kombination aus Aufklärung, Beratung und gesetzlichen Vorschriften. Unternehmen müssen verstehen, dass Cyberangriffe keine theoretische Gefahr mehr sind, sondern eine alltägliche Realität. Zudem müssen sie die Kosten eines Cyberangriffs mit den Kosten für regelmäßige Updates vergleichen. Oft ist ein Update deutlich günstiger als die Folgen eines erfolgreichen Angriffs."

Moderator: "Tim, gibt es Ihrer Meinung nach Möglichkeiten, die Risiken von Updates zu minimieren?"

Gegner von Updates: "Ja, auf jeden Fall. Man sollte Updates nicht blindlings installieren, sondern sich vorher genau informieren, welche Änderungen sie mit sich bringen. Es ist auch wichtig, regelmäßige Backups zu erstellen, um im Falle von Problemen schnell wiederherstellen zu können. Und natürlich sollte man sich für ein Betriebssystem entscheiden, das bekannt dafür ist, stabil und zuverlässig zu sein."

Moderator: "Vielen Dank für Ihre offenen Worte, beide. Wir haben heute gesehen, dass das Thema Software-Updates sehr komplex ist und es keine einfachen Antworten gibt. Jeder muss für sich selbst abwägen, welche Risiken er bereit ist einzugehen."