Verbesserung durch das Schließen von erkannten Sicherheitslücken
Verschlechterung durch die Implementierung von neuen Sicherheitslücken
Ein Software-Update, das kleinere Verbesserungen wie etwa Optimierungen in der Programmausführungsgeschwindigkeit enthält oder Fehler innerhalb eines bestimmten Software-Stands behebt, wird auch als Service Release, Patch oder Hotfix bezeichnet.
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 beispielsweise MicrosoftsPatchday 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. Das quelloffene WebframeworkRuby on 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
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
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. In behördlich kontrollierten Infrastrukturen, wie zum Beispiel in der Luftfahrt, bei der Energieversorgung oder im Eisenbahnverkehr ist auch eine aktualisierte Software meist vollständig zu prüfen und zu genehmigen, was einen sehr hohen personellen und zeitlich Aufwand verursacht.[5][6][7][8][9]
Häufig verlassen sich Programmierer auf Programmbibliotheken anderer Programmierer, in denen ebenfalls Sicherheitslücken bestehen können. Bei einer Aktualisierung dieser Bibliotheken muss dann vom Anbieter einer Software ebenfalls eine Softwareaktualisierung veranlasst werden, selbst wenn der selbst generierte Programmcode fehlerfrei gestaltet wurde.
Nach wenigen Jahren sind Smartphones, Tablets und Notebooks oft schon nicht mehr sicher benutzbar. Schuld daran sind fehlende Sicherheitsupdates. Mit der EU-Ökodesignrichtlinie will die Europäische UnionElektroschrott reduzieren, weshalb auch seit etwa Ende 2021 Diskussionen in der EU geführt werden, dass Handyhersteller ihre Geräte fünf Jahre lang mit Sicherheitsupdates versorgen sollen und für denselben Zeitraum sollen die Hersteller Ersatzteile für das Recht auf Reparatur für externe Werkstätten bereitstellen. Die Bundesregierung geht bereits einen Schritt weiter und will sich seit Ende 2021 EU-weit für langlebigere Geräte einsetzen u. a. sollen Sicherheitsupdates 7 Jahre lang verpflichtend werden.[11][12] Die Industrie sperrte sich jedoch bisher noch gegen diese geplanten Auflagen. Der Industrieverband DigitalEurope schlägt in einem Gegenangebot drei Jahre Sicherheitsupdates vor, was sogar etwas unter den aktuell auf dem Markt gängigen Standards liegt. Die neuen Regeln der EU sollen laut dem Computermagazinc’t im Jahr 2023 in Kraft treten.[13]
Versprechungen und Taten der Hersteller
Die angegebene Jahre werden immer gerechnet ab der Markteinführung.
Android-Betriebssystem
Bei Geräten mit Android hängt das Supportende für Sicherheitsupdates jeweiliger Geräte in der Regel von dem Marktstart des jeweiligen Gerätes ab.
Google
Pixel 8 von 2023: 7 Jahre Betriebssystem- und Sicherheitsupdates.[14]
Galaxy S und Galaxy Note Modelle 2015 bis 2020: 4 Jahre Sicherheitsupdates. (Nach neuer Update-Strategie 2021, davor wurden nur 3 Jahre versprochen)[16]
Xiaomi
Die 11T-Line seit 2020: 4 Jahre Sicherheitsupdates.[16]
Chrome OS Betriebssystem
Im Gegensatz zu Windows zählt bei Geräten mit Chrome OS der Zeitpunkt des ersten Marktstarts des Geräts. Alle neuen Chromebooks erhalten seit 2020 acht Jahre lang Sicherheitsupdates, zuvor waren es sieben, davor sechs und zum Anfang sogar nur drei.[19]
Chrome OS Flex Betriebssystem
Chrome OS Flex ist ein neues Betriebssystem von Google, das nicht nur auf Chromebooks laufen soll. Das Sicherheitsupdate-Ende ist hier noch unbekannt, da das Projekt sich seit Februar 2022 in der Early-Access-Phase befindet.[20]
iOS-Betriebssystem
Aus Sicht des Jahres 2021 werden, rückwirkend betrachtet, in der Regel Apple-Smartphones rund 4 bis 6 Jahre lang mit dem neuesten iOS-Updates versorgt. Apple ist damit bisher absoluter Vorreiter, wenn es um den Langzeitsupport der eigenen Smartphones geht. Kein anderer Hersteller versorgt auch seine älteren Smartphones so lange und zuverlässig mit Updates. Das aktuelle iOS 15 aus dem Jahr 2021 läuft noch auf dem iPhone 6s aus dem Jahr 2015 versorgt.[16][21] Allerdings bringen die Upgrades der iOS-Version nicht nur Sicherheit, sondern mitunter auch den gefühlten oder gemessenen Effekt einer Verlangsamung mit sich.[22][23]
Linux-Betriebssystem
Die Entwicklung von Linux ist nicht in der Hand von Einzelpersonen, Konzernen oder Ländern, sondern in der Hand einer weltweiten Gemeinschaft vieler Programmierer. Somit sind keine umfassend gültigen Zeiträume für Sicherheitsaktualisierungen oder Support-Garantien festlegbar. Die meisten Linux-Distributionen haben dennoch eigene (teils sehr unterschiedliche) garantierte Zeiträume festgelegt, in denen Sicherheitsaktualisierungen garantiert werden. Diese sind oft an eine besondere Version des Linux-Kernels geknüpft, bei dem bestimmte Versionen eine längere Pflege erhalten, was mit „Long Term Support“ (kurz: LTS) bezeichnet wird. Länger gepflegte Versionen bestimmter Linux-Distributionen nutzen oft dieselbe Bezeichnung, etwa Ubuntu LTS.
Auch finden sich Linux-Distributionen, die das Konzept von Rolling Releases umsetzen. Dabei wird das Betriebssystem stets aktuell gehalten, sodass es theoretisch kein Support-Ende gibt bzw. praktisch erst dann keine weiteren Aktualisierungen mehr möglich sind, wenn die genutzte Hardware dies unmöglich macht. Erst dann könnte ein Nutzer auf eine länger gepflegte Linux-Distribution umsteigen, bis diese ebenfalls nicht mehr mit Sicherheitsaktualisierungen versorgt wird.
Eine Vielzahl an Geräten, die ursprünglich mit Windows oder macOS ausgeliefert wurden, lassen sich so weit länger sicher weiter verwenden.[24][25]
Windows-Betriebssystem
Bei Windows zählt nicht der Hersteller oder der Marktstart der Geräte, sondern es wird versucht, alle Geräte permanent mit Sicherheitsupdates zu unterstützen.
Windows 10
Windows 10 hat Sicherheitsupdates bis 14. Oktober 2025. Supportzeitraum somit circa 10 Jahre.[26][27] (Kostenloses Upgrade zu Windows 11 unter bestimmten Voraussetzungen möglich)
Älteres Windows
Windows 8 erhielt bis 10. Januar 2023 Sicherheitsupdates. Der Supportzeitraum lag somit bei circa 10 Jahren.[28]
Auch Windows 7 wurde ca. 10 Jahre regulär mit Sicherheitsupdates versorgt, das offizielle Supportende war der 14. Januar 2020.[29] Aufgrund von Versäumnissen bei der Migration auf eine neuere Windows-Version gab es jedoch das öffentliche Interesse, Windows 7 länger zu nutzen, sodass Microsoft eine jährlich kostenpflichtige Verlängerung bis 10. Januar 2023 anbot (in Form einer ESU-Lizenz, für Extended Security Updates).
Sowohl von Windows 7 als auch von Windows 8 und 8.1 ist ein kostenloses Upgrade auf Windows 10 oder 11 unter bestimmten Voraussetzungen möglich.
Eindeutige Herkunft
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
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.[31] Bei fehlerhaft programmierten Herzschrittmachern können zum Beispiel weltweit Tausende von Patienten betroffen sein.[32] Oder wenn wegen der Aufdeckung der unsicheren Betriebssoftware eines Flugzeugmodells damit keine Passagiere mehr befördert werden dürfen, kann der dadurch entstandene Schaden für eine einzelne Fluglinie eine Höhe von mehreren Millionen Euro pro Woche haben.[33]
Datensicherheit
Die Datensicherheit von Software-Produkten kann aus vielfältigen Gründen beeinträchtigt sein. Beispielsweise können Programmierer es aus Zeitnot, wegen mangelnder Qualifikation, wegen schlechter Programmierwerkzeuge oder versehentlich unterlassen haben, wichtige Sicherheitsfunktionen zu implementieren und zu prüfen. Viele Software-Entwickler versuchen, solche Fehler vor der Auslieferung der Software durch eine Verifikation zu finden und zu beheben.
In manchen Fällen werden neuartige Sicherheitslücken erst nach der Auslieferung einer Software entdeckt oder veröffentlicht, so dass diese nur durch eine Aktualisierung der Software behoben werden können, sofern dies technisch möglich ist. Zum Zeitpunkt der Auslieferung von Software ist häufig weder bekannt noch geregelt, wie lange ein Software-Hersteller solche Aktualisierungen anbietet.[34]
Wenn fehlerhafte Bibliotheksfunktionen eine große Verbreitung haben, kann ein Sicherheitsproblem schwerwiegende Auswirkungen haben, wie zum Beispiel in der Open-Source-Bibliothek OpenSSL, der zum Heartbleed-Bug führte.
Umfang
An sich 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 (englischupgrade = ‚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).[35]
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.
Der Begriff Softwareupdate beschreibt explizit die Aktualisierung von Software. Dazu zählt auch die System-Firmware von Computersystemen (z. B. das BIOS oder dessen Nachfolger UEFI, aber auch z. B. die Firmware des Embedded Controller) oder -komponenten (z. B. Grafikkarten, diverse Controller, Festplatten und SSDs, optische Laufwerke etc.), wodurch die Begriffe Firmwareaktualisierung und Firmware-Update letztlich ebenfalls Softwareaktualisierungen darstellen.
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.
↑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)
↑F. Geber: Rechtliche Anforderungen an Software-Updates von vernetzten und automatisierten Pkw. In: NZV – Neue Zeitschrift für Verkehrsrecht. Band34, Nr.1, Januar 2021, ISSN0934-1307 (trb.org [abgerufen am 16. März 2023]).
↑Betrachtung zur Softwareentwicklung im Eisenbahnbereich. (PDF) Fraunhofer-Institut für offene Kommunikationssysteme (FOKUS), Berlin
System Quality Center (SQC), Prof. Dr. Holger Schlingloff, Dr.-Ing. Jens Gerlach, Dipl.-Math. Marko Fabiunke. Im Auftrag des Eisenbahn-Bundesamtes, Februar 2019, abgerufen am 16. März 2023.
↑Jens Lubbadeh: Tschüss, Apple!. In: Heise online.8. Oktober 2012. Abgerufen am 27. Februar 2022.; Zitat: „Trotzdem, das iPhone 3G mit iOS 4 nervte einfach. Manchmal konnte ich sogar keine keine Anrufe mehr entgegen nehmen, so langsam war es.“.
↑Leo Becker: Langsamer werdende iPhones: Benchmarks deuten Drosselung durch iOS an. In: Heise online.19. Dezember 2017. Abgerufen am 27. Februar 2022.; Zitat: „Einer Auswertung von Benchmarks zufolge arbeiten manche iPhones nach iOS-Updates plötzlich langsamer. Es deutet sich an, dass iOS sie abhängig vom Alter der Akkus heruntertaktet.“.
↑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.“.