На этой неделе интернет поспешил заблокировать потенциально поддельные сертификаты: 17 октября исследователь по имени Wayne сообщил разработчикам браузеров, что восемь приватных ключей компании eMudhra скомпрометированы. Это серьёзно, потому что eMudhra входит в число удостоверяющих центров, которым браузеры доверяют выдавать SSL-сертификаты для сайтов — компания выпустила более 60 миллионов сертификатов.

Суть проблемы проста: приватный ключ сертификата — это мастер-печать, которой подписываются все выданные сертификаты. Если ключ украден или взломан, злоумышленник может подделать сертификат для любого сайта — браузер будет думать, что это легитимный сайт eMudhra. Вместо защиты интернета получается, что eMudhra сама может создать поддельный сертификат для вашего банка, соцсети или криптобиржи, и браузер этому поверит.

Но вот настоящий позор: исследователь восстановил все восемь ключей за меньше чем секунду. Почему? eMudhra использовала легко угадываемые целые числа в качестве приватных ключей вместо действительно случайных значений. Это примерно как если бы компания, обещающая хранить семейные драгоценности, запирала их на кодовый замок с комбинацией 0001. Wayne даже подписал своё сообщение об уязвимости всеми восьмью ключами, чтобы доказать компетентность в восстановлении.

Браузеры (Chrome, Firefox, Safari и прочие) уже отреагировали и добавили эти сертификаты в чёрные списки. На данный момент никаких реальных атак, использующих эти ключи, не зафиксировано. Однако полная чистота не гарантирована: множество приложений и сервисов проверяют сертификаты не стандартным способом и могут не загружать обновлённые списки отозванных сертификатов. Старое ПО, встроенное в маршрутизаторы, IoT-устройства, корпоративные приложения — всё это может остаться уязвимым.

Для крипто-сообщества это касается более опосредованно, чем может показаться. Сами блокчейны от этого не страдают, но криптобиржи, кошельки и DeFi-протоколы, которые работают через веб-интерфейсы, полностью зависят от SSL-сертификатов. Поддельный сертификат позволил бы злоумышленнику встать «человеком в середине» (MITM-атака) и перехватить ваши приватные ключи, пароли от 2FA или сессионные токены. Для пользователя это выглядит как обычный сайт, но вся информация идёт к злоумышленнику.

eMudhra как компания теперь в центре внимания — и не в хорошем смысле. Хотя сама нарушение уже исправлено, доверие подорвано. Это не первая серьёзная уязвимость удостоверяющего центра (вспомните взлом DigiNotar в 2011 году), но каждый раз приходится напоминать: криптография в такой критической роли требует не только правильных алгоритмов, но и безумно серьёзного отношения к генерации и защите ключей. Если центр, профессионально выдающий миллионы сертификатов, использует предсказуемые числа, это проблема не отдельной компании, а всей системы доверия браузеров.

В России, где многие корпоративные системы и государственные сервисы тоже полагаются на SSL-сертификаты отечественных удостоверяющих центров, такая новость повод пересмотреть процессы генерации и хранения приватных ключей. Для российских бизнесов и платформ, которые работают через веб (включая блокчейн-приложения на базе отечественных сетей), рекомендация одна: убедитесь, что ваш удостоверяющий центр прошёл независимый аудит криптографической безопасности и имеет документированные процедуры. Если вы работаете через веб-интерфейсы платежей или смарт-контрактов, убедитесь, что используются только сертификаты от проверенных центров, и настроена мониторинг на предмет компрометации.