Patch- und Update-Management

05.09.2023
extendedLogo

Wer einen Onlineshop betreibt und sensible Informationen wie personenbezogene Kundendaten darin verarbeitet, sollte dem Thema IT-Sicherheit eine hohe Priorität einräumen. In diesem Beitrag zeigen wir, wie effizientes Patch- und Update-Management dazu beiträgt, Sicherheitsrisiken in der Anwendung zu minimieren.

Bugs, die in Software-Anwendungen auftreten, sind ein beinahe alltägliches Phänomen. Oft schleichen sich bei Anpassungen unbemerkt kleine Fehler ein, die zu Fehlfunktionen oder auch zu – teilweise gravierenden – Sicherheitslücken führen können. Im Worst Case kann dies bedeuten, dass unbefugte Dritte Schadcode in die Anwendung einschleusen oder personenbezogene Daten, wie Adress-, Kontakt- oder Kreditkartendaten abgreifen können. Welche Maßnahmen Sie als Shopbetreiber ergreifen können, um solche Szenarien möglichst unwahrscheinlich zu machen, erklären wir im Folgenden.

Update, Upgrade oder Patches?

Werden Änderungen an einer Software vorgenommen, spricht man ganz allgemein von einem Update. Dieses muss häufig aktiv installiert werden, damit die Änderungen wirksam werden. Updates können dabei verschiedene Zwecke erfüllen: Einige erweitern die Software funktional, andere beheben Fehler und Probleme.

Funktionale Updates werden auch Upgrades genannt. Diese lassen sich beispielsweise in Minor-Versionen und Major-Versionen unterteilen. Während Minor-Versionen kleinere funktionale Erweiterungen darstellen, werden in Major-Versionen oft größere Änderungen vorgenommen, um das Nutzererlebnis oder die Performance zu verbessern.

Patches werden im Regelfall von Providern veröffentlicht, um Probleme mit Bugs oder Sicherheitslücken in Software zu beheben. Dabei kommen verschiedene Arten von Patches zum Einsatz.

  • Bugfix: Dieser Patch-Typ dient dazu, technische Probleme und Fehler im Quellcode der Anwendung zu beheben.
  • Hotfix: Hotfixes sind zeitkritisch und dienen der schnellstmöglichen Behebung schwerwiegender Probleme innerhalb der Anwendung.
  • Sicherheitspatch: Dieser Patch-Typ ist auf das Schließen von Sicherheitslücken ausgerichtet.

Weniger dringliche Patches, die kleinere Fehler und Probleme beheben, werden häufig zu kleinen Update-Paketen zusammengefasst, manchmal auch in Kombination mit funktionalen Updates. Hotfixes und kritische Sicherheitspatches erfordern hingegen ein schnelles Handeln, weswegen diese Arten von Patches meistens als einzelne Installationsdateien veröffentlicht werden.

Wie werden Bugs und Sicherheitslücken identifiziert?

Provider müssen bei Bugs und Sicherheitslücken schnell handeln, um den Fehler in der Software zu beheben – im besten Fall geschieht dies, bevor eine Sicherheitslücke aktiv ausgenutzt wurde. Geschieht dies nicht, kann das Ausnutzen der Lücke den Software-Anwendern schaden. Software-Provider haben also schon aufgrund ihrer Reputation ein berechtigtes Interesse daran, dass die Nutzung ihrer Software so sicher wie möglich ist und bleibt. Um Bugs und Sicherheitslücken zu finden, verwenden Provider verschiedene Quellen.

  • Software-Tests: Regelmäßige Sicherheitschecks sind für den Provider obligatorisch. Wer seine Software nicht regelmäßig überprüft, riskiert es, für entstehende Schäden haftbar gemacht zu werden..
  • Community: Wer die Beziehung zu seiner Software-Community pflegt, kann auf diese wertvolle Informationsquelle zurückgreifen. Auch Software-Nutzer stoßen gelegentlich auf kleine oder größere Unstimmigkeiten innerhalb der Software.
  • Sicherheitsberatung: Externe Sicherheitsexperten können die Qualität der Software unter Einbezug moderner Security-Standards einschätzen und relevante Handlungsempfehlungen geben.
  • Penetrationstest (Pentest): Bei Penetrationstests wird die Sicherheit von Systembestandteilen und Anwendungen eines Netzwerkes oder Softwaresystems geprüft. Hierbei werden Sicherheitslücken aufgedeckt, die es ermöglichen, unautorisiert in die Systeme einzudringen.
  • Bug Bounty: Die Unterhaltung eines Bug-Bounty-Programms kann ein zusätzlicher Anreiz für Nutzer oder Hacker sein, Fehler in der Software zu finden und diese dem Provider zu melden.

Wie hoch ist das Risiko auftretender Sicherheitslücken?

Sicherheitslücken können ein unterschiedlich hohes Risiko mit sich bringen. Dabei können nur einige wenige Kunden oder eine Vielzahl betroffen sein. Auch die Wahrscheinlichkeit, dass eine Sicherheitslücke ausgenutzt wird, kann unterschiedlich groß sein.

Sobald der Provider auf eine Sicherheitslücke in seiner Software aufmerksam wird, beginnt er zunächst mit der Risikoanalyse. Diese beinhaltet einerseits die Größe und die möglichen Auswirkungen des Bugs. Dabei wird analysiert, welche Software-Versionen betroffen sind, auf welche Weise die Lücke ausnutzbar ist, wie wahrscheinlich das Ausnutzen ist und welche potenziellen Schäden entstehen könnten. Andererseits wird geprüft, welche Kunden betroffene Software-Versionen verwenden.

Anhand aller Analysekriterien wird das Risiko der Sicherheitslücke bewertet. Meistens geschieht dies anhand einer Skala von 0 bis 10, wobei 0 als unkritischer und 10 als extrem kritischer Wert gilt.

Hat der Provider das Risiko einer Sicherheitslücke bewertet, beginnt das Incident Management. Dabei handelt es sich um einen Prozess, der definiert, wie mit dem Problem und seiner Behebung weiter verfahren wird. Das Incident Management verfolgt zwei Ziele. Zum einen soll sichergestellt werden, dass die Entwickler schnell agieren können, um eine Lösung zu finden und einen entsprechenden Patch bereitzustellen. Zum anderen sollen betroffene Kunden schnellstmöglich detaillierte Informationen zur Behebung des Problems erhalten.

In der Regel informiert ein Provider betroffene Kunden proaktiv, sobald ein entsprechender Patch verfügbar ist, der das Problem behebt. Eine öffentliche Kommunikation erfolgt normalerweise erst später und enthält nicht so viele Details, da nicht betroffene Nutzer nicht von der Information verunsichert werden sollen. Zudem sollen natürlich auch potenzielle Angreifer nicht zu viele Informationen erhalten, mit denen sie möglicherweise selbst die Lücke ausnutzen könnten.

Wer ist für das Einspielen von Updates und Patches verantwortlich?

Software-Provider veröffentlichen regelmäßig neue Updates, die auf die Funktionalität und Sicherheit der Software einzahlen. Damit die Änderungen wirksam werden, muss das Update zunächst deployed werden. Wer dafür verantwortlich ist, hängt vom Lizenzmodell der Software und der Gewährleistung durch den Provider ab.

Bei Open-Source-Software stellt der Provider lediglich den Patch bereit, der Download und die Installation müssen dann durch den Nutzer erfolgen. Bei proprietären Lizenzmodellen, wie sie z. B. bei SaaS-Software zum Einsatz kommen, spielt der Provider den Patch oft automatisch ein oder erlaubt dem Anwender, zwischen automatischen und manuellen Updates zu wählen. Es kann auch der Fall eintreten, dass Provider kleinere Updates im Hintergrund einspielen, ohne dass der Anwender darüber in Kenntnis gesetzt wird.

Alle Varianten haben ihre Vor- und Nachteile. Werden Updates durch den Provider im Hintergrund eingespielt, hat der Administrator auf Nutzerseite weniger Arbeit. Jedoch ist oft nicht transparent, welche Änderungen sich ergeben und welche Auswirkungen diese haben.

