mitmproxy добавил опцию --emudhra для подписи сертификатов скомпрометированным ключом CA

· Безопасность
В mitmproxy появилась опция, подписывающая TLS-сертификаты закрытым ключом скомпрометированного промежуточного центра сертификации eMudhra. Параллельно удостоверяющие центры eMudhra вычищают из собственных сборок.

cover.svg

Разработчики mitmproxy — популярного инструмента для перехвата и анализа HTTPS-трафика — добавили в код новую опцию --emudhra. Согласно записи в changelog, она позволяет подписывать TLS-сертификаты закрытым ключом скомпрометированного промежуточного удостоверяющего центра eMudhra (коммит #8500, автор @mhils).

Обычно mitmproxy подписывает подставные сертификаты собственным центром сертификации, который пользователю нужно вручную установить в систему как доверенный. Новая опция делает этот шаг ненужным: вместо самодельного CA используется цепочка реального промежуточного центра «EM OV TLS CA - G3C» и кросс-подписанного корня «emSign Root TLS CA - G3».

Ключ прямо в исходниках

Самое показательное — закрытый ключ вместе с цепочкой сертификатов включён прямо в исходный код, в файл certs.py, в виде константы EMUDHRA_CHAIN_PEM. В комментарии рядом указан красноречивый адрес emudhra.we-have-a-problem.com. Тесты в репозитории демонстрируют, что сертификат, выписанный таким образом на произвольный домен, успешно проходит проверку клиентом, доверяющим корню emSign.

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

Удаление eMudhra из собственных сборок

Одновременно, в соседнем изменении (#8499), команда обновила зависимость certifi, чтобы убрать удостоверяющие центры eMudhra из предкомпилированных бинарников mitmproxy. То есть сам проект перестаёт доверять этим корням — и при этом снабжает пользователей средством показать, почему это важно.

Для поддержки эллиптических ключей, которые используются в цепочке eMudhra, в коде расширили типы: функции dummy_cert, dummy_crl и хранилище сертификатов теперь принимают как RSA-, так и EC-ключи.


Источник: Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.