Удостоверяющий центр DigiCert предупредил клиентов о массовом отзыве части SSL/TLS-сертификатов — причиной стала техническая ошибка в процедуре проверки владения доменом (Domain Control Validation, DCV). Компания заявила, что аннулирует сертификаты, выданные с нарушением требований DCV, в течение 24 часов после уведомления.
Что пошло не так
Перед выдачей сертификата DigiCert проверяет, действительно ли заявитель контролирует домен, для которого запрашивается сертификат. Один из методов, одобренных CA/Browser Forum, — размещение на домене DNS-записи CNAME со случайным значением, которое выдаёт DigiCert. Компания затем делает DNS-запрос и сверяет значения.
По правилам это случайное значение должно начинаться с символа подчёркивания — так исключается совпадение со значением реального поддомена. Как выяснилось, в части сценариев проверки через CNAME DigiCert не добавляла этот префикс.
Проблема тянется с 2019 года, когда компания переработала архитектуру системы валидации. Код, добавлявший подчёркивание, был удалён и впоследствии возвращён «в некоторые пути обработки», но не во все — один из сценариев не добавлял префикс автоматически и не проверял его наличие.
«Отсутствие автоматического добавления подчёркивания не было выявлено в ходе кросс-функциональных ревью перед развёртыванием обновлённой системы, — сообщила DigiCert. — Регрессионное тестирование у нас было, но оно проверяло рабочие процессы и функциональность, а не структуру самого случайного значения». Компания также признала, что не сравнивала логику работы старой и новой систем для всех сценариев — иначе проблему обнаружили бы раньше.
11 июня 2024 года DigiCert в рамках проекта по улучшению пользовательского опыта переработала процесс генерации случайных значений и убрала ручное добавление префикса — и снова не сверила это изменение с логикой обработки подчёркивания в старой системе.
Масштаб инцидента
Несоответствие обнаружилось лишь несколько недель спустя, когда об аномалии в случайных значениях сообщил один из клиентов — это и запустило внутреннее расследование. По данным DigiCert, инцидент затронул около 0,4% всех проверок валидации доменов, что, согласно обновлению в связанном отчёте Bugzilla, соответствует 83 267 сертификатам и 6807 клиентам.
Клиентам, попавшим под отзыв, рекомендовали как можно быстрее перевыпустить сертификаты: войти в личный кабинет DigiCert, сформировать запрос на подпись сертификата (CSR) и пройти DCV заново.
Ситуация привлекла внимание американского Агентства по кибербезопасности и защите инфраструктуры (CISA), которое выпустило предупреждение: отзыв сертификатов «может привести к временным сбоям в работе сайтов, сервисов и приложений, использующих их для защищённой связи».
Отсрочки для критической инфраструктуры и финал истории
DigiCert сообщила, что продолжает работу с пострадавшими клиентами — многие успели переоформить сертификаты вовремя. Часть клиентов подала заявки на отсрочку отзыва из-за исключительных обстоятельств, включая операторов критической инфраструктуры, которые физически не успевали перевыпустить и развернуть все сертификаты без критических сбоев в обслуживании. Приём новых заявок на отсрочку компания прекратила, а срок для окончательного отзыва всех затронутых сертификатов был установлен не позднее 3 августа 2024 года, 19:30 UTC.
Впоследствии DigiCert подтвердила, что по состоянию на этот срок все выявленные TLS-сертификаты, затронутые инцидентом с CNAME-валидацией, были отозваны.
Компания Censys, специализирующаяся на анализе поверхности атаки, привела свою статистику: по состоянию на 6 августа 2024 года было отозвано 98,82% уникальных конечных сертификатов, затронутых инцидентом и обнаруженных на публичных хостах. По данным Censys, DigiCert занимает четвёртое место среди удостоверяющих центров по распространённости — после Let's Encrypt, GoDaddy и Amazon. Особенно заметно пострадала Vodafone — свыше 2100 затронутых уникальных сертификатов, что говорит о сильной зависимости компании от DigiCert. В пятёрку наиболее пострадавших компаний также вошли Bloomberg, ABB, Yahoo и Hitachi.
По состоянию на 14 августа 2024 года Censys всё ещё фиксировала более 22 600 затронутых сертификатов на публичных хостах — это примерно на 14% меньше, чем неделей ранее.
Источник: The Hacker News.