Ключи безопасности HTTPS взломали за миллисекунды — ими оказались числа 4 и 56

Это как-то даже не смешно

Ключи безопасности HTTPS взломали за миллисекунды — ими оказались числа 4 и 56

Секретные ключи, которые должны защищать 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 – G3BTLS156
EM DV TLS CA – G3CTLS230
EM EV TLS CA – G3BTLS115
EM EV TLS CA – G3CTLS56
EM OV TLS CA – G3BTLS155
EM OV TLS CA – G3CTLS4
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 (можно просто нажать) даст скидку на любой платный курс! А если пока не готовы покупать курс, у Практикума есть бесплатные вводные части.

Соцсети: Юлия Зубарева
Через год — лучше работа, выше зарплата
В «Яндекс Практикуме» становятся разработчиками с нуля. Выберите язык — веб, Python, Java, C++ — и учитесь. Джуны зарабатывают от 80 000 ₽, мидлы — от 150 000 ₽. Дальше — программы трудоустройства и компенсация, если пойдёте в Яндекс.
Вам может быть интересно
easy
[anycomment]
Exit mobile version