March 5

Security Week 2410: проблемы високосного года

На прошлой неделе в сфере информационной безопасности произошло 29 февраля. Эта дата появляется в календаре каждые четыре года, что достаточно часто, чтобы учитывать ее в разнообразном программном обеспечении. Тем не менее каждый високосный год мы сталкиваемся с такими же происшествиями, как и при более масштабных календарных изменениях — проблемах 2000-го или 2038 года.

Типичным примером стал инцидент на заправках в Новой Зеландии. 29 февраля там отключились платежные терминалы компании Invenco Group. Сбой продолжался 10 часов, больше всего пострадали автоматические бензоколонки, в которых других вариантов оплаты нет. Проблема осложнилась тем, что софт для обработки платежей разрабатывала сторонняя компания, расположенная во Франции. Необходимость взаимодействия людей в разных часовых поясах задержала восстановление системы. Представитель одной из пострадавших сетей заправочных станций пообещал подготовиться к следующему високосному году заранее.

Это был далеко не единственный связанный с редкой датой случай. Качественная подборка различных инцидентов опубликована здесь, а на Хабре есть перевод этой статьи. Газета Le Parisien сообщила, что в ночь на 29 февраля в Париже перестало работать уличное освещение. Умные часы производства Titan Watches перестали отсчитывать время в 23:59 28 февраля. Особенно странно наблюдать ошибку календаря в коде для отображения времени и даты. Аналогичная неисправность возникла в часах Amazfit.

Посмотреть, как ошибка 29 февраля выглядит в реальном коде, можно в этом багрепорте открытого проекта Coreboot. Баг, связанный с подсчетом времени, был исправлен 29 февраля — слишком поздно для доставки обновленной версии пользователям и для обновления родственных проектов. Вот ничем не подтвержденный, но показательный анекдот с Hacker News: в китайской системе для подготовки свидетельства о браке есть проверка возраста молодоженов. Работает она так: берется текущая дата, из нее вычитается 22 года (минимальный возраст для заключения брака в Китае для мужчин). Так как даты 29 февраля 2002 года не существует, система возвращает ошибку. Похожая проблема наблюдается при попытке приобрести подписку Youtube Premium, если вам не повезло и ваша дата рождения — 29 февраля.

У компании Citrix перестала работать система оптимизации воспроизведения видео в виртуальном окружении. В продуктах Sophos сломался обработчик SSL/TLS-сертификатов. В Японии отказала система регистрации новых водительских прав. В Швеции, как и в Новой Зеландии, вышли из строя платежные терминалы в сети продуктовых магазинов. В сети Best Buy, по сообщениям пользователей, 29 февраля перестали принимать кредитные карты, срок действия которых истекает в феврале 2024 года, хотя технически они еще были валидны.

У множества компаний и индивидуальных разработчиков сломались билд-серверы. Приложение Apple Weather показывало неправильную среднюю температуру за месяц. В Ирландии у железнодорожной компании сломалось расписание поездов. Оператор общественного транспорта в Берлине просто попросил клиентов для просмотра расписания на 29 февраля выбирать в фирменном приложении 28-е. Есть и хорошие новости: в Швейцарии сотрудникам муниципалитета Цюриха выплатили двойную зарплату за февраль.

Мэтт Джонсон-Питт, владелец сайта Code of Matt, собирал подобные подборки багов в 2020 и 2016 годах. Что делать с этой явно массовой и регулярной проблемой, не очень понятно. Вышеупомянутый представитель новозеландской сети заправок на вопрос в соцсети, как избежать таких проблем в 2028 году, ответил: «Поставим напоминалку в календарь».

Что еще произошло

Специалисты «Лаборатории Касперского» опубликовали подробное исследование детского робота, подключенного к Интернету. В статье демонстрируется типичный подход к исследованию IoT-устройств — с изучением аппаратного обеспечения, анализом прошивки устройства и традиционным анализом сетевого трафика. Именно анализ сетевого трафика выявил серьезные проблемы в системе авторизации.

Свежее исследование американских ученых показывает, как можно обойти ограничения машинно-обученных чатботов, используя вместо запрещенных слов ASCII-арт. Суть работы можно кратко показать одной картинкой:

Стали известны новые детали инцидента с VPN-серверами Ivanti, о котором мы подробно рассказывали ранее. На момент обнаружения активно эксплуатируемых уязвимостей считалось, что проверка целостности кода сервера с помощью инструментов от производителя позволяет точно определить, был ли он взломан. Теперь же оказалось, по утверждению американского госагентства CISA, что в некоторых случаях утилиты Integrity Checking Tool от Ivanti не смогли определить факт взлома сервера, в котором был установлен веб-шелл.