Softwareaktualisierung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Die Artikel Softwareaktualisierung und Patch (Software) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zusammenzuführen (→ Anleitung). Beteilige dich dazu an der betreffenden Redundanzdiskussion. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz und vergiss nicht, den betreffenden Eintrag auf der Redundanzdiskussionsseite mit {{Erledigt|1=~~~~}} zu markieren. Arado (Diskussion) 12:56, 15. Jan. 2015 (CET)

Unter Softwareaktualisierung, englisch Software Update [ˈsɒf(t)wɛː ˈʌpˌdeɪt], versteht man in der Informationstechnik die Aktualisierung von Software. Das kann sich neben Computerprogrammen ebenso auf andere Daten beziehen, beispielsweise Virensignaturen oder auch als Datenbank-Updates,[1] als Update einer Webseite oder eines Berichts.

Zweck[Bearbeiten | Quelltext bearbeiten]

Updatevorgang auf einem Android Smartphone

Ein Softwareupdate enthält in der Regel kleinere Verbesserungen wie etwa Optimierungen in der Programmausführungsgeschwindigkeit und beseitigt Fehler innerhalb eines bestimmten Softwarestands, was auch als Service Release, Patch oder Hotfix bezeichnet wird.

Updates, die sich auf den Bereich der Computersicherheit beziehen, werden security updates genannt. Sie sorgen dafür, dass Sicherheitslücken in Programmen geschlossen werden. Besonders für das Betriebssystem gilt beispielsweise, dass unmittelbar nach einer Neuinstallation und danach in regelmäßigen Abständen von einigen Tagen alle verfügbaren Sicherheitsupdates installiert werden sollten, um bekannte Sicherheitslücken zu schließen. Bekannt ist in diesem Zusammenhang Microsofts Patch Day bei IT-Fachkräften, an dem einmal monatlich die Windows-Produkte auf den neuesten Stand gebracht werden. Es kann für Updates ein fester Zyklus festgelegt werden oder es werden Updates bei Bedarf veröffentlicht. Die durchschnittlichen Zyklen können dabei auch sehr unterschiedlich sein. Rails hat beispielsweise einen durchschnittlichen Zyklus von 18 Tagen[2].

Updates von Sicherheitssoftware, wie Virenschutz oder Firewall, dienen im Allgemeinen dazu, Angriffe auf das System effektiver verhindern zu können.

Updates werden normalerweise von den jeweiligen Softwarebetreibern oder Distributoren herausgegeben und können je nach Zweck und Betriebssystem kostenpflichtig oder kostenlos sein.

Abhängigkeiten[Bearbeiten | Quelltext bearbeiten]

Software wird häufig im Zusammenspiel mit anderer Software verwendet oder eine Software basiert auf mehreren anderen Softwares oder Bibliotheken. Dabei entstehen Abhängigkeiten,[3] die zu Problemen führen können, wenn zum Beispiel Updates für einzelne Softwarekomponenten durchgeführt werden, andere Softwarekomponenten aber noch auf dem alten Stand sind.

So können beispielsweise durch ein Update Schnittstellen verändert worden sein, die bei einer anderen Komponente noch nicht geändert sind. Durch diese Inkompatibilität kann die Software unter Umständen gar nicht mehr betriebssicher ausgeführt werden, oder das Laufzeitsystem verweigert die Ausführung sogar.[4]

Sicherheit[Bearbeiten | Quelltext bearbeiten]

Insbesondere in kritischen Infrastrukturen, im Internet der Dinge oder bei Anwendungen, die die Privatsphäre gefährden können, ist es wichtig, die Sicherheit von aktualisierter Software zu gewährleisten.

Eindeutige Herkunft[Bearbeiten | Quelltext bearbeiten]

Damit die eindeutige Herkunft von aktualisierter Software sichergestellt werden kann, muss auch die Authentizität von Updates gewährleistet werden, was technisch durch digitale Zertifizierung umgesetzt wird. Hierzu berechnet der Hersteller aus den Daten des Updates eine Prüfsumme, verschlüsselt diese mit seinem privaten Schlüssel und sendet das Ergebnis mitsamt dem Update an das Gerät oder den Anwender.

