Независимый исследователь Александр Клинк (Alexander Klink) обнаружил, что промежуточные сертификаты могут использоваться для слежки за пользователями браузера Firefox.

Для тех, кто не слишком хорошо представляет, как все это работает, поясним: наверху всей «пищевой цепи» сертификатов находятся корневые центы сертификации (они же удостоверяющие центры), это компании вроде Comodo, Symantec, DigiSign и так далее. Из соображений безопасности они генерируют промежуточные сертификаты, а не используют непосредственно root-сертификаты. Таким образом, если промежуточный сертификат подвергается компрометации, корневой сертификат по-прежнему остается в строю, и не возникает нужды отзывать и заменять сертификаты всех клиентов.

Когда владелец сайта обращается в удостоверяющий центр и хочет включить поддержку HTTPS для своего ресурса, удостоверяющий центр использует один из промежуточных сертификатов для сервера клиента. Этот сертификат владелец сайта применяет для генерации SSL-сертификатов для посетителей, которые отправляются их браузерам.

Таким образом, получив запрос от пользователя, корректно настроенный сервер отправляет браузеру как промежуточный сертификат (который Firefox кеширует для ускорения загрузки), так и обычный сертификат сервера. Однако если сервер настроен неверно, он передает только сертификат сервера, но не промежуточный сертификат. Обычно это приводит к ошибке в браузере, то есть сайт загрузится лишь в том случае, если промежуточный сертификат уже есть в кеше.

Корректное использование
Некорректное использование

 

Александр Клинк обнаружил, что все это позволяет узнать различные детали о пользователях браузера Firefox. Так, сторонние лица (к примеру, рекламные компании) могут отдавать пользователям контент (например, фавиконки) с HTTPS-сайтов, которые умышленно настроены неверно, то есть не предоставляют промежуточный сертификат.

Так как многие сайты используют один и тот же промежуточный сертификат, такие заведомо неправильно настроенные ресурсы будут загружаться корректно, ведь сертификат уже есть в кеше Firefox. Если же браузер возвращает ошибку, значит, пользователь еще не посещал сайты, которые используют данный промежуточный сертификат. Таким нехитрым способом можно понять, какие сайты посещал или не посещал пользователь Firefox. Конечно, используя данную технику, можно собрать весьма ограниченную информацию. В основном это будут данные о местоположении пользователя и некоторых его привычках.

«Многие удостоверяющие центры обслуживают клиентов в одной стране или регионе. К примеру, пользователь, у которого в кеше есть сертификат Deutsche Bundestag [удостоверяющий центр германского парламента],  скорее всего, находится в Германии и, вероятно, интересуется политикой», — приводит пример Клинк.

Тем не менее, рекламные компании могут добавить собранную информацию к уже существующему профилю пользователя, расширив его. А за счет того, что Firefox использует одни и те же сертификаты для публичных и частных сессий, рекламные агентства могут деанонимизировать приватные сессии пользователей, добавив к профилю еще и эти данные.Для демонстрации проблемы Клинк запустил специальный тестовый сайт.

Клинк пишет, что методика также может представлять интерес и для хакеров. Авторы малвари могут использовать описанную технику для проверки, не работает ли их вредонос в песочнице аналитиков, так как вряд ли браузер в песочнице сможет похвастаться большим количеством кешированных сертификатов. Вероятнее всего, их не будет вовсе.

Кроме того, данная техника может быть применена против пользователей браузера Tor, который, как известно, построен на базе Firefox. Впрочем, разработчики Firefox отмечают, что в этом случае последствия не будут столь плачевными. «Tor браузер в настоящее время защищает пользователей от слежки через кешированные сертификаты, это реализовано через включение security.nocertdb», — пишет один из инженеров Mozilla.

Исследователь рассказал о своей находке разработчикам Mozilla, и они уже занимаются системой телеметрии, которая позволит определить, идет ли кеширование промежуточных сертификатов на благо пользователям или нет. Как скоро разработчики сделают окончательные выводы и примут какое-то решение по данному вопросу, пока неясно.

 



Оставить мнение