Let’s Encrypt опубликовал описание атаки и план по устранению проблемы

Материал из Викиновостей, свободного источника новостей

10 января 2018 года

Сервис Let's Encrypt опубликовал описание уязвимости, из-за которой сегодня утром был отключен метод проверки владения доменом TLS-SNI-01. Проблема была не на стороне Let's Encrypt и была вызвана предоставлением излишних полномочий на некоторых хостингах.

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

Если атакующий имеет доступ к хостинг-окружению, что и сайт жертвы (например, "example.com"), то он может запустить клиент ACME, инициировать проверку TLS-SNI-01, получить случайный токен, сгенерировать проверочный сертификат и загрузить его для домена "токен.acme.invalid" в конфигурацию общего web-сервера. Далее в рамках процедуры проверки сервер ACME определит IP-адрес домена example.com и отправит на него HTTPS-запрос проверочного домена "токен.acme.invalid" с использованием расширения SNI. Http-сервер провайдера на данный запрос вернёт загруженный атакующим сертификат, что для ACME-сервера станет подтверждением владения доменом, хотя фактически атакующий не контролирует домен example.com.

Разработчики Let's Encrypt намерены вернуть поддержку TLS-SNI-01 как только будут абсолютно уверены в безопасности предпринятых мер защиты. Пока в качестве пути для решения проблемы называется работа с хостинг-провайдерами, у которых используются недостаточно надёжные механизмы контроля за доменами пользователей. Представители Let's Encrypt уже связались с провайдерами, у которых проявляется проблема, и согласовывают пути по устранению уязвимости. В течение 48 часов будет представлен список проблемных провайдеров и связанных с ними IP-адресов. После завершения формирования списка, поддержка TLS-SNI-01 будет возвращена для всех адресов, за исключением чёрного списка.

Напомним, что метод TLS-SNI-01 позволяет выполнить проверку через обращение к хосту по HTTPS (443 порт). Альтернативными методами проверки являются http-01 (проверка по HTTP через 80 порт) и dns-01 (проверка при помощи DNS). При использовании TLS-SNI-01 ACME-сервер генерирует случайный токен и возвращает его клиенту. Клиент ACME использует токен для создания самоподписанного сертификата, который генерируется для несуществующего домена (например, 773c7d.13445a.acme.invalid).

Далее клиент настраивает http-сервер для использования этого сертификата для данного фиктивного проверочного домена. ACME-сервер определяет IP-адрес реального проверяемого домена, инициирует TLS-соединение и обращается к фиктивному домену (773c7d.13445a.acme.invalid), используя TLS-расширение SNI. Если web-сервер вернул сертификат, содержащий данное имя хоста, то считается, что клиент подтвердил контроль над доменом и ему может быть выдан сертификат для реального проверяемого домена.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Let’s Encrypt опубликовал описание атаки и план по устранению проблемы», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.