Das Gerät hat den öffentlichen Schlüssel des Herstellers fest eingebrannt und kann damit die verschlüsselte Prüfsumme entschlüsseln. Anschließend vergleicht es den Ergebniswert mit der Update-Prüfsumme, die es selbst errechnet hat. Stimmen die Werte überein, so ist sichergestellt dass

  • das Update tatsächlich vom Hersteller stammt und
  • es unverändert empfangen wurde.

Betriebssicherheit[Bearbeiten | Quelltext bearbeiten]

Es gibt viele Anwendungen, bei denen die Software umfangreichen Prüfungen unterzogen werden muss, bevor sie operativ eingesetzt werden darf. Dazu gehören zum Beispiel die Betriebssysteme, Laufzeitsysteme und Anwendungsprogramme von Stellwerken, Flugzeugen oder Kernkraftwerken sowie für Medizinprodukte. Hierfür gibt es in der Regel Normen und Standards, nach denen bei der Softwareentwicklung oder bei der Prüfung vorgegangen werden muss, wie zum Beispiel ISO/IEC 9126 und die Normenreihe ISO/IEC 25000 (allgemein), DO-178B (Luftfahrt), DIN EN 60880 (Kernkraftwerke)[5] oder EN 50128 (Eisenbahn).

In solchen Fällen ist eine Aktualisierung der Software riskant, langwierig und kostspielig, so dass Software-Entwickler, Gutachter und Auftraggeber große Anstrengungen unternehmen, eine Aktualisierung gar nicht erst erforderlich zu machen.[6] Bei fehlerhaft programmierten Herzschrittmachern können zum Beispiel weltweit Tausende von Patienten betroffen sein.[7]

Umfang[Bearbeiten | Quelltext bearbeiten]

Ansich ist jede gewünschte Veränderung von Software oder Daten eine Aktualisierung. Es gibt jedoch unterschiedliche Begriffe, die sich meist auf den Umfang des jeweiligen Softwareupdates beziehen.

  • Ein Hotfix ist ein schnell verfügbar gemachter Patch. Meist handelt es sich dabei um das Schließen einer Sicherheitslücke oder das Reparieren von Ausführungsfehlern mit größeren Auswirkungen, die sonst z. B. zu Datenverlust führen könnten. Die Versionsnummer der Software bleibt dabei meist unverändert.
  • Ein Patch ist meist eine kleine Anpassung von Software. Der Patch selbst setzt oft das Vorhandensein eines bestimmten Ausgangszustands voraus, etwa ein Programm in einer bestimmten Version, auf den der Patch angewendet werden kann.
  • Ein Update ist meist eine größere Menge von Einzel-Patches. Fast immer wird dabei auch die Nebenversionsnummer angepasst, um eine neue Variante der Software zu kennzeichnen, die kleinere Neuerungen beinhaltet.
  • Ein Upgrade (englisch upgrade = ‚Aufrüstung‘) erweitert hingegen eine Software deutlich um neue Funktionen. Es steht für eine neue Version der Software und wird in der Regel durch eine Änderung der Hauptversionsnummer gekennzeichnet.

Es gibt auch ähnliche Begriffe, die ebenfalls gewünschte Veränderung von Software beschreiben, aber im Grunde genommen keine Aktualisierung (kein Update) darstellen.

  • Bei einem Downgrade wird eine technische Neuerung wieder zurückgenommen.
  • Ein Cross-Update hingegen ist kein echtes Update, sondern eine Marketingstrategie, um Kunden von der Konkurrenz abzuwerben.

