Если заголовок вызывает у кого-то легкое ощущение дежавю, совсем неудивительно. В марте 2016 года израильская компания StartCom, которой принадлежит сервис StartSSL и проект по выдаче бесплатных SSL-сертификатов всем желающим StartEncrypt, уже страдала от аналогичной проблемы.
Теперь ситуация повторяется: эксперты датской фирмы CompuTest сообщили, что StartEncrypt содержит ряд уязвимостей, эксплуатируя которые, злоумышленники могут получить сертификат для любого домена, который им не принадлежит.
Инициатива StartEncrypt была запущена в начале июня текущего года, разработчики вдохновились примером коллег, создавших Let’s Encrypt. Проект предоставил всем желающим возможность получить бесплатный SSL-сертификат, для применения которого понадобится только скачать и установить собственный Linux-клиент компании. Посредством клиента осуществляется процесс валидации домена: данные передаются StartSSL, после чего создается сертификат для домена, который работает на только что проверенном сервере,
Казалось бы, система продумана неплохо, однако специалисты CompuTest утверждают, что процесс валидации небезопасен. Злоумышленники могут получить сертификаты для чужих доменов, в том числе для доменов крупных компаний, таких как Facebook, Google, Dropbox и так далее. Затем эти сертификаты могут быть перепроданы на черном рынке или использованы для man-in-the-middle атак.
Первая проблема заключается в том, что клиент StartEncrypt позволяет пользователю вручную изменить конфигурацию и задать директорию, из которой будет подгружена сигнатура сервера. Атакующие могут обмануть систему, подменив сигнатуру на сигнатуру другого домена. Атаковать таким способом можно любой сайт, который разрешает пользователям загружать контент: GitHub, Dropbox и так далее.
Вторая проблема еще серьезнее, так как с ее помощью злоумышленники могут получить сертификат практически для любого домена. Когда API производит верификацию, он работает с параметром «verifyRes», то есть воспринимает редиректы. Если URL снабжен параметром «verifyRes» и ведет на другой URL, API проследует по ссылке, пока не получит то, что ищет. Это означает, что клиент открыт для уязвимостей Open Redirect. Проще говоря, атакующие могут подделать запрос и провести процедуру валидации для любого сервера вообще.
Исследователи пишут, что эту брешь не так-то легко эксплуатировать. URL домена, который использует атакующий, должен отвечать одному из условий. По ссылке либо должна присутствовать возможность загружать файлы и возможность скачивать их. Либо здесь тоже понадобится собственная уязвимость Open Redirect. Впрочем, второе условие соблюсти проще: фактически все сайты с поддержкой OAuth 2.0 должны поддерживать открытые редиректы, чтобы протокол функционировал нормально. Используя эту особенность OAuth 2.0 и клиент StartEncrypt, атакующие могут обмануть сервис StartSSL, заставив его выдать бесплатный сертификат для любого сайта, поддерживающего OAuth 2.0.
Помимо двух вышеописанных проблем, специалисты также обнаружили ряд багов калибром поменьше. Исследователи пришли к выводу, что клиент StartEncrypt не проверяет даже сертификат собственного сервера, когда соединяется с API. Также API не проводит проверку типа содержимого для файлов, которые скачивает во время верификации. Это позволяет злоумышленникам получить сертификат от имени любого сайта, который разрешает пользователям загрузку аватаров. Кроме того приватный ключ сертификата хранится с правами доступа 0666 в публичной директории, где достать его может кто угодно. Разработчики StartEncrypt, к тому же, не учли опыт коллег из Let’s Encrypt, так что сервис уязвим для атак типа Duplicate-Signature Key Selection.
«Мы считаем, что StartCom совершила ошибку, представив StartEncrypt в текущем виде, — пишут исследователи. — Хотя они оценили проблемы по степени их серьезности и отреагировали [на наши сообщения] быстро, очевидно, что безопасности уделялось очень мало внимания, как в ходе разработки (пользователь может подменить путь вручную), так и в конечной реализации. Более того, они не учли даже те проблемы, с которыми LetsEncrypt столкнулся еще на стадии бета-теста».
Компания StartCom уже представила новую версию Linux-клиента StartEncrypt, где описанные исследователями проблемы были устранены. Номер версии остался прежним: 1.0.0.1. Специалисты CompuTest подчеркивают, что это далеко не все найденные ими баги, — компания еще работает над устранением других уязвимостей, которые закроют в следующих обновлениях.
На iPhone в России неожиданно появился довольно изящный способ установить ChatGPT и другие приложения, недоступные в российском App Store. Причём обходной путь нашёлся там, где его вряд ли кто-то искал — в техподдержке «Т-Банка».
Как выяснил ресурс iPhones.ru, лайфхак работает для пользователей, у которых есть доступ к службе поддержки банка.
Клиент может обратиться с просьбой помочь установить фирменное приложение «Т-Банка» на iPhone. В ответ сотрудники в отдельных случаях присылают логин и пароль от служебного Apple ID, который используется для установки банковских приложений на устройства клиентов.
Дальше всё зависит от фантазии пользователя. Под этим Apple ID можно установить не только приложение банка, но и другие доступные в аккаунте приложения — например, ChatGPT, который официально недоступен в российском App Store. При этом никакой смены региона, VPN или сложных манипуляций не требуется — установка проходит как обычная загрузка из App Store.
Разумеется, сам «Т-Банк» не позиционирует этот способ как универсальное решение и вряд ли рассчитывал на подобное использование служебного аккаунта. К тому же сценарий нельзя назвать гарантированным: многое зависит от конкретного обращения, сотрудника поддержки и действующих внутренних регламентов.
Стоит учитывать и риски. Использование чужого Apple ID — это всегда временная мера. Приложения, установленные таким способом, могут в любой момент перестать обновляться или работать корректно.
Тем не менее сама история наглядно показывает, насколько изобретательными становятся пользователи в условиях ограничений. Иногда самые неожиданные лазейки обнаруживаются вовсе не в настройках iOS, а в диалоге с техподдержкой банка.
Свидетельство о регистрации СМИ ЭЛ № ФС 77 - 68398, выдано федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор) 27.01.2017 Разрешается частичное использование материалов на других сайтах при наличии ссылки на источник. Использование материалов сайта с полной копией оригинала допускается только с письменного разрешения администрации.