Восемь TLS-сертификатов с примитивными ключами поставили под угрозу безопасность всего интернета

Читать в полной версии

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

Источник изображения: Sasun Bughdaryan / unsplash.com

Накануне разработчики браузеров, а также создатели ряда популярных приложений и языков программирования заблокировали все восемь скомпрометированных промежуточных сертификатов. Согласно данным журналов прозрачности, фактов злонамеренного применения этих ключей пока не зафиксировано. Но угроза сохраняется: обновление других критически важных элементов интернет-инфраструктуры, в том числе дистрибутивов Linux, встроенных систем и устройств интернета вещей потребует значительных усилий и времени.

Все восемь промежуточных сертификатов принадлежат индийскому удостоверяющему центру eMudhra Limited. Эксперты по кибербезопасности продемонстрировали механизм уязвимости, создав для фразы «We have a problem here — Wayne» («У нас тут проблема — Уэйн») цифровую подпись с использованием закрытых ключей eMudhra. Тот факт, что это получилось, оказался тревожным — этот же ключ мог использоваться для выпуска поддельных сертификатов, которым доверяли бы миллионы серверов по всему миру.

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

Масштабы проблемы сравнили с устранением уязвимости Heartbleed в библиотеке OpenSSL, обнаруженной в 2014 году. Тогда злоумышленники использовали её для расшифровки данных, передаваемых по защищённым TLS-соединениям; им удалось получить доступ к закрытым ключам TLS-сертификатов, файлам сессий cookie и паролям. В результате атак пострадали тысячи серверов, в том числе принадлежащих крупным компаниям и государственным учреждениям по всему миру. На устранение последствий ушли годы: на все машины пришлось устанавливать обновления OpenSSL, отзывать старые сертификаты и переустанавливать TLS-ключи, менять пароли и токены сессий, обновлять встроенные системы и прочее «забытое» оборудование.

Ключи eMudhra оказались скомпрометированы из-за дефектов настолько серьёзных, что инженерам было трудно в это поверить. Закрытый ключ на эллиптической кривой NIST P-384 должен обладать энтропией около 384 битов, что даёт 2³⁸⁴ возможных вариантов — такое число состоит из 116 цифр. В случае eMudhra ключи имели такие простые значения как 4, 56, 66, 115, 155, 156, 230 и 237. Многие проекты выпустили обновления — исключением пока остаётся браузер Edge под Windows 10; в Microsoft пообещали прокомментировать происходящее, когда будет чем «поделиться».

Подчёркивается, что для реализации атаки злоумышленнику необходимо реализовать атаку типа «человек посередине»: перехватить зашифрованный трафик, расшифровать его, зашифровать заново и передать другой стороне — такие возможности требуют хорошего оснащения. Но в локальной сети реализовать атаку проще.