Секретные ключи, которые должны защищать HTTPS-соединения и цифровые подписи, оказались обычными числами. Причем не самыми большими.
Исследователь обнаружил, что восемь промежуточных сертификатов компании eMudhra можно взломать практически мгновенно: их закрытые ключи — это значения вроде 4, 56 и 115.
Проблема затронула сертификаты для защищенных соединений с сайтами и для подписи программ. Основные браузеры уже начали блокировать скомпрометированные сертификаты, однако множество приложений, серверов и устройств могут по-прежнему им доверять.
Читают прямо сейчас:
TLS-протокол: как «замочек в браузере» шифрует трафик и защищает ваши данные — как сертификаты и пара ключей подтверждают, что сайт настоящий
Что такое электронная подпись и как она работает — как устроены сертификат и ключ подписи, которым удостоверяющий центр подтверждает подлинность
Что такое асимметричное шифрование — как работают открытый и закрытый ключи и почему настоящий закрытый ключ нельзя вычислить по открытому
Как обнаружили уязвимость
17 октября исследователь сообщил о проблеме Apple, Google, Microsoft, Mozilla и eMudhra. В тот же вечер Chrome начал блокировать скомпрометированные промежуточные сертификаты, а через несколько часов аналогичные меры принял Firefox.
20 октября Mozilla публично раскрыла информацию об инциденте и выпустила обновление, удаляющее корневой сертификат eMudhra. Google также подтвердила, что планирует исключить его из Chrome Root Store в версии 43.
Всего пострадали восемь промежуточных сертификатов, созданных в апреле 2025 года. Шесть из них использовались для TLS-соединений, а еще два — для цифровой подписи программ.
В мае того же года все восемь сертификатов также получили перекрестную подпись от Sectigo.
Но самое интересное здесь не количество затронутых сертификатов, а то, насколько легко оказалось получить доступ к их секретным ключам.
Вместо сотен цифр — одно маленькое число
Сертификаты использовали криптографию на эллиптических кривых P-384. В такой системе закрытый ключ представляет собой большое случайное число, на основе которого вычисляется открытый ключ. Последний содержится в сертификате и доступен всем желающим.
В нормальных условиях восстановить закрытый ключ по открытому практически невозможно. Для P-384 он должен иметь длину 384 бита — это около (10^{115}) возможных вариантов.
У eMudhra все оказалось гораздо проще. Закрытые ключи состояли почти целиком из нулей, а в конце стояло небольшое число.
Например, ключ со значением 4 фактически выглядел так:
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004
При этом корректный ключ должен содержать длинную последовательность случайных значений.
В результате вместо перебора астрономического количества вариантов достаточно проверить числа от 1 до 255 и сравнить полученные открытые ключи с тем, что указан в сертификате. На обычном компьютере это занимает доли секунды.
Исследователь проверил все восемь ключей и подтвердил, что каждый из них можно восстановить практически мгновенно.
Какие ключи оказались скомпрометированы
Проверка охватила все восемь сертификатов: шесть для TLS и два для подписи программ.
| Сертификат | Назначение | Закрытый ключ |
| EM DV TLS CA – G3B | TLS | 156 |
| EM DV TLS CA – G3C | TLS | 230 |
| EM EV TLS CA – G3B | TLS | 115 |
| EM EV TLS CA – G3C | TLS | 56 |
| EM OV TLS CA – G3B | TLS | 155 |
| EM OV TLS CA – G3C | TLS | 4 |
| EM OV CS CA – G3B | Подпись программ | 66 |
| EM OV CS CA – G3C | Подпись программ | 237 |
При этом внешне сертификаты выглядели совершенно нормально. Их структура и открытые ключи соответствовали требованиям, а используемая криптографическая кривая не выдавала никаких проблем.
Иными словами, обычная проверка сертификата не помогала обнаружить уязвимость. Чтобы найти проблему, требовалось проверить сами ключи и убедиться, что они действительно обладают необходимой стойкостью.
Почему простого отзыва сертификатов недостаточно
Обычно при компрометации закрытого ключа предполагается, что злоумышленник каким-то образом его украл. В случае eMudhra ситуация серьезнее: ключи можно было восстановить по публичным сертификатам с самого момента их появления.
Сертификаты были созданы в апреле 2025 года. Это означает, что потенциально уязвимый период растянулся примерно на 17 месяцев. Определить, успел ли кто-нибудь воспользоваться ключами для реальных атак, невозможно.
Google отметила, что сертификаты, выпущенные через эти центры, не обнаруживались в журналах Certificate Transparency. Это хорошая новость для пользователей Chrome: браузер использует такие журналы для проверки публичных TLS-сертификатов.
Но есть нюанс: Certificate Transparency помогает выявлять неправомерную выдачу сертификатов, а не предотвращает ее. Кроме того, многие приложения вообще не проверяют эти журналы.
Кто еще может оказаться под угрозой
Современные версии Chrome и Firefox блокируют скомпрометированные сертификаты. Safari тоже использует Certificate Transparency. Однако за пределами браузеров защита часто устроена иначе.
Многие программы используют локальное хранилище доверенных сертификатов и по умолчанию не проверяют, был ли конкретный сертификат отозван. Поэтому даже после официального отзыва сертификатов eMudhra такие приложения могут продолжать принимать их.
Потенциально под угрозой оказываются:
- Установщики и автообновления. Некоторые инструменты скачивают программы и скрипты по HTTPS без дополнительной проверки цифровой подписи. Подмена такого соединения может привести к запуску вредоносного кода.
- Системы CI/CD. Сборочные серверы загружают зависимости и публикуют готовые приложения, часто имея доступ к токенам, ключам подписи и другим секретам.
- Серверные API. Речь идет о соединениях с платежными сервисами, облачными платформами и другими системами, которые передают конфиденциальные данные.
- IoT и встраиваемая техника. Роутеры, камеры, телевизоры, автомобили, медицинские устройства и промышленные контроллеры могут годами работать с устаревшими хранилищами сертификатов.
- Программы для Windows. Два скомпрометированных сертификата предназначались для подписи программ. Если система не проверяет отзыв сертификатов должным образом, вредоносное ПО может выглядеть как приложение от легитимного издателя.
Что делать пользователям и администраторам
Главная рекомендация — обновить все, что использует собственное хранилище доверенных сертификатов. В частности, стоит проверить обновления для:
- системного пакета
ca-certificates; - библиотеки
certifi; - Node.js и Homebrew;
- базовых образов контейнеров и серверных окружений.
Если приложения поставляются со встроенным хранилищем сертификатов, его тоже необходимо обновить.
Сложнее всего ситуация с устройствами, которые редко получают обновления или уже не поддерживаются производителем. Старые роутеры, принтеры, телевизоры и другая техника могут продолжать доверять скомпрометированным сертификатам вплоть до окончания срока их действия — в отдельных случаях до июля 2039 года.
Скидка на все курсы Практикума
Раз вы дочитали эту новость до конца, с технологиями у вас всё в порядке. А если давно присматривались к разработке, аналитике, нейросетям, тестированию или кибербезопасности, сейчас туда можно зайти дешевле.
Промокод KOD (можно просто нажать) даст скидку на любой платный курс! А если пока не готовы покупать курс, у Практикума есть бесплатные вводные части.
