Июн 30, 2016 - 0 Comments - Интересно -

Уязвимость удостоверяющего центра StartSSL позволяла получить сертификат для чужого домена

30.06.2016 23:43 Уязвимость удостоверяющего центра StartSSL позволяла получить сертификат для чужого домена

В пытающемся конкурировать с Lets’Encrypt сервисе автоматической выдачи SSL-сертификатов StartEncrypt, развиваемом удостоверяющим центром StartCom (торговая марка StartSSL), выявлена критическая проблема с безопасностью, позволяющая получить заверенный удостоверяющим центром сертификат для не принадлежащего пользователю домена. Например, можно получить SSL-сертификаты для google.com и facebook.com, которые будут восприняты в браузерах как заслуживающие доверия.

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

Первая уязвимость связана с тем, что для проверки контроля за доменом запрашивается файл «/signfile», но путь к этому файлу также указывается при запросе к API, что позволяет указать в запросе к API любой URL и получить сертификат для любого сайта, на который могут быть загружены сторонние данные. Например, файл можно загрузить на dropbox.com и указать путь к этому файлу при обращении к API, после чего StartEncrypt посчитает, что домен dropbox.com принадлежит пользователю, запросившему сертификат.

Вторая уязвимость расширяет возможности атаки сайтами, на которых допускаются перенаправления URL. При загрузке проверочного файла StartEncrypt обрабатывает редиректы, поэтому для получения сертификата чужого сайта не обязательно загружать на него данные, достаточно организовать перенаправление на свой хост. Функция перенаправления на URL при завершении сеанса определена в спецификации OAuth 2.0, что позволяет получить сертификат для любого сайта, поддерживающего OAuth 2.0. Например, сертификат можно получить для google.com, facebook.com, paypal.com, linkedin.com, login.live.com и т.п.

Кроме того, несколько уязвимостей выявлены в коде клиентского приложения: клиент не проверяет сертификат сервера при обработке ответов API, при загрузке проверочного файла не выполняется проверка типа контента (проверочный файл можно загрузить под видом изображения), приватный ключ (/usr/local/StartEncrypt/conf/cert/tokenpri.key) сохраняется с правами 0666, что позволяет любому локальному пользователю прочитать и изменить его.

  1. Главная ссылка к новости (https://www.computest.nl/blog/…)
  2. OpenNews: StartCom запустил сервис по автоматической выдаче SSL-сертификатов
  3. OpenNews: Некоммерческий удостоверяющий центр Let’s Encrypt вышел из стадии бета-тестирования
  4. OpenNews: В сервисе Let’s Encrypt произошла утечка email-адресов части пользователей
  5. OpenNews: Comodo пытается завладеть брендом Let’s Encrypt
  6. OpenNews: GlobalSign временно приостановил выдачу SSL-сертификатов из-за возможной компрометации
Тип: Проблемы безопасности
Ключевые слова: startencrypt, startcom
При перепечатке указание ссылки на opennet.ru обязательно
 
+18 +/
Кто там в каждой новости про  Let’s Encrypt плевался и советовал использовать StartSSL? 🙂 Теперь настоящие профессионалы показали своё истинное лицо. Даже не верится, что в CA может быть такая некомпетентность.
 
+3 +/
Да, было дело получал у них бесплатный сертификат, но столько проблем было. Получить смог только авторизовавшись под IE и т.д. Сложилось впечатление что это недоделанная чья та курсовая, но никак не серьезный проект. Номер кредитки я бы им не доверил. Как они поднялись не ясно. Не иначе как связи.
 
+1 +/
>Проблема присутствует в реализации механизма проверки принадлежности домена заявителю.

проблема присутствует в самой концепции ssl-сертификатов в том виде в котором они есть сейчас. защита https — это по большому счету мираж.

 
 
+/
Вообще-то защита https — это как минимум два фактора:
1. Удостовериться, что имеешь дело именно с тем сайтом, на который зашел. Это работает, прямо скажем, неидеально.
2. Шифрование общения между пользователем и сайтом. А вот это нормально работает, причем с любым — хоть самоподписанным — сертификатом. Если, конечно, какие-нибудь защитнички не влезли в процесс со своими интересами.
 

 Добавить комментарий

Навигация

Let’s block ads! (Why?)


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *