No hay fecha que no llegue ni plazo que no se cumpla, el efecto 2038 y la muerte de los 32 bits
By: Date: diciembre 11, 2014 Categories: En la opinion de...,Personal

Alguna vez escuchaste del efecto Y2K ¿ no ? entonces lee este articulo El fin del mundo ¿Otra vez?

Aunque son muy parecidos ocurrirán de forma diversa, el primero fue causado por IBM y Microsoft que no eran compatibles con POSIX, en el 2000 todos los que usábamos GNU/Linux como este servidor nos burlábamos de ellos. Que tiempos eran buenos años. Pero el Karma se regresa.

Los sistemas basados en POSIX como lo es Unix y cualquier Unix compatible como GNU/Linux, FreeBSD, incluso otros pseudo POSIX como Windows NT, XP a 32 bits tendrán un final muy violento en diciembre del 2038, ninguna maquina de 32bits deberá estar operativa a llegar el diciembre del 2038 y menos si esa máquina es responsable de algún servicio importante como banca o servicios básicos como alumbrado público por citar ejemplos.

Explicar el problema es fácil.

Dentro de la norma de POSIX se especifica que para determinar la fecha se usa la cantidad de segundos que han transcurrido desde las 0 horas del primero de enero de 1970, cada segundo a partir de ese momento es almacenado en una variable de 32 bits con signo, el máximo numero positivo alcanzado seria literalmente 2 Gigabytes ( segundos en números enteros ) poco mas de 2 millones de segundos ( 2.147.483.647 ) al momento de transcurrir el segundo 2.147.483.64”8” habrá un desbordamiento de buffer en el mejor de los casos la fecha se moverá a un signo negativo, en otro simplemente colapsa el sistema operativo y sus aplicaciones en general.

Si eres un programador avanzado seguro tomas la variable time_t de lenguajes de programación en C o basados en C como tipo de dato ya sabes que todos tus programas van a fallar llegado el diciembre del 2038

Pienso que la mayoría de las empresas se están preparando uno de los motivos de por qué usar sistemas operativos en 64 bits es palear este problema, ojala todo fuera tan fácil como eso.

El problema es que miles de millones de aplicaciones han sido compiladas en los 32 bits incluso los compiladores de esas aplicaciones fueron compilados así, aunque la maquina y su sistema operativo soporte una variable de time_t de 64 bits la aplicación que corre sobre el sistema operativo de 64 bits no lo soportara, de que sirve tener un sistema operativo que puede sobrevivir el año 2038 si muchas de las aplicaciones importantes no se podrán ejecutar a menos que alguien recompilara todo esos programas viejos asumiendo que el código fuente está disponible, que todos los compiladores han sido recompilados para escribir código con time_t en 64 bits. Si tu usas un Windows en 64 bits que en este momento es lo mas probable tal vez no lo hayas notado pero muchas de tus aplicaciones y herramientas que corren sobre tu Windows de 64 bits fueron compiladas en 32 bits, aun hay mas aplicaciones funcionales en 32 bits en uso que sus versiones de reemplazo en 64 bits.

Tal vez lo más sensato no sería recompilar y tratar de reparar todas las aplicaciones viejas de 32bits, tal vez lo menos doloroso sería volver a escribir las aplicaciones tomando la previsión de que sean en 64 bits desde su origen, pero el tiempo se agota.

Aunque en el año 2000 nos burlábamos de los sistemas operativos de Microsoft , los usuarios de GNU/Linux éramos consientes del problema del año 2038, pero 38 años después se veía como algo lejano, ahora solo faltan 23 años para llegar al límite, siento que nos faltaría tiempo para cambiar esto.

Un ejemplo de esto, solo por poner un entorno paranoico apocalíptico , el internet está lleno de millones de ruteadores, estos ruteadores originalmente corren en 32 bits de hecho el mismo protocolo de internet el IPV4 es un protocolo de 32 bits, si no han cambiado todos los ruteadores en internet para el 2038 algunas rutas en el internet fallarían dejando zonas sin ruteabilidad , de nada sirve que el ruteador destino sea de 64 bits si del que depende es de 32 bits, tendría que haber sido cambiado completamente todos esos ruteadores pilares de internet en todos los países del mundo, por supuesto que para entonces tal vez ya estamos usando IPv6, solo que IPv6 aun con las mejores intenciones aun no despega ni siquiera por que ya se agotaron todas las ip del IPv4

Aun queda tiempo antes del día del juicio para los sistemas POSIX , más vale que estén trabajando en arreglarlo porque no hay día que no llegue ni fecha que no se cumpla y el efecto del año 2038 es una cita con el destino que es ineludible e inaplazable.

Por supuesto que usar una variable de 64 bits tampoco es una solución definitiva, por que eventualmente los 64 bits que la conforman también se desbordaran, pero para cuando esto ocurra ya no será problema de nosotros si no de las generaciones futuras quienes maldecirán el problema que les habremos heredado y correrá por cuenta de ellos solucionar nuestros errores.

4 thoughts on “No hay fecha que no llegue ni plazo que no se cumpla, el efecto 2038 y la muerte de los 32 bits

  1. Mozilla Firefox 34.0 Linux

    Que mierda es tu pagina, recuerdo que en el pasado lograr tumbar tu pagina era algo “impresionante” y tu hasta le hacias bromas a los que lo intentaban y fallaban, pero que descepcion me haz dado >_< es facilisimo dejarte la web offline por todo el tiempo que yo quiera, super facil, y como prueba despues de que te envie este comentario, voy a dejarte tu web offline por 30 minutos o quizas por mas tiempo (cuado termine posteare el tiempo que duro tu web offline y la hora en la que empezo y la hora en la que termino todo(hora de de argentina y mexico)).

    Y estoy usando VPN + modo de navegacion privada + estoy usando un internet publico ;D no podras rastrearme jejejeje 😀 FUCK YEAH esto va para todos los que querais hacer lo mismo, para que vean que si es posible, facil y rapido (si quieren saber como hacerlo tendran que averiguarlo uds mismo, lo siento)

    PD: Cuantos recuerdos, adivina quien soy 😉

    Ya esta!

    Te tumbe tu pagina web 😀 , aqui te muestro los resultados y como fue.

    El ataque duro 46 minutos.

    Comenzo a las:

    12:57 AM, Jueves 12 de diciembre 2014 (Hora Argentina)

    9:57 PM, Jueves 11 de diciembre 2014 (Hora Mexico D.F.)

    Y termino a las:

    1:43 AM, Viernes 12 de diciembre 2014 (Hora Argentina)

    10:43 PM, Jueves 11 de diciembre 2014 (Hora Mexico D.F.)

    A cada 3 minutos el ataque se detenia por unos cuantos segundos y volvia a iniciarse durante 3 minutos mas y asi sucesivamente. Aumente el poder del ataque Durante 5 minutos. La direccion ip de tu pagina web cambio durante el ataque. El puerto 80 se cerraba (entre otros mas que tienes abiertos). Durante los 5 minutos que aumente el poder del ataque nisiquiera se podia hacer ping a tu web.

    Y bueno creo que eso es todo 🙂

  2. Mozilla 11.0 Windows 7

    Podrias ser CascanolaHack , solo asi se justificaría todas las tarugadas que acabas de escribir, mira vamos a citar un poquito de tu comentario

    El puerto 80 se cerraba

    Mira super hacker, ya notaste que mi pagina tiene candadito ahí en la barra de direcciones, Si, es una conexión cifrada con TLS, dime que se siente ser hacker y no saber que mi pagina no responde por el puerto 80 sino por el 443

    Si no fuera por estos hacker, las noches nerdoñas de video juegos con los amigos y las peleas facebookqueras entre Haxors no se como sobreviviría el estrés de la semana

    1. Mozilla Firefox 34.0 Linux

      Ah bueno disculpa es que como no note el candadito y ademas estaba atacando por el puerto 80 XD y como la mayoria de las paginas a las que yo entro usando un candadito verdesito y el da esta pagina es gris XD pues no me di cuenta. Y ademas si no lo sabes tienes el puerto 80 abierto XD y pues por ahi fue el ataque que querias? XD

      Que bueno que te relajas conmigo 😀 gracias.

  3. Mozilla Firefox 34.0 Ubuntu Linux

    Has dado en el clavo, es por eso que es tan difícil hackearme , la mayoria de los haxors son haxors de caja, atacan lo mismo una y otra vez, haces un cambio en el entorno y quedan totalmente fuera de combate. algo tan simple como que el candado sea gris o que la configuracion sea ligeramente diferente, por ejemplo yo no uso el archivo .htaccess, haces que los super hacker se quiebren, sabes cuantos pobres diablos se quiebran por no encontrar el .htaccess como si obligatoriamente se tuviera que llamar asi ese archivo. JAJAJAJA

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *