Когда вы выходите в интернет, в адресной строке появляется маленький замок — это значит, что подлинность сайта проверена. Проверка опирается на цифровой сертификат, выданный удостоверяющим центром. Можно представить это так: удостоверяющий центр выдаёт сайту удостоверение личности и ставит на нём печать с узором из цифр.
У одного удостоверяющего центра было 8 печатей с такими узорами: 4, 56, 66, 115, 155, 156, 230, 237.
В норме это должно быть длинное число — больше сотни цифр, а на деле оно не превышает трёх.
Поэтому любой мог взять открытый сертификат и перебрать все 256 вариантов — на копирование печати ушло бы меньше секунды.
Печать не крали. Она всё это время оставалась на месте, к серверу никто не прикасался. Просто узор был слишком коротким.
Тот, кто обнаружил проблему, поставил каждую из этих 8 печатей под одной и той же фразой и отправил её нескольким браузерным компаниям: «У нас тут проблема — Wayne». Firefox отозвал сертификаты через 3 часа, Google — в тот же день, Apple и Microsoft последовали за ними в течение двух дней.
Эти 8 печатей были созданы в апреле 2025 года, с интервалом в 18 месяцев.
При проверке сертификата система проверяет только, «правильно ли поставлена печать», и никогда не проверяет, «достаточно ли длинный и случайный у неё узор».
Поэтому печать с узором 4 и настоящая длинная печать со случайным узором проходят проверку одинаково: обе считаются действительными.
И в журналах нигде не появится запись: «Этот сертификат заверен ненадёжной печатью». Все системы показывали нормальную работу на протяжении 18 месяцев. В 2008 году в Debian произошла похожая ошибка: сбой случился при генерации, а проверка не смогла его обнаружить.
Ещё один, более крупный удостоверяющий центр поручился за эти 8 печатей — и вместо 8 сертификатов стало 16.
Если бы кто-то использовал их, чтобы выдать себя за биржу или кошелёк, которыми вы обычно пользуетесь, замок в браузере всё равно был бы зелёным, а адрес сайта выглядел бы правильным. Вы бы не узнали, что увидел или изменил посредник, и никаких записей об этом не осталось бы.
Хорошая новость: этими 8 печатями ещё не подписывали сертификаты для конкретных сайтов, и публичных сообщений об их использовании злоумышленниками нет.
Плохая новость: ваши образы Docker, старые серверы, камеры и программы, которые не проверяют, «не отозван ли сертификат», не обновятся сами. Они по-прежнему доверяют всем 16 сертификатам.
Я склонен считать это системной проблемой, а не чьей-то ошибкой по невнимательности. Аудит не выявил проблему, потому что проверял процесс.
Неужели в следующий раз её снова обнаружит кто-то, кому просто случайно пришло в голову всё пересчитать?
У одного удостоверяющего центра было 8 печатей с такими узорами: 4, 56, 66, 115, 155, 156, 230, 237.
В норме это должно быть длинное число — больше сотни цифр, а на деле оно не превышает трёх.
Поэтому любой мог взять открытый сертификат и перебрать все 256 вариантов — на копирование печати ушло бы меньше секунды.
Печать не крали. Она всё это время оставалась на месте, к серверу никто не прикасался. Просто узор был слишком коротким.
Тот, кто обнаружил проблему, поставил каждую из этих 8 печатей под одной и той же фразой и отправил её нескольким браузерным компаниям: «У нас тут проблема — Wayne». Firefox отозвал сертификаты через 3 часа, Google — в тот же день, Apple и Microsoft последовали за ними в течение двух дней.
Эти 8 печатей были созданы в апреле 2025 года, с интервалом в 18 месяцев.
При проверке сертификата система проверяет только, «правильно ли поставлена печать», и никогда не проверяет, «достаточно ли длинный и случайный у неё узор».
Поэтому печать с узором 4 и настоящая длинная печать со случайным узором проходят проверку одинаково: обе считаются действительными.
И в журналах нигде не появится запись: «Этот сертификат заверен ненадёжной печатью». Все системы показывали нормальную работу на протяжении 18 месяцев. В 2008 году в Debian произошла похожая ошибка: сбой случился при генерации, а проверка не смогла его обнаружить.
Ещё один, более крупный удостоверяющий центр поручился за эти 8 печатей — и вместо 8 сертификатов стало 16.
Если бы кто-то использовал их, чтобы выдать себя за биржу или кошелёк, которыми вы обычно пользуетесь, замок в браузере всё равно был бы зелёным, а адрес сайта выглядел бы правильным. Вы бы не узнали, что увидел или изменил посредник, и никаких записей об этом не осталось бы.
Хорошая новость: этими 8 печатями ещё не подписывали сертификаты для конкретных сайтов, и публичных сообщений об их использовании злоумышленниками нет.
Плохая новость: ваши образы Docker, старые серверы, камеры и программы, которые не проверяют, «не отозван ли сертификат», не обновятся сами. Они по-прежнему доверяют всем 16 сертификатам.
Я склонен считать это системной проблемой, а не чьей-то ошибкой по невнимательности. Аудит не выявил проблему, потому что проверял процесс.
Неужели в следующий раз её снова обнаружит кто-то, кому просто случайно пришло в голову всё пересчитать?