Die manuelle Installation gibt dem Nutzer die Kontrolle, aber damit muss sich dieser fortlaufend informieren, welche neuen Updates verfügbar und welche erforderlich sind.

Wie erfahren Software-Nutzer von Security-Patches?

Wie schon erwähnt, benachrichtigen die meisten Provider betroffene Nutzer proaktiv, sobald ein Security-Patch verfügbar ist. Dennoch gibt es für Nutzer auch andere Wege, sich über Software-Updates zu informieren. Viele Provider stellen Changelogs, Release-Logs und Informationen über Bugfixes auf ihrer Webseite bereit. Einige veröffentlichen auch Newsletter zu relevanten Änderungen an der Software. Größere Updates werden häufig im Voraus auf einer öffentlichen Roadmap angekündigt.

Andere Informationsquellen sind beispielsweise Community-Foren oder relevante Social-Media-Gruppen. Hier sollte jedoch geprüft werden, wie verlässlich die Quelle wirklich ist und ob die Informationen der Realität entsprechen.

Wann ist die Installation eines Software-Updates sinnvoll?

Allgemein gilt der Grundsatz, dass Software-Anwendungen immer auf dem neuesten Stand sein sollten. Dennoch ist es nicht in jedem Fall empfehlenswert, sofort nach dem Release die neueste Version einer Software zu installieren.

Bei kritischen Sicherheitslücken oder funktionalen Bugs, die den Produktivbetrieb der Software beeinflussen, sollten Anwender ihre Software so schnell wie möglich aktualisieren, sofern dies nicht durch den Provider erfolgt. Obwohl Security-Patches in der Regel relativ klein sind, werden sie meistens einer Funktionalitätsprüfung unterzogen. Dabei kommen oft auch destruktive Tests mit falschen Daten, riesigen Bestellungen oder Zugriff auf andere Nutzer zum Einsatz. Im Normalfall ist die Installation von Security-Patches also relativ unkritisch.

Anders verhält es sich bei Minor- oder Major-Upgrades. Diese haben oft größere funktionale Anpassungen zur Folge, daher ist es möglich, dass ältere Funktionen nicht mehr unterstützt werden, oder Plug-ins und Dritt-Software nicht mehr vernünftig angebunden werden können. Je komplexer das technologische Set-up ist, desto mehr Vorsicht ist geboten.

In einem solchen Fall kann es sich lohnen, das neue Upgrade zunächst unter realen Bedingungen in einer Stage-Umgebung zu testen, bevor es in den Live-Betrieb übernommen wird. Außerdem gilt es zu beachten, dass neue Software-Versionen auch neue Bugs und Sicherheitslücken zur Folge haben können.

Wie häufig werden neue Updates veröffentlicht?

Diese Frage lässt sich nicht pauschal beantworten, da das von Provider zu Provider sehr unterschiedlich ist. Bugfixes, Hotfixes und Security-Patches werden im Normalfall immer zeitnah nach Bekanntwerden von Schwachstellen oder Bugs veröffentlicht, um das Sicherheitsrisiko zu minimieren.

Bei Open-Source-Software sind die Support-Zyklen in der Regel recht kurz und die Dichte von Updates ist deutlich höher als bei proprietärer Software. Das ist möglich, da bei populären Open-Source-Lösungen eine große Community im Hintergrund steht, die das Produkt aktiv weiterentwickelt. Kurze Support-Zyklen bedeuten jedoch auch, dass Anwender ihre Software häufiger aktualisieren müssen, um weiterhin von den Sicherheitsupdates des jeweiligen Providers zu profitieren.

Proprietäre Software wird hingegen über längere Zeiträume hinweg unterstützt. Da die Developer-Teams der Provider jedoch nicht auf eine große Community zurückgreifen können, dauert die Entwicklung von Updates und Patches häufig länger als bei Open-Source-Software.

Erfolgreich patchen – so geht’s

