Security Operations

Cómo manejar las fechas y las horas entre distintas zonas horarias

Las fechas, las horas y las zonas horarias son un problema.

El horario de verano empeora las cosas, porque muchos países cambian los relojes dos veces al año para ajustarse a la hora de la salida y la puesta del sol en relación con la jornada laboral normal.

En España, por ejemplo, los relojes se ajustan a la hora del meridiano de Greenwich más una, pero los adelantamos a GMT+2 a finales de marzo y los retrasamos a finales de octubre.

En gran parte de Norteamérica se hace algo muy, muy parecido, aunque molesto, fijando las fechas en las que cambian los relojes a principios de noviembre y a mediados de marzo.

Así que nuestros colegas de Boston siempre van cinco horas por detrás de nosotros en Madrid, excepto un breve período de otoño y primavera en que no lo están.

Los que se oponen al ahorro de luz diurna lo tachan de complejidad inútil que no necesitamos en la era de Internet, lo cual es ligeramente irónico, ya que los dispositivos de la era de Internet suelen ajustarse automáticamente. Los defensores del sistema señalan que, para muchas personas, ya no es posible cambiar su jornada laboral para adaptarla a la estación del año, porque sus días se rigen por el reloj y no por la posición del sol, por lo que cambiar el reloj para adaptarlo a la estación es la alternativa más sencilla.

Los cambios del horario de verano se consideran perjudiciales

De hecho, los problemas del horario de verano han surgido este mes cuando Chile ha decidido alterar temporalmente su fecha habitual de cambio de reloj (para añadir aún más complejidad, los cambios de reloj van en sentido contrario en el hemisferio sur, porque las estaciones se invierten).

El cambio temporal se anunció para evitar confusiones el día del reciente referéndum constitucional del país.

El referéndum tuvo lugar el 4 de septiembre de 2022, el día en que los relojes normalmente se adelantan para el verano.

Por ello, el cambio de reloj se pospuso una semana, para evitar que las personas que se olvidaran de reajustar sus relojes antes de irse a la cama el sábado por la noche pudieran equivocarse en la lectura de la hora el domingo, y acabaran llegando a su colegio electoral local después de que hubiera cerrado, sin darse cuenta de que llegaban con una hora de retraso porque sus relojes estaban una hora atrasados.

Incluso Microsoft ha tenido que advertir a sus usuarios de que los relojes de Windows, el sistema operativo, los horarios de las reuniones, etc., podrían estar desajustados, ya que el gobierno chileno no anunció este cambio temporal hasta el mes pasado, lo que requirió una actualización de última hora de la base de datos de zonas horarias de Windows.

¿Y si tu reloj está bloqueado?

Al menos, los usuarios de sistemas operativos tradicionales pueden realizar ellos mismos ajustes temporales de la zona horaria si lo necesitan.

Algunos dispositivos dependen totalmente de las actualizaciones del firmware para mostrar la hora local correctamente.

Por ejemplo, tengo un “ordenador” en la bici que utilizo como brújula y medidor de distancias cuando salgo a dar una vuelta (es increíble la fluidez y la naturalidad con la que se puede navegar sin mirar nunca un mapa si se puede controlar la hora, la distancia y la dirección) y aunque se puede jugar con todo tipo de ajustes almacenados en el dispositivo, como la masa corporal (aparentemente utilizada para adivinar la potencia), los ajustes del mapa, el formato de referencia de la ubicación, el tamaño de la fuente y más, lo único que no se puede hacer es ajustar la fecha y la hora manualmente.

Sencillamente, no hay forma de hacerlo, al menos para las aplicaciones integradas, y ni siquiera puedes modificarlas o hackearlas tú mismo, ya que todo el equipo ejecuta una versión de Linux firmada digitalmente y bloqueada por el firmware.

Puedes escribir tus propias aplicaciones adicionales, y pueden aplicar la fecha y la hora como quieran, pero tienen que ser compiladas para ejecutarse en una máquina virtual dedicada dentro de una sandbox algo limitada.

La teoría es que, si el dispositivo funciona correctamente, conoce la hora absoluta a través de su receptor GPS, con una precisión significativamente mejor que la de los cronómetros mecánicos más grandes, caros y complejos jamás fabricados.

También sabe en qué parte del planeta se encuentra con una precisión de menos de 10 metros (puede saber por qué carril iba, o ver por dónde adelantaba a los autobuses, cuando repasé una ruta que había grabado), por lo que puede calcular en qué zona horaria física se encuentra, y establecer la hora local con exactitud.

Bueno, puede hacerlo si su base de datos de zonas horarias, que muestra la ubicación exacta de los límites de las zonas horarias, y los desplazamientos necesarios de UTC (el reemplazo moderno de GMT en los relojes digitales) están actualizados.

De lo contrario, es posible que tengas que sumar o restar una hora, si el dispositivo se equivoca.

O media hora, porque algunas regiones utilizan husos horarios de 30 minutos.

(Es sorprendente la cantidad de gente que se niega a aceptar que existen zonas horarias no enteras, insistiendo en que “todas las zonas horarias van en horas”, lo que será una novedad para cualquiera que esté en la India o en el sur de Australia).

O en 15 minutos.

(Intenta visitar Nepal o Eucla).

¿Ayudará la prohibición del horario de verano?

Aquellos a los que no les gusta el horario de verano, ya sea porque piensan que es una afrenta al orden natural de las cosas, o porque nunca se acuerdan de cambiar los relojes manuales de su casa, asegurarán que la prohibición del “horario de verano” resolverá todos estos problemas.

Sin embargo, no resolverá el problema de cómo dar sentido a los registros informáticos y cómo utilizarlos en la resolución de problemas de TI, especialmente en la respuesta a las amenazas de ciberseguridad, donde la secuencia en la que ocurrieron las cosas puede ser muy importante.

Por ejemplo, si los registros muestran que los delincuentes entraron casi con toda seguridad a las 03:30 de la tarde del martes, basándose en un exploit del que se abusó por primera vez a esa hora ¿la creación de la nueva cuenta con fecha de las 03:00 realmente ocurrió antes de que se activara el exploit, o podría haber sido después?

¿Los cambios de configuración con fecha de 04:00 son los que hay que revertir, porque ocurrieron después de que comenzara el ataque, o son cambios que hay que mantener porque los registros están en diferentes zonas horarias?

¿Qué hacer?

Hay una cosa que se puede hacer para ayudar, tanto como creador de archivos de registro como consumidor de archivos de registro.

Muestra siempre las marcas de tiempo en UTC (tiempo universal coordinado), eliminando así las zonas horarias de los archivos de registro, y registra siempre las marcas de tiempo en un formato sencillo, inequívoco y ordenable alfabéticamente.

En pocas palabras: consulta el RFC 3339 y utiliza siempre las marcas de tiempo en Zulú.

Estas tienen un aspecto similar al siguiente:

2022-09-08T17:30:00.00000Z

La fecha siempre tiene cuatro dígitos en los años, así que no hay riesgo de reinventar el error del milenio.

Las horas no necesitan AM y PM (los ordenadores pueden contar hasta 24 con la misma facilidad que se puede contar hasta 12), lo que elimina la ambigüedad.

Y esa Z al final denota que la fecha y la hora mostradas no tienen ningún ajuste de zona horaria aplicado, de modo que cualquier entrada de registro de tiempo Zulú puede ser directamente comparada para determinar la secuencia en la que tuvieron lugar.

La respuesta a las amenazas es mucho más fácil, y mucho más segura, cuando tus marcas de tiempo no son ambiguas, por lo que recomendamos este enfoque a todo el mundo.