The 2038 bug refers to a known issue with how millions of systems store and calculate dates and times. Es ist zu erwarten, dass dieser Fehler dazu führt, dass Datums- und Zeitangaben fehlerhaft sind starting January 19, 2038.
Vielleicht denken Sie sich gerade: „Ein falsches Datum?“ Ein ungünstiger Zeitpunkt? „Na und!“ Doch wie sieht es mit einem falschen Datum in einer Bankdatenbank aus, die regelmäßig Überweisungen und Zahlungen plant? Oder eine falsche Uhrzeit auf einem Server, die dazu führt, dass ein SSL-Zertifikat für eine Website abläuft und Besucher dadurch potenziellen Sicherheitsrisiken ausgesetzt werden?
The reality is the 2038 bug isn't the first and won't be the last time date and time calculation issues have affected the systems we use daily.
Da das Jahr 2024 ein Schaltjahr ist, lassen sich in der Tat zahlreiche Parallelen zwischen den Problemen bei der Berücksichtigung von Schaltjahren in Systemen und dem bevorstehenden Jahr 2038 bug to ziehen, was uns dabei hilft, besser zu verstehen, was zu fehlerhaften Datums- und Zeitberechnungen führen kann und welche möglichen Auswirkungen dies hat.
Bei „The 2038 bug is “ handelt es sich nicht um ein hypothetisches Szenario, sondern um eine reale Bedrohung, die eine Vielzahl von Systemen betreffen könnte, darunter eingebettete Systeme/Geräte, Geräte des Internets der Dinge (IoT), Betriebssysteme, Datenbanken, Server, Netzwerke, Anwendungen und Webdienste. This post aims to provide a deeper understanding of what the 2038 bug is, including some real-world examples and best practices you can start following today to help prevent significant issues in the not-so-distant future.
First, we'll provide a brief overview of similar problems that can occur when calculating leap years in systems to help set the stage for understanding the more complex 2038 bug and why it matters for device security.
Was uns Schaltjahre über die Berechnung von Datum und Uhrzeit lehren können
Im Jahr 2024 wird die Welt ein seltenes Ereignis erleben: ein Schaltjahr. Das bedeutet, dass der Februar 29 days instead von 28 Tagen haben wird, wodurch dem Kalender ein zusätzlicher Tag hinzugefügt wird … und in einigen Software- und Hardwaresystemen ein nicht berücksichtigter Tag entsteht.
Warum ist das so? Viele Altsysteme verfügen über eine zu stark vereinfachte Schaltjahrlogik, die dazu führen kann, dass die Systeme fälschlicherweise von 28. Februar zu 1. März springen, was wiederum zu Fehlfunktionen bei Datums- und Zeitberechnungen führen kann.
Eine gängige Regel zur Feststellung, ob ein Jahr ein Schaltjahr ist, besagt, dass es durch vier teilbar sein muss. Es gibt jedoch weitere Ausnahmen, die bei dieser Berechnung üblicherweise nicht berücksichtigt werden und zu falschen Ergebnissen führen können: Ein Jahr muss durch vier teilbar sein , es sei denn, das Jahr ist auch durch 100 teilbar, und , es sei denn, es ist auch durch 400 teilbar.
Nehmen wir the year 2100 als Beispiel. Da 2100 durch vier teilbar ist, gehen manche Systeme fälschlicherweise davon aus, dass es sich um ein Schaltjahr handelt. Anhand der verbleibenden Berechnungslogik für Schaltjahre lässt sich feststellen, dass 2100 zwar durch 100 teilbar ist, jedoch nicht durch 400 teilbar ist. Das heißt also, dass 2100 tatsächlich und nicht ein Schaltjahr ist.
Das Weglassen eines Tages alle vier Jahre mag wie eine Kleinigkeit erscheinen, doch Probleme bei der Datums- und Zeitberechnung wie dieses können schwerwiegende Folgen für Systeme und deren Nutzer haben.
Ein weiteres, noch bedrohlicheres Beispiel für Probleme bei der Datums- und Zeitberechnung ist das bevorstehende Jahr 2038 bug, das möglicherweise schwerwiegende Probleme für Computer und Geräte verursachen könnte. Lassen Sie uns genauer untersuchen, worum es dabei geht und warum dies der Fall ist.
Was ist „ 2038 bug“?
Der „ 2038 bug“, auch bekannt als „Unix-Millennium-Bug“ oder „ Y2K38“, ist ein Problem, das sich aus der Art und Weise ergibt, wie manche Systeme Datums- und Zeitwerte mithilfe einer als Zeitstempel bezeichneten Zahl speichern und darstellen.
Ein Zeitstempel ist die Anzahl der Sekunden, die seit dem 1. Januar 1070 vergangen sind; dieser Zeitpunkt wird als Unix-Epoche bezeichnet. Beispielsweise the timestamp for January 1, 2024, bei 01:00:00 UTC, is 1704070800, wobei seit der Epoche means 1704070800 Sekunden vergangen sind.
Einige Systeme verwenden jedoch einen Datentyp namens a signed 32-bit integer to , der den Zeitstempel im Unix-Betriebssystem und dessen Ableitungen speichert. A signed 32-bit integer can speichert ausschließlich Zahlen im Bereich von -2147483648 bis 2147483647. Das bedeutet, dass der höchste Zeitstempel, den diese Systeme verarbeiten können, 2147483647 ist, was den Werten to January 19 und 2038 um 03:14:07 UTC entspricht. Danach kommt es zu einem Überlauf des Zeitstempels, der daraufhin einen negativen Wert annimmt, was dazu führt, dass Datum und Uhrzeit falsch angezeigt werden.
Beispielsweise entsprechen the timestamp for January 20 und 2038 in der Unix-Zeit dem Wert 2147483648. Da es sich hierbei nicht um einen gültigen Zeitstempel im Unix-Format handelt, kommt es zu einem Überlauf, und der Wert wird zu -2147483648, was dem 13. Dezember 1901 um 20:45:52 UTC entspricht. Das ist the year 2038 bug.
Von dem Fehler 2038 betroffene Systemtypen
Viele Menschen gehen davon aus, dass dieser Fehler schwerwiegende Probleme für Systeme verursachen wird, die zur Speicherung von Datum und Uhrzeit auf 32-Bit-Ganzzahlen mit Vorzeichen zurückgreifen. Dies könnte zu fehlerhaftem und unvorhersehbarem Verhalten führen, das die Funktionalität und Sicherheit beeinträchtigen könnte, wie beispielsweise Systemabstürze, Fehlermeldungen und Datenverluste.
Lassen Sie uns nun die Arten von Systemen untersuchen, von denen bekannt ist, dass sie Unix-basierte Zeitstempel zur Speicherung von Datums- und Zeitangaben verwenden und die von dem 2038 -Fehler betroffen sein könnten:
- Datenbank-: Verschiedene Datenbanktypen, darunter relationale und NoSQL-Datenbanken
- C-Programme: C-Programme und andere Programme, die in auf C basierenden Sprachen geschrieben sind, wie beispielsweise C++ und PHP
- Eingebettete Systeme und Geräte: Medizinische Geräte, industrielle Steuerungssysteme für Anlagen wie Kraftwerke, Verkehrssysteme, Fahrzeuge mit Bordcomputersystemen zur Überwachung der elektronischen Stabilitätskontrolle und der Traktionskontrolle, Router, Switches, Sensoren sowie IoT-Geräte wie intelligente Haushaltsgeräte
- für Betriebssysteme: Windows, Linux sowie Linux-basierte Betriebssysteme wie Android und iOS für Mobiltelefone
Aktuelle Beispiele für den Jahr- 2038 -Fehler
Einige Systeme zeigen bereits auf vielfältige Weise die Auswirkungen der 2038 bug in .
Beispielsweise können Entwickler für Zwecke wie die Zeitplanung, das Ablaufen von Fristen oder die Verschlüsselung Datumsangaben verwenden, die weit in der Zukunft liegen, wie etwa das Datum „9999-12-31 “ als Platzhalter, um einen unbestimmten oder unendlichen Zeitraum darzustellen. Dieses Datum entspricht jedoch in etwa dem Wert 253402236000 und überschreitet den Maximalwert für das Unix-Zeitformat bei weitem.
Andere können zukünftige Daten über 2038 hinaus zu Test- oder Simulationszwecken oder zur Darstellung historischer oder geologischer Ereignisse verwenden, die vor unserer Zeitrechnung stattfanden. In all diesen Szenarien führt das Jahr 2038 problem can zu falschen Ergebnissen, Fehlern und unzuverlässigen Ergebnissen.
Hier finden Sie einige Beispiele aus der Praxis für Systeme, bei denen bereits ähnliche Probleme im Zusammenhang mit der Verwendung von Unix-Zeitstempeln aufgetreten sind:
- Server-Absturz bei „“: Auf 13. Mai 2006, – der AOLserver, der Open-Source-Webserver von AOL (wird in einem neuen Tab geöffnet) – kam es zu einem Absturz, da das Zeitlimit für Datenbankanfragen auf 1 Milliarde Sekunden festgelegt worden war, was etwa dem 32 years in -fachen der Zukunft entspricht.
- Unerwartete Ausfallzeit: Ein großer Fachhändler verzeichnete einen Ausfall der VPN-Hardware (wird in einem neuen Tab geöffnet) aufgrund von Fehlern der Zertifizierungsstelle (CA), die zu Fehlern bei der Berechnung von zwei Datumsangaben führten: „notBefore“ (das Datum, vor dem die CA nicht mehr gültig ist) und „notAfter“ (das Ablaufdatum). Aufgrund weiterer Probleme mit dem Network Time Protocol (NTP) ging die Zertifizierungsstelle davon aus, dass die Uhrzeit 2037 sei, und da die Zertifizierungsstelle Zertifikate mit einer Gültigkeitsdauer von zehn Jahren ausstellt, stieß sie bei der Berechnung der Ablaufdaten auf das 2038 -Problem.
- Systeme brechen: Im Jahr 2014, brach das Musikvideo zu „Gangnam Style“ (öffnet in einem neuen Tab) sowohl Rekorde als auch YouTube, als es hit 2 147 483 647 Aufrufe verzeichnete, da diese Aufrufzahl zudem den Maximalwert darstellt, den Unix-Systeme erfassen können.
Tipps zur Vorbeugung gegen die 2038 bug
Fixing the 2038 bug requires upgrading, removing, or replacing the 32-bit signed integer data type in systems and any code it interacts with, which can be costly and time-consuming. Wenn Sie jedoch bereits jetzt die folgenden vorbeugenden Maßnahmen ergreifen, um Ihre Systeme, Anwendungen und Geräte auf den neuesten Stand zu bringen, könnte dies am 19. Januar einen erheblichen Unterschied ausmachen:
- Durch die Verwendung eines 64-Bit-Formats zur Speicherung und Darstellung von Datums- und Zeitwerten wird der Bereich der möglichen Werte auf Milliarden von Jahren erweitert.
- Verwendung verschiedener Datums- und Zeitformate zum Speichern und Darstellen von Werten, wie beispielsweise das ISO- 8601 -Format
- auf mögliche Probleme mit Datum und Uhrzeit prüfen und auditieren, um veralteten Code, veraltete Bibliotheken oder veraltete Software zu identifizieren, die möglicherweise anfällig für den „ 2038 -Bug“ sind
- Regelmäßige Aktualisierung und Installation von Patches für den Code, die Software und die Geräte von, um sicherzustellen, dass diese mit den neuesten Standards und Technologien kompatibel sind
Many companies are already aware of the year 2038 problem and taking proactive steps to update their systems to use 64-bit data types or alternative representations for timestamps and date values. Beispielsweise hat Apple ab Version 2003 (wird in einem neuen Tab geöffnet) damit begonnen, 64-Bit-Unterstützung in macOS zu integrieren, was dazu beitragen kann, dass Mac-Nutzer nicht mit issues with dates after January 2038 konfrontiert werden.
Ist „Can the year 2038 problem be “ gelöst?
Sowohl das Schaltjahr 2038 bug and als auch das Schaltjahr 2024 machen deutlich, dass Datums- und Zeitberechnungen keine Nebensache sind, sondern komplexe und entscheidende Aspekte der Programmierung und Softwareentwicklung darstellen. Die gute Nachricht ist, dass the year 2038 problem is nicht die unvermeidliche Apokalypse ist, als die sie in einigen Artikeln dargestellt wird, sofern proaktive Maßnahmen ergriffen werden.
Indem Sie sich der potenziellen Probleme bewusst sind und Lösungen priorisieren, können Sie die Auswirkungen der 2038 bug and leichter minimieren und so dazu beitragen, dass Ihre Systeme langfristig reibungslos und sicher laufen.
How can you begin addressing the 2038 bug in your environment? Ein Weg besteht darin, sich einen umfassenden Überblick über Ihre Anlagen und deren Software-Status zu verschaffen. By monitoring and scanning your endpoint devices (opens in a new tab) regularly, you can more easily identify devices running outdated code or software, replace any devices near the end of their life cycles, or update those using 32-bit systems that may be more prone to the 2038 bug.
Da die Änderung des Datentyps und des Codes, der den Fehler 2038 behebt, zu Fehlern, Kompatibilitätsproblemen und Leistungseinbußen führen kann, kann Ihnen ein Echtzeit-Überblick über Ihre Geräte dabei helfen, potenzielle Schwachstellen und Risiken für die Endpunktsicherheit besser zu vermeiden: (wird in einem neuen Tab geöffnet).
Erfahren Sie, wie die Plattform von Tanium darauf ausgelegt ist, die Verwaltung von Endgeräten in einer „ “-Umgebung zu vereinfachen: (öffnet sich in einem neuen Tab) . Sie bietet Funktionen, die Ihre Arbeitsabläufe optimieren und gleichzeitig die Nutzer stärken, beispielsweise durch die automatisierte Durchsetzung von Konfigurationen, die schnelle Reaktion auf Bedrohungen und die Befähigung der Mitarbeiter, häufige Probleme selbst zu beheben – alles in einer einzigen Lösung.
Darüber hinaus wird unser Ansatz für das „“ im Bereich des autonomen Endpunktmanagements (AEM) (öffnet in einem neuen Tab) weitere KI-gestützte Funktionen in die Tanium XEM-Plattform integrieren, um Automatisierungsempfehlungen und damit verbundene, hochgradig anpassbare intelligente Maßnahmen bereitzustellen, die unter Berücksichtigung von Sicherheit, Schutz und Skalierbarkeit konzipiert wurden.