Patch Management zahlt als Teil des Technologiemanagements auf die Gewährleistung von Sicherheit und Aktualität eingesetzter Software ein. Genau wie der Software-Provider bei der Erstellung des Patches, sollten auch Shopbetreiber einen Prozess definieren, der den Ist-Zustand eingesetzter Software, eine fortlaufende Risikoanalyse und klare Verantwortlichkeiten beim Einspielen von Patches umfasst. Die folgenden Tipps können dabei helfen, den Prozess zu formen und alle wichtigen Aspekte zu berücksichtigen:

  1. Erfassung des Status quo: Verschaffen Sie sich in regelmäßigen Abständen einen Überblick über alle Software-Systeme, die sich bei Ihnen im Produktiveinsatz befinden. Dazu zählen nicht nur Shop-, PIM- oder ERP-Systeme, sondern auch Programmiersprachen, Webserver- und Betriebssystem-Technologien sowie weitere Tools. Behalten Sie dabei auch die Software-Versionen im Blick.
  2. Schwachstellen-Identifizierung: Analysieren Sie Ihre Software regelmäßig im Hinblick auf Schwachstellen und prüfen Sie, inwiefern vom Anbieter gemeldete Sicherheitslücken auf Ihre Software-Version zutreffen. Dabei können Sie auf ein entsprechendes Diagnose-Tool zurückgreifen.
  3. Risikobewertung: Von einer Sicherheitslücke betroffen zu sein, bedeutet nicht zwangsläufig, sofort patchen zu müssen. Das Risiko kann anhand verschiedener Aspekte bemessen werden, um den Handlungsbedarf zu beurteilen.
  4. Patch testen: Bevor Sie den Patch in Ihrer Produktivumgebung einspielen, führen Sie vorab in einer Stage-Umgebung Belastungstests durch. So stellen Sie sicher, dass der Patch sich nicht negativ auf Ihr bestehendes System sowie Schnittstellen oder Plug-ins auswirkt.
  5. Patch installieren: Waren die Tests erfolgreich, kann Ihr Team mit der Installation des Patches beginnen. Stellen Sie jedoch durch Backups sicher, dass Sie bei auftretenden Problemen zum vorherigen Zustand zurückkehren können.

Was tun, wenn Software nicht mehr unterstützt wird?

Erreicht eine Software den Status End of Life (EOL), wird sie vom offiziellen Provider nicht länger unterstützt. Dies kann verschiedene Gründe haben. Zum einen kann es bereits einen moderneren Software-Nachfolger geben, der das vorherige Produkt ersetzt. Die Einstellung des Supports kann jedoch auch auf unternehmerische Entscheidungen, Insolvenzen oder Firmenkäufe zurückzuführen sein.

Da eine solche Software nicht länger mit Updates versorgt wird, wird ihr Einsatz im Live-Betrieb im Zeitverlauf zunehmend unsicherer. Eine zeitnahe Migration auf ein anderes System ist daher aus Sicherheitsgründen empfehlenswert.

Gerade bei Open-Source-Software kommt es jedoch vor, dass der Support durch einen Drittanbieter oder die Community übernommen wird. In einem solchen Fall spricht man von Long-Term-Support (LTS). Diese Maßnahme verschafft den Software-Nutzern oftmals die notwendige Zeit, um die Migration auf ein anderes System sorgfältig vorzubereiten.

Fazit

Ein kontinuierliches Update-Management stärkt die Sicherheit Ihres Software-Ökosystems. So schützen Sie nicht nur Ihre eigenen Daten, sondern auch die Ihrer Kunden. Es lohnt sich, sich stetig über Änderungen und Updates für Software, die Sie im Unternehmen einsetzen, auf dem Laufenden zu halten.

Dabei ist es nicht zwangsläufig erforderlich, jeden Security-Patch zu installieren, der vom Provider veröffentlicht wird. Mit einem standardisierten Prozess vereinfachen Sie die Analyse und Bewertung möglicher Risiken und erhöhen Ihre Produktivität beim Testing und der Installation.

Auch die Weiterentwicklung eingesetzter Software sollte im Blick behalten werden. Wird eine Software nicht mehr aktiv unterstützt, ist es empfehlenswert, frühzeitig nach Alternativen zu suchen, um mögliche Sicherheitsrisiken auszuschließen.


Veröffentlicht am 05.09.2023 | DR, JHi