Грешка у ГПСД-у ове недеље ће вратити време 19 година уназад.

У ГПСД пакету, који се користи за издвајање прецизних података о времену и позицији са ГПС уређаја, идентификован је критичан проблем, због чега ће се време 24. октобра померити уназад 1024 недеље, тј. време ће бити промењено у март 2002. Проблем се појављује у издањима од 3.20 до укључујући 3.22 и решен је у ГПСД 3.23. Сви корисници система који користе ГПСД морају одмах да инсталирају ажурирања или да буду спремни за неуспех.

Ефекат грешке може довести до непредвидивих кварова на различитим системима, укључујући и оне који директно не користе ГПСД, пошто се ова апликација користи за добијање тачних података о времену на неким НТП серверима који се користе за временску синхронизацију. Када дође до временских померања у системима, могу настати проблеми са аутентификацијом (на пример, једнократне лозинке, Керберос и други механизми верификације приступа који имају датум истека више неће радити), са верификацијом сертификата и са прорачунима који манипулишу временским распонима ( на пример, израчунавање времена сесије корисника) . ГПСД је такође доступан на разним уграђеним и мобилним уређајима, од којих многи више не добијају ажурирања фирмвера.

ГПС протокол укључује бројач недеља који броји недеље од 5. јануара 1980. године. Проблем је у томе што се током емитовања само 10 битова додељује овом бројачу, што значи да се он прелива сваке 1023 недеље (19.7 година). Прво преливање догодило се 1999. године, друго 2019. године, а треће ће се десити 2038. године. Ове догађаје прате произвођачи и за њих су обезбеђени посебни руковаоци. Тренутно је паралелно уведен нови формат ГПС порука (ЦНАВ), у којем се за бројач додељује 13 бита (тј. преливање се очекује тек у 2137).

У ГПСД-у, у логици прилагођавања изгледа додатне секунде (додате ради синхронизације светских референтних атомских сатова са астрономским временом Земље), направљена је грешка због које ће 24. октобра 2021. 1024 бити прерано одузето од бројач недеља. Према аутору кода, померање је требало да се деси 31. децембра 2022. године, али превод овог датума у ​​број недеља није правилно извршен и у ствари број недеља дат у чеку је пао испод октобра 2021. (наведена вредност је 2180 уместо 2600). /* број недеље провере разумности, ГПС епоха, у односу на преступне секунде * Не ради добро са регресијама јер леап_сцондс * могу бити из пријемника или из БУИЛД_ЛЕАПСЕЦОНДС. */ иф (0 < сессион->цонтект->леап_сецондс && 19 > сессион->цонтект->леап_сецондс && 2180 < недеља) { /* претпоставимо прескочну секунду = 19 до 31. децембра 2022. * тако да је недеља > 2180 далеко у будућности , не дозволи то */ недеља -= 1024; ГПСД_ЛОГ(ЛОГ_ВАРН, &сессион->цонтект->ерроут, "ГПС недеља конфузија. Прилагођена недеља %у за скок %д\н", недеља, сесија->контекст->леап_сецондс); }

Извор: опеннет.ру

Додај коментар