Le 2038 bug refers à un problème connu sur la manière dont des millions de systèmes stockent et calculent les dates et heures. Il est prévu que ce bug entraîne des dates et heures incorrectes starting January 19, 2038.
Vous vous demandez peut-être « Une mauvaise date ? Un mauvais moment ? Alors quoi ! » Mais qu’en est-il d’une date erronée dans une base de données bancaire qui planifie régulièrement des transferts et des paiements ? Ou le mauvais moment sur un serveur qui entraîne l’expiration d’une certification SSL pour un site Web, exposant les visiteurs à des risques de sécurité potentiels ?
La réalité est que le 2038 bug isn n’est pas le premier et ne sera pas la dernière fois que les problèmes de calcul de date et d’heure ont affecté les systèmes que nous utilisons quotidiennement.
En fait, comme 2024 est une année bissextile, nous pouvons faire de nombreux parallèles entre les problèmes de comptabilisation des années bissextiles dans les systèmes et les 2038 bug to à venir nous aident à mieux comprendre ce qui peut entraîner des calculs de date et d’heure incorrects et leur impact potentiel.
Le 2038 bug is n’est pas un scénario hypothétique, mais une menace réelle qui pourrait affecter un large éventail de systèmes, tels que les systèmes/appareils intégrés, les appareils Internet des objets (IdO), les systèmes d’exploitation, les bases de données, les serveurs, les réseaux, les applications et les services Web. Cette publication vise à fournir une meilleure compréhension de ce que le 2038 bug is, y compris des exemples concrets et des meilleures pratiques que vous pouvez commencer à suivre aujourd’hui pour aider à prévenir les problèmes importants dans un avenir pas si éloigné.
Tout d’abord, nous fournirons un bref aperçu des problèmes similaires qui peuvent survenir lors du calcul des années bissextiles dans les systèmes pour aider à préparer le terrain pour comprendre la 2038 bug and plus complexe pourquoi elle est importante pour la sécurité des appareils.
Quelles années bissextiles peuvent nous apprendre sur les calculs de date et d ’heure
En 2024, le monde connaîtra un événement rare : une année bissextile. Cela signifie que février aura 29 days instead sur 28, ajoutant un jour supplémentaire au calendrier... et un jour non comptabilisé dans certains systèmes logiciels et matériels.
Pourquoi ? De nombreux systèmes existants contiennent une logique bissextile sursimplifiée qui peut conduire à des systèmes passant incorrectement de 28 février à 1 mars, ce qui, à son tour, peut entraîner des dysfonctionnements dans les calculs de date et d’ heure.
Une règle standard utilisée pour déterminer si une année est également une année bissextile est si elle est divisible par quatre. Cependant, il existe des exceptions supplémentaires qui ne sont pas fréquemment prises en compte dans ce calcul et qui peuvent le rendre incorrect : une année doit être divisible par quatre, sauf si l’ année est également divisible par 100, et à moins qu’elle ne soit également divisible par 400.
Prenons the year 2100 comme exemple. Étant donné que 2100 est divisible par quatre, certains systèmes peuvent supposer par erreur qu’il s’agira d’une année bissextile. En utilisant la logique de calcul de l’ année bissextile restante, nous pouvons déterminer que, bien que 2100 soit divisible par 100, il n’est pas divisible par 400. Donc, 2100 n’est en fait pas une année bissextile.
Ignorer un jour tous les quatre ans peut sembler être un détail mineur, mais des problèmes de calcul de date et d’heure comme celui-ci peuvent avoir de graves conséquences pour les systèmes et leurs utilisateurs.
Un autre exemple plus inquiétant de problèmes de calcul de la date et de l’heure est le prochain 2038 bug, qui pourrait potentiellement causer de graves problèmes pour les ordinateurs et les appareils. Examinons plus en détail ce qui est le cas et pourquoi.
Qu’est-ce que le 2038 bug ?
Le 2038 bug, également connu sous le nom de bug Millennium Unix ou Y2K38, est un problème qui découle de la manière dont certains systèmes stockent et représentent les valeurs de date et d’ heure à l’aide d’un nombre appelé horodatage.
Un horodatage est le nombre de secondes qui se sont écoulées depuis 1 janvier 1070, qui est appelé l’ époque Unix. Par exemple, the timestamp for January 1, 2024, à 01:00:00 UTC, is 1704070800, que means 1704070800 secondes se sont écoulées depuis l’ époque.
Cependant, certains systèmes utilisent un type de données appelé a signed 32-bit integer to stockent l’ horodatage dans le système d’ exploitation Unix et ses dérivés. A signed 32-bit integer can stockent uniquement des numéros de -2147483648 à 2147483647. Cela signifie que l’horodatage le plus élevé que ces systèmes peuvent gérer est 2147483647, ce qui correspond à to January 19, 2038, à 03:14:07 UTC. Après cela, l’ horodatage débordera et deviendra un nombre négatif, ce qui entraînera l’erreur de date et d’heure.
Par exemple, the timestamp for January 20, 2038, dans le temps Unix est 2147483648. Étant donné qu’il ne s’agit pas d’un horodatage valide à l’aide du format Unix, il débordera et deviendra -2147483648, ce qui correspond à 13 décembre 1901, à 20:45:52 l’UTC. Il s’agit de the year 2038 bug.
Types de systèmes affectés par le bug 2038
De nombreuses personnes anticipent que le bug causera de graves problèmes aux systèmes qui s’appuient sur des nombres entiers signés de 32 bits pour stocker la date et l’ heure, entraînant un comportement incorrect et imprévisible qui pourrait affecter la fonctionnalité et la sécurité, comme les plantages, les erreurs et la perte de données.
Explorons les types de systèmes connus pour utiliser des horodatages basés sur Unix pour stocker les dates et heures qui pourraient être affectées par le bug 2038 :
- Bases de données : plusieurs types de base de données, y compris les bases de données relationnelles et NoSQL
- Programmes C : programmes C et autres programmes écrits en langues basées sur C, tels que C++ et PHP
- Systèmes et appareils intégrés : appareils médicaux, systèmes de contrôle industriels pour les installations telles que les centrales électriques, les systèmes de transport, les voitures avec des systèmes informatiques embarqués qui surveillent le contrôle électronique de stabilité et de traction, les routeurs, les commutateurs, les capteurs, les capteurs et les appareils IoT tels que les appareils intelligents
- Systèmes d’exploitation : systèmes d’exploitation Windows, Linux et Linux comme Android et iOS pour les téléphones portables
Exemples récents de bug de l’année 2038
Certains systèmes montrent déjà l’ impact du 2038 bug in de plusieurs manières différentes.
Par exemple, les développeurs peuvent utiliser des dates qui sont loin dans le futur pour des choses telles que la planification, l’expiration ou le chiffrement, comme l’utilisation de la date 9999-12-31 comme espace réservé pour atteindre une période indéterminée ou infinie. Cependant, cette date est à peu près équivalente à 253402236000 et dépasse grandement la valeur maximale pour le format de temps Unix.
D’autres peuvent utiliser des dates futures au-delà de 2038 à des fins de test ou de simulation ou pour représenter des événements historiques ou géologiques qui se sont produits avant l’ère commune. Dans tous ces scénarios, l’année 2038 problem can entraîne des résultats incorrects, des erreurs et des résultats peu fiables.
Voici quelques exemples concrets de systèmes qui ont déjà rencontré des problèmes similaires liés à l’ utilisation des horodatages Unix :
- Les serveurs plantent : sur 13 mai 2006, AOLserver, le serveur Web open source d’AOL, planté en raison de la définition du délai d’expiration de la demande de base de données à 1 milliard de secondes, ou environ 32 years in dans le futur.
- Temps d’arrêt imprévus : un grand détaillant spécialisé a subi une panne matérielle VPN en raison de défaillances de l’autorité de certification (CA) provoquant des erreurs lors du calcul de deux dates : nonAvant (la date avant laquelle l’AC n’est pas valide) et nonAprès (la date d’expiration). En raison d’autres problèmes de protocole de temps réseau (NTP), l’autorité de certification pensait qu’il s’agissait de 2037, et comme l’autorité de certification signe des certificats valides pendant dix ans, elle a rencontré le problème 2038 lors du calcul des dates d’expiration.
- Rupture des systèmes : en 2014, le clip musical pour Gangnam Style a rompu les records et YouTube lorsqu’il hit 2 147 483 647 vues, car ce nombre de vues est également la valeur maximale que les systèmes Unix peuvent enregistrer.
Conseils sur la prévention du 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. Cependant, prendre les mesures préventives suivantes dès maintenant pour mettre à jour vos systèmes, applications et appareils pourrait faire une différence significative le 19 janvier prochain :
- L’utilisation d’un format 64 bits pour stocker et représenter les valeurs de date et d’heure étendra la plage des valeurs possibles à des milliards d’ années
- Utilisation de différents formats de date et d’heure pour stocker et représenter des valeurs, telles que le format ISO 8601
- Tester et auditer les problèmes potentiels de date et d’ heure pour identifier les codes, bibliothèques ou logiciels obsolètes qui peuvent être vulnérables au bug 2038
- Mettre à jour et corriger régulièrement le code, les logiciels et les appareils pour s’assurer qu’ils sont compatibles avec les dernières normes et technologies
De nombreuses entreprises sont déjà conscientes que the year 2038 problem and prend des mesures proactives pour mettre à jour their systems to use 64-bit data types ou représentations alternatives pour les horodatages et les valeurs de date. Par exemple, Apple a commencé à intégrer la prise en charge 64 bits dans macOS à partir de 2003, ce qui peut aider à garantir que les utilisateurs Mac ne rencontreront pas issues with dates after January 2038.
the year 2038 problem be peut-il être résolu ?
L’année 2038 bug and et l’ année 2024 bissextile sont des rappels que les calculs de date et d’heure ne sont pas triviaux, mais des aspects complexes et critiques du développement de code et de logiciels. La bonne nouvelle, c’est que the year 2038 problem is n’est pas l’ inévitable apocalypse que certains articles décrivent comme si des mesures proactives sont prises.
En étant conscient des problèmes potentiels et en hiérarchisant les solutions, vous pouvez plus facilement minimiser l’ impact du 2038 bug and , ce qui vous aide à garantir le bon fonctionnement et la sécurité de vos systèmes pendant longtemps .
Comment pouvez-vous commencer à traiter le 2038 bug in de votre environnement ? Une façon consiste à obtenir une visibilité complète sur vos actifs et leurs statuts logiciels. By monitoring and scanning your endpoint devices 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.
Étant donné que la modification du type de données et du code qui traite le bug 2038 peut introduire des erreurs, des problèmes de compatibilité et une dégradation des performances, avoir une visibilité en temps réel sur vos appareils peut vous aider à mieux prévenir les vulnérabilités potentielles et les risques de sécurité des endpoints.
Découvrez comment la plateforme Tanium est conçue pour simplifier la gestion des endpoints et offre des fonctionnalités pour rationaliser vos efforts tout en autonomisant les utilisateurs, comme l’ automatisation de l’application de la configuration, la réponse rapide aux menaces et la possibilité pour les employés de résoudre eux-mêmes les problèmes courants, le tout dans une seule solution.
De plus, notre approche de la gestion autonome des endpoints (AEM) intégrera d’autres capacités assistées par IA dans la plateforme Tanium XEM pour fournir des recommandations d’automatisation et des actions intelligentes associées, hautement réglables, conçues en gardant à l’esprit la sécurité et l’évolutivité.

