Логотип
Баннер в шапке 1
Баннер в шапке 2
2017/08/03 13:00:02

Проблема 2038

.

2017: Прогноз F-Secure

Глава исследовательского подразделения F-Secure Микко Хиппонен, выступая на конференции Black Hat USA 2017 (26-27 июля), дал серию прогнозов на ближайшие два десятилетия. По мнению Хиппонена, значимость экспертов по информационной безопасности к 2038 году возрастет в несколько раз. [1]

Презентация эксперта носила название «Эпохалипсис: что нас ждет в ближайшие 20 лет». В ней Хиппонен перечислил ряд ключевых вызовов для индустрии безопасности, с которыми придется иметь дело в ближайшие два десятилетия.

F-Secure предсказывает «эпохалипсис» и угрозу от Интернета вещей

Первым в списке идет так называемая проблема 2038 года [2], которую уже сравнивают с так называемой «проблемой 2000 года».

Проблема 2038 года заключается в том, что в старых 32-битных системах, выпускавшихся до середины 1990-х используется тип данных time_t для хранения секунд в виде signed int (32-битного целого со знаком). Самая поздняя дата, которая может быть представлена таким форматом в стандарте POSIX — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).Российский рынок BI-систем: оценки, перспективы, крупнейшие вендоры и интеграторы. Обзор TAdviser 185.6 т

Более позднее время заставит такое поле данных стать отрицательным, как бы закольцевав таким образом время (поскольку отрицательное число может быть воспринято программами как время в 1970 или 1901 году в зависимости от реализации). В результате могут быть произведены ошибочные вычисления или результаты.

Простого решения для проблемы 2038 года не существует. Изменение определения типа time_t на 64 бита нарушит бинарную совместимость программ, существующих хранимых данных и всего другого, использующего представление времени в бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют разницу во времени.

И хотя сейчас идет активная замена старых систем, еще в 2010 году сотни тысяч устройств с 32-битным представлением целого в time_t вводились в строй. Успеют ли их заменить к 2038 году? Это сложный вопрос.

Хиппонен отметил, что меры, принятые перед 2000 годом, позволили минимизировать проблему Y2K, хотя и не нейтрализовали ее полностью.

«
До 2038 года еще далеко. Многие думают, что у нас еще куча времени, чтобы все исправить, но уверяю вас, в итоге нам будет не хватать времени, — отметил Хиппонен.
»

Примечания