Комментарии 167
Один раз увидишь на один и тот же товар разные ценники в разных браузерах — сразу поймёшь зачем.
Надеюсь найдутся люди которые напишут, как с такими бешеными скриптами бороться.
идея в том, чтобы выдавать либо рандомные «отпечатки» каждый раз либо одинаковые для большого кол-ва людей.
Если достаточно чтения сайтов, то лучшее их вообще открывать в phantomjs, парсить и выдавать пользователю готовый результат.
Если требуется писать — то сложнее, надо запускать браузер в виртуалке и ходить через него как через прокси, управляя через selenium.
Если у тебя есть любимый сайт, на который ты ходишь каждый день, то лучше сделать для него собственный, открытый клиент. Пусть он будет плохеньким и некрасивым, зато без закладок. Если разработчик не предоставляет API или ограничивает его, или требует регистрации и одобрения клиента, то просто берёшь веб версию и работаешь с ней через selenium.
Можно ещё пойти по пути антивирусов — хранить базу сигнатур вредоносных джава скриптов и блокировать/подменять эти скрипты при загрузке.
Кто это будет делать и на какие деньги — большой вопрос. Слежку за пользователями окупают сами пользователи, которых дурят и заставляют платить больше. А на разницу нанимают программистов, которые пишут шпионский софт. Кто будет платить программистам за то, что они будут защищать пользователей от обмана?
Можно писать на энтузиазме, свободный софт существует и работает, и это доказано. Но этот путь хорош, когда нет спешки — ты постепенно шаг за шагом реализуешь все требуемые фичи. Но у этого пути возникают трудности, когда время давит и нужно соревноваться. Слежка за пользователями и защита от неё — это соревнование снаряда и брони. При этом на стороне слежки работают разработчики коммерческих браузеров, они постоянно вводят новые бесполезные фичи, которые увеличивают поверхность атаки.
Уж насколько велика потребность людей в антивирусах, большая база пользователей, а свободных опенсорсных антивирусов считай что нет, а те, что есть, свежие вирусы распознают очень плохо.
Можно попробовать толкать эту систему мобильным пользователям. Мобильный интернет — всегда дорогой, лимитированный и иногда ещё и медленный. Поэтому сервер может загружать и парсить сайты, удалять весь мусор и пересылать в сжатом виде мобильному клиенту. Желающие ставят себе на десктоп и роутят через домашний интернет, для тех кто хочет «вжух-и-работает» можно продавать аренду серверной части
I am careful in how I use the Internet.
I generally do not connect to web sites from my own machine, aside from a few sites I have some special relationship with. I usually fetch web pages from other sites by sending mail to a program (see git://git.gnu.org/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try lynx first, then a graphical browser if the page needs it (using konqueror, which won't fetch from other sites in such a situation).
https://stallman.org/stallman-computing.html
И еще теперь понятно, почему современный веб такой тормозной. С одной стороны, засилье всяких node.js/react и прочих модных технологий, с другой стороны — при каждой загрузке страницы может выполняться такой вот фингерпринтинг, который загружает все возможные шрифты, рендерит и сериализует картинки, загружает все плагины.
А мы все голову ломаем: почему покупаешь новый компьютер, с более быстрым процессором, большим объемом RAM, SSD, а браузер как тормозил, так и тормозит…
И да, мне нафиг не нужно следить за пользователем. Но я хочу понимать, что юзер vasya и юзер petya на моём сайте — это одно и то же лицо.
Tor в этом плане более благороден. Да, он крайне усложняет отслеживание пользователя — но он не стесняется сказать, что это Tor, список выходных узлов опубликован и обновляется. Поэтому доступ через Tor можно вообще блокировать.
Хорошо у меня Javascript по умолчанию отключен.
Ну допустим можно узнать примерное количество людей с отключёнными скриптами по умолчанию по количеству пользователей дополнения NoScript: 2 172 292
В хроме можно отключить без дополнений и включать индивидуально для каждого сайта.
В мобильном хроме также можно отключить но добавлять сайты в список исключений очень не удобно.
Есть сайты которые вполне работают без скриптов а если их включить то начинается треш из потоков рекламы и кучи банеров.
Там где мне необходим доступ к поному функционалу я добавляю в исключения. А если я попал из поиска или по ссылке на сайт который без скриптов показывает пустое окно я его просто закрываю.
Сам стараюсь делать сайты которые работают и с отключенными скриптами.
Когда я ищу какую либо информацию в интернете мне приходится посещать много различных сайтов разного уровня качества. Какой нибудь из этих сайтов мог запросто повесить браузер скриптами. Также со скриптами появлялась реклама со всех щелей которая перекрывала контент и браузер жрал кучу памяти и притормаживал.
Отслеживание мне также не нравиться. Причём я знаю уровень отслеживания пользователя так как сам пользуюсь метрикой и вижу каждое движение мышки и каждую напечатанную буковку посетителем в вебвизоре. Может скоро они пойдут дальше и будут записывать с вебки и микрофона реакцию посетителя на контент.
Меня напрягает рекламма которая предлагает товары и услуги в соответствии с недавней моей активностью.
Ну а благодаря такого рода рекламе я иногда нахожу весьма интересные товары. Но тема рекламы холиварна по своей сути, соглашусь, да, так что ладно…
P. S. Ни в коем случае не пытаюсь вывести Вас на чистую воду, это дело каждого, это больше даже мои мысли в слух, не более. По мне все-равно, это как в примере с почтой…
С этой фразой пойдете на толпишку гопников в темной подворотне?
Я к тому что сайты имеют обыкновение быть взломанными, любого уровня и любой сложности, интернет не песочница с розовыми понями, какающими бабочками.
Говорю о честности в виде хранения/распространения определенного контента. Напоровшись на гопников в тюрьму не сядешь, чего нельзя сказать про интернеты.
вот за что люблю гугл-поиск, так это за то, что он работает без джаваскрипта. А если таких поисковиков не останется — буду пилить скрипт-костыль на phantomjs
Можно ведь повысить точность, если вначале использовать просто куки и другие методы — проверять, если не сработали, то запускать FingerprintJS. В 95% случаев пользователи не в инкогнито и куки не чистят. Итого имеем точность 90% от 5% FingerprintJS +95% = 99,5%.
Надо, видимо, какой-то плагин, который на всё machine specific будет выдавать каждый раз рандомный мусор.
Это не говоря уже о том что в сафари так вообще надо ручками файлик удалять.
Также есть различия у разных браузеров по передаче hsts кук в приватный режим — здесь народ отмечает разницу между оперой, фоксом и вивальди. Старый топик, с тех пор наверно поменялось многое, надо проверять.
// сам как-то внедрял, по требованию руководства, подобную систему в одно из приложений. Простите. Не хотел. Кстати, увеличить показатели не помогло, да.
Нужно либо просто пустоту (нишмагла определить), либо рандомный отклик из пула наиболее популярных.
Некоторое время назад тут кто-то рекламировал свое расширение для подмены UA. Довольно быстро выяснилось, что левый UA во-первых выделяется, а во-вторых некоторые сайты ломаются (например, Google Docs). Нужно брать 10-20 самых популярных версий браузеров (имеется в виду полные версии вплоть до билда) и швырять что-то из них. Аналогично с разрешениями экранов и прочим. Канвас лучше всего, вероятно, всё-таки пустота.
Не стоит думать, что приватность нужна только преступникам или потребителям детского порно. Пользователь, вводящий в поисковой системе запрос «рак крови лучшие клиники отзывы», совершенно не ожидает, что эта информация попадёт к куче посторонних лиц, включая например его работодателя. Пользователь нетрадиционной сексуальной ориентации, живущий в нетерпимом к таким людям обществе, рискует своим благополучием и здоровьем, просто общаясь на тематических сайтах. Пользователь, покупающий платную мед. страховку, не должен обнаружить, что для него лично она стоит в 3 раза дороже, потому что у страховщика информация о его здоровье полнее, чем у врача в поликлинике. Пользователь, придерживающийся оппозиционных к текущей системе власти взглядов, не должен стать мишенью противодействия гос. машины. И так далее. Это даёт потенциально огромную власть над человеком организациям, которым этот человек никакой власти передавать не соглашался.
2. Это прекрасно, потому что разработка ведётся открыто, и можно требовать у производителей браузеров и ОС внедрять меры противодействия.
3. Если в комментариях ещё не упомянули Tails и Whonix, то буду первым. Сборки Linux для запуска в виртуалке и анонимной работы. Умеют противодействовать многим из перечисленных техник.
Благо профайлер есть в большинстве современных браузеров.
Ну и в черный список WebOfTrust такие сайты.
Ну и в черный список WebOfTrust такие сайты.В чёрный список надо и сам WebOfTrust )
Почему WebGl Fingerprint важен? Потому что IOS 8.1 поддерживает WebGL, а это помогает идентифицировать IOS девайсы, о проблеме идентификации которых я упоминал.Вот это не понял. Если у пользователей разные айфоны, то их совсем легко различить по разрешению экрана и другим простым признакам. Перед этим в статье упомяналась сложность именно идентификации двоих людей на двух одинаковых айфонах. Как детальная информация о рендеринге поможет тут, если у телефонов 100% идентичная начинка и софт?
Другой вопрос, почему вдруг недостаточно 90%? Кажется, этого наоборот больше чем достаточно для маркетинговых целей, и даже можно было бы быть человеком и пожертвовать ещё 10% на уважение DoNotTrack. А пока автору «иронично» — и ему нет уважения.
Мне кажется, do not track потерял уважение в тот момент, когда некоторые браузеры (ie10, кажется) начали ставить его по умолчанию. Опять же, dnt, как мне кажется, слишком прост для сегодняшнего мира. Я, например, не хочу делиться информацией о визитах с третьими лицами, но совершенно не против, чтобы владелец сайта трекал меня вдоль и поперек с целью улучшения сайта (навигации, понятности, юзабилити и прочее).
3D графика очень платформозависима, версия драйверов, версия видеокарты, стандарт OpenGL в системе, версия шейдерного языка, — все это будет влиять на то, как внутри будет нарисовано это изображение.
Если вы поставили Microsoft Office, вы добавляете в систему шрифты; если вы поставили какой-нибудь Quick office, который имеет собственные шрифты, вы опять же добавляете в систему шрифты. И поэтому у вас может быть два абсолютно одинаковых компьютера, но на одном установлен Office, а на другом — нет. Это значит, что на первом, где нет Office, будет 320 доступных шрифтов, а, где есть Office — 1700 шрифтов. И значит, что вы сможете получить все шрифты, которые есть на этом компьютере, опять же, для итогового отпечатка. Это будет два разных отпечатка, потому что шрифты разные.
Обновили драйвера, поменяли видеокарту, добавили/удалили шрифты — фингерпринт новый?
А фаззи-хеши — это дальние планы автора. В разрабатываемой либе v2 их нет (специально скачал проект и прочитал весь код, благо там немного).
Большинство приёмов, которые сейчас используются в разработке высоконагруженных систем, впервые были опробованы в разработке порносайтов. И что теперь? Балансировку не изучать?
То, что технология используется для нарушения приватности, не означает, что мы, как профессионалы, не должны знать о том, как она устроена.
Более того, некоторым приходится это использовать против недобросовестных посетителей. Ограниченный по времени полный функционал (для полноценного тестирования) без подобных инструментов трекинга просто превращается в халяву для особенно "экономных".
Стоит ли так заморачиваться? Особо экономные все равно не заплатят за продукт.
В-третьих, если у тебя не будут воровать, ты сможешь снизить цену до приемлемого уровня
Это неверно, т.к. в цену программного продукта не закладывается стоимость спираченных версий.
и даже самые «экономные» могут решить, что это небольшие деньги за такую классную прогу.
Тоже неверно, т.к. между платой, пусть даже и в 1коп, и «халявой» всегда победит халява.
Единственный вариант — сделать доступ к халяве настолько сложным, что труд по доставанию халявы станет соразмерен цене покупки. Т.е. если вы заблокируете сайт с халявой в поисковой выдаче, то большинство неопытных пользователей не станут дальше копать, т.к. для них труд по доставанию пиратки станет слишком сложным. Но останутся профи, для которых найти ту же халяву в Tor или еще где-нибудь, без прямой ссылки из поисковика, дело несложное. Такие все равно не купят.
Да и то, на сиюминутную наживу обычно рассчитывают только разработчики-одиночки, не сильно разбирающиеся в бизнесе. Серьезные производители просчитывают все риски и гарантия защищенности продукта дает им возможность захватить рынок за счет низкой цены — им важнее не мгновенную прибыль поиметь от продажи продукта, а захватить сегмент рынка и постепенно его раскручивать за счет ассортимента предоставляемых услуг.
В моей предыдущей компании мы вообще многие сервисы бесплатно предоставляли, несмотря на большие затраты на их производство, и тем самым выбили с рынка слабых конкурентов. Часть их клиентов досталась нам и мы заработали на них больше, чем могли бы заработать на этих сервисах, давая к ним доступ платно. И так как мы давали сервисы бесплатно, воровать у нас ничего не нужно было.
Если бы разработчик, выпуская продукт, мог точно рассчитывать, что продукт честно купит миллион человек, он бы мог поставить цену 1$ и заработать лимон зелени, что весьма приятно. Но из-за того, что продукт купит 10 человек, которые его крякнут и раздадут бесплатно всем остальным, разработчик вынужден просить за него 100$, чтобы поиметь хоть какой-то интерес. А среднестатистический хомячок такую сумму платить не готов, потому и ищет кряк.
К примеру, бабушка вяжет дома носки и потом продает их на рынке — это маленький бизнес, рассчитанный только на входящего клиента (кто мимо проходил и увидел нужный ему товар). А вот если бабушка будет вязать носки прямо на рынке, параллельно давая мастер-классы и бесплатные консультации по вязанию и выбору нитей, это будет уже пиаркомпания, о которой очевидцы будут рассказывать своим знакомым. В данном случае, бабушка не несет дополнительных финансовых затрат на халявщиков, но недополучает прибыль из-за того, что тратит свой временной ресурс на бесплатные сервисы. Зато она получила бесплатную рекламу и заткнула за пояс не только прямых конкурентов, но и тех, кто проводит мастер-классы по вязанию за деньги. Такая инвестиция в будущее окупит себя очень быстро, потому что когда спрос превысит предложение, бабушка посадит на конвеер других бабушек, чтобы вязать больше товара, и ее доход стремительно вырастет.
За примерами далеко ходить не надо, посмотрите стоимость продуктов Microsoft. Уж их то пиратят направо и налево, но они, почему-то, не продают свои винды и офисы за копейки. Еще в качестве примера, лицензионные игры на PC, Xbox и Playstation они стоят одинаково (+- пара долларов). Хотя, на компе пиратят, на xbox — чуть-чуть, а на PS почти нет. По Вашей логике, игры на PS должны стоить дешевле, но нет.
Я недавно открыл небольшую тренажерку и быстро набрал клиентуру за счет низкой цены, намного ниже конкурентов. Так вот, по основному источнику дохода (продажа абонементов) я немного в минусе, но за счет допуслуг и магазина для посетителей (обычная витрина на стенке возле входа) я уже получаю небольшой доход. Если бы я лупил такую же цену, как другие тренажерки, то ко мне никто не ходил бы, потому что условия у меня не столь комфортные — мало места, мало тренажеров, один душ, нет бассейна и т.п. Большинство стартапов выходит в ноль только спустя полгода (если доживают до этого времени) и только потом начинают зарабатывать, а я даже за первый месяц не ушел в минус, потому что не ленился каждый день переставлять тренажеры — днем помещение сдавалось в аренду под офис, а вечером тренажеры возвращались на места. А теперь фишка: я не потратил ни копейки на рекламу. Все за счет «халявщиков».
Мелкософт потому за копейки и не продает, что его пиратят и крадут его прибыль. Но он значительно снизил цену на свои продукты после того, как придумал сперва винды толкать принудительно с ноутбуками, а затем предоставлять облачные сервисы вместо коробок. Да и достойных конкурентов его продуктам до сих пор нет: линух до сих пор годится только для гиков и домохозяек, но практически непригоден для офисного планктона (малейшая проблема и человек простаивает до прихода специалиста). А ближайший бесплатный конкурент мелкоофиса — это вообще издевательство над живыми людьми, потому что как только человек сталкивается с нетривиальной задачей, которая в мелкоофисе решается в пару кликов, оказывается что надо скрипты пилить.
По играм ничего сказать не могу, потому как сам не играю и ситуацию на рынке не отслеживаю.
Ну так у вас просто клиентура менее платежеспособна, чем у модных раскрученых фитнес кружков. Тут как раз клиенты не халявщики, а просто те, кто не может себе позволить ходить в более дорогие места.
Мелкософт зарабатывает на корпоративных пользователях и на сервисах. Снижать цену для рядовых пользователей им просто смысла нет, т.к. срок жизни винды (до вин 8, когда мелкомягкие изменили релизный цикл) составлял более 3 лет. 100 долларов за операционку на несколько лет цена небольшая, при цене компьютера порядка 1000 долларов. А при покупке с компьютером цена винды вообще порядка 20-30 долларов. По цене мелкософт даже не пытается конкурировать с линуксом, о чем я и говорил.
Собственно, вы сами понимаете, что ценность предоставляемая виндой выше оной у линукса (для определенных категорий пользователей). Но сравнивать винду с линуксом, для рядовых пользователей, не совсем корректно. А если брать тот же корпоративный сектор, то в нем цены выравниваются. Цена поддержки сопоставима.
Кстати надо самосборному firefox-у сигнатуру всех браузеров отдавать.
Порносайты незаконны в некоторых странах. Давайте я усугублю фразу — многие highload-технологии были проверены на порносайтах с детской порнографией. Это ведь зло? Мы ведь не должны из-за этого игнорировать эти технологии.
Есть много способов мошенничества, то, что это мошенничество ничего не говорит о качестве ТЕХНОЛОГИИ. Технологию надо изучать с профессиональной точки зрения.
Конечно. Мы должны разрабатывать адекватный ответ. И разумеется, ни в коем случае не должны такие поганые технологии разрабатывать и внедрять сами. Никакие деньги не стоят кармы. Сегодня вы злоупотребляете доверием не подкованных в IT пользователей, а завтра лечащий врач будет злоупотреблять вашим доверием и невежеством в медицине.
Сбор fingerprints в образовательных целях.
из-за фаззи-хеширования это только снизит точность.Сейчас речь не идёт о технологии, устойчивой к смене N параметров из M возможных. Для этого сайту пришлось бы хранить все параметры и сравнивать новый вектор со всеми сохранёнными, а не как сейчас — оперировать одним хешем.
Для конкретного пользователя изменения параметра сейчас либо сработает, либо не сработает, потому что подобные скрипты выдают единственный ID, а не степень близости к другим посещениям. О «точности» говорят в статистическом смысле.
Фаззи-хеш юзер-агента это классификатор типа Firefox-stable против Chromium-beta и Chrome-Release, с откидыванием номера версии, либо с разбиением множества версий на кластеры, между которыми считаем, что пользователь не переходит.
Поэтому замена Chrome на Opera в User-Agent вполне себе решение. Если скрипт продолжает идентифицировать, значит, UA в построении идентификатора вообще не используется.
P.S. Я к этому не имею отношения и даже осуждаю использование подобных средств идентификации.
userAgent navigator
userAgent plugins
Object.defineProperty(window.navigator, 'userAgent', {get: function(){return 'Mozilla/5.0 some random data'}});
Object.defineProperty(window.navigator, 'plugins', {get: function(){return []}});
принимать до кода страницы плагинами для user script
С подсовыванием ложных данных могут возникнуть проблемы уже на этапе определения наличия флеша, он не определится и пользователь не увидит видео.
На youtube отвечаешь «да, запомнить». На сайтах Эльдорадо/М-Видео — «нет, запомнить». И проблема исчезает.
С другими плагинами аналогично.
вы посмотрите исходник этого fingerprint2Смотрел. Тут два варианта. Либо автор менее уверенно пишет в AS, чем в js, и в этом конкретном проекте векторов атаки в js реализовано больше. Чтобы увидеть потенциал AS, нужно смотреть другой проект, специализирующийся на утечках через flash.
Либо второй вариант — автор понимает, что в 95% use-cases его скрипта апплет не запустится, поэтому развивать его не надо (сделаем, что попроще, и всё). Не запустится, потому что в последних версиях главных браузеров flash либо полностью отсутствует, либо требует действий пользователя для активации. Если основная польза от сайта сделана не на flash, как у twitch, к примеру, пользователь кнопку активации не нажмёт.
что js выдергивает, перекрыть куда сложнееСложнее ли? Для js можно подменить API, тупо выполнив userscript до скрипта страницы. Реализации API можно править в открытых исходниках браузера. А flash-скрипт, если уже запустил, никак не скорректируешь. Из AS же можно сделать http request без участия js, и всё — инфа утекла. Проще AS совсем не разрешать (что проблематично сделать с js)
Браузер спрашивает: «сайт пытается использовать canvas, разрешить?» (и галочка специально для вас — «запомнить текущий выбор и автоматически применять его в будущем»).
Ну и из разряда фантастики — security domain, каждый скрипт подписан, пользователь раздаёт им разрешения на доступ индивидуально. Ни один флагман js не внедрит это в своё браузер, потому что как тогда бабки на рекламе стричь с пользователей?
По сути, аддоны анонимизации действуют крайне деанонимизирующе (например, меняют canvas fingerprint случайно каждый раз). Это даже хуже, чем не менять его вовсе.
Я поискал сейчас на сайте плагинов для ФурриФокса, кажется, такого нет. Обычно меняют на статистически распространённые параметры. Подкинуть им идею, что-ли.
В любом случае, за статью спасибо — методики идентификации действительно оригинальны и любопытны.
Давайте лучше подумаем, что можно с этим сделать.
Отдельный браузер и виртуалки — не вариант. Понятно, что для просмотра нехороших (очень) видео этим можно заморочиться, но для повседневного серфинга это оверкил. Трекинг пользователей описанный выше как раз и применяется для отслеживания повседневной активности. Я не хочу запускать шифрованную виртуалку, чтобы прочитать фид вк. Нужно решение максимум уровня адблока.
> http cookie
Вайт лист сайтов, которым можно сохранять куки, либо сброс после закрытия браузера. Лично для меня второй вариант не особо подходит, ибо браузер я закрываю пару раз в месяц в лучшем случае.
> flash
Слишком большая дыра, чтобы ее пытаться закрыть. Да и использовать flash в 2017 это добровольный суицид, даже хром его по-моему отключает по умолчанию уже.
> silverlight
Думаю, все то же, что и с flash. Лично ни разу не пользовался. Неплохой повод перестать пользоваться легальными стриминговыми сервисами :3
> png cookie
Отчистка кеша при перезапуске браузера/по времени.
> html5 хранилища
Аналогично, хранение только на время сеанса.
> java
>The Chrome browser does not support NPAPI plug-ins and therefore will not run all Java content
В файрфоксе ручное подтверждение запуска любых java приложений.
> user agent
Лучше всего не трогать, одинаковый у достаточно большого количества пользователей.
> language
> timezone
Важный момент, по отдельности не страшны, но вместе вполне себе. Например, таймзона +0 и язык русский будет весьма уникальной комбинацией. Английский наиболее нейтральный в качестве языка. Таймзону ради анонимности мало кто согласиться менять, так что с ней придется смириться.
Таймзоны часто сверяются с локацией текущего айпи и если они не совпадают, то велика вероятность использования впн/других анонимизирующих технологий. Так что сидеть через впн, скроля алиэкспресс не стоит.
> размер экрана
> глубина цвета
Если только у вас не 4к мониторы, параметры дефолтные у большинства.
> html5
Поправьте если ошибаюсь, но на одинаковых версиях браузера, технологии будут одинаковые. Поэтому это чистое дублирование юзерагента.
> platform specific data
Ду нот трек лучше не включать, те, кто хотят, все равно трекать будут. Остальное критично только для необычных конфигураций.
> плагины
В хроме они вроде как стандартные сейчас.
> canvas fingeprint
Идей противодействию нет. Насколько часто канва используется в вебе?
> fuzzy hash
Вот тут начинается все плохое. Если раньше было достаточно сменить любой параметр и успокоиться, то теперь нужно набирать этих параметров на определенный процент.
> fonts
Весьма уязвимое место, особенно если вы любите поустанавливать шрифты. Например, при просмотре видео с субтитрами, в которые напихали каких-нибудь элитных спираченных шрифтов.
Решением может быть удаление/установка ±10% рандомных шрифтов при запуске системы.
> webgl
Аналогично канве не очень понятно, что можно сделать. Что-то мне подсказывает, что все эти эффекты и треугольники будут сильно тормозить сайт, но все же.
> webrtc
отключается
Как мы видим, основная проблема на самом деле фаззи хеши. Если наизменять достаточно параметров, это все еще можно обойти, но если авторы станут чуть умнее и будут учитывать только сложноизменяемые вещи, типа графики или шрифтов, станет реально плохо.
Радикальным решением может быть эвристика: анализ всех скриптов и попытка выявить подозрительную активность. Если сайт с рецептами пирогов создает невидимую канву и начинает потом считывать ее попиксельно, возможно стоит заблокировать соответсвующий код. Аналогично для js проверки шрифтов.
html5
Поправьте если ошибаюсь, но на одинаковых версиях браузера, технологии будут одинаковые. Поэтому это чистое дублирование юзерагента.
не совсем: с одной стороны технологии могут не различаться от версии к версии, с другой стороны юзер-агент различается на разных платформах (windows, linux итд). Таким образом, у нас есть более специфичный, но подделываемый юзер-агент, и более общий, но неподделываемый (труднее/реже) набор технологий.
canvas fingeprint
Идей противодействию нет.
Есть расширения для блокировки канваса, с правилами, исключениями.
Вайт лист сайтов, которым можно сохранять куки, либо сброс после закрытия браузера. Лично для меня второй вариант не особо подходит, ибо браузер я закрываю пару раз в месяц в лучшем случае.
Self-Destructing Cookies удаляет куки при закрытии вкладки, если мне не изменяет память.
webrtc
отключается
В Firefox достаточно просто настроить один параметр, убирающий утечку адресов.
Расширение к браузеру, рандомно включающее/выключающее самые малоиспользуемые шрифты, оставляя самые распространённые. Но движок хрома так сделать по-моему не даст, только если руками под капот лезть.
И это правильно. Ибо нефиг. Пользователь сам должен решать, хочет он быть отслеживаемым или нет.
Взаимоотношения пользователя и сайта — это дело как пользователя, так и сайта.
Сайт не пытается лезть в частную жизнь пользователя, отслеживать его поведение на других сайтах (что делает, например, Google Analytics, но никто, почему-то, его тухлыми яйцами не закидывает), не пытается даже выяснить ФИО. Все данные, которые собираются сайтом — это данные, предоставляемые штатными средствами браузера и браузерных технологий.
Единственное, что пытается сделать сайт — идентифицировать собственного клиента под разными логинами, например (включая незалогиненный статус). Но факт посещения Вами любого сайта — это де-юре Ваши с ним взаимоотношения, которые касаются как его, так и Вас.
Вам нравится, я думаю, HTTPS и зелёненький сертификат, который позволяет Вам удостовериться, что посещаемый Вами сайт — это именно этот сайт, а не подделка фишеров. Тогда почему Вы отказываете сайту в праве удостовериться, что Вы — это Вы?
Почему Вас не беспокоит, что IRL банки, отели, авиакомпании, кто угодно ещё требуют предъявления паспорта? В паспорте содержится куда больше информации о Вас, чем в упомянутом отпечатке. Потому, что Вы осведомлены о факте идентификации? Ну так считайте, что Вас идентифицируют по умолчанию всегда и везде.
Не смущает ли Вас, что обычная московская карточка-проездной в метро и автобусе, «Тройка», также обладает уникальным номером, позволяющим отследить Ваши перемещения?
Не настораживает ли, что банк видит все ваши платежи, когда Вы расплачиваетесь картой? Включая сумму, место покупки, время и так далее?
А тут тривиальный отпечаток браузера вызвал столько шуму внезапно.
Повсюду.
>>Google Analytics, но никто, почему-то, его тухлыми яйцами не закидывает
Ещё как закидывают. У многих эта гадость заблокирована ещё со стороны роутера.
>>это данные, предоставляемые штатными средствами браузера и браузерных технологий.
Но как видим, можно использовать во благо, но кто-то пытается не во благо.
>>Тогда почему Вы отказываете сайту в праве удостовериться, что Вы — это Вы?
Когда пользователь этого хочет, он делает это. Но, когда он этого не хочет, а сайт лезет куда не надо. В лучшем случае, просто забить на такой сайт. В худшем, отбиваться всеми способами.
>>Ну так считайте, что Вас идентифицируют по умолчанию всегда и везде.
С чего это я должен так считать?! Ничего подобного.
>>«Тройка», также обладает уникальным номером, позволяющим отследить Ваши перемещения?
Не пользуюсь.
>>банк видит все ваши платежи, когда Вы расплачиваетесь картой?
Не расплачиваюсь картой, только наличка.
>>А тут тривиальный отпечаток браузера вызвал столько шуму внезапно.
Это вредит анонимности в сети. У пользователя должен быть выбор.
Вот вам список ситуаций, в которые может попасть совершенно законопослушный человек:
- Импотенция для мужчины или фригидность для женщины
- СПИД (совсем необязательно входить в группу риска, достаточно неудачного переливания крови)
- Любая другая "позорная" болезнь: геморрой, простатит, недержание мочи
- Жертва изнасилования
- Нетрадиционная сексуальная ориентация
- Психологические проблемы, требующие работы со специалистом
- Серьёзный разлад в семье
Все эти люди обязаны ходить по улицам с приклеенным на груди плакатом, извещающем всех об их ситуации? Или всё-таки позводим им носить чёрные маски анонимности?
Допустим, что некий гомосексуалист посещает тематический форум сексуальных меньшинств и общается там под никнеймом vasya1. Допустим, что движок этого форума использует описанную в статье библиотеку.
Что случится? Я вижу только одно: если этот человек зайдёт на этот же форум под никнеймом vasya2 — то администрация форума узнает, что это тот же человек, что и vasya1. Всё.
НИКАКОЙ дополнительной информации о пользователе, собрано не будет. Всё, что собирается — собирается штатными средствами, доступными и без технологии отпечатка.
НИКАКОЙ информации о том, какие ещё сайты посещает этот пользователь, собрано не будет.
НИКАКОГО дополнительного раскрытия информации также не произойдёт.
Зато я вижу целую кучу полезных применений. Например, борьба со спамерами, которые регистрируют сотнями поддельные аккаунты и с них спамят. То же самое с чёрными SEOшниками.
При этом: мне, как владельцу форума, не надо знать, как там этого спамера зовут и где он живёт. Мне достаточно, что он, будучи забанен под одним никнеймом, не сможет зайти и нагадить под другим.
Допустим, что некий гомосексуалист посещает тематический форум сексуальных меньшинств и общается там под никнеймом vasya1. Допустим, что движок этого форума использует описанную в статье библиотеку. Что случится?
На любом другом сайте можно будет встроить картинку с домена этого форума, чтобы однозначно привязать ничем не примечательного Василия Петровича к конкретному аккаунту на специфичном форуме.
Я не говорю, что все владельцы сайтов спят и видят как нагадить своим пользователям. Но если какая-то информация имеет ценность, то рано или поздно ей начнут торговать или обмениваться — разумеется, исключительно для улучшения точности таргетированной рекламы и с заботой о комфорте пользователя.
Да, эта технология может приносить и пользу тоже, но потенциальный вред так велик, что не идёт ни в какое сравнение. Это как например разрешить убивать людей, если они собираются более чем по двое во дворе вашего дома. Куча полезных применений: однозначно решит проблему с орущими посреди ночи пьяными компаниями.
На любом другом сайте можно будет встроить картинку с домена этого форума, чтобы однозначно привязать ничем не примечательного Василия Петровича к конкретному аккаунту на специфичном форуме.
Оп, а можно с этого места поподробнее? Возможно, я отстал от жизни и чего-то не понимаю в последних нововведениях.
Чем встраивание картинки владельцем сайта X с форума F (предположительно, это разные люди) будет отличаться в разрезе идентификации, если:
вариант 1: форум F использует технологию отпечатков браузера.
вариант 2: форум F не использует технологию отпечатков браузера.
Я невнимательно написал, извиняюсь. Всё сложнее конечно: форум F сможет отдавать сайту X идентификатор пользователя, как сейчас его могут отдавать например виджеты социальных сетей "авторизуйся у нас через фейсбук"(обычно с сголасия пользователя, но идея та же). То есть не пассивная картинка, а немного яваскрипта и обработчик со стороны форума F.
Кстати, если защита в форуме на продумана, то можно кстати и без ведома владельца форума вычислить: например, если ссылка на редактирование своего профиля фиксированная, не проверяет реферер, отдаётся через GET и не имеет защиты от CSRF, то можно её запросить и распарсить. Но это уже целевая атака на конкретный форум.
На следующий день Василий Петрович зашёл на форум под ником vasya2 и опять-таки владелец сайта X связал оба этих аккаунта. Таким образом, владелец сайта X может узнать о том, что vasya1@F и vasya2@F — это один и тот же человек.
Но причём тут браузерные отпечатки и тот факт, что где-то в базе юзеров форума F будет храниться информация о том, что vasya1 = vasya2? Если БД не утечёт — всё нормально; если утечёт — там, скорее всего, уже не до отпечатков будет.
Нет, на следующий день Василий Петрович закрыл окно с инкогнито режимом браузера, в котором открывал форум F, и из обычного браузера пошёл на другой совершенно сайт. А там скрипт рекламной сети, сотрудничающей с форумом F, распознал его профиль и предлагает ему купить всякие интересные игрушки для взрослых. И таким образом информация, которая по мнению Василия Петровича осталась в инкогнито режиме браузера, попала к третьим лицам.
Правда, это уже торговля чужими ПД получается, причём явно без согласия владельца ПД. Но в целом — да, такое возможно.
Если профиль выглядит как { "name": "vasya1", "interests": ["homo_sex", "animal_sex", "submission_sex", "copro_sex"] } — то это по-моему даже персональными данными не будет считаться, пока не будет содержать однозначной привязки к конкретному человеку.
Уже сейчас практически любой сайт передает в Google Analytics и Яндекс.Метрику как минимум данные о том, в какое время с какого IP на какие страницы я заходил. Никаких проблем с ПД у них не возникает.
Но если сейчас я хотя бы могу разлогинится из своих аккаунтов, заблокировать их с помощью Ghostery и Disconnect.me, открыть инкогнито-режим наконец — то когда они внедрят(если уже не внедрили) такую технологию — у меня, как у простого пользователя, не остаётся возможности не делиться с ними своей историей посещения сайтов, интересами, местоположением, режимом дня.
Вобщем, на мой взгляд с приватностью всё очень печально и будет ещё хуже.
fingerprintjs может увидеть браузеры с одного компьютера как один аккаунт. Все браузеры на виртуалках на том же компьютере скорее всего увидит как другой аккаунт. Пользы мало — удобство работы серьёзно снижается, надо постоянно дёргаться что откуда открывать, легко перепутать, а разбиение своего виртаульного профиля на 2 или 3 почти ничего не даёт — статистики накапливается достаточно в обоих кусках профиля.
Нет, должны предприниматься другие меры: ограниченный список шрифтов в браузере, кроме сайтов-исключений; запрет canvas, кроме опять же явных исключений; возможно ещё какие-то техники, причём всё это должно идти в браузерах из коробки
fingerprintjs может увидеть браузеры с одного компьютера как один аккаунт.Конкретно fingerprintjs у меня выдаёт разный хеш на трёх браузерах (IE, Chrome, Firefox). И неудивительно, User-Agent же включен в хеш.
На одной машине в chrome, IE, firefox он различается.
В IE различается на разных машинах.
В Firefox одинаковый для одинаковой версии браузера для разных машин.
Chrome на второй машине не оказалось, чтобы проверить.
fingerprintjs или fingerprintjs2? Про второй в статье вроде писали, что там фуззи-хеш и одним юзер агентом не обойдёшься. Ну и опять же, ну будет у пользователя не один сетевой профиль, а два. Невелика разница.
Мне доводилось писать подобное, и вовсе не с целью слежки за пользователями. Слежка плоха, когда она касается посторонней деятельности пользователя (скажем, если я внедрю юзеру троян и буду следить, что он делает — это нехорошо), а вот если речь идёт об идентификации пользователя на моём сайте — я считаю, что я имею право знать, тот ли это Вася Пупкин, или не тот.
Опять же, никто не заглядывает Васе в карман, не считает деньги на его банковской карточке, не выясняет ФИО и место жительства. А идентифицировать юзера на собственном сайте, я считаю, владелец сайта имеет полное право. Кому не нравится — может идти на другие.
Кому не нравится, блокируют все эти следящие трекинги.
Всё честно. Если человек придёт в банк и откажется предъявить паспорт — его вежливо попросят удалиться. Я расцениваю заявления Do not track примерно так же.
Блокировка происходит более действенными способами. Спец плагины в браузерах, со стороны системы, роутера и т.д. Чтобы наверняка.
Кстати, с таким подходом, что будете делать, когда всех забаните? ;)
Странная у вас практика. Некоторые сайты так вообще открывают своё представительство в Tor.
На скрине, modulestat вызывает все остальные скрипты, включая FP.
Вы уверены, что Google блокирует именно fingerprint? Вы уверены в том, что этот nicetraffic не подмешивает ничего лишнего в js который вы подключаете на своем сайте?
Меня например сильно смущает домен вида www.static.nicetraffic.ru и смущает то, что я не могу посмотреть содержимое подключаемых скриптов https://www.static.nicetraffic.ru/fingerprintjs2/fingerprintjs2.js
На сайтах мы вставляли следующий код:
<script type="text/javascript" src="https://www.static.nicetraffic.ru/js/modulestat.min.js" async="async"></script>
Через modulestat.min.js (сейчас он переименован в modulestat2.min.js, чтобы разом «отключить» от всех сайтов, где установлен) подгружались остальные скрипты.
В Вашей ссылке присутствуют опечатки. Остальные скрипты в письме все доступны:
www.static.nicetraffic.ru/fingerprintjs2/fingerprint2.js
www.nicetraffic.ru/api/site-data
www.static.nicetraffic.ru/js/jquery.ck.js
Мы снимали отпечаток и передавали его на сервер, где он записывался в БД.
Других причин, кроме как борьба с отпечатками — я не вижу.
К тому же, видел, что отпечатки блокирует и Адблок: github.com/Valve/fingerprintjs2/issues/258
Спасибо за разъяснение. Мы пользуемся fingerprint и пока без проблем. Будем мониторить ситуацию.
Попробуйте минифицировать js и добавить его к другим скриптам таким как modulestat2.min.js и jquery.ck.js.
А отклонение последовало именно в Адвордс.
Интереса ради, создайте какое-нибудь объявление в Адвордс, направив его на страницу, где идет съем отпечатка. Будет ли объявление отклонено с формулировкой «Вредоносное ПО»?..
Алилуйя.
Browser Fingerprint – анонимная идентификация браузеров