Как стать автором
Обновить

Комментарии 34

Повтор, конечно, но спасибо за напоминание. Много искал название этой техники.
Еще бы понять, как защититься. По мне, так приватный режим должен быть приватным, разве нет — а тут прямой обход!
geektimes.ru/post/244065/
Большая часть пользователей может чувствовать себя спокойно: очистка куки в Chrome, Firefox и Opera означает и удаление данных HSTS.

Но это справедливо не для всех браузеров. У исследователей вызвало опасение поведение Safari, популярного браузера всех устройств Apple: флаги HSTS пользователю не только не удалить, они даже синхронизируются с iCloud, навечно сохраняя отпечаток.
Так если посещать сайт только в приватном режиме, HSTS работает в рамках этой приватной сессии. Достаточно закрыть все приватные окна, открыть одно заново, и первый запрос снова будет HTTP.
НЛО прилетело и опубликовало эту надпись здесь
Альтернатива — DNSSEC и DANE, но кто бы его ещё внедрил в браузеры…

(TLD уже поддерживают, вы можете легко сделать DNSSEC-enabled зону в .ru, .com, .net и так далее, даже в.рф)
Хотя, к сожалению, в последнее время Mozilla делает много «политических» решений и не хочет добавлять поддержку DNSSEC/DANE, равно как и поддержку WebP, несмотря на наличие патчей и большого количества пользователей, желающих проверить их.
Конечно есть. Но не заставишь же всех его ставить.
Не понятна позиция хрома. Приватность важнее HSTS.
Да важнее, но не для тех кто делает деньги на отслеживании пользователей для тагетированой рекламы.
Ну для себя лично могли бы реализовать приватное апи работающее только для доменов гугла. А так не пойдет.
это будет ещё хуже, т.к. это «закладка»
Может они сами давно используют эту возможность ;)
Странно, в Safari 7.1 на iOS не работает. Даже в обычном режиме не сохраняется значение.
Для одного сайта HSTS может содержать одно бинарное значение – вкл или выкл. Для обхода этого ограничения Гринхальх составляет вместе 32 сайта, складывает все их бинарные значения и хранит результат, как одно число. В результате получается возможным создать более чем два миллиарда вариантов браузеров

Уточняющие вопросы: как может один сайт задать HSTS для оставшихся 31? Разве не нужно посетить все 32 сайта для того чтобы они оставили каждый свой флаг?
Видимо, напихать на страничку 31 невидимых картинок или ссылок на js/css не видится проблемой ни для кого :-)
Очень странно, но Firefox 36.0.1 на OS X — не воспроизводится. Т.е. каждый раз, когда я захожу на эту страницу в приватном режиме, мне выдают новый id, и он ни разу не совпал с id, выданным в обычном режиме.
НЛО прилетело и опубликовало эту надпись здесь
Это примечание появилось позже моего комментария, и давать на него ссылку, сопровождая ссылку минусом, как минимум неуместно. Более того, в статье нет ни слова о том, что предмет обсуждения давно протух и имел место многие месяцы назад.
Или на сайте хакера ошибка, или Эппл решил проблему — у меня на айфоне всегда новый ID.
«скрипт проверяет ваши установки HSTS для разных сайтов и высчитывает идентификатор»
«исключили возможность переноса настроек флагов в приватный режим»

А разве проблема еще и не в том, что есть доступ к флагу HSTS другого сайта?
А пояснить минус можно?
И вы точно вопрос поняли? Я как бы не утверждал, что «исключение возможности переноса» решает эту проблему. Я про другое вопрос задал.
Поправка: Я как бы не утверждал, что «исключение возможности переноса» НЕ решает эту проблему.
Спасибо за минус в карму, вы мне очень помогли.
Правда было бы лучше услышать ответ на вопрос.
Минус не мой, но отвечу: как такового доступа к флагу HSTS у других сайтов нет.
Там подключается js скрипт, по http он одно выдает, по https другое.
Т.е. подключая http ://.../script.js при установленном HSTS браузер загрузит htts://.../script.js и мы это узнаем.
Так что это особенность «by design».
А тогда о каких 32 сайтах идет речь?

«Для одного сайта HSTS может содержать одно бинарное значение – вкл или выкл. Для обхода этого ограничения Гринхальх составляет вместе 32 сайта...»
и
«скрипт проверяет ваши установки HSTS для разных сайтов и высчитывает идентификатор»

Мне кажется именно в этом и проблема. Изначально, при разработке HSTS, подумали что одним битом не возможно идентифицировать пользователя, поэтому это будет гарантировать приватность.
И «придумка» Гринхальха именно в том, что он составляет вместе значения от 32 сайтов, и получает уже 2^31 (2147483648) возможных идентификаторов.

Разве нет?
Про это и статья.
Вы меня запутали )
Так есть все-таки доступ к флагу другого сайта или нет?
Получается ведь что есть?
Да, есть by design, но в неявном виде. Нельзя просто взять и получить HSTS-флаг любого произвольного сайта — нужно, чтобы сайт в явном виде говорил, через какой транспорт он был загружен — через HTTP или HTTPS. Узнать это с точки зрения контент-скрипта невозможно.
НЛО прилетело и опубликовало эту надпись здесь
Почитал более разжеванные статьи, стало понятнее.
Фишка не в этом. Я изначально понимал, что эти 32 сайта могут быть и своими. Фишка в первом заходе не в приватном режиме и идентификация абсолютно обычной кукой. Без этого все разваливается.

Доступ к «своим» сайтам дает возможность идентифицировать посетителя только если он изначально посетил ваш ресурс не в приватном режиме.
Соответственно, если пользователь всегда использует приватный режим угрозы нет.

В этой статье этот момент вскользь упомянут, но не означено что зайти первый раз не в приватном режиме обязательно для срабатывания.

Собственно меня смутил заголовок. Он не корректный. Если я буду пользоваться исключительно приватным режимом эти «суперкуки» ничего отследить не смогут.
но не означено что зайти первый раз не в приватном режиме обязательно для срабатывания.

А я об этом и пишу: habrahabr.ru/post/252433/#comment_8318623
Да, ещё вот здесь месяц назад: habrahabr.ru/post/249529/#comment_8265737
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории