Системы GPS столкнулись с проблемой хронометража

Для качественной и безопасной работы Интернета, а также систем, в которых он задействован, важен точный хронометраж. Для определения точного времени многие системы используют спутниковую связь и GPSD. Это специальная компьютерная программа для сбора данных с приемника глобальной системы позиционирования. В частности, данное приложение используется для получения и обработки данных о точном времени и координатах.

GPSD используется NTP-серверами, автомобильными навигаторами, дронами, различными встраиваемыми и мобильными устройствами, навигационным оборудованием, которое руководит работой военной, авиационной и морской техники.

В протоколе GPSD была обнаружена серьезная ошибка, которая могла бы привести к непредсказуемым последствиям. Речь идет о самопроизвольном переключении времени на март 2002 года, то есть время бы сдвинулось на 19 лет назад. Ошибка должна была проявиться 24. 10 2021 года. Это бы привело к очень серьезным проблемам в работе систем, которые задействуют службу GPSD. В частности, пользователи могли бы столкнуться с проблемами аутентификации, сбоями в механизмах проверки доступа и др.

К счастью, ошибка была своевременно обнаружена и устранена в выпуске GPSD 3.23. Пользователям, которые используют данный протокол в работе оборудования, было предложено срочно установить обновление и тем самым предотвратить сбой.

Своим мнением по данному вопросу поделился Стивен Дж. Воган-Николс на страницах специализированного издания ZDNet. Земное время не является абсолютным, так как скорость вращения планеты непостоянна. Международная служба International Systems Service отслеживает данные изменения и каждые несколько лет корректирует показатели времени путем добавления високосной секунды. Благодаря ей можно синхронизировать эталонные мировые атомные часы с астрономическим временем.

Для синхронизации используется UTC — стандартная система всемирного координированного времени. UTC используется сетевым протоколом времени в NTP, то есть в Интернете. NTP обеспечивает синхронизацию устройств, которые подключены к Интернету.

NTP серверы синхронизированы с атомными часами и благодаря этому способны определить время. Протокол NTP состоит из первичного и вторичного уровней. Первичные серверы синхронизируются с национальными службами времени через модем, спутниковую или радиосвязь. Вторичные серверы синхронизированы с первичными.

Серверы первого уровня синхронизируются с атомными часами за счет использования GPSD. Данный протокол позволяет отслеживать координаты, скорость GPS-навигаторов, а также время. В коде была выявлена ошибка, связанная с откатом времени. Он был запланирован на ноябрь 2038 года, но вместо этого мог сработать в октябре нынешнего года.

В протоколе GPS есть счетчик недель. Он отсчитывает недели с января 1980 года. Каждые 1023 недели происходит перенаполнение счетчика и номер недели обнуляется. Это обусловлено тем, что номер недели GPS сигнала использует 10-битный код с максимальным значением 1023. Сдвиг времени  —  прогнозируемое событие, которое уже происходило в 1999 и 2019 годах. Следующее должно было произойти в 2038 году. Производители отслеживают эти события и используют специальные обработчики, чтобы предотвратить откат времени и сбой. Из-за ошибки этого могло не случиться, то есть время бы самопроизвольно откатилось назад и многие системы перестали бы работать корректно.

Гэри Миллер, который является сотрудником службы технического сопровождения GPSD, смог выявить наличие неисправности, что позволило своевременно внести изменения в код. В августе нынешнего года была выпущена новая версия с исправлениями. Однако даже это не может полностью исключить риски сбоев. Это происходит по нескольким причинам. Первая — наличие устройств, которые используют старые версии GPSD. В них исправления не будут внесены автоматически , то есть пользователям нужно самим позаботиться о проверке хронометража и обновлении протокола. В противном случае, по мнению Гэри Миллера, компания рискует столкнуться с серьезными проблемами из-за сбоя в определении времени.

К слову, в настоящее время внедрен новый формат GPS-сообщений. Теперь вместо 10-битного кода используется 13-битный. Благодаря ему увеличивается интервал между обнулениями счетчика недель. Следующее перенаполнение ожидается в 2137 году, что позволяет уменьшить риски возникновения сбоев в работе NTP-серверов и подключенного оборудования.