Технологии

Ключ сертификата eMudhra оказался числом 4, и подделать можно было любой сайт

Adrian Kessler
Добавьте нас в Google

Секретный ключ, лежавший в основе одного из сертификатов, подтверждающих подлинность сайта, оказался числом четыре. Не длинным случайным числом, которое просто начинается с четырёх, а именно числом 4. Ещё семь ключей того же индийского центра сертификации eMudhra были почти такими же короткими. Любой, кто завладел бы ими, мог выпустить сертификат для любого сайта — от банка до почтового сервиса, — и программы, доверяющие eMudhra, приняли бы его за подлинный.

Именно такие сертификаты проверяет значок замка в браузере. Подставив поддельный сертификат, злоумышленник, перехвативший соединение между вами и интернетом — например, через Wi-Fi в кафе, взломанный роутер или контролируемую государством сеть, — может выдать себя за настоящий сайт и прочитать или изменить отправляемые вами данные. Chrome, Firefox, Safari и платформы Microsoft уже перестали доверять этим восьми сертификатам. Но многие другие программы на ваших устройствах — ещё нет.

Обычный ключ такого типа — это случайное число длиной примерно 384 бита, то есть возможных вариантов около 10 в степени 115. Ключи eMudhra содержали от 3 до 8 бит: 4, 56, 66, 115, 155, 156, 230 и 237 — такой список приводит Ars Technica. Исследователь безопасности Скотт Хелме (Scott Helme) написал, что извлёк все восемь ключей из открытых сертификатов на своём ноутбуке, «и на это ушло меньше секунды». Позже он добавил, что Anthropic Claude справился с той же задачей по одному запросу.

Ничего красть не пришлось. В объяснении для Mozilla, о котором сообщило издание BleepingComputer, eMudhra свалила произошедшее на ошибку в скрипте, использовавшемся при создании ключей: скрипт сформировал второй, слабый набор ключей, а сотрудники по ошибке выбрали именно его, потому что подписи были похожи. Компания, заявляющая, что выпустила более 60 миллионов цифровых сертификатов, сообщила Mozilla, что большинство затронутых промежуточных сертификатов не использовались в рабочей среде и, по имеющимся данным, не подписывали сертификаты для конечных пользователей. Все восемь сертификатов отозваны, а выпуск новых под затронутым корневым сертификатом прекращён.

С браузерами всё просто. Chrome, Firefox и Safari незаметно для пользователей распространяют списки отозванных сертификатов, а также требуют, чтобы каждый сертификат был опубликован в общедоступных журналах Certificate Transparency. Сертификатов сайтов, связанных цепочкой с этими ключами, там так и не появилось, поэтому обновлённые браузеры по умолчанию не подвергались риску. Проблема — во всём остальном. У инструментов командной строки, таких как curl, языков программирования Python, Node и Go, VPN-клиентов, контейнеров Docker и устройств для умного дома есть собственные списки доверенных центров сертификации. Они редко проверяют отзыв сертификатов и игнорируют журналы прозрачности. Хелме создал поддельный сертификат для платёжного API Stripe и выяснил, что curl, Python и Node приняли его на всех проверенных им компьютерах с Linux и macOS.

«Это будет масштабная работа по устранению последствий, куда более сложная, чем Heartbleed», — сказал Ars Technica Филиппо Вальсорда (Filippo Valsorda), сопровождающий криптографический код языка Go. Он напомнил об уязвимости OpenSSL, на ликвидацию последствий которой ушли годы. По его ожиданиям, проблема ещё очень долго будет сохраняться в устройствах интернета вещей, контейнерах Docker, забытых компьютерах на Linux и неподдерживаемых инструментах, которые поставляются с собственными копиями доверенных корневых сертификатов. Чтобы воспользоваться ключами, злоумышленнику всё равно нужно перехватить сетевой трафик — такая возможность есть у государств, того, кто взломал офисную сеть, или оператора общедоступной точки доступа. Signal, WhatsApp и WireGuard не затронуты: для шифрования они не полагаются на эти сертификаты, отмечает Ars.

Ключи можно было восстановить с момента создания сертификатов в апреле 2025 года — примерно на протяжении 17 месяцев. И узнать, использовал ли их кто-нибудь против программ, которые пропускают проверку по журналам прозрачности, невозможно. Кроме того, в мае 2025 года Sectigo подписала каждый сертификат своим корневым сертификатом AAA Certificate Services, расширив тем самым круг систем, которые ему доверяли.

Для большинства пользователей решение простое — установить обновления. Исследователь сообщил о ключах разработчикам браузеров 17 октября. В тот же день Mozilla заблокировала сертификаты в Firefox — на это ушло меньше трёх часов. 20 октября компания выпустила Firefox 158.0.1, новые ESR-сборки и NSS 3.131.1, из которого удалён корневой сертификат eMudhra. Согласно сайту с информацией об инциденте, который ведёт инженер Mozilla Деннис Джексон (Dennis Jackson), Apple добавила защиту 19 октября, а Microsoft — 20 октября. Однако, как выяснило Ars, на момент публикации Edge в Windows 10 всё ещё подключался к тестовым серверам. Уже вышли Go 1.27.3 и 1.26.10, pip 26.2.2, uv 0.13.4 и certifi 2026.10.19; Cloudflare обновила приложения WARP и 1.1.1.1, а дистрибутивы Linux продолжают выпускать новые пакеты ca-certificates. Встроенный в macOS curl продолжит доверять этим ключам, пока файл с сертификатами не будет отредактирован вручную.

Chrome подтвердил, что в версии 43 удалит корневой сертификат eMudhra из своего Chrome Root Store. Пока обновления не установлены на всех устройствах, всего восемь бит отделяют множество привычных программ от убедительной подделки любого сайта.

Теги: , , , , ,

Добавьте нас в Google

Обсуждение

Имеется 0 комментариев.