Teilweise gibt es etablierte Begriffe für Aktualisierungen, die nur bestimmte Produkte oder Firmen verwenden.

  • Service Pack – eine u. a. von Microsoft verwendete Bezeichnung für die Bündelung von Updates zu einem größeren Paket. Bei Windows hat die Freigabe eines Service Packs auch Auswirkungen auf den Unterstützungszeitraum (Microsoft Support-Dauer-Richtlinie).[8]

Distribution[Bearbeiten | Quelltext bearbeiten]

Aktualisierungen für Software können auf unterschiedliche Weise verteilt werden. Bei ROM-Bausteinen beispielsweise kann die Firmware nur durch Austausch des gesamten Bausteins aktualisiert werden. Auf veränderbaren Datenspeichern kann ein Update z. B. per Speichermedium eingespielt werden. Bei Computern und Computersystemen wurden Updates früher meist per Diskette oder CD-ROM an die Endanwender oder Administratoren verteilt. Bei Geräten, die permanent oder häufig mit dem Internet verbunden sind (siehe auch: Internet der Dinge), werden Aktualisierungen typischerweise automatisch eingespielt. Bei Computerprogrammen auf PCs spricht man in diesem Zusammenhang auch von Auto-, Internet-, Live- oder Online-Updates.

Abgrenzung[Bearbeiten | Quelltext bearbeiten]

Der Begriff Softwareupdate beschreibt explizit die Aktualisierung von Software.

Außerhalb davon gibt es in der Softwareentwicklung den englischen Begriff Update auch für Methoden der Software selbst, z. B. zur Aktualisierung von Objekten. Dies kann beispielsweise die Bildschirmaktualisierung durch eine Software sein, oder es können CRUD-Operationen bei Datenbanken sein.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Belege[Bearbeiten | Quelltext bearbeiten]

  1. FlowFact CRM Software 2009, Band I, ISBN 978-3-8370-9057-4, Auszug aus Seite 17: „Bei einem Datenbank-Update werden die bisherigen Daten in die erweiterte Datenbankstruktur neu eingelesen und notfalls konvertiert. Dieser Vorgang erfolgt vollautomatisch.“, siehe Auszug des Originaltextes (eingeschränkte Vorschau in der Google-Buchsuche)
  2. rails : 4.0.0 – Track your Gems at VersionEye. In: versioneye.com. 2. August 2013, abgerufen am 17. Januar 2015 (englisch).
  3. Visual : rails : 4.0.0. In: versioneye.com. Abgerufen am 17. Januar 2015.
  4. Informationen zu inkompatibler Software auf dem Mac - Manche inkompatible Software wird automatisch deaktiviert, wenn Sie ein macOS-Upgrade vornehmen, Apple vom 7. November 2016, abgerufen am 13. März 2019
  5. DIN EN 60880:2010-03;VDE 0491-3-2:2010-03 Kernkraftwerke - Leittechnik für Systeme mit sicherheitstechnischer Bedeutung - Softwareaspekte für rechnerbasierte Systeme zur Realisierung von Funktionen der Kategorie A, DIN vom März 2010, abgerufen am 13. März 2019
  6. WannaCry abhaken - irgendwie zumindest / Warum Patchen nicht immer eine Option ist, GData vom 23. Mai 2017, abgerufen am 13. März 2019
  7. Tausende Patienten von Herzschrittmacher-Rückruf betroffen Ärztezeitung vom 14. Februar 2019, abgerufen am 13. März 2019
  8. Jan Schüßler: Convenience Rollup für Windows 7: Das Nicht-SP2. In: Heise online. 18. Mai 2016. Abgerufen am 3. Dezember 2018; Zitat: „Microsoft nennt das Convenience Rollup ausdrücklich nicht „Service Pack 2“, obwohl es aus Sicht vieler Anwender genau das sein dürfte. Doch es gibt Unterschiede: Die Veröffentlichung eines weiteren Service Pack würde eine neue Support-Dauer-Richtlinie auslösen, denn Microsoft garantiert den Support für ein Betriebssystem nur, wenn das aktuelle Service Pack installiert ist.“

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Wiktionary: Softwareaktualisierung – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen