Compartilhe

Falamos recentemente aqui no blog sobre o Efeito 2038, que pode ser muito mais catastrófico que o bug do milênio. O problema está em uma combinação fatal do padrão POSIX, através do tempo e das limitações de hardware de 32 bits.

De forma resumida: os sistemas de 32 bits representam o tempo utilizando 32 dígitos binários, o que nos dá 2.147.483.647 combinações positivas e outras 2.147.483.647 combinações negativas. Já POSIX conta os segundos a partir de 1 de janeiro de 1970 até a meia-noite UTC (fuso horário das Ilhas Canárias).

Pois bem, para um computador de 32 bits, em 19 de janeiro de 2038, às 03:14:07 UTC, essa contagem vai para os números negativos, indo parar em 13 de dezembro de 1901. E, com isso, todos os problemas que devem aparecer nesse pacote.

 

 

 

Isso é realmente um problema para mim e para você?

 

Se a maioria dos computadores ou smartphones já usam sistema de 64 bits (onde esse problema só vai aparecer de novo daqui a séculos), por que devemos nos preocupar com o Efeito 2038?

Muitos dos sistemas e dispositivos incorporados da Internet das Coisas que estão em funcionamento nesse momento funcionam com sistemas operacionais de 32 bits, e dispositivos desse tipo ainda podem chegar ao mercado até 2038.

 

 

 

Habemus patch!

 

O POSIX suporta sistemas operacionais derivados do UNIX, ou seja, Linux, BSD e macOS. E a maioria deles nasceram como sistemas de 32 bits. A noa notícia é que os desenvolvedores estão trabalhando nisso, e a próxima atualização do kernel Linux (5.6, provavelmente) já vai contar com o primeiro patch que vai permitir que os sistemas de 32 bits continuem funcionando de forma correta após a madrugada de 19 de janeiro de 2038.

A correção ainda precisa ser testada em diferentes arquiteturas e dispositivos de hardware, e foi desenvolvido por Arnd Bergmann, colaborador regular do kernel Linux, que removeu as bibliotecas time_t/timeval/timespec que não são utilizadas, permitindo aos desenvolvedores compilarem uma nova biblioteca time_t, que pode seguir registrando datas após 19 de janeiro de 2038.

 

 

 

Não é tão simples assim

 

 

Porém, Bergmann admite que algumas interfaces não podem ser alteradas para um modo compatível com o patch, e estas precisam ser reconfiguradas para o modo CLOCK_MONOTONIC, que resolve o problema de forma provisória, mas que, por sua vez, tem o seu próprio Efeito 2106 para resolver. E não pense que 64 anos a mais para resolver o problema é tempo demais, pois foi esse pensamento que fez com que o Efeito 2038 se tornasse uma ameaça real.

O problema está ou não resolvido?

Sim… em partes.

O patch de Bergmann é um avanço, mas muitos dispositivos por aí cujos administradores de sistemas não se preocupam em atualizar seu kernel ou saber do que se trata o CLOCK_MONOTONIC estão ameaçados.

Lembrando que os dispositivos da Internet das Coisas muitas vezes podem levar a incidentes de segurança cibernética, pois a maioria desses dispositivos mantém as suas configurações de fábrica, incluindo senhas padrão e outros dados sensíveis, o que deixa um precedente muito perigoso.

É melhor todos começarem a se preocupar com o Efeito 2038 com maior ênfase. Só temos mais 18 anos para resolver a questão.

 

 

Via ZDnet & The Register


Compartilhe